@alfresco/adf-core 8.1.0-14660630465 → 8.1.0-14701637708

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 (292) hide show
  1. package/api/lib/alfresco-api/alfresco-api.utils.d.ts +1 -1
  2. package/breadcrumbs/styles/_breadcrumb.theme.scss +4 -4
  3. package/custom-theme/material-theme.scss +4 -7
  4. package/custom-theme/theme/custom-theme-palettes.scss +8 -12
  5. package/custom-theme/theme/typography.scss +26 -26
  6. package/esm2022/api/lib/adf-http-client.service.mjs +4 -4
  7. package/esm2022/auth/authentication-interceptor/authentication.interceptor.mjs +4 -4
  8. package/esm2022/breadcrumbs/components/breadcrumb/breadcrumb.component.mjs +4 -4
  9. package/esm2022/breadcrumbs/components/breadcrumb-item/breadcrumb-item.component.mjs +4 -4
  10. package/esm2022/breadcrumbs/directives/breadcrumb-focus.directive.mjs +4 -4
  11. package/esm2022/feature-flags/lib/components/feature-flags-wrapper.mjs +4 -4
  12. package/esm2022/feature-flags/lib/components/feature-override-indicator.component.mjs +4 -4
  13. package/esm2022/feature-flags/lib/components/flags/flags.component.mjs +4 -4
  14. package/esm2022/feature-flags/lib/directives/features.directive.mjs +4 -4
  15. package/esm2022/feature-flags/lib/directives/not-features.directive.mjs +4 -4
  16. package/esm2022/feature-flags/lib/guards/is-feature-off.guard.mjs +4 -4
  17. package/esm2022/feature-flags/lib/guards/is-feature-on.guard.mjs +4 -4
  18. package/esm2022/feature-flags/lib/guards/is-flags-override-on.guard.mjs +4 -4
  19. package/esm2022/feature-flags/lib/services/debug-features.service.mjs +4 -4
  20. package/esm2022/feature-flags/lib/services/dummy-features.service.mjs +4 -4
  21. package/esm2022/feature-flags/lib/services/qa-features.helper.mjs +4 -4
  22. package/esm2022/feature-flags/lib/services/storage-features.service.mjs +4 -4
  23. package/esm2022/lib/about/about-extension-list/about-extension-list.component.mjs +4 -4
  24. package/esm2022/lib/about/about-license-list/about-license-list.component.mjs +4 -4
  25. package/esm2022/lib/about/about-module-list/module-list.component.mjs +4 -4
  26. package/esm2022/lib/about/about-package/package-list.component.mjs +4 -4
  27. package/esm2022/lib/about/about-panel.directive.mjs +4 -4
  28. package/esm2022/lib/about/about-repository-info/about-repository-info.component.mjs +4 -4
  29. package/esm2022/lib/about/about-server-settings/about-server-settings.component.mjs +4 -4
  30. package/esm2022/lib/about/about-status-list/about-status-list.component.mjs +4 -4
  31. package/esm2022/lib/about/about.component.mjs +4 -4
  32. package/esm2022/lib/about/about.module.mjs +5 -5
  33. package/esm2022/lib/app-config/app-config-storage-prefix.factory.mjs +4 -4
  34. package/esm2022/lib/app-config/app-config.module.mjs +5 -5
  35. package/esm2022/lib/app-config/app-config.pipe.mjs +4 -4
  36. package/esm2022/lib/app-config/app-config.service.mjs +4 -4
  37. package/esm2022/lib/app-config/debug-app-config.service.mjs +4 -4
  38. package/esm2022/lib/auth/authentication-interceptor/auth-bearer.interceptor.mjs +4 -4
  39. package/esm2022/lib/auth/basic-auth/basic-alfresco-auth.service.mjs +4 -4
  40. package/esm2022/lib/auth/basic-auth/content-auth.mjs +4 -4
  41. package/esm2022/lib/auth/basic-auth/process-auth.mjs +4 -4
  42. package/esm2022/lib/auth/guard/auth-guard.service.mjs +4 -4
  43. package/esm2022/lib/auth/oidc/auth-config.service.mjs +4 -4
  44. package/esm2022/lib/auth/oidc/auth-routing.module.mjs +5 -5
  45. package/esm2022/lib/auth/oidc/auth.module.mjs +5 -5
  46. package/esm2022/lib/auth/oidc/oidc-authentication.service.mjs +4 -4
  47. package/esm2022/lib/auth/oidc/redirect-auth.service.mjs +4 -4
  48. package/esm2022/lib/auth/oidc/retry-login.service.mjs +4 -4
  49. package/esm2022/lib/auth/oidc/token.interceptor.mjs +4 -4
  50. package/esm2022/lib/auth/oidc/view/authentication-confirmation/authentication-confirmation.component.mjs +4 -4
  51. package/esm2022/lib/auth/services/authentication.service.mjs +4 -4
  52. package/esm2022/lib/auth/services/identity-group.service.mjs +4 -4
  53. package/esm2022/lib/auth/services/identity-role.service.mjs +4 -4
  54. package/esm2022/lib/auth/services/identity-user.service.mjs +4 -4
  55. package/esm2022/lib/auth/services/jwt-helper.service.mjs +4 -4
  56. package/esm2022/lib/auth/services/oauth2.service.mjs +4 -4
  57. package/esm2022/lib/auth/services/time-sync.service.mjs +4 -4
  58. package/esm2022/lib/auth/services/user-access.service.mjs +4 -4
  59. package/esm2022/lib/avatar/avatar.component.mjs +4 -4
  60. package/esm2022/lib/blank-page/blank-page.component.mjs +4 -4
  61. package/esm2022/lib/blank-page/blank-page.module.mjs +5 -5
  62. package/esm2022/lib/button/button.component.mjs +4 -4
  63. package/esm2022/lib/card-view/card-view.module.mjs +5 -5
  64. package/esm2022/lib/card-view/components/base-card-view.mjs +4 -4
  65. package/esm2022/lib/card-view/components/card-view/card-view.component.mjs +4 -4
  66. package/esm2022/lib/card-view/components/card-view-arrayitem/card-view-arrayitem.component.mjs +4 -4
  67. package/esm2022/lib/card-view/components/card-view-boolitem/card-view-boolitem.component.mjs +4 -4
  68. package/esm2022/lib/card-view/components/card-view-dateitem/card-view-dateitem.component.mjs +4 -4
  69. package/esm2022/lib/card-view/components/card-view-item-dispatcher/card-view-item-dispatcher.component.mjs +4 -4
  70. package/esm2022/lib/card-view/components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.component.mjs +4 -4
  71. package/esm2022/lib/card-view/components/card-view-mapitem/card-view-mapitem.component.mjs +4 -4
  72. package/esm2022/lib/card-view/components/card-view-selectitem/card-view-selectitem.component.mjs +4 -4
  73. package/esm2022/lib/card-view/components/card-view-selectitem/select-filter-input/select-filter-input.component.mjs +4 -4
  74. package/esm2022/lib/card-view/components/card-view-textitem/card-view-textitem.component.mjs +4 -4
  75. package/esm2022/lib/card-view/services/card-item-types.service.mjs +4 -4
  76. package/esm2022/lib/card-view/services/card-view-update.service.mjs +4 -4
  77. package/esm2022/lib/clipboard/clipboard.directive.mjs +7 -7
  78. package/esm2022/lib/clipboard/clipboard.module.mjs +5 -5
  79. package/esm2022/lib/clipboard/clipboard.service.mjs +4 -4
  80. package/esm2022/lib/comments/comment-list/comment-list.component.mjs +4 -4
  81. package/esm2022/lib/comments/comment-list/comment-list.module.mjs +5 -5
  82. package/esm2022/lib/comments/comments.component.mjs +4 -4
  83. package/esm2022/lib/comments/comments.module.mjs +5 -5
  84. package/esm2022/lib/common/mock/app-config.service.mock.mjs +4 -4
  85. package/esm2022/lib/common/services/cookie.service.mjs +4 -4
  86. package/esm2022/lib/common/services/download.service.mjs +4 -4
  87. package/esm2022/lib/common/services/highlight-transform.service.mjs +4 -4
  88. package/esm2022/lib/common/services/log.service.mjs +4 -4
  89. package/esm2022/lib/common/services/page-title.service.mjs +4 -4
  90. package/esm2022/lib/common/services/sort-by-category.service.mjs +4 -4
  91. package/esm2022/lib/common/services/storage.service.mjs +4 -4
  92. package/esm2022/lib/common/services/thumbnail.service.mjs +4 -4
  93. package/esm2022/lib/common/services/url.service.mjs +4 -4
  94. package/esm2022/lib/common/services/user-preferences.service.mjs +4 -4
  95. package/esm2022/lib/common/utils/date-fns-adapter.mjs +4 -4
  96. package/esm2022/lib/common/utils/datetime-fns-adapter.mjs +4 -4
  97. package/esm2022/lib/common/utils/moment-date-adapter.mjs +4 -4
  98. package/esm2022/lib/context-menu/context-menu-list.component.mjs +4 -4
  99. package/esm2022/lib/context-menu/context-menu-overlay.service.mjs +4 -4
  100. package/esm2022/lib/context-menu/context-menu.directive.mjs +4 -4
  101. package/esm2022/lib/context-menu/context-menu.module.mjs +5 -5
  102. package/esm2022/lib/core.module.mjs +5 -5
  103. package/esm2022/lib/datatable/components/amount-cell/amount-cell.component.mjs +4 -4
  104. package/esm2022/lib/datatable/components/boolean-cell/boolean-cell.component.mjs +4 -4
  105. package/esm2022/lib/datatable/components/columns-selector/columns-search-filter.pipe.mjs +4 -4
  106. package/esm2022/lib/datatable/components/columns-selector/columns-selector.component.mjs +4 -4
  107. package/esm2022/lib/datatable/components/datatable/datatable.component.mjs +4 -4
  108. package/esm2022/lib/datatable/components/datatable-cell/datatable-cell.component.mjs +4 -4
  109. package/esm2022/lib/datatable/components/datatable-row/datatable-row.component.mjs +4 -4
  110. package/esm2022/lib/datatable/components/date-cell/date-cell.component.mjs +4 -4
  111. package/esm2022/lib/datatable/components/empty-list/empty-list.component.mjs +13 -13
  112. package/esm2022/lib/datatable/components/filesize-cell/filesize-cell.component.mjs +4 -4
  113. package/esm2022/lib/datatable/components/icon-cell/icon-cell.component.mjs +4 -4
  114. package/esm2022/lib/datatable/components/json-cell/json-cell.component.mjs +4 -4
  115. package/esm2022/lib/datatable/components/location-cell/location-cell.component.mjs +4 -4
  116. package/esm2022/lib/datatable/components/number-cell/number-cell.component.mjs +4 -4
  117. package/esm2022/lib/datatable/data/data-table.schema.mjs +4 -4
  118. package/esm2022/lib/datatable/data-column/data-column-header.component.mjs +4 -4
  119. package/esm2022/lib/datatable/data-column/data-column-list.component.mjs +4 -4
  120. package/esm2022/lib/datatable/data-column/data-column.component.mjs +4 -4
  121. package/esm2022/lib/datatable/datatable.module.mjs +5 -5
  122. package/esm2022/lib/datatable/directives/custom-empty-content-template.directive.mjs +4 -4
  123. package/esm2022/lib/datatable/directives/custom-loading-template.directive.mjs +4 -4
  124. package/esm2022/lib/datatable/directives/custom-no-permission-template.directive.mjs +4 -4
  125. package/esm2022/lib/datatable/directives/drop-zone.directive.mjs +4 -4
  126. package/esm2022/lib/datatable/directives/header-filter-template.directive.mjs +4 -4
  127. package/esm2022/lib/datatable/directives/loading-template.directive.mjs +4 -4
  128. package/esm2022/lib/datatable/directives/main-data-table-action-template.directive.mjs +4 -4
  129. package/esm2022/lib/datatable/directives/no-content-template.directive.mjs +4 -4
  130. package/esm2022/lib/datatable/directives/no-permission-template.directive.mjs +4 -4
  131. package/esm2022/lib/datatable/directives/resizable/resizable.directive.mjs +4 -4
  132. package/esm2022/lib/datatable/directives/resizable/resize-handle.directive.mjs +4 -4
  133. package/esm2022/lib/datatable/services/datatable.service.mjs +4 -4
  134. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.mjs +4 -4
  135. package/esm2022/lib/dialogs/confirm-dialog/confirm.dialog.module.mjs +5 -5
  136. package/esm2022/lib/dialogs/dialog/dialog.component.mjs +4 -4
  137. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.mjs +4 -4
  138. package/esm2022/lib/dialogs/edit-json/edit-json.dialog.module.mjs +5 -5
  139. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +4 -4
  140. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +5 -5
  141. package/esm2022/lib/dialogs/unsaved-changes-dialog/unsaved-changes.guard.mjs +4 -4
  142. package/esm2022/lib/directives/directive.module.mjs +5 -5
  143. package/esm2022/lib/directives/highlight.directive.mjs +4 -4
  144. package/esm2022/lib/directives/infinite-select-scroll.directive.mjs +4 -4
  145. package/esm2022/lib/directives/logout.directive.mjs +4 -4
  146. package/esm2022/lib/directives/tooltip-card/tooltip-card.component.mjs +4 -4
  147. package/esm2022/lib/directives/tooltip-card/tooltip-card.directive.mjs +4 -4
  148. package/esm2022/lib/directives/upload.directive.mjs +4 -4
  149. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.component.mjs +4 -4
  150. package/esm2022/lib/dynamic-chip-list/dynamic-chip-list.module.mjs +5 -5
  151. package/esm2022/lib/form/components/form-base.component.mjs +4 -4
  152. package/esm2022/lib/form/components/form-custom-button.directive.mjs +4 -4
  153. package/esm2022/lib/form/components/form-field/form-field.component.mjs +4 -4
  154. package/esm2022/lib/form/components/form-renderer.component.mjs +5 -5
  155. package/esm2022/lib/form/components/form-section/form-section.component.mjs +4 -4
  156. package/esm2022/lib/form/components/inplace-form-input/inplace-form-input.component.mjs +4 -4
  157. package/esm2022/lib/form/components/middlewares/decimal-middleware.service.mjs +4 -4
  158. package/esm2022/lib/form/components/widgets/amount/amount.widget.mjs +4 -4
  159. package/esm2022/lib/form/components/widgets/base-viewer/base-viewer.widget.mjs +4 -4
  160. package/esm2022/lib/form/components/widgets/checkbox/checkbox.widget.mjs +4 -4
  161. package/esm2022/lib/form/components/widgets/date/date.widget.mjs +4 -4
  162. package/esm2022/lib/form/components/widgets/date-time/date-time.widget.mjs +4 -4
  163. package/esm2022/lib/form/components/widgets/decimal/decimal.component.mjs +4 -4
  164. package/esm2022/lib/form/components/widgets/display-text/display-text.widget.mjs +4 -4
  165. package/esm2022/lib/form/components/widgets/error/error.component.mjs +4 -4
  166. package/esm2022/lib/form/components/widgets/header/header.widget.mjs +4 -4
  167. package/esm2022/lib/form/components/widgets/hyperlink/hyperlink.widget.mjs +4 -4
  168. package/esm2022/lib/form/components/widgets/json/json.widget.mjs +4 -4
  169. package/esm2022/lib/form/components/widgets/multiline-text/multiline-text.widget.mjs +4 -4
  170. package/esm2022/lib/form/components/widgets/number/number.widget.mjs +4 -4
  171. package/esm2022/lib/form/components/widgets/text/text-mask.component.mjs +4 -4
  172. package/esm2022/lib/form/components/widgets/text/text.widget.mjs +4 -4
  173. package/esm2022/lib/form/components/widgets/unknown/unknown.widget.mjs +4 -4
  174. package/esm2022/lib/form/components/widgets/widget.component.mjs +4 -4
  175. package/esm2022/lib/form/form-base.module.mjs +5 -5
  176. package/esm2022/lib/form/pipes/field-style.pipe.mjs +4 -4
  177. package/esm2022/lib/form/services/form-rendering.service.mjs +4 -4
  178. package/esm2022/lib/form/services/form.service.mjs +4 -4
  179. package/esm2022/lib/form/services/widget-visibility.service.mjs +4 -4
  180. package/esm2022/lib/header/header.component.mjs +4 -4
  181. package/esm2022/lib/header/navbar/navbar-item.component.mjs +4 -4
  182. package/esm2022/lib/header/navbar/navbar.component.mjs +4 -4
  183. package/esm2022/lib/icon/icon.component.mjs +4 -4
  184. package/esm2022/lib/icon/icon.module.mjs +5 -5
  185. package/esm2022/lib/identity-user-info/identity-user-info.component.mjs +4 -4
  186. package/esm2022/lib/identity-user-info/identity-user-info.module.mjs +5 -5
  187. package/esm2022/lib/info-drawer/info-drawer-layout.component.mjs +13 -13
  188. package/esm2022/lib/info-drawer/info-drawer.component.mjs +7 -7
  189. package/esm2022/lib/info-drawer/info-drawer.module.mjs +5 -5
  190. package/esm2022/lib/language-menu/language-menu.component.mjs +4 -4
  191. package/esm2022/lib/language-menu/language-menu.module.mjs +5 -5
  192. package/esm2022/lib/language-menu/language-picker.component.mjs +4 -4
  193. package/esm2022/lib/language-menu/service/language.service.mjs +4 -4
  194. package/esm2022/lib/layout/components/header/header.component.mjs +4 -4
  195. package/esm2022/lib/layout/components/layout-container/layout-container.component.mjs +4 -4
  196. package/esm2022/lib/layout/components/sidebar-action/sidebar-action-menu.component.mjs +13 -13
  197. package/esm2022/lib/layout/components/sidenav-layout/sidenav-layout.component.mjs +4 -4
  198. package/esm2022/lib/layout/directives/sidenav-layout-content.directive.mjs +4 -4
  199. package/esm2022/lib/layout/directives/sidenav-layout-header.directive.mjs +4 -4
  200. package/esm2022/lib/layout/directives/sidenav-layout-navigation.directive.mjs +4 -4
  201. package/esm2022/lib/layout/layout.module.mjs +5 -5
  202. package/esm2022/lib/login/components/login/login.component.mjs +4 -4
  203. package/esm2022/lib/login/components/login-dialog/login-dialog.component.mjs +4 -4
  204. package/esm2022/lib/login/components/login-dialog-panel/login-dialog-panel.component.mjs +4 -4
  205. package/esm2022/lib/login/directives/login-footer.directive.mjs +4 -4
  206. package/esm2022/lib/login/directives/login-header.directive.mjs +4 -4
  207. package/esm2022/lib/login/login.module.mjs +5 -5
  208. package/esm2022/lib/material.module.mjs +5 -5
  209. package/esm2022/lib/mock/cookie.service.mock.mjs +4 -4
  210. package/esm2022/lib/mock/translation.service.mock.mjs +4 -4
  211. package/esm2022/lib/notifications/components/add-notification.stories.component.mjs +4 -4
  212. package/esm2022/lib/notifications/components/notification-history.component.mjs +4 -4
  213. package/esm2022/lib/notifications/notification-history.module.mjs +5 -5
  214. package/esm2022/lib/notifications/services/notification.service.mjs +4 -4
  215. package/esm2022/lib/pagination/infinite-pagination.component.mjs +4 -4
  216. package/esm2022/lib/pagination/pagination.component.mjs +4 -4
  217. package/esm2022/lib/pagination/pagination.module.mjs +5 -5
  218. package/esm2022/lib/pipes/date-time.pipe.mjs +4 -4
  219. package/esm2022/lib/pipes/decimal-number.pipe.mjs +4 -4
  220. package/esm2022/lib/pipes/file-size.pipe.mjs +4 -4
  221. package/esm2022/lib/pipes/file-type.pipe.mjs +4 -4
  222. package/esm2022/lib/pipes/format-space.pipe.mjs +4 -4
  223. package/esm2022/lib/pipes/full-name.pipe.mjs +4 -4
  224. package/esm2022/lib/pipes/localized-date.pipe.mjs +4 -4
  225. package/esm2022/lib/pipes/multi-value.pipe.mjs +4 -4
  226. package/esm2022/lib/pipes/pipe.module.mjs +5 -5
  227. package/esm2022/lib/pipes/text-highlight.pipe.mjs +4 -4
  228. package/esm2022/lib/pipes/time-ago.pipe.mjs +4 -4
  229. package/esm2022/lib/pipes/truncate.pipe.mjs +4 -4
  230. package/esm2022/lib/pipes/user-initial.pipe.mjs +4 -4
  231. package/esm2022/lib/progress/progress.component.mjs +4 -4
  232. package/esm2022/lib/search-text/search-text-input.component.mjs +4 -4
  233. package/esm2022/lib/search-text/search-text-input.module.mjs +5 -5
  234. package/esm2022/lib/search-text/search-trigger.directive.mjs +4 -4
  235. package/esm2022/lib/snackbar-content/snackbar-content.component.mjs +4 -4
  236. package/esm2022/lib/snackbar-content/snackbar-content.module.mjs +5 -5
  237. package/esm2022/lib/sorting-picker/sorting-picker.component.mjs +4 -4
  238. package/esm2022/lib/templates/empty-content/empty-content.component.mjs +4 -4
  239. package/esm2022/lib/templates/error-content/error-content.component.mjs +4 -4
  240. package/esm2022/lib/templates/template.module.mjs +5 -5
  241. package/esm2022/lib/testing/core.story.module.mjs +5 -5
  242. package/esm2022/lib/testing/core.testing.module.mjs +5 -5
  243. package/esm2022/lib/testing/noop-auth.module.mjs +8 -8
  244. package/esm2022/lib/testing/noop-translate.module.mjs +8 -8
  245. package/esm2022/lib/toolbar/toolbar-divider.component.mjs +4 -4
  246. package/esm2022/lib/toolbar/toolbar-title.component.mjs +4 -4
  247. package/esm2022/lib/toolbar/toolbar.component.mjs +4 -4
  248. package/esm2022/lib/toolbar/toolbar.module.mjs +5 -5
  249. package/esm2022/lib/translation/translate-loader.service.mjs +4 -4
  250. package/esm2022/lib/translation/translation.service.mjs +4 -4
  251. package/esm2022/lib/viewer/components/download-prompt-dialog/download-prompt-dialog.component.mjs +4 -4
  252. package/esm2022/lib/viewer/components/img-viewer/img-viewer.component.mjs +4 -4
  253. package/esm2022/lib/viewer/components/media-player/media-player.component.mjs +4 -4
  254. package/esm2022/lib/viewer/components/pdf-viewer/pdf-viewer.component.mjs +4 -4
  255. package/esm2022/lib/viewer/components/pdf-viewer-password-dialog/pdf-viewer-password-dialog.mjs +4 -4
  256. package/esm2022/lib/viewer/components/pdf-viewer-thumb/pdf-viewer-thumb.component.mjs +4 -4
  257. package/esm2022/lib/viewer/components/pdf-viewer-thumbnails/pdf-viewer-thumbnails.component.mjs +4 -4
  258. package/esm2022/lib/viewer/components/txt-viewer/txt-viewer.component.mjs +4 -4
  259. package/esm2022/lib/viewer/components/unknown-format/unknown-format.component.mjs +4 -4
  260. package/esm2022/lib/viewer/components/viewer-more-actions.component.mjs +4 -4
  261. package/esm2022/lib/viewer/components/viewer-open-with.component.mjs +4 -4
  262. package/esm2022/lib/viewer/components/viewer-render/viewer-render.component.mjs +4 -4
  263. package/esm2022/lib/viewer/components/viewer-sidebar.component.mjs +4 -4
  264. package/esm2022/lib/viewer/components/viewer-toolbar-actions.component.mjs +4 -4
  265. package/esm2022/lib/viewer/components/viewer-toolbar-custom-actions.component.mjs +4 -4
  266. package/esm2022/lib/viewer/components/viewer-toolbar.component.mjs +4 -4
  267. package/esm2022/lib/viewer/components/viewer.component.mjs +4 -4
  268. package/esm2022/lib/viewer/directives/viewer-extension.directive.mjs +4 -4
  269. package/esm2022/lib/viewer/services/rendering-queue.services.mjs +4 -4
  270. package/esm2022/lib/viewer/services/view-util.service.mjs +4 -4
  271. package/esm2022/lib/viewer/viewer.module.mjs +5 -5
  272. package/esm2022/shell/lib/components/shell/shell.component.mjs +4 -4
  273. package/esm2022/shell/lib/shell.module.mjs +5 -5
  274. package/feature-flags/lib/providers/debug-feature-flags.provider.d.ts +2 -2
  275. package/fesm2022/adf-core.mjs +826 -826
  276. package/fesm2022/adf-core.mjs.map +1 -1
  277. package/fesm2022/alfresco-adf-core-api.mjs +4 -4
  278. package/fesm2022/alfresco-adf-core-api.mjs.map +1 -1
  279. package/fesm2022/alfresco-adf-core-auth.mjs +3 -3
  280. package/fesm2022/alfresco-adf-core-auth.mjs.map +1 -1
  281. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs +10 -10
  282. package/fesm2022/alfresco-adf-core-breadcrumbs.mjs.map +1 -1
  283. package/fesm2022/alfresco-adf-core-feature-flags.mjs +37 -37
  284. package/fesm2022/alfresco-adf-core-feature-flags.mjs.map +1 -1
  285. package/fesm2022/alfresco-adf-core-shell.mjs +8 -8
  286. package/fesm2022/alfresco-adf-core-shell.mjs.map +1 -1
  287. package/lib/styles/_index.scss +57 -57
  288. package/lib/styles/_typography.scss +13 -13
  289. package/package.json +3 -3
  290. package/schematics/migrations/schematics/migrations/7_0_0/index.d.ts +1 -1
  291. package/schematics/migrations/schematics/migrations/7_0_0/index.js +2 -2
  292. package/schematics/migrations/schematics/migrations/7_0_0/index.js.map +1 -1
@@ -84,10 +84,10 @@ export class ColumnsSelectorComponent {
84
84
  }
85
85
  return columns;
86
86
  }
87
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ColumnsSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
88
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: ColumnsSelectorComponent, isStandalone: true, selector: "adf-datatable-column-selector", inputs: { columns: "columns", mainMenuTrigger: "mainMenuTrigger", columnsSorting: "columnsSorting", maxColumnsVisible: "maxColumnsVisible" }, outputs: { submitColumnsVisibility: "submitColumnsVisibility" }, ngImport: i0, template: "<div\n class=\"adf-columns-selector\"\n role=\"presentation\"\n data-automation-id=\"adf-columns-selector\"\n (keyup.enter)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation();\"\n>\n <div class=\"adf-columns-selector-header\">\n <span class=\"adf-columns-selector-header-label\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.COLUMNS\" | translate}}\n </span>\n\n <button\n data-automation-id=\"adf-columns-selector-close-button\"\n mat-icon-button\n role=\"menuitem\"\n [attr.aria-label]=\"'CLOSE' | translate\"\n (click)=\"closeMenu()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-search-input-container\">\n <mat-icon\n class=\"adf-columns-selector-search-input-icon\">\n search\n </mat-icon>\n\n <input\n [formControl]=\"searchInputControl\"\n class=\"adf-columns-selector-search-input\"\n data-automation-id=\"adf-columns-selector-search-input\"\n type=\"text\"\n role=\"menuitem\"\n [placeholder]='\"ADF-DATATABLE.COLUMNS_SELECTOR.SEARCH\" | translate'>\n </div>\n\n <div class=\"adf-columns-selector-list-container\">\n <div *ngFor=\"let column of (columnItems | columnsSearchFilter: searchQuery)\" class=\"adf-columns-selector-list-item\">\n <mat-checkbox\n color=\"primary\"\n class=\"adf-columns-selector-column-checkbox\"\n [attr.data-automation-id]=\"'adf-columns-selector-column-checkbox-' + column.title\"\n [checked]=\"!column.isHidden\"\n role=\"menuitem\"\n [disabled]=\"isCheckboxDisabled(column)\"\n (keydown.enter)=\"changeColumnVisibility(column)\"\n (change)=\"changeColumnVisibility(column)\">\n <div class=\"adf-columns-selector-list-content\">\n {{column.title | translate}}\n </div>\n <div\n *ngIf=\"column.subtitle\"\n class=\"\n adf-columns-selector-list-content\n adf-columns-selector-subtitle\n \"\n >\n <span>\n {{column.subtitle | translate}}\n </span>\n </div>\n </mat-checkbox>\n </div>\n </div>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-footer\">\n <button\n mat-flat-button\n role=\"menuitem\"\n data-automation-id=\"adf-columns-selector-apply-button\"\n color=\"primary\"\n (click)=\"apply()\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.APPLY\" | translate}}\n </button>\n </div>\n</div>\n", styles: [".adf-columns-selector{padding:12px 0;min-width:277px}.adf-columns-selector-header{padding:0 12px;display:flex;justify-content:space-between;align-items:center}.adf-columns-selector-header-label{font-size:var(--theme-body-1-font-size)}.adf-columns-selector-list-container{max-height:350px;overflow:hidden auto}.adf-columns-selector-list-item{margin-top:10px}.adf-columns-selector-list-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-columns-selector-list-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:210px}.adf-columns-selector-subtitle{color:var(--adf-theme-foreground-text-color);font-size:var(--theme-caption-font-size);opacity:.6;display:flex;column-gap:3px;align-items:center}.adf-columns-selector-subtitle-icon{margin-top:3px;height:var(--theme-caption-font-size);width:var(--theme-caption-font-size);font-size:var(--theme-caption-font-size)}.adf-columns-selector-column-checkbox{padding:0 20px}.adf-columns-selector-footer{padding:0 12px;display:flex;justify-content:flex-end}.adf-columns-selector-divider{margin:16px 0}.adf-columns-selector-search-input-container{padding:0 12px;position:relative;display:flex;align-items:center;margin-bottom:15px}.adf-columns-selector-search-input{padding:10px 10px 10px 29px;width:100%;outline:0;border-radius:6px;border:1px solid var(--theme-background-color);background:var(--theme-background-color)}.adf-columns-selector-search-input:focus{outline:none}.adf-columns-selector-search-input-icon{position:absolute;left:17px;top:10px;font-size:var(--theme-adf-icon-1-font-size)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i7.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: ColumnsSearchFilterPipe, name: "columnsSearchFilter" }], encapsulation: i0.ViewEncapsulation.None }); }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnsSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
88
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ColumnsSelectorComponent, isStandalone: true, selector: "adf-datatable-column-selector", inputs: { columns: "columns", mainMenuTrigger: "mainMenuTrigger", columnsSorting: "columnsSorting", maxColumnsVisible: "maxColumnsVisible" }, outputs: { submitColumnsVisibility: "submitColumnsVisibility" }, ngImport: i0, template: "<div\n class=\"adf-columns-selector\"\n role=\"presentation\"\n data-automation-id=\"adf-columns-selector\"\n (keyup.enter)=\"$event.stopPropagation()\"\n (click)=\"$event.stopPropagation();\"\n>\n <div class=\"adf-columns-selector-header\">\n <span class=\"adf-columns-selector-header-label\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.COLUMNS\" | translate}}\n </span>\n\n <button\n data-automation-id=\"adf-columns-selector-close-button\"\n mat-icon-button\n role=\"menuitem\"\n [attr.aria-label]=\"'CLOSE' | translate\"\n (click)=\"closeMenu()\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-search-input-container\">\n <mat-icon\n class=\"adf-columns-selector-search-input-icon\">\n search\n </mat-icon>\n\n <input\n [formControl]=\"searchInputControl\"\n class=\"adf-columns-selector-search-input\"\n data-automation-id=\"adf-columns-selector-search-input\"\n type=\"text\"\n role=\"menuitem\"\n [placeholder]='\"ADF-DATATABLE.COLUMNS_SELECTOR.SEARCH\" | translate'>\n </div>\n\n <div class=\"adf-columns-selector-list-container\">\n <div *ngFor=\"let column of (columnItems | columnsSearchFilter: searchQuery)\" class=\"adf-columns-selector-list-item\">\n <mat-checkbox\n color=\"primary\"\n class=\"adf-columns-selector-column-checkbox\"\n [attr.data-automation-id]=\"'adf-columns-selector-column-checkbox-' + column.title\"\n [checked]=\"!column.isHidden\"\n role=\"menuitem\"\n [disabled]=\"isCheckboxDisabled(column)\"\n (keydown.enter)=\"changeColumnVisibility(column)\"\n (change)=\"changeColumnVisibility(column)\">\n <div class=\"adf-columns-selector-list-content\">\n {{column.title | translate}}\n </div>\n <div\n *ngIf=\"column.subtitle\"\n class=\"\n adf-columns-selector-list-content\n adf-columns-selector-subtitle\n \"\n >\n <span>\n {{column.subtitle | translate}}\n </span>\n </div>\n </mat-checkbox>\n </div>\n </div>\n\n <mat-divider class=\"adf-columns-selector-divider\" />\n\n <div class=\"adf-columns-selector-footer\">\n <button\n mat-flat-button\n role=\"menuitem\"\n data-automation-id=\"adf-columns-selector-apply-button\"\n color=\"primary\"\n (click)=\"apply()\">\n {{\"ADF-DATATABLE.COLUMNS_SELECTOR.APPLY\" | translate}}\n </button>\n </div>\n</div>\n", styles: [".adf-columns-selector{padding:12px 0;min-width:277px}.adf-columns-selector-header{padding:0 12px;display:flex;justify-content:space-between;align-items:center}.adf-columns-selector-header-label{font-size:var(--theme-body-1-font-size)}.adf-columns-selector-list-container{max-height:350px;overflow:hidden auto}.adf-columns-selector-list-item{margin-top:10px}.adf-columns-selector-list-item:hover{background-color:var(--adf-theme-background-hover-color)}.adf-columns-selector-list-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:210px}.adf-columns-selector-subtitle{color:var(--adf-theme-foreground-text-color);font-size:var(--theme-caption-font-size);opacity:.6;display:flex;column-gap:3px;align-items:center}.adf-columns-selector-subtitle-icon{margin-top:3px;height:var(--theme-caption-font-size);width:var(--theme-caption-font-size);font-size:var(--theme-caption-font-size)}.adf-columns-selector-column-checkbox{padding:0 20px}.adf-columns-selector-footer{padding:0 12px;display:flex;justify-content:flex-end}.adf-columns-selector-divider{margin:16px 0}.adf-columns-selector-search-input-container{padding:0 12px;position:relative;display:flex;align-items:center;margin-bottom:15px}.adf-columns-selector-search-input{padding:10px 10px 10px 29px;width:100%;outline:0;border-radius:6px;border:1px solid var(--theme-background-color);background:var(--theme-background-color)}.adf-columns-selector-search-input:focus{outline:none}.adf-columns-selector-search-input-icon{position:absolute;left:17px;top:10px;font-size:var(--theme-adf-icon-1-font-size)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i6.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: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i7.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"] }, { kind: "pipe", type: ColumnsSearchFilterPipe, name: "columnsSearchFilter" }], encapsulation: i0.ViewEncapsulation.None }); }
89
89
  }
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: ColumnsSelectorComponent, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnsSelectorComponent, decorators: [{
91
91
  type: Component,
92
92
  args: [{ selector: 'adf-datatable-column-selector', standalone: true, imports: [
93
93
  CommonModule,
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
111
111
  }], submitColumnsVisibility: [{
112
112
  type: Output
113
113
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2RhdGF0YWJsZS9jb21wb25lbnRzL2NvbHVtbnMtc2VsZWN0b3IvY29sdW1ucy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2RhdGF0YWJsZS9jb21wb25lbnRzL2NvbHVtbnMtc2VsZWN0b3IvY29sdW1ucy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENB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LENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFbEUsT0FBTyxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7OEdBeEVRLHdCQUF3QjtrR0FBeEIsd0JBQXdCLHdTQ2hEckMsMitGQWtGQSw2bUREL0NRLFlBQVksK1BBQ1osZUFBZSwyRkFDZixlQUFlLHdVQUNmLGFBQWEsbUxBQ2IsZ0JBQWdCLGtJQUNoQixtQkFBbUIseWtCQUNuQixpQkFBaUIseVdBQ2pCLHVCQUF1Qjs7MkZBTWxCLHdCQUF3QjtrQkFqQnBDLFNBQVM7K0JBQ0ksK0JBQStCLGNBQzdCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLHVCQUF1QjtxQkFDMUIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTs4QkFJckMsT0FBTztzQkFETixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSXpCLGNBQWM7c0JBRGIsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGF0YUNvbHVtbiB9IGZyb20gJy4uLy4uL2RhdGEvZGF0YS1jb2x1bW4ubW9kZWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQ29sdW1uc1NlYXJjaEZpbHRlclBpcGUgfSBmcm9tICcuL2NvbHVtbnMtc2VhcmNoLWZpbHRlci5waXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtZGF0YXRhYmxlLWNvbHVtbi1zZWxlY3RvcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgICAgICBDb2x1bW5zU2VhcmNoRmlsdGVyUGlwZVxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbnMtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbHVtbnMtc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbnNTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBjb2x1bW5zOiBEYXRhQ29sdW1uW10gPSBbXTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgbWFpbk1lbnVUcmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgY29sdW1uc1NvcnRpbmcgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBtYXhDb2x1bW5zVmlzaWJsZT86IG51bWJlcjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHN1Ym1pdENvbHVtbnNWaXNpYmlsaXR5ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhQ29sdW1uW10+KCk7XG5cbiAgICBjb2x1bW5JdGVtczogRGF0YUNvbHVtbltdID0gW107XG4gICAgc2VhcmNoSW5wdXRDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XG4gICAgc2VhcmNoUXVlcnkgPSAnJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1haW5NZW51VHJpZ2dlci5tZW51T3BlbmVkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbHVtbkl0ZW1zKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubWFpbk1lbnVUcmlnZ2VyLm1lbnVDbG9zZWQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXRDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDMwMCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKHNlYXJjaFF1ZXJ5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFF1ZXJ5ID0gc2VhcmNoUXVlcnk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNsb3NlTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYWluTWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlQ29sdW1uVmlzaWJpbGl0eShkYXRhQ29sdW1uOiBEYXRhQ29sdW1uKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ29sdW1uID0gdGhpcy5jb2x1bW5JdGVtcy5maW5kKChjb2x1bW4pID0+IGNvbHVtbi5pZCA9PT0gZGF0YUNvbHVtbi5pZCk7XG4gICAgICAgIHNlbGVjdGVkQ29sdW1uLmlzSGlkZGVuID0gIXNlbGVjdGVkQ29sdW1uLmlzSGlkZGVuO1xuICAgIH1cblxuICAgIGFwcGx5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1Ym1pdENvbHVtbnNWaXNpYmlsaXR5LmVtaXQodGhpcy5jb2x1bW5JdGVtcyk7XG4gICAgICAgIHRoaXMuY2xvc2VNZW51KCk7XG4gICAgfVxuXG4gICAgaXNDaGVja2JveERpc2FibGVkKGNvbHVtbjogRGF0YUNvbHVtbik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5tYXhDb2x1bW5zVmlzaWJsZSAmJlxuICAgICAgICAgICAgY29sdW1uLmlzSGlkZGVuICYmXG4gICAgICAgICAgICB0aGlzLm1heENvbHVtbnNWaXNpYmxlID49IHRoaXMuY29sdW1uSXRlbXMuZmlsdGVyKChkYXRhQ29sdW1uKSA9PiAhZGF0YUNvbHVtbi5pc0hpZGRlbikubGVuZ3RoXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDb2x1bW5JdGVtcygpOiB2b2lkIHtcbiAgICAgICAgbGV0IGNvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKChjb2x1bW4pID0+ICh7IC4uLmNvbHVtbiB9KSk7XG4gICAgICAgIGNvbHVtbnMgPSB0aGlzLnNvcnRDb2x1bW5zKGNvbHVtbnMpO1xuICAgICAgICB0aGlzLmNvbHVtbkl0ZW1zID0gY29sdW1ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNvcnRDb2x1bW5zKGNvbHVtbnM6IERhdGFDb2x1bW5bXSk6IERhdGFDb2x1bW5bXSB7XG4gICAgICAgIGlmICh0aGlzLmNvbHVtbnNTb3J0aW5nKSB7XG4gICAgICAgICAgICBjb25zdCBzaG93bkNvbHVtbnMgPSBjb2x1bW5zLmZpbHRlcigoY29sdW1uKSA9PiAhY29sdW1uLmlzSGlkZGVuKTtcbiAgICAgICAgICAgIGNvbnN0IGhpZGRlbkNvbHVtbnMgPSBjb2x1bW5zLmZpbHRlcigoY29sdW1uKSA9PiBjb2x1bW4uaXNIaWRkZW4pO1xuXG4gICAgICAgICAgICByZXR1cm4gWy4uLnNob3duQ29sdW1ucywgLi4uaGlkZGVuQ29sdW1uc107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3JcIlxuICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1jb2x1bW5zLXNlbGVjdG9yXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXG4+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLWhlYWRlclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLWhlYWRlci1sYWJlbFwiPlxuICAgICAgICAgICAge3tcIkFERi1EQVRBVEFCTEUuQ09MVU1OU19TRUxFQ1RPUi5DT0xVTU5TXCIgfCB0cmFuc2xhdGV9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3ItY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NMT1NFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VNZW51KClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLWRpdmlkZXJcIiAvPlxuXG4gICAgPGRpdiBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLXNlYXJjaC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLXNlYXJjaC1pbnB1dC1pY29uXCI+XG4gICAgICAgICAgICBzZWFyY2hcbiAgICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hJbnB1dENvbnRyb2xcIlxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtY29sdW1ucy1zZWxlY3Rvci1zZWFyY2gtaW5wdXRcIlxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3Itc2VhcmNoLWlucHV0XCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPSdcIkFERi1EQVRBVEFCTEUuQ09MVU1OU19TRUxFQ1RPUi5TRUFSQ0hcIiB8IHRyYW5zbGF0ZSc+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3ItbGlzdC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIChjb2x1bW5JdGVtcyB8IGNvbHVtbnNTZWFyY2hGaWx0ZXI6IHNlYXJjaFF1ZXJ5KVwiIGNsYXNzPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3ItbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLWNvbHVtbi1jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtY29sdW1ucy1zZWxlY3Rvci1jb2x1bW4tY2hlY2tib3gtJyArIGNvbHVtbi50aXRsZVwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiIWNvbHVtbi5pc0hpZGRlblwiXG4gICAgICAgICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNDaGVja2JveERpc2FibGVkKGNvbHVtbilcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImNoYW5nZUNvbHVtblZpc2liaWxpdHkoY29sdW1uKVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VDb2x1bW5WaXNpYmlsaXR5KGNvbHVtbilcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3ItbGlzdC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7Y29sdW1uLnRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLnN1YnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZi1jb2x1bW5zLXNlbGVjdG9yLWxpc3QtY29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgYWRmLWNvbHVtbnMtc2VsZWN0b3Itc3VidGl0bGVcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tjb2x1bW4uc3VidGl0bGUgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhZGYtY29sdW1ucy1zZWxlY3Rvci1kaXZpZGVyXCIgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJhZGYtY29sdW1ucy1zZWxlY3Rvci1mb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICAgICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3ItYXBwbHktYnV0dG9uXCJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiYXBwbHkoKVwiPlxuICAgICAgICAgICAge3tcIkFERi1EQVRBVEFCTEUuQ09MVU1OU19TRUxFQ1RPUi5BUFBMWVwiIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1zZWxlY3Rvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2RhdGF0YWJsZS9jb21wb25lbnRzL2NvbHVtbnMtc2VsZWN0b3IvY29sdW1ucy1zZWxlY3Rvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29yZS9zcmMvbGliL2RhdGF0YWJsZS9jb21wb25lbnRzL2NvbHVtbnMtc2VsZWN0b3IvY29sdW1ucy1zZWxlY3Rvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENB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LENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNsRSxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFbEUsT0FBTyxDQUFDLEdBQUcsWUFBWSxFQUFFLEdBQUcsYUFBYSxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUM7K0dBeEVRLHdCQUF3QjttR0FBeEIsd0JBQXdCLHdTQ2hEckMsMitGQWtGQSw2bUREL0NRLFlBQVksK1BBQ1osZUFBZSwyRkFDZixlQUFlLHdVQUNmLGFBQWEsbUxBQ2IsZ0JBQWdCLGtJQUNoQixtQkFBbUIseWtCQUNuQixpQkFBaUIsZ1lBQ2pCLHVCQUF1Qjs7NEZBTWxCLHdCQUF3QjtrQkFqQnBDLFNBQVM7K0JBQ0ksK0JBQStCLGNBQzdCLElBQUksV0FDUDt3QkFDTCxZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLHVCQUF1QjtxQkFDMUIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSTs4QkFJckMsT0FBTztzQkFETixLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBSXpCLGNBQWM7c0JBRGIsS0FBSztnQkFJTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBSU4sdUJBQXVCO3NCQUR0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIERlc3Ryb3lSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRNZW51VHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRGF0YUNvbHVtbiB9IGZyb20gJy4uLy4uL2RhdGEvZGF0YS1jb2x1bW4ubW9kZWwnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdERpdmlkZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaXZpZGVyJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgQ29sdW1uc1NlYXJjaEZpbHRlclBpcGUgfSBmcm9tICcuL2NvbHVtbnMtc2VhcmNoLWZpbHRlci5waXBlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtZGF0YXRhYmxlLWNvbHVtbi1zZWxlY3RvcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdERpdmlkZXJNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgICAgICBDb2x1bW5zU2VhcmNoRmlsdGVyUGlwZVxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbHVtbnMtc2VsZWN0b3IuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbHVtbnMtc2VsZWN0b3IuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbnNTZWxlY3RvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBjb2x1bW5zOiBEYXRhQ29sdW1uW10gPSBbXTtcblxuICAgIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgbWFpbk1lbnVUcmlnZ2VyOiBNYXRNZW51VHJpZ2dlcjtcblxuICAgIEBJbnB1dCgpXG4gICAgY29sdW1uc1NvcnRpbmcgPSB0cnVlO1xuXG4gICAgQElucHV0KClcbiAgICBtYXhDb2x1bW5zVmlzaWJsZT86IG51bWJlcjtcblxuICAgIEBPdXRwdXQoKVxuICAgIHN1Ym1pdENvbHVtbnNWaXNpYmlsaXR5ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhQ29sdW1uW10+KCk7XG5cbiAgICBjb2x1bW5JdGVtczogRGF0YUNvbHVtbltdID0gW107XG4gICAgc2VhcmNoSW5wdXRDb250cm9sID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XG4gICAgc2VhcmNoUXVlcnkgPSAnJztcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm1haW5NZW51VHJpZ2dlci5tZW51T3BlbmVkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbHVtbkl0ZW1zKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMubWFpbk1lbnVUcmlnZ2VyLm1lbnVDbG9zZWQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VhcmNoSW5wdXRDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hJbnB1dENvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDMwMCksIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKS5zdWJzY3JpYmUoKHNlYXJjaFF1ZXJ5KSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFF1ZXJ5ID0gc2VhcmNoUXVlcnk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNsb3NlTWVudSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYWluTWVudVRyaWdnZXIuY2xvc2VNZW51KCk7XG4gICAgfVxuXG4gICAgY2hhbmdlQ29sdW1uVmlzaWJpbGl0eShkYXRhQ29sdW1uOiBEYXRhQ29sdW1uKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ29sdW1uID0gdGhpcy5jb2x1bW5JdGVtcy5maW5kKChjb2x1bW4pID0+IGNvbHVtbi5pZCA9PT0gZGF0YUNvbHVtbi5pZCk7XG4gICAgICAgIHNlbGVjdGVkQ29sdW1uLmlzSGlkZGVuID0gIXNlbGVjdGVkQ29sdW1uLmlzSGlkZGVuO1xuICAgIH1cblxuICAgIGFwcGx5KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN1Ym1pdENvbHVtbnNWaXNpYmlsaXR5LmVtaXQodGhpcy5jb2x1bW5JdGVtcyk7XG4gICAgICAgIHRoaXMuY2xvc2VNZW51KCk7XG4gICAgfVxuXG4gICAgaXNDaGVja2JveERpc2FibGVkKGNvbHVtbjogRGF0YUNvbHVtbik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5tYXhDb2x1bW5zVmlzaWJsZSAmJlxuICAgICAgICAgICAgY29sdW1uLmlzSGlkZGVuICYmXG4gICAgICAgICAgICB0aGlzLm1heENvbHVtbnNWaXNpYmxlID49IHRoaXMuY29sdW1uSXRlbXMuZmlsdGVyKChkYXRhQ29sdW1uKSA9PiAhZGF0YUNvbHVtbi5pc0hpZGRlbikubGVuZ3RoXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDb2x1bW5JdGVtcygpOiB2b2lkIHtcbiAgICAgICAgbGV0IGNvbHVtbnMgPSB0aGlzLmNvbHVtbnMubWFwKChjb2x1bW4pID0+ICh7IC4uLmNvbHVtbiB9KSk7XG4gICAgICAgIGNvbHVtbnMgPSB0aGlzLnNvcnRDb2x1bW5zKGNvbHVtbnMpO1xuICAgICAgICB0aGlzLmNvbHVtbkl0ZW1zID0gY29sdW1ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHNvcnRDb2x1bW5zKGNvbHVtbnM6IERhdGFDb2x1bW5bXSk6IERhdGFDb2x1bW5bXSB7XG4gICAgICAgIGlmICh0aGlzLmNvbHVtbnNTb3J0aW5nKSB7XG4gICAgICAgICAgICBjb25zdCBzaG93bkNvbHVtbnMgPSBjb2x1bW5zLmZpbHRlcigoY29sdW1uKSA9PiAhY29sdW1uLmlzSGlkZGVuKTtcbiAgICAgICAgICAgIGNvbnN0IGhpZGRlbkNvbHVtbnMgPSBjb2x1bW5zLmZpbHRlcigoY29sdW1uKSA9PiBjb2x1bW4uaXNIaWRkZW4pO1xuXG4gICAgICAgICAgICByZXR1cm4gWy4uLnNob3duQ29sdW1ucywgLi4uaGlkZGVuQ29sdW1uc107XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbHVtbnM7XG4gICAgfVxufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3JcIlxuICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxuICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1jb2x1bW5zLXNlbGVjdG9yXCJcbiAgICAoa2V5dXAuZW50ZXIpPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXG4+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLWhlYWRlclwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLWhlYWRlci1sYWJlbFwiPlxuICAgICAgICAgICAge3tcIkFERi1EQVRBVEFCTEUuQ09MVU1OU19TRUxFQ1RPUi5DT0xVTU5TXCIgfCB0cmFuc2xhdGV9fVxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3ItY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NMT1NFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VNZW51KClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bWF0LWljb24+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtZGl2aWRlciBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLWRpdmlkZXJcIiAvPlxuXG4gICAgPGRpdiBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLXNlYXJjaC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLXNlYXJjaC1pbnB1dC1pY29uXCI+XG4gICAgICAgICAgICBzZWFyY2hcbiAgICAgICAgPC9tYXQtaWNvbj5cblxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJzZWFyY2hJbnB1dENvbnRyb2xcIlxuICAgICAgICAgICAgY2xhc3M9XCJhZGYtY29sdW1ucy1zZWxlY3Rvci1zZWFyY2gtaW5wdXRcIlxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3Itc2VhcmNoLWlucHV0XCJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPSdcIkFERi1EQVRBVEFCTEUuQ09MVU1OU19TRUxFQ1RPUi5TRUFSQ0hcIiB8IHRyYW5zbGF0ZSc+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3ItbGlzdC1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIChjb2x1bW5JdGVtcyB8IGNvbHVtbnNTZWFyY2hGaWx0ZXI6IHNlYXJjaFF1ZXJ5KVwiIGNsYXNzPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3ItbGlzdC1pdGVtXCI+XG4gICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1jb2x1bW5zLXNlbGVjdG9yLWNvbHVtbi1jaGVja2JveFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hdXRvbWF0aW9uLWlkXT1cIidhZGYtY29sdW1ucy1zZWxlY3Rvci1jb2x1bW4tY2hlY2tib3gtJyArIGNvbHVtbi50aXRsZVwiXG4gICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiIWNvbHVtbi5pc0hpZGRlblwiXG4gICAgICAgICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNDaGVja2JveERpc2FibGVkKGNvbHVtbilcIlxuICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImNoYW5nZUNvbHVtblZpc2liaWxpdHkoY29sdW1uKVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2VDb2x1bW5WaXNpYmlsaXR5KGNvbHVtbilcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3ItbGlzdC1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7Y29sdW1uLnRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY29sdW1uLnN1YnRpdGxlXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZi1jb2x1bW5zLXNlbGVjdG9yLWxpc3QtY29udGVudFxuICAgICAgICAgICAgICAgICAgICAgICAgYWRmLWNvbHVtbnMtc2VsZWN0b3Itc3VidGl0bGVcbiAgICAgICAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAge3tjb2x1bW4uc3VidGl0bGUgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L21hdC1jaGVja2JveD5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bWF0LWRpdmlkZXIgY2xhc3M9XCJhZGYtY29sdW1ucy1zZWxlY3Rvci1kaXZpZGVyXCIgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJhZGYtY29sdW1ucy1zZWxlY3Rvci1mb290ZXJcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICAgICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWNvbHVtbnMtc2VsZWN0b3ItYXBwbHktYnV0dG9uXCJcbiAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiYXBwbHkoKVwiPlxuICAgICAgICAgICAge3tcIkFERi1EQVRBVEFCTEUuQ09MVU1OU19TRUxFQ1RPUi5BUFBMWVwiIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==