@alfresco/adf-core 8.1.0-16500060130 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (624) hide show
  1. package/bundles/assets/adf-core/i18n/de.json +14 -2
  2. package/bundles/assets/adf-core/i18n/en.json +13 -1
  3. package/bundles/assets/adf-core/i18n/es.json +14 -2
  4. package/bundles/assets/adf-core/i18n/fr.json +14 -2
  5. package/bundles/assets/adf-core/i18n/it.json +14 -2
  6. package/bundles/assets/adf-core/i18n/pl.json +13 -1
  7. package/bundles/assets/adf-core/i18n/pt.json +14 -2
  8. package/feature-flags/lib/components/flags/flags.component.d.ts +2 -2
  9. package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +4 -35
  10. package/fesm2022/adf-core.mjs +1391 -2841
  11. package/fesm2022/adf-core.mjs.map +1 -1
  12. package/fesm2022/alfresco-adf-core-api.mjs +5 -5
  13. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  14. package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
  15. package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
  16. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +11 -11
  17. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  18. package/fesm2022/alfresco-adf-core-feature-flags.mjs +52 -59
  19. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  20. package/fesm2022/alfresco-adf-core-shell.mjs +68 -14
  21. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  22. package/lib/app-config/provide-app-config.d.ts +2 -2
  23. package/lib/app-config/public-api.d.ts +0 -2
  24. package/lib/auth/oidc/auth.module.d.ts +10 -13
  25. package/lib/{mock/form/form-definition-readonly.mock.d.ts → auth/oidc/auth.routes.d.ts} +2 -1
  26. package/lib/auth/oidc/public-api.d.ts +0 -1
  27. package/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.d.ts +1 -1
  28. package/lib/card-view/components/base-card-view.d.ts +1 -1
  29. package/lib/card-view/components/card-view/card-view.component.scss +12 -9
  30. package/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.scss +1 -2
  31. package/lib/card-view/components/card-view-textitem/card-view-textitem.component.scss +6 -5
  32. package/lib/core.module.d.ts +11 -0
  33. package/lib/datatable/components/datatable/datatable.component.scss +2 -1
  34. package/lib/datatable/data/data-table.schema.d.ts +1 -1
  35. package/lib/dialogs/confirm-dialog/confirm.dialog.d.ts +1 -1
  36. package/lib/dialogs/confirm-dialog/confirm.dialog.module.d.ts +2 -6
  37. package/lib/form/components/form-renderer.component.scss +25 -6
  38. package/lib/form/components/form-section/form-section.component.scss +23 -1
  39. package/lib/form/components/widgets/amount/amount.widget.scss +1 -2
  40. package/lib/form/components/widgets/date-time/date-time.widget.scss +1 -2
  41. package/lib/form/components/widgets/display-text/display-text.widget.scss +2 -0
  42. package/lib/mock/data-column.mock.d.ts +0 -2
  43. package/lib/mock/form/widget-visibility.service.mock.d.ts +0 -5
  44. package/lib/mock/public-api.d.ts +0 -4
  45. package/lib/{mock/form/form-definition-visibility.mock.d.ts → testing/app-config-testing.d.ts} +8 -2
  46. package/lib/testing/index.d.ts +1 -1
  47. package/lib/testing/noop-auth.module.d.ts +31 -4
  48. package/lib/testing/unit-testing-utils.d.ts +1 -11
  49. package/lib/translation/provide-i18n.d.ts +1 -1
  50. package/lib/viewer/components/img-viewer/img-viewer.component.d.ts +2 -2
  51. package/lib/viewer/components/viewer.component.d.ts +1 -1
  52. package/lib/viewer/services/rendering-queue.services.d.ts +2 -2
  53. package/package.json +3 -15
  54. package/shell/README.md +13 -3
  55. package/shell/index.d.ts +1 -0
  56. package/shell/lib/providers.d.ts +36 -0
  57. package/shell/lib/shell.module.d.ts +1 -1
  58. package/esm2022/adf-core.mjs +0 -5
  59. package/esm2022/api/alfresco-adf-core-api.mjs +0 -5
  60. package/esm2022/api/index.mjs +0 -20
  61. package/esm2022/api/lib/adf-http-client.service.mjs +0 -311
  62. package/esm2022/api/lib/alfresco-api/alfresco-api.param-encoder.mjs +0 -33
  63. package/esm2022/api/lib/alfresco-api/alfresco-api.response-error.mjs +0 -25
  64. package/esm2022/api/lib/alfresco-api/alfresco-api.utils.mjs +0 -80
  65. package/esm2022/api/lib/interfaces.mjs +0 -18
  66. package/esm2022/api/lib/types.mjs +0 -18
  67. package/esm2022/auth/alfresco-adf-core-auth.mjs +0 -5
  68. package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +0 -56
  69. package/esm2022/auth/authentication.mjs +0 -19
  70. package/esm2022/auth/index.mjs +0 -19
  71. package/esm2022/breadcrumbs/alfresco-adf-core-breadcrumbs.mjs +0 -5
  72. package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +0 -82
  73. package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +0 -42
  74. package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +0 -44
  75. package/esm2022/breadcrumbs/index.mjs +0 -19
  76. package/esm2022/feature-flags/alfresco-adf-core-feature-flags.mjs +0 -5
  77. package/esm2022/feature-flags/index.mjs +0 -29
  78. package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +0 -36
  79. package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +0 -56
  80. package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +0 -129
  81. package/esm2022/feature-flags/lib/directives/features.directive.mjs +0 -63
  82. package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +0 -63
  83. package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +0 -38
  84. package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +0 -38
  85. package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +0 -40
  86. package/esm2022/feature-flags/lib/interfaces/features.interface.mjs +0 -24
  87. package/esm2022/feature-flags/lib/mocks/features-service-mock.factory.mjs +0 -62
  88. package/esm2022/feature-flags/lib/providers/debug-feature-flags.provider.mjs +0 -51
  89. package/esm2022/feature-flags/lib/providers/dummy-feature-flags.provider.mjs +0 -36
  90. package/esm2022/feature-flags/lib/services/debug-features.service.mjs +0 -94
  91. package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +0 -40
  92. package/esm2022/feature-flags/lib/services/flagset.parser.mjs +0 -38
  93. package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +0 -62
  94. package/esm2022/feature-flags/lib/services/storage-features.service.mjs +0 -126
  95. package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +0 -51
  96. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +0 -51
  97. package/esm2022/lib/about/about-module-list/module-list.component.mjs +0 -51
  98. package/esm2022/lib/about/about-package/package-list.component.mjs +0 -65
  99. package/esm2022/lib/about/about-panel.directive.mjs +0 -37
  100. package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +0 -59
  101. package/esm2022/lib/about/about-repository-info/repository-info.interface.mjs +0 -18
  102. package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +0 -42
  103. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +0 -51
  104. package/esm2022/lib/about/about.component.mjs +0 -35
  105. package/esm2022/lib/about/about.module.mjs +0 -75
  106. package/esm2022/lib/about/index.mjs +0 -18
  107. package/esm2022/lib/about/interfaces.mjs +0 -18
  108. package/esm2022/lib/about/public-api.mjs +0 -28
  109. package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +0 -51
  110. package/esm2022/lib/app-config/app-config.loader.mjs +0 -41
  111. package/esm2022/lib/app-config/app-config.module.mjs +0 -33
  112. package/esm2022/lib/app-config/app-config.pipe.mjs +0 -38
  113. package/esm2022/lib/app-config/app-config.service.mjs +0 -243
  114. package/esm2022/lib/app-config/debug-app-config.service.mjs +0 -44
  115. package/esm2022/lib/app-config/index.mjs +0 -18
  116. package/esm2022/lib/app-config/provide-app-config.mjs +0 -44
  117. package/esm2022/lib/app-config/public-api.mjs +0 -23
  118. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +0 -67
  119. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +0 -369
  120. package/esm2022/lib/auth/basic-auth/content-auth.mjs +0 -189
  121. package/esm2022/lib/auth/basic-auth/process-auth.mjs +0 -193
  122. package/esm2022/lib/auth/guard/auth-guard-bpm.service.mjs +0 -31
  123. package/esm2022/lib/auth/guard/auth-guard-ecm.service.mjs +0 -31
  124. package/esm2022/lib/auth/guard/auth-guard-sso-role.service.mjs +0 -57
  125. package/esm2022/lib/auth/guard/auth-guard.mjs +0 -53
  126. package/esm2022/lib/auth/guard/auth-guard.service.mjs +0 -113
  127. package/esm2022/lib/auth/index.mjs +0 -18
  128. package/esm2022/lib/auth/interfaces/authentication-service.interface.mjs +0 -18
  129. package/esm2022/lib/auth/interfaces/authentication.interface.mjs +0 -18
  130. package/esm2022/lib/auth/interfaces/identity-group.interface.mjs +0 -18
  131. package/esm2022/lib/auth/interfaces/identity-user.service.interface.mjs +0 -18
  132. package/esm2022/lib/auth/interfaces/openid-configuration.interface.mjs +0 -18
  133. package/esm2022/lib/auth/models/application-access.model.mjs +0 -18
  134. package/esm2022/lib/auth/models/identity-group.model.mjs +0 -18
  135. package/esm2022/lib/auth/models/identity-role.model.mjs +0 -30
  136. package/esm2022/lib/auth/models/identity-user.model.mjs +0 -18
  137. package/esm2022/lib/auth/models/oauth-config.model.mjs +0 -18
  138. package/esm2022/lib/auth/models/redirection.model.mjs +0 -28
  139. package/esm2022/lib/auth/models/user-access.model.mjs +0 -18
  140. package/esm2022/lib/auth/oidc/auth-config.mjs +0 -19
  141. package/esm2022/lib/auth/oidc/auth-config.service.mjs +0 -110
  142. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +0 -34
  143. package/esm2022/lib/auth/oidc/auth.module.mjs +0 -112
  144. package/esm2022/lib/auth/oidc/auth.service.mjs +0 -22
  145. package/esm2022/lib/auth/oidc/oidc-auth.guard.mjs +0 -37
  146. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +0 -204
  147. package/esm2022/lib/auth/oidc/public-api.mjs +0 -24
  148. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +0 -267
  149. package/esm2022/lib/auth/oidc/retry-login.service.mjs +0 -66
  150. package/esm2022/lib/auth/oidc/token.interceptor.mjs +0 -62
  151. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +0 -31
  152. package/esm2022/lib/auth/public-api.mjs +0 -44
  153. package/esm2022/lib/auth/services/authentication.service.mjs +0 -190
  154. package/esm2022/lib/auth/services/base-authentication.service.mjs +0 -95
  155. package/esm2022/lib/auth/services/identity-group.service.mjs +0 -269
  156. package/esm2022/lib/auth/services/identity-role.service.mjs +0 -99
  157. package/esm2022/lib/auth/services/identity-user.service.mjs +0 -443
  158. package/esm2022/lib/auth/services/jwt-helper.service.mjs +0 -205
  159. package/esm2022/lib/auth/services/oauth2.service.mjs +0 -69
  160. package/esm2022/lib/auth/services/time-sync.service.mjs +0 -83
  161. package/esm2022/lib/auth/services/user-access.service.mjs +0 -110
  162. package/esm2022/lib/avatar/avatar.component.mjs +0 -51
  163. package/esm2022/lib/blank-page/blank-page.component.mjs +0 -31
  164. package/esm2022/lib/blank-page/blank-page.module.mjs +0 -33
  165. package/esm2022/lib/blank-page/index.mjs +0 -18
  166. package/esm2022/lib/blank-page/public-api.mjs +0 -19
  167. package/esm2022/lib/button/button.component.mjs +0 -61
  168. package/esm2022/lib/card-view/card-view.module.mjs +0 -80
  169. package/esm2022/lib/card-view/components/base-card-view.mjs +0 -51
  170. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +0 -66
  171. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +0 -55
  172. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +0 -39
  173. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +0 -182
  174. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +0 -108
  175. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +0 -64
  176. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +0 -46
  177. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +0 -137
  178. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +0 -113
  179. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +0 -239
  180. package/esm2022/lib/card-view/components/card-view.components.mjs +0 -28
  181. package/esm2022/lib/card-view/index.mjs +0 -18
  182. package/esm2022/lib/card-view/interfaces/base-card-view-update.interface.mjs +0 -18
  183. package/esm2022/lib/card-view/interfaces/card-view-arrayitem-properties.interface.mjs +0 -18
  184. package/esm2022/lib/card-view/interfaces/card-view-boolitem-properties.interface.mjs +0 -18
  185. package/esm2022/lib/card-view/interfaces/card-view-dateitem-properties.interface.mjs +0 -18
  186. package/esm2022/lib/card-view/interfaces/card-view-item-properties.interface.mjs +0 -18
  187. package/esm2022/lib/card-view/interfaces/card-view-item-validator.interface.mjs +0 -18
  188. package/esm2022/lib/card-view/interfaces/card-view-item.interface.mjs +0 -18
  189. package/esm2022/lib/card-view/interfaces/card-view-keyvaluepairsitem-properties.interface.mjs +0 -18
  190. package/esm2022/lib/card-view/interfaces/card-view-selectitem-properties.interface.mjs +0 -18
  191. package/esm2022/lib/card-view/interfaces/card-view-textitem-pipe-property.interface.mjs +0 -18
  192. package/esm2022/lib/card-view/interfaces/card-view-textitem-properties.interface.mjs +0 -18
  193. package/esm2022/lib/card-view/interfaces/card-view.interfaces.mjs +0 -29
  194. package/esm2022/lib/card-view/interfaces/click-notification.interface.mjs +0 -18
  195. package/esm2022/lib/card-view/interfaces/update-notification.interface.mjs +0 -18
  196. package/esm2022/lib/card-view/models/card-view-arrayitem.model.mjs +0 -28
  197. package/esm2022/lib/card-view/models/card-view-baseitem.model.mjs +0 -64
  198. package/esm2022/lib/card-view/models/card-view-boolitem.model.mjs +0 -36
  199. package/esm2022/lib/card-view/models/card-view-dateitem.model.mjs +0 -58
  200. package/esm2022/lib/card-view/models/card-view-datetimeitem.model.mjs +0 -28
  201. package/esm2022/lib/card-view/models/card-view-floatitem.model.mjs +0 -33
  202. package/esm2022/lib/card-view/models/card-view-intitem.model.mjs +0 -36
  203. package/esm2022/lib/card-view/models/card-view-keyvaluepairs.model.mjs +0 -27
  204. package/esm2022/lib/card-view/models/card-view-longitem.model.mjs +0 -36
  205. package/esm2022/lib/card-view/models/card-view-mapitem.model.mjs +0 -32
  206. package/esm2022/lib/card-view/models/card-view-selectitem.model.mjs +0 -41
  207. package/esm2022/lib/card-view/models/card-view-textitem.model.mjs +0 -40
  208. package/esm2022/lib/card-view/models/card-view.models.mjs +0 -29
  209. package/esm2022/lib/card-view/public-api.mjs +0 -25
  210. package/esm2022/lib/card-view/services/card-item-types.service.mjs +0 -54
  211. package/esm2022/lib/card-view/services/card-view-update.service.mjs +0 -59
  212. package/esm2022/lib/card-view/services/card-view.services.mjs +0 -19
  213. package/esm2022/lib/card-view/validators/card-view-item-float.validator.mjs +0 -31
  214. package/esm2022/lib/card-view/validators/card-view-item-int.validator.mjs +0 -35
  215. package/esm2022/lib/card-view/validators/card-view-item-length.validator.mjs +0 -34
  216. package/esm2022/lib/card-view/validators/card-view-item-long.validator.mjs +0 -35
  217. package/esm2022/lib/card-view/validators/card-view-item-match.validator.mjs +0 -35
  218. package/esm2022/lib/card-view/validators/card-view-item-minmax.validator.mjs +0 -35
  219. package/esm2022/lib/card-view/validators/card-view-item-only-positive-int.validator.mjs +0 -32
  220. package/esm2022/lib/card-view/validators/card-view-item-only-positive-long.validator.mjs +0 -31
  221. package/esm2022/lib/card-view/validators/card-view.validators.mjs +0 -26
  222. package/esm2022/lib/card-view/validators/validators.map.mjs +0 -26
  223. package/esm2022/lib/clipboard/clipboard.directive.mjs +0 -98
  224. package/esm2022/lib/clipboard/clipboard.module.mjs +0 -34
  225. package/esm2022/lib/clipboard/clipboard.service.mjs +0 -103
  226. package/esm2022/lib/clipboard/index.mjs +0 -18
  227. package/esm2022/lib/clipboard/public-api.mjs +0 -21
  228. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +0 -52
  229. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +0 -33
  230. package/esm2022/lib/comments/comment-list/index.mjs +0 -18
  231. package/esm2022/lib/comments/comment-list/public-api.mjs +0 -19
  232. package/esm2022/lib/comments/comments.component.mjs +0 -132
  233. package/esm2022/lib/comments/comments.module.mjs +0 -33
  234. package/esm2022/lib/comments/index.mjs +0 -18
  235. package/esm2022/lib/comments/interfaces/comments-service.interface.mjs +0 -18
  236. package/esm2022/lib/comments/interfaces/comments.token.mjs +0 -19
  237. package/esm2022/lib/comments/public-api.mjs +0 -22
  238. package/esm2022/lib/common/index.mjs +0 -35
  239. package/esm2022/lib/common/interface/search-component.interface.mjs +0 -18
  240. package/esm2022/lib/common/mock/app-config.service.mock.mjs +0 -47
  241. package/esm2022/lib/common/models/default-languages.model.mjs +0 -36
  242. package/esm2022/lib/common/models/log-levels.model.mjs +0 -33
  243. package/esm2022/lib/common/models/user-info-mode.enum.mjs +0 -25
  244. package/esm2022/lib/common/services/cookie.service.mjs +0 -82
  245. package/esm2022/lib/common/services/download.service.mjs +0 -102
  246. package/esm2022/lib/common/services/dynamic-component-mapper.service.mjs +0 -89
  247. package/esm2022/lib/common/services/highlight-transform.service.mjs +0 -61
  248. package/esm2022/lib/common/services/language-item.interface.mjs +0 -18
  249. package/esm2022/lib/common/services/log.service.mjs +0 -171
  250. package/esm2022/lib/common/services/page-title.service.mjs +0 -63
  251. package/esm2022/lib/common/services/sort-by-category.service.mjs +0 -81
  252. package/esm2022/lib/common/services/storage.service.mjs +0 -143
  253. package/esm2022/lib/common/services/thumbnail.service.mjs +0 -194
  254. package/esm2022/lib/common/services/url.service.mjs +0 -45
  255. package/esm2022/lib/common/services/user-preferences.service.mjs +0 -238
  256. package/esm2022/lib/common/utils/date-fns-adapter.mjs +0 -115
  257. package/esm2022/lib/common/utils/date-fns-utils.mjs +0 -222
  258. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +0 -134
  259. package/esm2022/lib/common/utils/file-utils.mjs +0 -65
  260. package/esm2022/lib/common/utils/index.mjs +0 -18
  261. package/esm2022/lib/common/utils/moment-date-adapter.mjs +0 -202
  262. package/esm2022/lib/common/utils/moment-date-formats.model.mjs +0 -32
  263. package/esm2022/lib/common/utils/object-utils.mjs +0 -107
  264. package/esm2022/lib/common/utils/public-api.mjs +0 -25
  265. package/esm2022/lib/common/utils/string-utils.mjs +0 -45
  266. package/esm2022/lib/context-menu/animations.mjs +0 -33
  267. package/esm2022/lib/context-menu/context-menu-list.component.mjs +0 -91
  268. package/esm2022/lib/context-menu/context-menu-overlay.mjs +0 -25
  269. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +0 -109
  270. package/esm2022/lib/context-menu/context-menu.directive.mjs +0 -63
  271. package/esm2022/lib/context-menu/context-menu.module.mjs +0 -35
  272. package/esm2022/lib/context-menu/context-menu.tokens.mjs +0 -19
  273. package/esm2022/lib/context-menu/index.mjs +0 -18
  274. package/esm2022/lib/context-menu/interfaces.mjs +0 -18
  275. package/esm2022/lib/context-menu/public-api.mjs +0 -21
  276. package/esm2022/lib/core.module.mjs +0 -296
  277. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +0 -45
  278. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +0 -65
  279. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +0 -55
  280. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +0 -113
  281. package/esm2022/lib/datatable/components/data-cell.event.mjs +0 -31
  282. package/esm2022/lib/datatable/components/data-row-action.event.mjs +0 -34
  283. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +0 -914
  284. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +0 -126
  285. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +0 -98
  286. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +0 -78
  287. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +0 -60
  288. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +0 -49
  289. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +0 -67
  290. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +0 -86
  291. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +0 -69
  292. package/esm2022/lib/datatable/components/mocks/datatable.mock.mjs +0 -153
  293. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +0 -42
  294. package/esm2022/lib/datatable/data/data-column.model.mjs +0 -18
  295. package/esm2022/lib/datatable/data/data-row-event.model.mjs +0 -26
  296. package/esm2022/lib/datatable/data/data-row-update.model.mjs +0 -18
  297. package/esm2022/lib/datatable/data/data-row.model.mjs +0 -18
  298. package/esm2022/lib/datatable/data/data-sorting.model.mjs +0 -24
  299. package/esm2022/lib/datatable/data/data-table.schema.mjs +0 -132
  300. package/esm2022/lib/datatable/data/datatable-adapter.mjs +0 -18
  301. package/esm2022/lib/datatable/data/object-datacolumn.model.mjs +0 -46
  302. package/esm2022/lib/datatable/data/object-datarow.model.mjs +0 -41
  303. package/esm2022/lib/datatable/data/object-datatable-adapter.mjs +0 -134
  304. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +0 -45
  305. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +0 -36
  306. package/esm2022/lib/datatable/data-column/data-column.component.mjs +0 -114
  307. package/esm2022/lib/datatable/data-column/index.mjs +0 -18
  308. package/esm2022/lib/datatable/data-column/public-api.mjs +0 -20
  309. package/esm2022/lib/datatable/datatable.module.mjs +0 -161
  310. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +0 -35
  311. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +0 -30
  312. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +0 -35
  313. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +0 -89
  314. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +0 -43
  315. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +0 -46
  316. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +0 -43
  317. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +0 -46
  318. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +0 -46
  319. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +0 -173
  320. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +0 -72
  321. package/esm2022/lib/datatable/directives/resizable/types.mjs +0 -18
  322. package/esm2022/lib/datatable/index.mjs +0 -18
  323. package/esm2022/lib/datatable/public-api.mjs +0 -55
  324. package/esm2022/lib/datatable/services/datatable.service.mjs +0 -33
  325. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +0 -50
  326. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +0 -38
  327. package/esm2022/lib/dialogs/dialog/dialog-data.interface.mjs +0 -18
  328. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +0 -70
  329. package/esm2022/lib/dialogs/dialog/dialog.model.mjs +0 -22
  330. package/esm2022/lib/dialogs/dialog/index.mjs +0 -20
  331. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +0 -52
  332. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +0 -34
  333. package/esm2022/lib/dialogs/index.mjs +0 -18
  334. package/esm2022/lib/dialogs/public-api.mjs +0 -25
  335. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +0 -73
  336. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.model.mjs +0 -18
  337. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +0 -33
  338. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +0 -64
  339. package/esm2022/lib/directives/directive.module.mjs +0 -56
  340. package/esm2022/lib/directives/highlight.directive.mjs +0 -67
  341. package/esm2022/lib/directives/index.mjs +0 -18
  342. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +0 -67
  343. package/esm2022/lib/directives/logout.directive.mjs +0 -72
  344. package/esm2022/lib/directives/public-api.mjs +0 -24
  345. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +0 -60
  346. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +0 -104
  347. package/esm2022/lib/directives/upload.directive.mjs +0 -241
  348. package/esm2022/lib/dynamic-chip-list/chip.mjs +0 -18
  349. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +0 -204
  350. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +0 -33
  351. package/esm2022/lib/dynamic-chip-list/index.mjs +0 -18
  352. package/esm2022/lib/dynamic-chip-list/public-api.mjs +0 -20
  353. package/esm2022/lib/events/base-ui.event.mjs +0 -21
  354. package/esm2022/lib/events/base.event.mjs +0 -29
  355. package/esm2022/lib/events/index.mjs +0 -18
  356. package/esm2022/lib/events/public-api.mjs +0 -19
  357. package/esm2022/lib/form/components/form-base.component.mjs +0 -224
  358. package/esm2022/lib/form/components/form-custom-button.directive.mjs +0 -30
  359. package/esm2022/lib/form/components/form-field/form-field.component.mjs +0 -142
  360. package/esm2022/lib/form/components/form-renderer.component.mjs +0 -161
  361. package/esm2022/lib/form/components/form-section/form-section.component.mjs +0 -46
  362. package/esm2022/lib/form/components/helpers/buttons-visibility.mjs +0 -37
  363. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +0 -37
  364. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +0 -48
  365. package/esm2022/lib/form/components/middlewares/middleware.mjs +0 -19
  366. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +0 -77
  367. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +0 -59
  368. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +0 -52
  369. package/esm2022/lib/form/components/widgets/core/container-column.model.mjs +0 -28
  370. package/esm2022/lib/form/components/widgets/core/container.model.mjs +0 -50
  371. package/esm2022/lib/form/components/widgets/core/content-link.model.mjs +0 -52
  372. package/esm2022/lib/form/components/widgets/core/displayable-cm-properties.model.mjs +0 -18
  373. package/esm2022/lib/form/components/widgets/core/error-message.model.mjs +0 -38
  374. package/esm2022/lib/form/components/widgets/core/external-content-link.mjs +0 -18
  375. package/esm2022/lib/form/components/widgets/core/external-content.mjs +0 -18
  376. package/esm2022/lib/form/components/widgets/core/form-field-file-source.mjs +0 -18
  377. package/esm2022/lib/form/components/widgets/core/form-field-metadata.mjs +0 -18
  378. package/esm2022/lib/form/components/widgets/core/form-field-option.mjs +0 -18
  379. package/esm2022/lib/form/components/widgets/core/form-field-rule.mjs +0 -18
  380. package/esm2022/lib/form/components/widgets/core/form-field-selected-folder.mjs +0 -18
  381. package/esm2022/lib/form/components/widgets/core/form-field-templates.mjs +0 -18
  382. package/esm2022/lib/form/components/widgets/core/form-field-types.mjs +0 -74
  383. package/esm2022/lib/form/components/widgets/core/form-field-utils.mjs +0 -23
  384. package/esm2022/lib/form/components/widgets/core/form-field-validator.mjs +0 -268
  385. package/esm2022/lib/form/components/widgets/core/form-field-variable-options.mjs +0 -18
  386. package/esm2022/lib/form/components/widgets/core/form-field.model.mjs +0 -490
  387. package/esm2022/lib/form/components/widgets/core/form-outcome-event.model.mjs +0 -32
  388. package/esm2022/lib/form/components/widgets/core/form-outcome.model.mjs +0 -38
  389. package/esm2022/lib/form/components/widgets/core/form-values.mjs +0 -18
  390. package/esm2022/lib/form/components/widgets/core/form-variable.model.mjs +0 -18
  391. package/esm2022/lib/form/components/widgets/core/form-widget.model.mjs +0 -33
  392. package/esm2022/lib/form/components/widgets/core/form.model.mjs +0 -387
  393. package/esm2022/lib/form/components/widgets/core/group.model.mjs +0 -18
  394. package/esm2022/lib/form/components/widgets/core/index.mjs +0 -49
  395. package/esm2022/lib/form/components/widgets/core/predefined-theme.mjs +0 -115
  396. package/esm2022/lib/form/components/widgets/core/process-form-model.interface.mjs +0 -18
  397. package/esm2022/lib/form/components/widgets/core/process-variable.model.mjs +0 -18
  398. package/esm2022/lib/form/components/widgets/core/tab.model.mjs +0 -34
  399. package/esm2022/lib/form/components/widgets/core/theme.model.mjs +0 -18
  400. package/esm2022/lib/form/components/widgets/core/upload-widget-content-link.model.mjs +0 -27
  401. package/esm2022/lib/form/components/widgets/core/widget-schema.model.mjs +0 -18
  402. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +0 -162
  403. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +0 -153
  404. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +0 -53
  405. package/esm2022/lib/form/components/widgets/display-text/display-text.schema.mjs +0 -86
  406. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +0 -46
  407. package/esm2022/lib/form/components/widgets/display-text/index.mjs +0 -19
  408. package/esm2022/lib/form/components/widgets/error/error.component.mjs +0 -92
  409. package/esm2022/lib/form/components/widgets/header/header.schema.mjs +0 -86
  410. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +0 -42
  411. package/esm2022/lib/form/components/widgets/header/index.mjs +0 -19
  412. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +0 -69
  413. package/esm2022/lib/form/components/widgets/index.mjs +0 -71
  414. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +0 -66
  415. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +0 -55
  416. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +0 -71
  417. package/esm2022/lib/form/components/widgets/reactive-widget.interface.mjs +0 -18
  418. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +0 -221
  419. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +0 -65
  420. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +0 -63
  421. package/esm2022/lib/form/components/widgets/widget.component.mjs +0 -110
  422. package/esm2022/lib/form/events/form-error.event.mjs +0 -24
  423. package/esm2022/lib/form/events/form-field.event.mjs +0 -24
  424. package/esm2022/lib/form/events/form-rules.event.mjs +0 -25
  425. package/esm2022/lib/form/events/form-spinner.event.mjs +0 -23
  426. package/esm2022/lib/form/events/form.event.mjs +0 -29
  427. package/esm2022/lib/form/events/index.mjs +0 -24
  428. package/esm2022/lib/form/events/validate-form-field.event.mjs +0 -24
  429. package/esm2022/lib/form/events/validate-form.event.mjs +0 -25
  430. package/esm2022/lib/form/form-base.module.mjs +0 -75
  431. package/esm2022/lib/form/index.mjs +0 -18
  432. package/esm2022/lib/form/models/form-rules.model.mjs +0 -77
  433. package/esm2022/lib/form/models/task-process-variable.model.mjs +0 -19
  434. package/esm2022/lib/form/models/widget-visibility.model.mjs +0 -104
  435. package/esm2022/lib/form/pipes/field-style.pipe.mjs +0 -45
  436. package/esm2022/lib/form/pipes/index.mjs +0 -18
  437. package/esm2022/lib/form/public-api.mjs +0 -35
  438. package/esm2022/lib/form/services/form-rendering.service.mjs +0 -53
  439. package/esm2022/lib/form/services/form-validation-service.interface.mjs +0 -18
  440. package/esm2022/lib/form/services/form.service.mjs +0 -86
  441. package/esm2022/lib/form/services/widget-visibility.service.mjs +0 -294
  442. package/esm2022/lib/header/header.component.mjs +0 -73
  443. package/esm2022/lib/header/index.mjs +0 -18
  444. package/esm2022/lib/header/navbar/navbar-item.component.mjs +0 -37
  445. package/esm2022/lib/header/navbar/navbar.component.mjs +0 -36
  446. package/esm2022/lib/header/public-api.mjs +0 -20
  447. package/esm2022/lib/icon/icon.component.mjs +0 -51
  448. package/esm2022/lib/icon/icon.module.mjs +0 -36
  449. package/esm2022/lib/icon/index.mjs +0 -18
  450. package/esm2022/lib/icon/public-api.mjs +0 -19
  451. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +0 -86
  452. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +0 -33
  453. package/esm2022/lib/identity-user-info/index.mjs +0 -18
  454. package/esm2022/lib/identity-user-info/public-api.mjs +0 -19
  455. package/esm2022/lib/info-drawer/index.mjs +0 -18
  456. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +0 -71
  457. package/esm2022/lib/info-drawer/info-drawer.component.mjs +0 -113
  458. package/esm2022/lib/info-drawer/info-drawer.module.mjs +0 -53
  459. package/esm2022/lib/info-drawer/public-api.mjs +0 -20
  460. package/esm2022/lib/interface/index.mjs +0 -18
  461. package/esm2022/lib/interface/injection.tokens.mjs +0 -19
  462. package/esm2022/lib/interface/public-api.mjs +0 -18
  463. package/esm2022/lib/landing-page/index.mjs +0 -18
  464. package/esm2022/lib/landing-page/provider.mjs +0 -30
  465. package/esm2022/lib/landing-page/public-api.mjs +0 -18
  466. package/esm2022/lib/language-menu/index.mjs +0 -18
  467. package/esm2022/lib/language-menu/language-menu.component.mjs +0 -61
  468. package/esm2022/lib/language-menu/language-menu.module.mjs +0 -35
  469. package/esm2022/lib/language-menu/language-picker.component.mjs +0 -77
  470. package/esm2022/lib/language-menu/public-api.mjs +0 -21
  471. package/esm2022/lib/language-menu/service/language.service.interface.mjs +0 -18
  472. package/esm2022/lib/language-menu/service/language.service.mjs +0 -34
  473. package/esm2022/lib/layout/components/header/header.component.mjs +0 -99
  474. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +0 -180
  475. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +0 -82
  476. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +0 -145
  477. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +0 -33
  478. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +0 -33
  479. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +0 -33
  480. package/esm2022/lib/layout/index.mjs +0 -18
  481. package/esm2022/lib/layout/layout.module.mjs +0 -72
  482. package/esm2022/lib/layout/public-api.mjs +0 -25
  483. package/esm2022/lib/login/components/login/login.component.mjs +0 -367
  484. package/esm2022/lib/login/components/login-dialog/login-dialog-component-data.interface.mjs +0 -18
  485. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +0 -57
  486. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +0 -48
  487. package/esm2022/lib/login/directives/login-footer.directive.mjs +0 -41
  488. package/esm2022/lib/login/directives/login-header.directive.mjs +0 -41
  489. package/esm2022/lib/login/index.mjs +0 -18
  490. package/esm2022/lib/login/login.module.mjs +0 -54
  491. package/esm2022/lib/login/models/login-error.event.mjs +0 -22
  492. package/esm2022/lib/login/models/login-submit.event.mjs +0 -32
  493. package/esm2022/lib/login/models/login-success.event.mjs +0 -24
  494. package/esm2022/lib/login/public-api.mjs +0 -27
  495. package/esm2022/lib/material.module.mjs +0 -254
  496. package/esm2022/lib/mock/cookie.service.mock.mjs +0 -43
  497. package/esm2022/lib/mock/data-column.mock.mjs +0 -73
  498. package/esm2022/lib/mock/event.mock.mjs +0 -39
  499. package/esm2022/lib/mock/form/form-definition-readonly.mock.mjs +0 -225
  500. package/esm2022/lib/mock/form/form-definition-visibility.mock.mjs +0 -347
  501. package/esm2022/lib/mock/form/form-definition.mock.mjs +0 -403
  502. package/esm2022/lib/mock/form/form.component.mock.mjs +0 -275
  503. package/esm2022/lib/mock/form/form.service.mock.mjs +0 -248
  504. package/esm2022/lib/mock/form/widget-visibility.service.mock.mjs +0 -1835
  505. package/esm2022/lib/mock/index.mjs +0 -18
  506. package/esm2022/lib/mock/public-api.mjs +0 -27
  507. package/esm2022/lib/mock/translation.service.mock.mjs +0 -44
  508. package/esm2022/lib/models/comment.model.mjs +0 -51
  509. package/esm2022/lib/models/component.model.mjs +0 -24
  510. package/esm2022/lib/models/decimal-number.model.mjs +0 -26
  511. package/esm2022/lib/models/general-user.model.mjs +0 -24
  512. package/esm2022/lib/models/index.mjs +0 -18
  513. package/esm2022/lib/models/pagination.model.mjs +0 -29
  514. package/esm2022/lib/models/path.model.mjs +0 -24
  515. package/esm2022/lib/models/product-version.model.mjs +0 -28
  516. package/esm2022/lib/models/public-api.mjs +0 -24
  517. package/esm2022/lib/models/request-pagination.model.mjs +0 -25
  518. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +0 -44
  519. package/esm2022/lib/notifications/components/notification-history.component.mjs +0 -138
  520. package/esm2022/lib/notifications/helpers/notification.factory.mjs +0 -43
  521. package/esm2022/lib/notifications/index.mjs +0 -18
  522. package/esm2022/lib/notifications/models/notification.model.mjs +0 -25
  523. package/esm2022/lib/notifications/notification-history.module.mjs +0 -35
  524. package/esm2022/lib/notifications/public-api.mjs +0 -23
  525. package/esm2022/lib/notifications/services/notification.service.mjs +0 -166
  526. package/esm2022/lib/pagination/index.mjs +0 -18
  527. package/esm2022/lib/pagination/infinite-pagination.component.mjs +0 -111
  528. package/esm2022/lib/pagination/paginated-component.interface.mjs +0 -18
  529. package/esm2022/lib/pagination/pagination-component.interface.mjs +0 -18
  530. package/esm2022/lib/pagination/pagination.component.mjs +0 -263
  531. package/esm2022/lib/pagination/pagination.module.mjs +0 -35
  532. package/esm2022/lib/pagination/public-api.mjs +0 -22
  533. package/esm2022/lib/pipes/date-time.pipe.mjs +0 -46
  534. package/esm2022/lib/pipes/decimal-number.pipe.mjs +0 -78
  535. package/esm2022/lib/pipes/file-size.pipe.mjs +0 -54
  536. package/esm2022/lib/pipes/file-type.pipe.mjs +0 -40
  537. package/esm2022/lib/pipes/format-space.pipe.mjs +0 -39
  538. package/esm2022/lib/pipes/full-name.pipe.mjs +0 -43
  539. package/esm2022/lib/pipes/index.mjs +0 -18
  540. package/esm2022/lib/pipes/localized-date.pipe.mjs +0 -70
  541. package/esm2022/lib/pipes/multi-value.pipe.mjs +0 -37
  542. package/esm2022/lib/pipes/pipe.module.mjs +0 -83
  543. package/esm2022/lib/pipes/public-api.mjs +0 -30
  544. package/esm2022/lib/pipes/text-highlight.pipe.mjs +0 -39
  545. package/esm2022/lib/pipes/time-ago.pipe.mjs +0 -65
  546. package/esm2022/lib/pipes/truncate.pipe.mjs +0 -33
  547. package/esm2022/lib/pipes/user-initial.pipe.mjs +0 -52
  548. package/esm2022/lib/pipes/user-like.interface.mjs +0 -18
  549. package/esm2022/lib/progress/progress.component.mjs +0 -90
  550. package/esm2022/lib/search-text/animations.mjs +0 -32
  551. package/esm2022/lib/search-text/index.mjs +0 -18
  552. package/esm2022/lib/search-text/models/search-text-input.model.mjs +0 -23
  553. package/esm2022/lib/search-text/public-api.mjs +0 -22
  554. package/esm2022/lib/search-text/search-text-input.component.mjs +0 -283
  555. package/esm2022/lib/search-text/search-text-input.module.mjs +0 -35
  556. package/esm2022/lib/search-text/search-trigger.directive.mjs +0 -181
  557. package/esm2022/lib/snackbar-content/index.mjs +0 -18
  558. package/esm2022/lib/snackbar-content/public-api.mjs +0 -20
  559. package/esm2022/lib/snackbar-content/snack-bar-data.mjs +0 -18
  560. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +0 -49
  561. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +0 -33
  562. package/esm2022/lib/sorting-picker/index.mjs +0 -18
  563. package/esm2022/lib/sorting-picker/public-api.mjs +0 -18
  564. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +0 -67
  565. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +0 -43
  566. package/esm2022/lib/templates/error-content/error-content.component.mjs +0 -61
  567. package/esm2022/lib/templates/index.mjs +0 -18
  568. package/esm2022/lib/templates/public-api.mjs +0 -20
  569. package/esm2022/lib/templates/template.module.mjs +0 -38
  570. package/esm2022/lib/testing/core.story.module.mjs +0 -39
  571. package/esm2022/lib/testing/core.testing.module.mjs +0 -36
  572. package/esm2022/lib/testing/index.mjs +0 -22
  573. package/esm2022/lib/testing/noop-auth.module.mjs +0 -80
  574. package/esm2022/lib/testing/noop-translate.module.mjs +0 -75
  575. package/esm2022/lib/testing/unit-testing-utils.mjs +0 -367
  576. package/esm2022/lib/toolbar/index.mjs +0 -18
  577. package/esm2022/lib/toolbar/public-api.mjs +0 -21
  578. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +0 -27
  579. package/esm2022/lib/toolbar/toolbar-title.component.mjs +0 -32
  580. package/esm2022/lib/toolbar/toolbar.component.mjs +0 -39
  581. package/esm2022/lib/toolbar/toolbar.module.mjs +0 -36
  582. package/esm2022/lib/translation/index.mjs +0 -18
  583. package/esm2022/lib/translation/provide-i18n.mjs +0 -48
  584. package/esm2022/lib/translation/public-api.mjs +0 -20
  585. package/esm2022/lib/translation/translate-loader.service.mjs +0 -153
  586. package/esm2022/lib/translation/translation.service.mjs +0 -148
  587. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +0 -36
  588. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +0 -220
  589. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +0 -64
  590. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +0 -550
  591. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +0 -60
  592. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +0 -48
  593. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +0 -198
  594. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +0 -85
  595. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +0 -32
  596. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +0 -34
  597. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +0 -34
  598. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +0 -216
  599. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +0 -46
  600. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +0 -34
  601. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +0 -34
  602. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +0 -34
  603. package/esm2022/lib/viewer/components/viewer.component.mjs +0 -492
  604. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +0 -67
  605. package/esm2022/lib/viewer/index.mjs +0 -18
  606. package/esm2022/lib/viewer/models/download-prompt.actions.mjs +0 -23
  607. package/esm2022/lib/viewer/models/viewer.model.mjs +0 -22
  608. package/esm2022/lib/viewer/public-api.mjs +0 -40
  609. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +0 -179
  610. package/esm2022/lib/viewer/services/view-util.service.mjs +0 -149
  611. package/esm2022/lib/viewer/viewer.module.mjs +0 -110
  612. package/esm2022/public-api.mjs +0 -61
  613. package/esm2022/shell/alfresco-adf-core-shell.mjs +0 -5
  614. package/esm2022/shell/index.mjs +0 -21
  615. package/esm2022/shell/lib/components/shell/shell.component.mjs +0 -122
  616. package/esm2022/shell/lib/services/shell-app.service.mjs +0 -22
  617. package/esm2022/shell/lib/shell.module.mjs +0 -75
  618. package/esm2022/shell/lib/shell.routes.mjs +0 -50
  619. package/lib/app-config/app-config.module.d.ts +0 -8
  620. package/lib/app-config/debug-app-config.service.d.ts +0 -10
  621. package/lib/auth/oidc/auth-routing.module.d.ts +0 -6
  622. package/lib/mock/form/form-definition.mock.d.ts +0 -19
  623. package/lib/mock/form/form.component.mock.d.ts +0 -17
  624. package/lib/testing/core.testing.module.d.ts +0 -11
@@ -1,367 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { CommonModule } from '@angular/common';
18
- import { Component, DestroyRef, EventEmitter, inject, Input, Output, ViewEncapsulation } from '@angular/core';
19
- import { ReactiveFormsModule, UntypedFormBuilder, Validators } from '@angular/forms';
20
- import { MatButtonModule } from '@angular/material/button';
21
- import { MatCardModule } from '@angular/material/card';
22
- import { MatCheckboxModule } from '@angular/material/checkbox';
23
- import { MatFormFieldModule } from '@angular/material/form-field';
24
- import { MatIconModule } from '@angular/material/icon';
25
- import { MatInputModule } from '@angular/material/input';
26
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
27
- import { ActivatedRoute, Router } from '@angular/router';
28
- import { TranslatePipe } from '@ngx-translate/core';
29
- import { AppConfigService, AppConfigValues } from '../../../app-config';
30
- import { AuthenticationService, BasicAlfrescoAuthService } from '../../../auth';
31
- import { OidcAuthenticationService } from '../../../auth/oidc/oidc-authentication.service';
32
- import { UserPreferencesService } from '../../../common';
33
- import { TranslationService } from '../../../translation';
34
- import { LoginErrorEvent } from '../../models/login-error.event';
35
- import { LoginSubmitEvent } from '../../models/login-submit.event';
36
- import { LoginSuccessEvent } from '../../models/login-success.event';
37
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
38
- import * as i0 from "@angular/core";
39
- import * as i1 from "@angular/forms";
40
- import * as i2 from "../../../auth";
41
- import * as i3 from "../../../auth/oidc/oidc-authentication.service";
42
- import * as i4 from "../../../translation";
43
- import * as i5 from "@angular/router";
44
- import * as i6 from "../../../app-config";
45
- import * as i7 from "../../../common";
46
- import * as i8 from "@angular/common";
47
- import * as i9 from "@angular/material/card";
48
- import * as i10 from "@angular/material/icon";
49
- import * as i11 from "@angular/material/form-field";
50
- import * as i12 from "@angular/material/input";
51
- import * as i13 from "@angular/material/button";
52
- import * as i14 from "@angular/material/progress-spinner";
53
- import * as i15 from "@angular/material/checkbox";
54
- // eslint-disable-next-line no-shadow
55
- var LoginSteps;
56
- (function (LoginSteps) {
57
- LoginSteps[LoginSteps["Landing"] = 0] = "Landing";
58
- LoginSteps[LoginSteps["Checking"] = 1] = "Checking";
59
- LoginSteps[LoginSteps["Welcome"] = 2] = "Welcome";
60
- })(LoginSteps || (LoginSteps = {}));
61
- export class LoginComponent {
62
- constructor(_fb, authService, basicAlfrescoAuthService, oidcAuthenticationService, translateService, router, appConfig, userPreferences, route) {
63
- this._fb = _fb;
64
- this.authService = authService;
65
- this.basicAlfrescoAuthService = basicAlfrescoAuthService;
66
- this.oidcAuthenticationService = oidcAuthenticationService;
67
- this.translateService = translateService;
68
- this.router = router;
69
- this.appConfig = appConfig;
70
- this.userPreferences = userPreferences;
71
- this.route = route;
72
- this.isPasswordShow = false;
73
- /**
74
- * Should the `Remember me` checkbox be shown? When selected, this
75
- * option will remember the logged-in user after the browser is closed
76
- * to avoid logging in repeatedly.
77
- */
78
- this.showRememberMe = true;
79
- /** Should the extra actions (`Need Help`, `Register`, etc) be shown? */
80
- this.showLoginActions = true;
81
- /** Sets the URL of the NEED HELP link in the footer. */
82
- this.needHelpLink = '';
83
- /** Sets the URL of the REGISTER link in the footer. */
84
- this.registerLink = '';
85
- /** Path to a custom logo image. */
86
- this.logoImageUrl = './assets/images/alfresco-logo.svg';
87
- /** Path to a custom background image. */
88
- this.backgroundImageUrl = './assets/images/background.svg';
89
- /** The copyright text below the login box. */
90
- this.copyrightText = '\u00A9 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.';
91
- /** Route to redirect to on successful login. */
92
- this.successRoute = null;
93
- /** Emitted when the login is successful. */
94
- this.success = new EventEmitter();
95
- /** Emitted when the login fails. */
96
- this.error = new EventEmitter();
97
- /** Emitted when the login form is submitted. */
98
- this.executeSubmit = new EventEmitter();
99
- this.ssoLogin = false;
100
- this.isError = false;
101
- this.actualLoginStep = LoginSteps.Landing;
102
- this.LoginSteps = LoginSteps;
103
- this.rememberMe = true;
104
- this.minLength = 2;
105
- this.destroyRef = inject(DestroyRef);
106
- }
107
- ngOnInit() {
108
- this.initFormError();
109
- this.initFormFieldsDefault();
110
- this.initFormFieldsMessages();
111
- this.successRoute = this.appConfig.get('successRoute', this.successRoute);
112
- if (this.authService.isLoggedIn()) {
113
- this.router.navigate([this.successRoute]);
114
- }
115
- else {
116
- if (this.authService.isOauth()) {
117
- const oauth = this.appConfig.oauth2;
118
- if (oauth?.silentLogin) {
119
- this.redirectToSSOLogin();
120
- }
121
- else if (oauth?.implicitFlow || oauth?.codeFlow) {
122
- this.ssoLogin = true;
123
- }
124
- }
125
- this.route.queryParams.subscribe((params) => {
126
- const url = params['redirectUrl'];
127
- const provider = this.appConfig.get(AppConfigValues.PROVIDERS);
128
- this.basicAlfrescoAuthService.setRedirect({ provider, url });
129
- });
130
- }
131
- if (this.fieldsValidation) {
132
- this.form = this._fb.group(this.fieldsValidation);
133
- }
134
- this.form.valueChanges.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((data) => this.onValueChanged(data));
135
- }
136
- submit() {
137
- this.onSubmit(this.form.value);
138
- }
139
- redirectToSSOLogin() {
140
- this.oidcAuthenticationService.ssoLogin();
141
- }
142
- /**
143
- * Method called on submit form
144
- *
145
- * @param values login form values
146
- */
147
- onSubmit(values) {
148
- this.disableError();
149
- const args = new LoginSubmitEvent({
150
- controls: { username: this.form.controls.username }
151
- });
152
- this.executeSubmit.emit(args);
153
- if (!args.defaultPrevented) {
154
- this.actualLoginStep = LoginSteps.Checking;
155
- this.performLogin(values);
156
- }
157
- }
158
- implicitLogin() {
159
- if (this.authService.isLoggedIn()) {
160
- this.router.navigate([this.successRoute]);
161
- }
162
- this.oidcAuthenticationService.ssoLogin();
163
- }
164
- /**
165
- * The method check the error in the form and push the error in the formError object
166
- *
167
- * @param data form data
168
- */
169
- onValueChanged(data) {
170
- this.disableError();
171
- for (const field in this.formError) {
172
- if (field) {
173
- this.formError[field] = '';
174
- const hasError = (this.form.controls[field].errors && data[field] !== '') || (this.form.controls[field].dirty && !this.form.controls[field].valid);
175
- if (hasError) {
176
- for (const key in this.form.controls[field].errors) {
177
- if (key) {
178
- const message = this._message[field][key];
179
- if (message?.value) {
180
- const translated = this.translateService.instant(message.value, message.params);
181
- this.formError[field] += translated;
182
- }
183
- }
184
- }
185
- }
186
- }
187
- }
188
- }
189
- performLogin(values) {
190
- this.authService.login(values.username, values.password, this.rememberMe).subscribe(async (token) => {
191
- const redirectUrl = this.basicAlfrescoAuthService.getRedirect();
192
- this.actualLoginStep = LoginSteps.Welcome;
193
- this.userPreferences.setStoragePrefix(values.username);
194
- values.password = null;
195
- this.success.emit(new LoginSuccessEvent(token, values.username, null));
196
- if (redirectUrl) {
197
- this.basicAlfrescoAuthService.setRedirect(null);
198
- await this.router.navigateByUrl(redirectUrl);
199
- }
200
- else if (this.successRoute) {
201
- await this.router.navigate([this.successRoute]);
202
- }
203
- }, (err) => {
204
- this.actualLoginStep = LoginSteps.Landing;
205
- this.displayErrorMessage(err);
206
- this.isError = true;
207
- this.error.emit(new LoginErrorEvent(err));
208
- });
209
- }
210
- /**
211
- * Check and display the right error message in the UI
212
- *
213
- * @param err error object
214
- */
215
- displayErrorMessage(err) {
216
- if (err.error?.crossDomain && err.error.message.indexOf('Access-Control-Allow-Origin') !== -1) {
217
- this.errorMsg = err.error.message;
218
- }
219
- else if (err.status === 403 && err.message.indexOf('Invalid CSRF-token') !== -1) {
220
- this.errorMsg = 'LOGIN.MESSAGES.LOGIN-ERROR-CSRF';
221
- }
222
- else if (err.status === 403 && err.message.indexOf('The system is currently in read-only mode') !== -1) {
223
- this.errorMsg = 'LOGIN.MESSAGES.LOGIN-ECM-LICENSE';
224
- }
225
- else {
226
- this.errorMsg = 'LOGIN.MESSAGES.LOGIN-ERROR-CREDENTIALS';
227
- }
228
- }
229
- /**
230
- * Add a custom form error for a field
231
- *
232
- * @param field field
233
- * @param msg error message
234
- */
235
- addCustomFormError(field, msg) {
236
- this.formError[field] += msg;
237
- }
238
- /**
239
- * Add a custom validation rule error for a field
240
- *
241
- * @param field field
242
- * @param ruleId - i.e. required | minlength | maxlength
243
- * @param msg message
244
- * @param params parameters
245
- */
246
- addCustomValidationError(field, ruleId, msg, params) {
247
- if (field !== '__proto__' && field !== 'constructor' && field !== 'prototype') {
248
- this._message[field][ruleId] = {
249
- value: msg,
250
- params
251
- };
252
- }
253
- }
254
- /**
255
- * Display and hide the password value.
256
- *
257
- * @param event input event
258
- */
259
- toggleShowPassword(event) {
260
- event.stopPropagation();
261
- this.isPasswordShow = !this.isPasswordShow;
262
- }
263
- /**
264
- * The method return if a field is valid or not
265
- *
266
- * @param field form field to check
267
- * @returns `true` if form field should display an error, otherwise `false`
268
- */
269
- isErrorStyle(field) {
270
- return !field.valid && field.dirty && !field.pristine;
271
- }
272
- /**
273
- * Trim username
274
- *
275
- * @param event event
276
- */
277
- trimUsername(event) {
278
- event.target.value = event.target.value.trim();
279
- }
280
- /**
281
- * Default formError values
282
- */
283
- initFormError() {
284
- this.formError = {
285
- username: '',
286
- password: ''
287
- };
288
- }
289
- /**
290
- * Init form fields messages
291
- */
292
- initFormFieldsMessages() {
293
- this._message = {
294
- username: {
295
- required: {
296
- value: 'LOGIN.MESSAGES.USERNAME-REQUIRED'
297
- },
298
- minlength: {
299
- value: 'LOGIN.MESSAGES.USERNAME-MIN',
300
- params: {
301
- minLength: this.minLength
302
- }
303
- }
304
- },
305
- password: {
306
- required: {
307
- value: 'LOGIN.MESSAGES.PASSWORD-REQUIRED'
308
- }
309
- }
310
- };
311
- }
312
- initFormFieldsDefault() {
313
- this.form = this._fb.group({
314
- username: ['', Validators.compose([Validators.required, Validators.minLength(this.minLength)])],
315
- password: ['', Validators.required]
316
- });
317
- }
318
- /**
319
- * Disable the error flag
320
- */
321
- disableError() {
322
- this.isError = false;
323
- this.initFormError();
324
- }
325
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.AuthenticationService }, { token: i2.BasicAlfrescoAuthService }, { token: i3.OidcAuthenticationService }, { token: i4.TranslationService }, { token: i5.Router }, { token: i6.AppConfigService }, { token: i7.UserPreferencesService }, { token: i5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
326
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: LoginComponent, isStandalone: true, selector: "adf-login", inputs: { showRememberMe: "showRememberMe", showLoginActions: "showLoginActions", needHelpLink: "needHelpLink", registerLink: "registerLink", logoImageUrl: "logoImageUrl", backgroundImageUrl: "backgroundImageUrl", copyrightText: "copyrightText", fieldsValidation: "fieldsValidation", successRoute: "successRoute" }, outputs: { success: "success", error: "error", executeSubmit: "executeSubmit" }, host: { classAttribute: "adf-login" }, ngImport: i0, template: "<div class=\"adf-login-content\" [style.background-image]=\"'url(' + backgroundImageUrl + ')'\">\n <div class=\"adf-ie11FixerParent\">\n <div class=\"adf-ie11FixerChild\">\n\n <mat-card class=\"adf-login-card-wide\">\n <form id=\"adf-login-form\"\n [formGroup]=\"form\"\n autocomplete=\"off\"\n (submit)=\"onSubmit(form.value)\">\n <mat-card-header class=\"adf-login-card-header-text\">\n <mat-card-title>\n <div class=\"adf-alfresco-logo\">\n <!--HEADER TEMPLATE-->\n <ng-template *ngIf=\"headerTemplate\"\n ngFor\n [ngForOf]=\"[data]\"\n [ngForTemplate]=\"headerTemplate\" />\n <img *ngIf=\"!headerTemplate\"\n id=\"adf-login-img-logo\"\n class=\"adf-img-logo\"\n [src]=\"logoImageUrl\"\n alt=\"{{ 'LOGIN.LOGO' | translate }}\">\n </div>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content class=\"adf-login-controls\">\n\n <!--ERRORS AREA-->\n <div class=\"adf-error-container\">\n <div *ngIf=\"isError\"\n id=\"login-error\"\n data-automation-id=\"login-error\"\n class=\"adf-error adf-error-message\">\n <mat-icon class=\"adf-error-icon\">warning</mat-icon>\n <span class=\"adf-login-error-message\">\n {{ errorMsg | translate }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!ssoLogin\">\n\n <!--USERNAME FIELD-->\n <div class=\"adf-login__field adf-login-container\"\n [ngClass]=\"{'adf-is-invalid': isErrorStyle(form.controls.username)}\">\n <mat-form-field class=\"adf-full-width adf-login-form-field\"\n floatPlaceholder=\"never\"\n color=\"primary\">\n <mat-label class=\"adf-login-form-input-label\">\n {{'LOGIN.LABEL.USERNAME' | translate }}\n </mat-label>\n <input matInput\n type=\"text\"\n class=\"adf-login-input\"\n formControlName=\"username\"\n id=\"username\"\n data-automation-id=\"username\"\n autocapitalize=\"none\"\n (blur)=\"trimUsername($event)\">\n </mat-form-field>\n <span *ngIf=\"formError['username']\"\n class=\"adf-login-validation\"\n for=\"username\">\n <span id=\"username-error\"\n class=\"adf-login-error\"\n data-automation-id=\"username-error\">\n {{ formError['username'] | translate }}\n </span>\n </span>\n </div>\n\n <!--PASSWORD FIELD-->\n <div class=\"adf-login__field\">\n <mat-form-field class=\"adf-full-width adf-login-form-field\"\n floatPlaceholder=\"never\"\n color=\"primary\">\n <mat-label class=\"adf-login-form-input-label\">\n {{'LOGIN.LABEL.PASSWORD' | translate }}\n </mat-label>\n <input matInput\n [type]=\"isPasswordShow ? 'text' : 'password'\"\n formControlName=\"password\"\n class=\"adf-login-input\"\n id=\"password\"\n data-automation-id=\"password\">\n <button matSuffix\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"(isPasswordShow ? 'LOGIN.ARIA-LABEL.HIDE-PASSWORD' : 'LOGIN.ARIA-LABEL.SHOW-PASSWORD') | translate\"\n (click)=\"toggleShowPassword($event)\"\n (keyup.enter)=\"toggleShowPassword($event)\"\n [attr.data-automation-id]=\"isPasswordShow ? 'hide_password' : 'show_password'\">\n <mat-icon class=\"adf-login-form-password-icon adf-login-password-icon\">\n {{ isPasswordShow ? 'visibility' : 'visibility_off' }}\n </mat-icon>\n </button>\n </mat-form-field>\n <span class=\"adf-login-validation\"\n for=\"password\"\n *ngIf=\"formError['password']\">\n <span id=\"password-required\"\n class=\"adf-login-error\"\n data-automation-id=\"password-required\">\n {{ formError['password'] | translate }}\n </span>\n </span>\n </div>\n\n <!--CUSTOM CONTENT-->\n <ng-content />\n\n <br>\n <button type=\"submit\"\n id=\"login-button\"\n class=\"adf-login-button\"\n mat-raised-button\n color=\"accent\"\n [class.adf-isChecking]=\"actualLoginStep === LoginSteps.Checking\"\n [class.adf-isWelcome]=\"actualLoginStep === LoginSteps.Welcome\"\n data-automation-id=\"login-button\"\n [disabled]=\"!form.valid\"\n [attr.aria-label]=\"'LOGIN.BUTTON.LOGIN' | translate\">\n <span *ngIf=\"actualLoginStep === LoginSteps.Landing\"\n class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.LOGIN' | translate }}\n </span>\n <div *ngIf=\"actualLoginStep === LoginSteps.Checking\"\n class=\"adf-interactive-login-label\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.CHECKING' | translate }}\n </span>\n <div class=\"adf-login-spinner-container\">\n <mat-spinner id=\"checking-spinner\"\n class=\"adf-login-checking-spinner\"\n [strokeWidth]=\"4\"\n [diameter]=\"25\" />\n </div>\n </div>\n <div *ngIf=\"actualLoginStep === LoginSteps.Welcome\"\n class=\"adf-interactive-login-label\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.WELCOME' | translate }}\n </span>\n <mat-icon class=\"adf-welcome-icon\">done</mat-icon>\n </div>\n </button>\n <div *ngIf=\"showRememberMe\" class=\"adf-login__remember-me\">\n <mat-checkbox id=\"adf-login-remember\"\n color=\"primary\"\n class=\"adf-login-remember-me\"\n [checked]=\"rememberMe\"\n (change)=\"rememberMe = !rememberMe\">\n <div class=\"adf-login-remember-me-label\">\n {{ 'LOGIN.LABEL.REMEMBER' | translate }}\n </div>\n </mat-checkbox>\n </div>\n </div>\n <div *ngIf=\"ssoLogin\">\n <button type=\"button\"\n (click)=\"implicitLogin()\"\n id=\"login-button-sso\"\n [attr.aria-label]=\"'LOGIN.BUTTON.SSO' | translate\"\n class=\"adf-login-button\"\n mat-raised-button color=\"primary\"\n data-automation-id=\"login-button-sso\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.SSO' | translate }}\n </span>\n </button>\n </div>\n </mat-card-content>\n\n <mat-card-actions *ngIf=\"footerTemplate || showLoginActions\">\n\n <div class=\"adf-login-action-container\">\n <!--FOOTER TEMPLATE-->\n <ng-template *ngIf=\"footerTemplate\"\n ngFor\n [ngForOf]=\"[data]\"\n [ngForTemplate]=\"footerTemplate\" />\n <div class=\"adf-login-action\" *ngIf=\"!footerTemplate && showLoginActions\">\n <div id=\"adf-login-action-left\" class=\"adf-login-action-left\">\n <a href=\"{{ needHelpLink }}\">{{ 'LOGIN.ACTION.HELP' | translate }}</a>\n </div>\n <div id=\"adf-login-action-right\" class=\"adf-login-action-right\">\n <a href=\"{{ registerLink }}\">{{ 'LOGIN.ACTION.REGISTER' | translate }}</a>\n </div>\n </div>\n </div>\n </mat-card-actions>\n </form>\n </mat-card>\n\n <div class=\"adf-copyright\" data-automation-id=\"login-copyright\">\n {{ copyrightText }}\n </div>\n\n </div>\n </div>\n</div>\n", styles: [".adf-login{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.adf-login-content{background-size:cover;background-position:center;min-height:100%;min-width:320px;display:flex;justify-content:center;flex-direction:column}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.adf-login-content{display:table;width:100%;height:100%}}.adf-login-content .adf-ie11FixerParent{margin:16px 0;min-width:320px}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.adf-login-content .adf-ie11FixerParent{display:table-cell;vertical-align:middle;width:100%;padding-top:16px}}.adf-login-content .adf-ie11FixerChild{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.adf-login-content .adf-icon-inline{position:absolute;display:block;top:31%;left:82%;width:30px;overflow:hidden}.adf-login-content .adf-login-card-wide{border-radius:8px;background-color:var(--adf-theme-background-dialog-color);box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;width:450px;min-width:320px;padding:21px 64px 34px;box-sizing:border-box}@media screen and (width <= 482px){.adf-login-content .adf-login-card-wide{width:calc(100% - 32px)}}.adf-login-content .adf-error-container{height:45px}.adf-login-content .adf-error-message{display:flex;flex-direction:row;justify-content:flex-start;color:var(--theme-warn-color);padding:0;margin-bottom:4px;font-size:var(--theme-caption-font-size)}.adf-login-content .adf-error-message .adf-error-icon{margin-right:10px}.adf-login-content .adf-login-card-header-text{padding-bottom:42px;padding-top:0;margin:0 auto}.adf-login-content .adf-img-logo{display:block;margin-left:auto;margin-right:auto}.adf-login-content .adf-alfresco-logo{padding:24px 16px}.adf-login-content .adf-alfresco-logo img{max-height:58px}.adf-login-content .adf-login-button{width:100%;height:36px;line-height:normal;box-shadow:none}.adf-login-content .adf-login-button-label{color:var(--theme-accent-color-default-contrast);font-weight:bolder}.adf-login-content .adf-login-button.adf-isChecking{background-color:#e0f7fa}.adf-login-content .adf-login-button.adf-isChecking .adf-login-button-label{color:var(--theme-primary-color)}.adf-login-content .adf-login-button.adf-isWelcome{background-color:var(--theme-primary-color);color:var(--theme-primary-color-default-contrast)}.adf-login-content .adf-login-button.adf-isWelcome .adf-welcome-icon{margin:5px 0 0 10px}.adf-login-content .adf-interactive-login-label{display:flex;flex-direction:row;line-height:38px;justify-content:center}.adf-login-content .adf-login-spinner-container{margin-left:15px;margin-top:5px}.adf-login-content .adf-login-action{margin-top:20px;display:flex;flex-direction:row;justify-content:space-between}.adf-login-content .adf-login-action-left a,.adf-login-content .adf-login-action-right a{text-decoration:none}.adf-login-content .adf-is-active{background-color:transparent;font-size:var(--theme-caption-font-size);font-weight:400;line-height:1.33;color:var(--theme-warn-color)}.adf-login-content .adf-copyright{min-width:320px;text-align:center;padding:16px 0;font-size:var(--theme-caption-font-size);opacity:.54}.adf-login-content .adf-login-input:is(input){font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-form-field .adf-login-password-icon.adf-login-form-password-icon{color:var(--adf-theme-foreground-text-color);font-size:var(--theme-subheading-2-font-size);top:9px;position:relative;left:7px}.adf-login-content .adf-login-controls:has(div){padding:0 0 26px;overflow:visible;width:100%;margin-bottom:16px}.adf-login-content .adf-login-controls:has(div) .adf-login-container{margin-bottom:20px}.adf-login-content .adf-login-controls:has(div) .adf-login__field{display:block;padding-bottom:16px;font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix{min-height:0;padding-bottom:3px;padding-top:20px}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix .adf-login-form-input-label{font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix .mdc-floating-label--required:after{font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--adf-theme-background-dialog-color) inset;-webkit-text-fill-color:var(--adf-theme-foreground-text-color)}.adf-login-content .adf-login-validation{background-color:transparent;color:var(--theme-warn-color);font-size:var(--theme-caption-font-size)}.adf-login-content .adf-login-error{color:var(--theme-warn-color);position:absolute;font-size:var(--theme-caption-font-size);margin-top:-12px;display:block}.adf-login-content .adf-full-width{width:100%}.adf-login-content .adf-login__remember-me{padding-top:22px}.adf-login-content .adf-login__remember-me .adf-login-remember-me-label{opacity:.87}.adf-login-content .adf-login-remember-me:has(.adf-login-remember-me-label){color:var(--adf-theme-foreground-text-color)}.adf-login-content .adf-login-action-container{border-top:1px solid rgba(0,0,0,.1);margin-top:23px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i9.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i9.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i9.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i9.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i11.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i11.MatLabel, selector: "mat-label" }, { kind: "directive", type: i11.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i12.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i13.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i13.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i14.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i15.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], encapsulation: i0.ViewEncapsulation.None }); }
327
- }
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LoginComponent, decorators: [{
329
- type: Component,
330
- args: [{ selector: 'adf-login', standalone: true, encapsulation: ViewEncapsulation.None, imports: [
331
- CommonModule,
332
- MatCardModule,
333
- ReactiveFormsModule,
334
- TranslatePipe,
335
- MatIconModule,
336
- MatFormFieldModule,
337
- MatInputModule,
338
- MatButtonModule,
339
- MatProgressSpinnerModule,
340
- MatCheckboxModule
341
- ], host: { class: 'adf-login' }, template: "<div class=\"adf-login-content\" [style.background-image]=\"'url(' + backgroundImageUrl + ')'\">\n <div class=\"adf-ie11FixerParent\">\n <div class=\"adf-ie11FixerChild\">\n\n <mat-card class=\"adf-login-card-wide\">\n <form id=\"adf-login-form\"\n [formGroup]=\"form\"\n autocomplete=\"off\"\n (submit)=\"onSubmit(form.value)\">\n <mat-card-header class=\"adf-login-card-header-text\">\n <mat-card-title>\n <div class=\"adf-alfresco-logo\">\n <!--HEADER TEMPLATE-->\n <ng-template *ngIf=\"headerTemplate\"\n ngFor\n [ngForOf]=\"[data]\"\n [ngForTemplate]=\"headerTemplate\" />\n <img *ngIf=\"!headerTemplate\"\n id=\"adf-login-img-logo\"\n class=\"adf-img-logo\"\n [src]=\"logoImageUrl\"\n alt=\"{{ 'LOGIN.LOGO' | translate }}\">\n </div>\n </mat-card-title>\n </mat-card-header>\n\n <mat-card-content class=\"adf-login-controls\">\n\n <!--ERRORS AREA-->\n <div class=\"adf-error-container\">\n <div *ngIf=\"isError\"\n id=\"login-error\"\n data-automation-id=\"login-error\"\n class=\"adf-error adf-error-message\">\n <mat-icon class=\"adf-error-icon\">warning</mat-icon>\n <span class=\"adf-login-error-message\">\n {{ errorMsg | translate }}\n </span>\n </div>\n </div>\n\n <div *ngIf=\"!ssoLogin\">\n\n <!--USERNAME FIELD-->\n <div class=\"adf-login__field adf-login-container\"\n [ngClass]=\"{'adf-is-invalid': isErrorStyle(form.controls.username)}\">\n <mat-form-field class=\"adf-full-width adf-login-form-field\"\n floatPlaceholder=\"never\"\n color=\"primary\">\n <mat-label class=\"adf-login-form-input-label\">\n {{'LOGIN.LABEL.USERNAME' | translate }}\n </mat-label>\n <input matInput\n type=\"text\"\n class=\"adf-login-input\"\n formControlName=\"username\"\n id=\"username\"\n data-automation-id=\"username\"\n autocapitalize=\"none\"\n (blur)=\"trimUsername($event)\">\n </mat-form-field>\n <span *ngIf=\"formError['username']\"\n class=\"adf-login-validation\"\n for=\"username\">\n <span id=\"username-error\"\n class=\"adf-login-error\"\n data-automation-id=\"username-error\">\n {{ formError['username'] | translate }}\n </span>\n </span>\n </div>\n\n <!--PASSWORD FIELD-->\n <div class=\"adf-login__field\">\n <mat-form-field class=\"adf-full-width adf-login-form-field\"\n floatPlaceholder=\"never\"\n color=\"primary\">\n <mat-label class=\"adf-login-form-input-label\">\n {{'LOGIN.LABEL.PASSWORD' | translate }}\n </mat-label>\n <input matInput\n [type]=\"isPasswordShow ? 'text' : 'password'\"\n formControlName=\"password\"\n class=\"adf-login-input\"\n id=\"password\"\n data-automation-id=\"password\">\n <button matSuffix\n mat-icon-button\n type=\"button\"\n [attr.aria-label]=\"(isPasswordShow ? 'LOGIN.ARIA-LABEL.HIDE-PASSWORD' : 'LOGIN.ARIA-LABEL.SHOW-PASSWORD') | translate\"\n (click)=\"toggleShowPassword($event)\"\n (keyup.enter)=\"toggleShowPassword($event)\"\n [attr.data-automation-id]=\"isPasswordShow ? 'hide_password' : 'show_password'\">\n <mat-icon class=\"adf-login-form-password-icon adf-login-password-icon\">\n {{ isPasswordShow ? 'visibility' : 'visibility_off' }}\n </mat-icon>\n </button>\n </mat-form-field>\n <span class=\"adf-login-validation\"\n for=\"password\"\n *ngIf=\"formError['password']\">\n <span id=\"password-required\"\n class=\"adf-login-error\"\n data-automation-id=\"password-required\">\n {{ formError['password'] | translate }}\n </span>\n </span>\n </div>\n\n <!--CUSTOM CONTENT-->\n <ng-content />\n\n <br>\n <button type=\"submit\"\n id=\"login-button\"\n class=\"adf-login-button\"\n mat-raised-button\n color=\"accent\"\n [class.adf-isChecking]=\"actualLoginStep === LoginSteps.Checking\"\n [class.adf-isWelcome]=\"actualLoginStep === LoginSteps.Welcome\"\n data-automation-id=\"login-button\"\n [disabled]=\"!form.valid\"\n [attr.aria-label]=\"'LOGIN.BUTTON.LOGIN' | translate\">\n <span *ngIf=\"actualLoginStep === LoginSteps.Landing\"\n class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.LOGIN' | translate }}\n </span>\n <div *ngIf=\"actualLoginStep === LoginSteps.Checking\"\n class=\"adf-interactive-login-label\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.CHECKING' | translate }}\n </span>\n <div class=\"adf-login-spinner-container\">\n <mat-spinner id=\"checking-spinner\"\n class=\"adf-login-checking-spinner\"\n [strokeWidth]=\"4\"\n [diameter]=\"25\" />\n </div>\n </div>\n <div *ngIf=\"actualLoginStep === LoginSteps.Welcome\"\n class=\"adf-interactive-login-label\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.WELCOME' | translate }}\n </span>\n <mat-icon class=\"adf-welcome-icon\">done</mat-icon>\n </div>\n </button>\n <div *ngIf=\"showRememberMe\" class=\"adf-login__remember-me\">\n <mat-checkbox id=\"adf-login-remember\"\n color=\"primary\"\n class=\"adf-login-remember-me\"\n [checked]=\"rememberMe\"\n (change)=\"rememberMe = !rememberMe\">\n <div class=\"adf-login-remember-me-label\">\n {{ 'LOGIN.LABEL.REMEMBER' | translate }}\n </div>\n </mat-checkbox>\n </div>\n </div>\n <div *ngIf=\"ssoLogin\">\n <button type=\"button\"\n (click)=\"implicitLogin()\"\n id=\"login-button-sso\"\n [attr.aria-label]=\"'LOGIN.BUTTON.SSO' | translate\"\n class=\"adf-login-button\"\n mat-raised-button color=\"primary\"\n data-automation-id=\"login-button-sso\">\n <span class=\"adf-login-button-label\">\n {{ 'LOGIN.BUTTON.SSO' | translate }}\n </span>\n </button>\n </div>\n </mat-card-content>\n\n <mat-card-actions *ngIf=\"footerTemplate || showLoginActions\">\n\n <div class=\"adf-login-action-container\">\n <!--FOOTER TEMPLATE-->\n <ng-template *ngIf=\"footerTemplate\"\n ngFor\n [ngForOf]=\"[data]\"\n [ngForTemplate]=\"footerTemplate\" />\n <div class=\"adf-login-action\" *ngIf=\"!footerTemplate && showLoginActions\">\n <div id=\"adf-login-action-left\" class=\"adf-login-action-left\">\n <a href=\"{{ needHelpLink }}\">{{ 'LOGIN.ACTION.HELP' | translate }}</a>\n </div>\n <div id=\"adf-login-action-right\" class=\"adf-login-action-right\">\n <a href=\"{{ registerLink }}\">{{ 'LOGIN.ACTION.REGISTER' | translate }}</a>\n </div>\n </div>\n </div>\n </mat-card-actions>\n </form>\n </mat-card>\n\n <div class=\"adf-copyright\" data-automation-id=\"login-copyright\">\n {{ copyrightText }}\n </div>\n\n </div>\n </div>\n</div>\n", styles: [".adf-login{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0}.adf-login-content{background-size:cover;background-position:center;min-height:100%;min-width:320px;display:flex;justify-content:center;flex-direction:column}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.adf-login-content{display:table;width:100%;height:100%}}.adf-login-content .adf-ie11FixerParent{margin:16px 0;min-width:320px}@media all and (-ms-high-contrast: none),(-ms-high-contrast: active){.adf-login-content .adf-ie11FixerParent{display:table-cell;vertical-align:middle;width:100%;padding-top:16px}}.adf-login-content .adf-ie11FixerChild{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.adf-login-content .adf-icon-inline{position:absolute;display:block;top:31%;left:82%;width:30px;overflow:hidden}.adf-login-content .adf-login-card-wide{border-radius:8px;background-color:var(--adf-theme-background-dialog-color);box-shadow:0 2px 2px #0000003d,0 0 2px #0000001f;width:450px;min-width:320px;padding:21px 64px 34px;box-sizing:border-box}@media screen and (width <= 482px){.adf-login-content .adf-login-card-wide{width:calc(100% - 32px)}}.adf-login-content .adf-error-container{height:45px}.adf-login-content .adf-error-message{display:flex;flex-direction:row;justify-content:flex-start;color:var(--theme-warn-color);padding:0;margin-bottom:4px;font-size:var(--theme-caption-font-size)}.adf-login-content .adf-error-message .adf-error-icon{margin-right:10px}.adf-login-content .adf-login-card-header-text{padding-bottom:42px;padding-top:0;margin:0 auto}.adf-login-content .adf-img-logo{display:block;margin-left:auto;margin-right:auto}.adf-login-content .adf-alfresco-logo{padding:24px 16px}.adf-login-content .adf-alfresco-logo img{max-height:58px}.adf-login-content .adf-login-button{width:100%;height:36px;line-height:normal;box-shadow:none}.adf-login-content .adf-login-button-label{color:var(--theme-accent-color-default-contrast);font-weight:bolder}.adf-login-content .adf-login-button.adf-isChecking{background-color:#e0f7fa}.adf-login-content .adf-login-button.adf-isChecking .adf-login-button-label{color:var(--theme-primary-color)}.adf-login-content .adf-login-button.adf-isWelcome{background-color:var(--theme-primary-color);color:var(--theme-primary-color-default-contrast)}.adf-login-content .adf-login-button.adf-isWelcome .adf-welcome-icon{margin:5px 0 0 10px}.adf-login-content .adf-interactive-login-label{display:flex;flex-direction:row;line-height:38px;justify-content:center}.adf-login-content .adf-login-spinner-container{margin-left:15px;margin-top:5px}.adf-login-content .adf-login-action{margin-top:20px;display:flex;flex-direction:row;justify-content:space-between}.adf-login-content .adf-login-action-left a,.adf-login-content .adf-login-action-right a{text-decoration:none}.adf-login-content .adf-is-active{background-color:transparent;font-size:var(--theme-caption-font-size);font-weight:400;line-height:1.33;color:var(--theme-warn-color)}.adf-login-content .adf-copyright{min-width:320px;text-align:center;padding:16px 0;font-size:var(--theme-caption-font-size);opacity:.54}.adf-login-content .adf-login-input:is(input){font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-form-field .adf-login-password-icon.adf-login-form-password-icon{color:var(--adf-theme-foreground-text-color);font-size:var(--theme-subheading-2-font-size);top:9px;position:relative;left:7px}.adf-login-content .adf-login-controls:has(div){padding:0 0 26px;overflow:visible;width:100%;margin-bottom:16px}.adf-login-content .adf-login-controls:has(div) .adf-login-container{margin-bottom:20px}.adf-login-content .adf-login-controls:has(div) .adf-login__field{display:block;padding-bottom:16px;font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix{min-height:0;padding-bottom:3px;padding-top:20px}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix .adf-login-form-input-label{font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field .mat-mdc-form-field-infix .mdc-floating-label--required:after{font-size:var(--theme-subheading-2-font-size)}.adf-login-content .adf-login-controls:has(div) .adf-login__field input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px var(--adf-theme-background-dialog-color) inset;-webkit-text-fill-color:var(--adf-theme-foreground-text-color)}.adf-login-content .adf-login-validation{background-color:transparent;color:var(--theme-warn-color);font-size:var(--theme-caption-font-size)}.adf-login-content .adf-login-error{color:var(--theme-warn-color);position:absolute;font-size:var(--theme-caption-font-size);margin-top:-12px;display:block}.adf-login-content .adf-full-width{width:100%}.adf-login-content .adf-login__remember-me{padding-top:22px}.adf-login-content .adf-login__remember-me .adf-login-remember-me-label{opacity:.87}.adf-login-content .adf-login-remember-me:has(.adf-login-remember-me-label){color:var(--adf-theme-foreground-text-color)}.adf-login-content .adf-login-action-container{border-top:1px solid rgba(0,0,0,.1);margin-top:23px}\n"] }]
342
- }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.AuthenticationService }, { type: i2.BasicAlfrescoAuthService }, { type: i3.OidcAuthenticationService }, { type: i4.TranslationService }, { type: i5.Router }, { type: i6.AppConfigService }, { type: i7.UserPreferencesService }, { type: i5.ActivatedRoute }], propDecorators: { showRememberMe: [{
343
- type: Input
344
- }], showLoginActions: [{
345
- type: Input
346
- }], needHelpLink: [{
347
- type: Input
348
- }], registerLink: [{
349
- type: Input
350
- }], logoImageUrl: [{
351
- type: Input
352
- }], backgroundImageUrl: [{
353
- type: Input
354
- }], copyrightText: [{
355
- type: Input
356
- }], fieldsValidation: [{
357
- type: Input
358
- }], successRoute: [{
359
- type: Input
360
- }], success: [{
361
- type: Output
362
- }], error: [{
363
- type: Output
364
- }], executeSubmit: [{
365
- type: Output
366
- }] } });
367
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvcmUvc3JjL2xpYi9sb2dpbi9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvbG9naW4vY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFlLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25JLE9BQU8sRUFBbUIsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQW9CLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIs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aVdBVzVCLGNBQWM7c0JBRGIsS0FBSztnQkFLTixnQkFBZ0I7c0JBRGYsS0FBSztnQkFLTixZQUFZO3NCQURYLEtBQUs7Z0JBS04sWUFBWTtzQkFEWCxLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBS04sYUFBYTtzQkFEWixLQUFLO2dCQUtOLGdCQUFnQjtzQkFEZixLQUFLO2dCQUtOLFlBQVk7c0JBRFgsS0FBSztnQkFLTixPQUFPO3NCQUROLE1BQU07Z0JBS1AsS0FBSztzQkFESixNQUFNO2dCQUtQLGFBQWE7c0JBRFosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRGVzdHJveVJlZiwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XG5pbXBvcnQgeyBNYXRDaGVja2JveE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94JztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQYXJhbXMsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBBcHBDb25maWdTZXJ2aWNlLCBBcHBDb25maWdWYWx1ZXMgfSBmcm9tICcuLi8uLi8uLi9hcHAtY29uZmlnJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSwgQmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXV0aCc7XG5pbXBvcnQgeyBPaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vYXV0aC9vaWRjL29pZGMtYXV0aGVudGljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3RyYW5zbGF0aW9uJztcblxuaW1wb3J0IHsgTG9naW5FcnJvckV2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xvZ2luLWVycm9yLmV2ZW50JztcbmltcG9ydCB7IExvZ2luU3VibWl0RXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9naW4tc3VibWl0LmV2ZW50JztcbmltcG9ydCB7IExvZ2luU3VjY2Vzc0V2ZW50IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2xvZ2luLXN1Y2Nlc3MuZXZlbnQnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2hhZG93XG5lbnVtIExvZ2luU3RlcHMge1xuICAgIExhbmRpbmcgPSAwLFxuICAgIENoZWNraW5nID0gMSxcbiAgICBXZWxjb21lID0gMlxufVxuXG5pbnRlcmZhY2UgVmFsaWRhdGlvbk1lc3NhZ2Uge1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgcGFyYW1zPzogYW55O1xufVxuXG5pbnRlcmZhY2UgTG9naW5Gb3JtVmFsdWVzIHtcbiAgICB1c2VybmFtZTogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYWRmLWxvZ2luJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9naW4uY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRDYXJkTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVQaXBlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSxcbiAgICAgICAgTWF0Q2hlY2tib3hNb2R1bGVcbiAgICBdLFxuICAgIGhvc3Q6IHsgY2xhc3M6ICdhZGYtbG9naW4nIH1cbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGlzUGFzc3dvcmRTaG93OiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBTaG91bGQgdGhlIGBSZW1lbWJlciBtZWAgY2hlY2tib3ggYmUgc2hvd24/IFdoZW4gc2VsZWN0ZWQsIHRoaXNcbiAgICAgKiBvcHRpb24gd2lsbCByZW1lbWJlciB0aGUgbG9nZ2VkLWluIHVzZXIgYWZ0ZXIgdGhlIGJyb3dzZXIgaXMgY2xvc2VkXG4gICAgICogdG8gYXZvaWQgbG9nZ2luZyBpbiByZXBlYXRlZGx5LlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2hvd1JlbWVtYmVyTWU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqIFNob3VsZCB0aGUgZXh0cmEgYWN0aW9ucyAoYE5lZWQgSGVscGAsIGBSZWdpc3RlcmAsIGV0YykgYmUgc2hvd24/ICovXG4gICAgQElucHV0KClcbiAgICBzaG93TG9naW5BY3Rpb25zOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIC8qKiBTZXRzIHRoZSBVUkwgb2YgdGhlIE5FRUQgSEVMUCBsaW5rIGluIHRoZSBmb290ZXIuICovXG4gICAgQElucHV0KClcbiAgICBuZWVkSGVscExpbms6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqIFNldHMgdGhlIFVSTCBvZiB0aGUgUkVHSVNURVIgbGluayBpbiB0aGUgZm9vdGVyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcmVnaXN0ZXJMaW5rOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKiBQYXRoIHRvIGEgY3VzdG9tIGxvZ28gaW1hZ2UuICovXG4gICAgQElucHV0KClcbiAgICBsb2dvSW1hZ2VVcmw6IHN0cmluZyA9ICcuL2Fzc2V0cy9pbWFnZXMvYWxmcmVzY28tbG9nby5zdmcnO1xuXG4gICAgLyoqIFBhdGggdG8gYSBjdXN0b20gYmFja2dyb3VuZCBpbWFnZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGJhY2tncm91bmRJbWFnZVVybDogc3RyaW5nID0gJy4vYXNzZXRzL2ltYWdlcy9iYWNrZ3JvdW5kLnN2Zyc7XG5cbiAgICAvKiogVGhlIGNvcHlyaWdodCB0ZXh0IGJlbG93IHRoZSBsb2dpbiBib3guICovXG4gICAgQElucHV0KClcbiAgICBjb3B5cmlnaHRUZXh0OiBzdHJpbmcgPSAnXFx1MDBBOSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4nO1xuXG4gICAgLyoqIEN1c3RvbSB2YWxpZGF0aW9uIHJ1bGVzIGZvciB0aGUgbG9naW4gZm9ybS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGZpZWxkc1ZhbGlkYXRpb246IGFueTtcblxuICAgIC8qKiBSb3V0ZSB0byByZWRpcmVjdCB0byBvbiBzdWNjZXNzZnVsIGxvZ2luLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgc3VjY2Vzc1JvdXRlOiBzdHJpbmcgPSBudWxsO1xuXG4gICAgLyoqIEVtaXR0ZWQgd2hlbiB0aGUgbG9naW4gaXMgc3VjY2Vzc2Z1bC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBzdWNjZXNzID0gbmV3IEV2ZW50RW1pdHRlcjxMb2dpblN1Y2Nlc3NFdmVudD4oKTtcblxuICAgIC8qKiBFbWl0dGVkIHdoZW4gdGhlIGxvZ2luIGZhaWxzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxMb2dpbkVycm9yRXZlbnQ+KCk7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBsb2dpbiBmb3JtIGlzIHN1Ym1pdHRlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBleGVjdXRlU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxMb2dpblN1Ym1pdEV2ZW50PigpO1xuXG4gICAgc3NvTG9naW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gICAgaXNFcnJvcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGVycm9yTXNnOiBzdHJpbmc7XG4gICAgYWN0dWFsTG9naW5TdGVwOiBhbnkgPSBMb2dpblN0ZXBzLkxhbmRpbmc7XG4gICAgTG9naW5TdGVwcyA9IExvZ2luU3RlcHM7XG4gICAgcmVtZW1iZXJNZTogYm9vbGVhbiA9IHRydWU7XG4gICAgZm9ybUVycm9yOiB7IFtpZDogc3RyaW5nXTogc3RyaW5nIH07XG4gICAgbWluTGVuZ3RoOiBudW1iZXIgPSAyO1xuICAgIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIGRhdGE6IGFueTtcblxuICAgIHByaXZhdGUgX21lc3NhZ2U6IHsgW2lkOiBzdHJpbmddOiB7IFtpZDogc3RyaW5nXTogVmFsaWRhdGlvbk1lc3NhZ2UgfSB9O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2ZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBiYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2U6IEJhc2ljQWxmcmVzY29BdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBvaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlOiBPaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICAgICAgcHJpdmF0ZSBhcHBDb25maWc6IEFwcENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdXNlclByZWZlcmVuY2VzOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmluaXRGb3JtRXJyb3IoKTtcbiAgICAgICAgdGhpcy5pbml0Rm9ybUZpZWxkc0RlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5pbml0Rm9ybUZpZWxkc01lc3NhZ2VzKCk7XG5cbiAgICAgICAgdGhpcy5zdWNjZXNzUm91dGUgPSB0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPignc3VjY2Vzc1JvdXRlJywgdGhpcy5zdWNjZXNzUm91dGUpO1xuXG4gICAgICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmlzTG9nZ2VkSW4oKSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuc3VjY2Vzc1JvdXRlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hdXRoU2VydmljZS5pc09hdXRoKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvYXV0aCA9IHRoaXMuYXBwQ29uZmlnLm9hdXRoMjtcbiAgICAgICAgICAgICAgICBpZiAob2F1dGg/LnNpbGVudExvZ2luKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVkaXJlY3RUb1NTT0xvZ2luKCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChvYXV0aD8uaW1wbGljaXRGbG93IHx8IG9hdXRoPy5jb2RlRmxvdykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNzb0xvZ2luID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXM6IFBhcmFtcykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IHBhcmFtc1sncmVkaXJlY3RVcmwnXTtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm92aWRlciA9IHRoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KEFwcENvbmZpZ1ZhbHVlcy5QUk9WSURFUlMpO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5iYXNpY0FsZnJlc2NvQXV0aFNlcnZpY2Uuc2V0UmVkaXJlY3QoeyBwcm92aWRlciwgdXJsIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5maWVsZHNWYWxpZGF0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm0gPSB0aGlzLl9mYi5ncm91cCh0aGlzLmZpZWxkc1ZhbGlkYXRpb24pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKGRhdGEpID0+IHRoaXMub25WYWx1ZUNoYW5nZWQoZGF0YSkpO1xuICAgIH1cblxuICAgIHN1Ym1pdCgpIHtcbiAgICAgICAgdGhpcy5vblN1Ym1pdCh0aGlzLmZvcm0udmFsdWUpO1xuICAgIH1cblxuICAgIHJlZGlyZWN0VG9TU09Mb2dpbigpIHtcbiAgICAgICAgdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLnNzb0xvZ2luKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIGNhbGxlZCBvbiBzdWJtaXQgZm9ybVxuICAgICAqXG4gICAgICogQHBhcmFtIHZhbHVlcyBsb2dpbiBmb3JtIHZhbHVlc1xuICAgICAqL1xuICAgIG9uU3VibWl0KHZhbHVlczogTG9naW5Gb3JtVmFsdWVzKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZUVycm9yKCk7XG5cbiAgICAgICAgY29uc3QgYXJncyA9IG5ldyBMb2dpblN1Ym1pdEV2ZW50KHtcbiAgICAgICAgICAgIGNvbnRyb2xzOiB7IHVzZXJuYW1lOiB0aGlzLmZvcm0uY29udHJvbHMudXNlcm5hbWUgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5leGVjdXRlU3VibWl0LmVtaXQoYXJncyk7XG5cbiAgICAgICAgaWYgKCFhcmdzLmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYWN0dWFsTG9naW5TdGVwID0gTG9naW5TdGVwcy5DaGVja2luZztcblxuICAgICAgICAgICAgdGhpcy5wZXJmb3JtTG9naW4odmFsdWVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltcGxpY2l0TG9naW4oKSB7XG4gICAgICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmlzTG9nZ2VkSW4oKSkge1xuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuc3VjY2Vzc1JvdXRlXSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vaWRjQXV0aGVudGljYXRpb25TZXJ2aWNlLnNzb0xvZ2luKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG1ldGhvZCBjaGVjayB0aGUgZXJyb3IgaW4gdGhlIGZvcm0gYW5kIHB1c2ggdGhlIGVycm9yIGluIHRoZSBmb3JtRXJyb3Igb2JqZWN0XG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSBmb3JtIGRhdGFcbiAgICAgKi9cbiAgICBvblZhbHVlQ2hhbmdlZChkYXRhOiBhbnkpIHtcbiAgICAgICAgdGhpcy5kaXNhYmxlRXJyb3IoKTtcbiAgICAgICAgZm9yIChjb25zdCBmaWVsZCBpbiB0aGlzLmZvcm1FcnJvcikge1xuICAgICAgICAgICAgaWYgKGZpZWxkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtRXJyb3JbZmllbGRdID0gJyc7XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzRXJyb3IgPVxuICAgICAgICAgICAgICAgICAgICAodGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkXS5lcnJvcnMgJiYgZGF0YVtmaWVsZF0gIT09ICcnKSB8fCAodGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkXS5kaXJ0eSAmJiAhdGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkXS52YWxpZCk7XG4gICAgICAgICAgICAgICAgaWYgKGhhc0Vycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMuZm9ybS5jb250cm9sc1tmaWVsZF0uZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMuX21lc3NhZ2VbZmllbGRdW2tleV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2U/LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRyYW5zbGF0ZWQgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChtZXNzYWdlLnZhbHVlLCBtZXNzYWdlLnBhcmFtcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUVycm9yW2ZpZWxkXSArPSB0cmFuc2xhdGVkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHBlcmZvcm1Mb2dpbih2YWx1ZXM6IHsgdXNlcm5hbWU6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9KSB7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9naW4odmFsdWVzLnVzZXJuYW1lLCB2YWx1ZXMucGFzc3dvcmQsIHRoaXMucmVtZW1iZXJNZSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgYXN5bmMgKHRva2VuOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCByZWRpcmVjdFVybCA9IHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLmdldFJlZGlyZWN0KCk7XG5cbiAgICAgICAgICAgICAgICB0aGlzLmFjdHVhbExvZ2luU3RlcCA9IExvZ2luU3RlcHMuV2VsY29tZTtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlcy5zZXRTdG9yYWdlUHJlZml4KHZhbHVlcy51c2VybmFtZSk7XG4gICAgICAgICAgICAgICAgdmFsdWVzLnBhc3N3b3JkID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdChuZXcgTG9naW5TdWNjZXNzRXZlbnQodG9rZW4sIHZhbHVlcy51c2VybmFtZSwgbnVsbCkpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHJlZGlyZWN0VXJsKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmFzaWNBbGZyZXNjb0F1dGhTZXJ2aWNlLnNldFJlZGlyZWN0KG51bGwpO1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHJlZGlyZWN0VXJsKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3VjY2Vzc1JvdXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnN1Y2Nlc3NSb3V0ZV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdHVhbExvZ2luU3RlcCA9IExvZ2luU3RlcHMuTGFuZGluZztcbiAgICAgICAgICAgICAgICB0aGlzLmRpc3BsYXlFcnJvck1lc3NhZ2UoZXJyKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdChuZXcgTG9naW5FcnJvckV2ZW50KGVycikpO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrIGFuZCBkaXNwbGF5IHRoZSByaWdodCBlcnJvciBtZXNzYWdlIGluIHRoZSBVSVxuICAgICAqXG4gICAgICogQHBhcmFtIGVyciBlcnJvciBvYmplY3RcbiAgICAgKi9cbiAgICBwcml2YXRlIGRpc3BsYXlFcnJvck1lc3NhZ2UoZXJyOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKGVyci5lcnJvcj8uY3Jvc3NEb21haW4gJiYgZXJyLmVycm9yLm1lc3NhZ2UuaW5kZXhPZignQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luJykgIT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yTXNnID0gZXJyLmVycm9yLm1lc3NhZ2U7XG4gICAgICAgIH0gZWxzZSBpZiAoZXJyLnN0YXR1cyA9PT0gNDAzICYmIGVyci5tZXNzYWdlLmluZGV4T2YoJ0ludmFsaWQgQ1NSRi10b2tlbicpICE9PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1zZyA9ICdMT0dJTi5NRVNTQUdFUy5MT0dJTi1FUlJPUi1DU1JGJztcbiAgICAgICAgfSBlbHNlIGlmIChlcnIuc3RhdHVzID09PSA0MDMgJiYgZXJyLm1lc3NhZ2UuaW5kZXhPZignVGhlIHN5c3RlbSBpcyBjdXJyZW50bHkgaW4gcmVhZC1vbmx5IG1vZGUnKSAhPT0gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNc2cgPSAnTE9HSU4uTUVTU0FHRVMuTE9HSU4tRUNNLUxJQ0VOU0UnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1zZyA9ICdMT0dJTi5NRVNTQUdFUy5MT0dJTi1FUlJPUi1DUkVERU5USUFMUyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgYSBjdXN0b20gZm9ybSBlcnJvciBmb3IgYSBmaWVsZFxuICAgICAqXG4gICAgICogQHBhcmFtIGZpZWxkIGZpZWxkXG4gICAgICogQHBhcmFtIG1zZyBlcnJvciBtZXNzYWdlXG4gICAgICovXG4gICAgcHVibGljIGFkZEN1c3RvbUZvcm1FcnJvcihmaWVsZDogc3RyaW5nLCBtc2c6IHN0cmluZykge1xuICAgICAgICB0aGlzLmZvcm1FcnJvcltmaWVsZF0gKz0gbXNnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCBhIGN1c3RvbSB2YWxpZGF0aW9uIHJ1bGUgZXJyb3IgZm9yIGEgZmllbGRcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWVsZCBmaWVsZFxuICAgICAqIEBwYXJhbSBydWxlSWQgLSBpLmUuIHJlcXVpcmVkIHwgbWlubGVuZ3RoIHwgbWF4bGVuZ3RoXG4gICAgICogQHBhcmFtIG1zZyBtZXNzYWdlXG4gICAgICogQHBhcmFtIHBhcmFtcyBwYXJhbWV0ZXJzXG4gICAgICovXG4gICAgYWRkQ3VzdG9tVmFsaWRhdGlvbkVycm9yKGZpZWxkOiBzdHJpbmcsIHJ1bGVJZDogc3RyaW5nLCBtc2c6IHN0cmluZywgcGFyYW1zPzogYW55KSB7XG4gICAgICAgIGlmIChmaWVsZCAhPT0gJ19fcHJvdG9fXycgJiYgZmllbGQgIT09ICdjb25zdHJ1Y3RvcicgJiYgZmllbGQgIT09ICdwcm90b3R5cGUnKSB7XG4gICAgICAgICAgICB0aGlzLl9tZXNzYWdlW2ZpZWxkXVtydWxlSWRdID0ge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBtc2csXG4gICAgICAgICAgICAgICAgcGFyYW1zXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzcGxheSBhbmQgaGlkZSB0aGUgcGFzc3dvcmQgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZXZlbnQgaW5wdXQgZXZlbnRcbiAgICAgKi9cbiAgICB0b2dnbGVTaG93UGFzc3dvcmQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmlzUGFzc3dvcmRTaG93ID0gIXRoaXMuaXNQYXNzd29yZFNob3c7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG1ldGhvZCByZXR1cm4gaWYgYSBmaWVsZCBpcyB2YWxpZCBvciBub3RcbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWVsZCBmb3JtIGZpZWxkIHRvIGNoZWNrXG4gICAgICogQHJldHVybnMgYHRydWVgIGlmIGZvcm0gZmllbGQgc2hvdWxkIGRpc3BsYXkgYW4gZXJyb3IsIG90aGVyd2lzZSBgZmFsc2VgXG4gICAgICovXG4gICAgaXNFcnJvclN0eWxlKGZpZWxkOiBBYnN0cmFjdENvbnRyb2wpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICFmaWVsZC52YWxpZCAmJiBmaWVsZC5kaXJ0eSAmJiAhZmllbGQucHJpc3RpbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJpbSB1c2VybmFtZVxuICAgICAqXG4gICAgICogQHBhcmFtIGV2ZW50IGV2ZW50XG4gICAgICovXG4gICAgdHJpbVVzZXJuYW1lKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gZXZlbnQudGFyZ2V0LnZhbHVlLnRyaW0oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWZhdWx0IGZvcm1FcnJvciB2YWx1ZXNcbiAgICAgKi9cbiAgICBwcml2YXRlIGluaXRGb3JtRXJyb3IoKSB7XG4gICAgICAgIHRoaXMuZm9ybUVycm9yID0ge1xuICAgICAgICAgICAgdXNlcm5hbWU6ICcnLFxuICAgICAgICAgICAgcGFzc3dvcmQ6ICcnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdCBmb3JtIGZpZWxkcyBtZXNzYWdlc1xuICAgICAqL1xuICAgIHByaXZhdGUgaW5pdEZvcm1GaWVsZHNNZXNzYWdlcygpIHtcbiAgICAgICAgdGhpcy5fbWVzc2FnZSA9IHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiB7XG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdMT0dJTi5NRVNTQUdFUy5VU0VSTkFNRS1SRVFVSVJFRCdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1pbmxlbmd0aDoge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ0xPR0lOLk1FU1NBR0VTLlVTRVJOQU1FLU1JTicsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluTGVuZ3RoOiB0aGlzLm1pbkxlbmd0aFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHBhc3N3b3JkOiB7XG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdMT0dJTi5NRVNTQUdFUy5QQVNTV09SRC1SRVFVSVJFRCdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbml0Rm9ybUZpZWxkc0RlZmF1bHQoKSB7XG4gICAgICAgIHRoaXMuZm9ybSA9IHRoaXMuX2ZiLmdyb3VwKHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBbJycsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgodGhpcy5taW5MZW5ndGgpXSldLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IFsnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGlzYWJsZSB0aGUgZXJyb3IgZmxhZ1xuICAgICAqL1xuICAgIHByaXZhdGUgZGlzYWJsZUVycm9yKCkge1xuICAgICAgICB0aGlzLmlzRXJyb3IgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pbml0Rm9ybUVycm9yKCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImFkZi1sb2dpbi1jb250ZW50XCIgW3N0eWxlLmJhY2tncm91bmQtaW1hZ2VdPVwiJ3VybCgnICsgYmFja2dyb3VuZEltYWdlVXJsICsgJyknXCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1pZTExRml4ZXJQYXJlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1pZTExRml4ZXJDaGlsZFwiPlxuXG4gICAgICAgICAgICA8bWF0LWNhcmQgY2xhc3M9XCJhZGYtbG9naW4tY2FyZC13aWRlXCI+XG4gICAgICAgICAgICAgICAgPGZvcm0gaWQ9XCJhZGYtbG9naW4tZm9ybVwiXG4gICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtXCJcbiAgICAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgICAgIChzdWJtaXQpPVwib25TdWJtaXQoZm9ybS52YWx1ZSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLWhlYWRlciBjbGFzcz1cImFkZi1sb2dpbi1jYXJkLWhlYWRlci10ZXh0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1hbGZyZXNjby1sb2dvXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS1IRUFERVIgVEVNUExBVEUtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiaGVhZGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdGb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0Zvck9mXT1cIltkYXRhXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdGb3JUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgKm5nSWY9XCIhaGVhZGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwiYWRmLWxvZ2luLWltZy1sb2dvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1pbWctbG9nb1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NyY109XCJsb2dvSW1hZ2VVcmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cInt7ICdMT0dJTi5MT0dPJyB8IHRyYW5zbGF0ZSB9fVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJhZGYtbG9naW4tY29udHJvbHNcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPCEtLUVSUk9SUyBBUkVBLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWVycm9yLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0Vycm9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwibG9naW4tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwibG9naW4tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtZXJyb3IgIGFkZi1lcnJvci1tZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi1lcnJvci1pY29uXCI+d2FybmluZzwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWRmLWxvZ2luLWVycm9yLW1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGVycm9yTXNnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIXNzb0xvZ2luXCI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tVVNFUk5BTUUgRklFTEQtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWxvZ2luX19maWVsZCBhZGYtbG9naW4tY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWRmLWlzLWludmFsaWQnOiBpc0Vycm9yU3R5bGUoZm9ybS5jb250cm9scy51c2VybmFtZSl9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1mdWxsLXdpZHRoIGFkZi1sb2dpbi1mb3JtLWZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb2F0UGxhY2Vob2xkZXI9XCJuZXZlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJhZGYtbG9naW4tZm9ybS1pbnB1dC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J0xPR0lOLkxBQkVMLlVTRVJOQU1FJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbG9naW4taW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInVzZXJuYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJ1c2VybmFtZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NhcGl0YWxpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJ0cmltVXNlcm5hbWUoJGV2ZW50KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImZvcm1FcnJvclsndXNlcm5hbWUnXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWxvZ2luLXZhbGlkYXRpb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3I9XCJ1c2VybmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gaWQ9XCJ1c2VybmFtZS1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1sb2dpbi1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJ1c2VybmFtZS1lcnJvclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGZvcm1FcnJvclsndXNlcm5hbWUnXSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tUEFTU1dPUkQgRklFTEQtLT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWxvZ2luX19maWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGYtZnVsbC13aWR0aCBhZGYtbG9naW4tZm9ybS1maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdFBsYWNlaG9sZGVyPVwibmV2ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiYWRmLWxvZ2luLWZvcm0taW5wdXQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydMT0dJTi5MQUJFTC5QQVNTV09SRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3R5cGVdPVwiaXNQYXNzd29yZFNob3cgPyAndGV4dCcgOiAncGFzc3dvcmQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbG9naW4taW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cInBhc3N3b3JkXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiKGlzUGFzc3dvcmRTaG93ID8gJ0xPR0lOLkFSSUEtTEFCRUwuSElERS1QQVNTV09SRCcgOiAnTE9HSU4uQVJJQS1MQUJFTC5TSE9XLVBBU1NXT1JEJykgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU2hvd1Bhc3N3b3JkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwidG9nZ2xlU2hvd1Bhc3N3b3JkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWF1dG9tYXRpb24taWRdPVwiaXNQYXNzd29yZFNob3cgPyAnaGlkZV9wYXNzd29yZCcgOiAnc2hvd19wYXNzd29yZCdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtbG9naW4tZm9ybS1wYXNzd29yZC1pY29uIGFkZi1sb2dpbi1wYXNzd29yZC1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGlzUGFzc3dvcmRTaG93ID8gJ3Zpc2liaWxpdHknIDogJ3Zpc2liaWxpdHlfb2ZmJyB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtbG9naW4tdmFsaWRhdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcj1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmb3JtRXJyb3JbJ3Bhc3N3b3JkJ11cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwicGFzc3dvcmQtcmVxdWlyZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbG9naW4tZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwicGFzc3dvcmQtcmVxdWlyZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBmb3JtRXJyb3JbJ3Bhc3N3b3JkJ10gfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLUNVU1RPTSBDT05URU5ULS0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJsb2dpbi1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbG9naW4tYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYWRmLWlzQ2hlY2tpbmddPVwiYWN0dWFsTG9naW5TdGVwID09PSBMb2dpblN0ZXBzLkNoZWNraW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hZGYtaXNXZWxjb21lXT1cImFjdHVhbExvZ2luU3RlcCA9PT0gTG9naW5TdGVwcy5XZWxjb21lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImxvZ2luLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWZvcm0udmFsaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTE9HSU4uQlVUVE9OLkxPR0lOJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImFjdHVhbExvZ2luU3RlcCA9PT0gTG9naW5TdGVwcy5MYW5kaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtbG9naW4tYnV0dG9uLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnTE9HSU4uQlVUVE9OLkxPR0lOJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJhY3R1YWxMb2dpblN0ZXAgPT09IExvZ2luU3RlcHMuQ2hlY2tpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWludGVyYWN0aXZlLWxvZ2luLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1sb2dpbi1idXR0b24tbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnTE9HSU4uQlVUVE9OLkNIRUNLSU5HJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1sb2dpbi1zcGlubmVyLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc3Bpbm5lciBpZD1cImNoZWNraW5nLXNwaW5uZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1sb2dpbi1jaGVja2luZy1zcGlubmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0cm9rZVdpZHRoXT1cIjRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlhbWV0ZXJdPVwiMjVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYWN0dWFsTG9naW5TdGVwID09PSBMb2dpblN0ZXBzLldlbGNvbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWludGVyYWN0aXZlLWxvZ2luLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1sb2dpbi1idXR0b24tbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnTE9HSU4uQlVUVE9OLldFTENPTUUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtd2VsY29tZS1pY29uXCI+ZG9uZTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzaG93UmVtZW1iZXJNZVwiIGNsYXNzPVwiYWRmLWxvZ2luX19yZW1lbWJlci1tZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94IGlkPVwiYWRmLWxvZ2luLXJlbWVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWxvZ2luLXJlbWVtYmVyLW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJyZW1lbWJlck1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInJlbWVtYmVyTWUgPSAhcmVtZW1iZXJNZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1sb2dpbi1yZW1lbWJlci1tZS1sYWJlbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7ICdMT0dJTi5MQUJFTC5SRU1FTUJFUicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInNzb0xvZ2luXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJpbXBsaWNpdExvZ2luKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJsb2dpbi1idXR0b24tc3NvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0xPR0lOLkJVVFRPTi5TU08nIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLWxvZ2luLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwibG9naW4tYnV0dG9uLXNzb1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1sb2dpbi1idXR0b24tbGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyAnTE9HSU4uQlVUVE9OLlNTTycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNhcmQtY29udGVudD5cblxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQtYWN0aW9ucyAqbmdJZj1cImZvb3RlclRlbXBsYXRlIHx8IHNob3dMb2dpbkFjdGlvbnNcIj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1sb2dpbi1hY3Rpb24tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLUZPT1RFUiBURU1QTEFURS0tPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImZvb3RlclRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmdGb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nRm9yT2ZdPVwiW2RhdGFdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nRm9yVGVtcGxhdGVdPVwiZm9vdGVyVGVtcGxhdGVcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtbG9naW4tYWN0aW9uXCIgKm5nSWY9XCIhZm9vdGVyVGVtcGxhdGUgJiYgc2hvd0xvZ2luQWN0aW9uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGlkPVwiYWRmLWxvZ2luLWFjdGlvbi1sZWZ0XCIgY2xhc3M9XCJhZGYtbG9naW4tYWN0aW9uLWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ7eyBuZWVkSGVscExpbmsgfX1cIj57eyAnTE9HSU4uQUNUSU9OLkhFTFAnIHwgdHJhbnNsYXRlIH19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImFkZi1sb2dpbi1hY3Rpb24tcmlnaHRcIiBjbGFzcz1cImFkZi1sb2dpbi1hY3Rpb24tcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ7eyByZWdpc3RlckxpbmsgfX1cIj57eyAnTE9HSU4uQUNUSU9OLlJFR0lTVEVSJyB8IHRyYW5zbGF0ZSB9fTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZC1hY3Rpb25zPlxuICAgICAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDwvbWF0LWNhcmQ+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtY29weXJpZ2h0XCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwibG9naW4tY29weXJpZ2h0XCI+XG4gICAgICAgICAgICAgICAge3sgY29weXJpZ2h0VGV4dCB9fVxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -1,18 +0,0 @@
1
- /*!
2
- * @license
3
- * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- export {};
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tZGlhbG9nLWNvbXBvbmVudC1kYXRhLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb3JlL3NyYy9saWIvbG9naW4vY29tcG9uZW50cy9sb2dpbi1kaWFsb2cvbG9naW4tZGlhbG9nLWNvbXBvbmVudC1kYXRhLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUciLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBMb2dpbkRpYWxvZ0NvbXBvbmVudERhdGEge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgYWN0aW9uTmFtZT86IHN0cmluZztcbiAgICBsb2dnZWQ6IFN1YmplY3Q8YW55Pjtcbn1cbiJdfQ==