aril 1.1.65 → 1.1.67

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 (629) hide show
  1. package/README.md +62 -62
  2. package/boot/config/api.sample.json +8 -8
  3. package/esm2022/boot/config/api/index.mjs +1 -1
  4. package/esm2022/boot/config/api/src/api.service.mjs +1 -1
  5. package/esm2022/boot/config/api/src/interfaces.mjs +1 -1
  6. package/esm2022/boot/config/apps/index.mjs +1 -1
  7. package/esm2022/boot/config/apps/src/apps.service.mjs +1 -1
  8. package/esm2022/boot/config/apps/src/auth.guard.mjs +1 -1
  9. package/esm2022/boot/config/apps/src/interfaces.mjs +1 -1
  10. package/esm2022/boot/config/apps/src/reuse-strategy.mjs +1 -1
  11. package/esm2022/boot/config/apps/src/showdowDOMWrapper.mjs +1 -1
  12. package/esm2022/boot/config/plugins/index.mjs +1 -1
  13. package/esm2022/boot/config/plugins/src/getNgZone.mjs +1 -1
  14. package/esm2022/boot/config/plugins/src/interfaces.mjs +1 -1
  15. package/esm2022/boot/config/plugins/src/plugins.service.mjs +1 -1
  16. package/esm2022/boot/config/translate/constants.mjs +1 -1
  17. package/esm2022/boot/config/translate/index.mjs +1 -1
  18. package/esm2022/boot/config/translate/primeng/i18n/tr.mjs +1 -1
  19. package/esm2022/boot/host/index.mjs +1 -1
  20. package/esm2022/boot/host/src/app.component.mjs +1 -1
  21. package/esm2022/boot/host/src/bootstrap.mjs +1 -1
  22. package/esm2022/boot/index.mjs +1 -1
  23. package/esm2022/boot/mfe/index.mjs +1 -1
  24. package/esm2022/boot/mfe/src/app.component.mjs +13 -13
  25. package/esm2022/boot/mfe/src/appComponentLoader.mjs +1 -1
  26. package/esm2022/boot/mfe/src/bootstrap.mjs +1 -1
  27. package/esm2022/boot/mfe/src/loadStyles.mjs +1 -1
  28. package/esm2022/boot/mfe/src/monaco.config.mjs +1 -1
  29. package/esm2022/http/index.mjs +1 -1
  30. package/esm2022/http/lib/enums.mjs +1 -1
  31. package/esm2022/http/lib/interfaces.mjs +1 -1
  32. package/esm2022/http/src/httpBackend.mjs +1 -1
  33. package/esm2022/http/src/httpClient.mjs +1 -1
  34. package/esm2022/http/src/interceptor/accept-language.interceptor.mjs +1 -1
  35. package/esm2022/http/src/serviceBase.mjs +1 -1
  36. package/esm2022/http/src/serviceMockBase.mjs +1 -1
  37. package/esm2022/http/src/serviceRequest.mjs +1 -1
  38. package/esm2022/http/src/serviceStateMethods.mjs +1 -1
  39. package/esm2022/i18n/index.mjs +1 -1
  40. package/esm2022/i18n/src/folder-name-token.mjs +1 -1
  41. package/esm2022/i18n/src/i18n.module.mjs +1 -1
  42. package/esm2022/i18n/src/loader.mjs +1 -1
  43. package/esm2022/i18n/src/provideI18n.mjs +1 -1
  44. package/esm2022/i18n/src/provideScope.mjs +1 -1
  45. package/esm2022/keycloak/src/auth.interceptor.mjs +1 -1
  46. package/esm2022/provider/index.mjs +1 -1
  47. package/esm2022/provider/src/index.mjs +1 -1
  48. package/esm2022/provider/src/prodiveHost.mjs +1 -1
  49. package/esm2022/provider/src/prodiveHostRouter.mjs +1 -1
  50. package/esm2022/provider/src/provideHostKeycloak.mjs +1 -1
  51. package/esm2022/provider/src/provideLocaleId.mjs +1 -1
  52. package/esm2022/public-api.mjs +1 -1
  53. package/esm2022/theme/index.mjs +1 -1
  54. package/esm2022/theme/layout/app/breadcrumb/app.breadcrumb.component.mjs +3 -3
  55. package/esm2022/theme/layout/app/chatbot/app.chatbot.component.mjs +3 -3
  56. package/esm2022/theme/layout/app/expandableMenu/expandable-menu.component.mjs +3 -3
  57. package/esm2022/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.mjs +3 -3
  58. package/esm2022/theme/layout/app/favorite-pages/favorite-pages.service.mjs +1 -1
  59. package/esm2022/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.mjs +3 -3
  60. package/esm2022/theme/layout/app/general-search/general-search.component.mjs +3 -3
  61. package/esm2022/theme/layout/app/general-search/helpers.mjs +1 -1
  62. package/esm2022/theme/layout/app/general-search/models.mjs +1 -1
  63. package/esm2022/theme/layout/app/history/history-sidebar.component.mjs +3 -3
  64. package/esm2022/theme/layout/app/history/history.service.mjs +1 -1
  65. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +3 -3
  66. package/esm2022/theme/layout/app/layout/mfe.layout.component.mjs +23 -23
  67. package/esm2022/theme/layout/app/notifications/notifications-sidebar.component.mjs +3 -3
  68. package/esm2022/theme/layout/app/profileSidebar/app.profilesidebar.component.mjs +3 -3
  69. package/esm2022/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.mjs +3 -3
  70. package/esm2022/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.mjs +3 -3
  71. package/esm2022/theme/layout/app/profileSidebar/profile.service.mjs +1 -1
  72. package/esm2022/theme/layout/app/site-map/site-map-sidebar.component.mjs +3 -3
  73. package/esm2022/theme/layout/app/static-sidebar/static-sidebar.component.mjs +3 -3
  74. package/esm2022/theme/layout/app/topbar/app.topbar.component.mjs +3 -3
  75. package/esm2022/theme/layout/index.mjs +1 -1
  76. package/esm2022/theme/layout/service/app.layout.service.mjs +1 -1
  77. package/esm2022/theme/layout/service/app.menu.service.mjs +1 -1
  78. package/esm2022/theme/layout/service/breadcrumb.service.mjs +1 -1
  79. package/esm2022/theme/layout/service/interfaces/enum.mjs +1 -1
  80. package/esm2022/theme/layout/service/interfaces/interfaces.mjs +1 -1
  81. package/esm2022/theme/layout/service/menuchangeevent.mjs +1 -1
  82. package/esm2022/theme/layout/service/notifications.service.mjs +1 -1
  83. package/esm2022/theme/layout/service/search.service.mjs +1 -1
  84. package/esm2022/theme/layout/service/selection-group.service.mjs +1 -1
  85. package/esm2022/ui/autoComplete/index.mjs +1 -1
  86. package/esm2022/ui/autoComplete/src/auto-complete.component.mjs +3 -3
  87. package/esm2022/ui/autoComplete/src/interfaces.mjs +1 -1
  88. package/esm2022/ui/badge/index.mjs +1 -1
  89. package/esm2022/ui/badge/src/badge.component.mjs +3 -3
  90. package/esm2022/ui/button/index.mjs +1 -1
  91. package/esm2022/ui/button/src/button.component.mjs +3 -3
  92. package/esm2022/ui/button/src/split-button.component.mjs +3 -3
  93. package/esm2022/ui/calendar/index.mjs +1 -1
  94. package/esm2022/ui/calendar/src/calendar.component.mjs +3 -3
  95. package/esm2022/ui/charts/index.mjs +1 -1
  96. package/esm2022/ui/charts/src/amCharts/column/column-chart.component.mjs +1 -1
  97. package/esm2022/ui/charts/src/amCharts/line/line-chart.component.mjs +1 -1
  98. package/esm2022/ui/charts/src/amCharts/pie/pie-chart.component.mjs +1 -1
  99. package/esm2022/ui/charts/src/highCharts/area/area-chart.component.mjs +19 -19
  100. package/esm2022/ui/charts/src/highCharts/bar/bar-chart.component.mjs +14 -14
  101. package/esm2022/ui/charts/src/highCharts/column/column-chart.component.mjs +14 -14
  102. package/esm2022/ui/charts/src/highCharts/gauge/solid-gauge.component.mjs +19 -19
  103. package/esm2022/ui/charts/src/highCharts/heatmap/heatMap-chart.component.mjs +15 -15
  104. package/esm2022/ui/charts/src/highCharts/line/line-chart-datetime-axis.component.mjs +15 -15
  105. package/esm2022/ui/charts/src/highCharts/line/line-chart-series.component.mjs +5 -5
  106. package/esm2022/ui/charts/src/highCharts/line/line-chart.component.mjs +1 -1
  107. package/esm2022/ui/charts/src/highCharts/pie/pie-chart.component.mjs +17 -17
  108. package/esm2022/ui/charts/src/theme/theme.mjs +1 -1
  109. package/esm2022/ui/checkbox/index.mjs +1 -1
  110. package/esm2022/ui/checkbox/src/check-box.component.mjs +3 -3
  111. package/esm2022/ui/checkbox/src/tri-state-checkbox.component.mjs +3 -3
  112. package/esm2022/ui/chip/src/chip.component.mjs +3 -3
  113. package/esm2022/ui/collapse-reorder-list/src/collapse-reorder-list.component.mjs +3 -3
  114. package/esm2022/ui/dxEditor/index.mjs +1 -1
  115. package/esm2022/ui/dxEditor/src/dx-editor.component.mjs +3 -3
  116. package/esm2022/ui/dxField/index.mjs +1 -1
  117. package/esm2022/ui/dxField/src/dx-field.component.mjs +3 -3
  118. package/esm2022/ui/editor/index.mjs +1 -1
  119. package/esm2022/ui/editor/src/aril-editor.component.mjs +3 -3
  120. package/esm2022/ui/editor/src/types.mjs +1 -1
  121. package/esm2022/ui/field/index.mjs +1 -1
  122. package/esm2022/ui/field/src/field.component.mjs +3 -3
  123. package/esm2022/ui/fileUpload/index.mjs +1 -1
  124. package/esm2022/ui/fileUpload/src/file-upload.component.mjs +3 -3
  125. package/esm2022/ui/form/index.mjs +1 -1
  126. package/esm2022/ui/form/src/form-submit-button.component.mjs +3 -3
  127. package/esm2022/ui/form/src/form.component.mjs +1 -1
  128. package/esm2022/ui/img-viewer/index.mjs +1 -1
  129. package/esm2022/ui/img-viewer/src/img-viewer.component.mjs +3 -3
  130. package/esm2022/ui/index.mjs +1 -1
  131. package/esm2022/ui/json-diff-comparison/index.mjs +1 -1
  132. package/esm2022/ui/json-diff-comparison/src/json-diff.component.mjs +3 -3
  133. package/esm2022/ui/lib/index.mjs +1 -1
  134. package/esm2022/ui/lib/src/form/form-error-message.component.mjs +9 -9
  135. package/esm2022/ui/lib/src/form/form-error-message.directive.mjs +1 -1
  136. package/esm2022/ui/lib/src/form/form-field-builder.mjs +1 -1
  137. package/esm2022/ui/lib/src/form/form-validation.mjs +1 -1
  138. package/esm2022/ui/lib/src/grid/enum-color-picker.pipe.mjs +1 -1
  139. package/esm2022/ui/lib/src/grid/flex-grid.directive.mjs +1 -1
  140. package/esm2022/ui/lib/src/input/baseInput.mjs +1 -1
  141. package/esm2022/ui/lib/src/input/common-input-validators.service.mjs +1 -1
  142. package/esm2022/ui/lib/src/input/dx-input-error-message.pipe.mjs +1 -1
  143. package/esm2022/ui/lib/src/input/input-disabled.directive.mjs +1 -1
  144. package/esm2022/ui/lib/src/input/input-error-message.pipe.mjs +1 -1
  145. package/esm2022/ui/lib/src/input/input-transforms.mjs +1 -1
  146. package/esm2022/ui/lib/src/input/value-accessor.directive.mjs +1 -1
  147. package/esm2022/ui/loader/index.mjs +1 -1
  148. package/esm2022/ui/loader/src/loader.component.mjs +3 -3
  149. package/esm2022/ui/mask/index.mjs +1 -1
  150. package/esm2022/ui/mask/src/mask.component.mjs +3 -3
  151. package/esm2022/ui/multiSelect/index.mjs +1 -1
  152. package/esm2022/ui/multiSelect/src/interfaces.mjs +1 -1
  153. package/esm2022/ui/multiSelect/src/multi-select.component.mjs +3 -3
  154. package/esm2022/ui/number/index.mjs +1 -1
  155. package/esm2022/ui/number/src/number.component.mjs +3 -3
  156. package/esm2022/ui/operation-types-dialog/index.mjs +1 -1
  157. package/esm2022/ui/operation-types-dialog/src/operation-types-dialog.component.mjs +11 -11
  158. package/esm2022/ui/overlayPanel/index.mjs +1 -1
  159. package/esm2022/ui/overlayPanel/src/overlay-panel.component.mjs +3 -3
  160. package/esm2022/ui/panel/index.mjs +1 -1
  161. package/esm2022/ui/panel/src/panel.component.mjs +3 -3
  162. package/esm2022/ui/password/index.mjs +1 -1
  163. package/esm2022/ui/password/src/password.component.mjs +3 -3
  164. package/esm2022/ui/pdf-viewer/index.mjs +1 -1
  165. package/esm2022/ui/pdf-viewer/src/pdf-viewer.component.mjs +3 -3
  166. package/esm2022/ui/progressbar/index.mjs +1 -1
  167. package/esm2022/ui/progressbar/src/progressbar.component.mjs +3 -3
  168. package/esm2022/ui/radioButton/index.mjs +1 -1
  169. package/esm2022/ui/radioButton/src/radio-button.component.mjs +3 -3
  170. package/esm2022/ui/relativeDateSelector/src/enum.mjs +1 -1
  171. package/esm2022/ui/relativeDateSelector/src/relative-date-selector.component.mjs +3 -3
  172. package/esm2022/ui/selectBox/index.mjs +1 -1
  173. package/esm2022/ui/selectBox/src/interfaces.mjs +1 -1
  174. package/esm2022/ui/selectBox/src/select-box.component.mjs +3 -3
  175. package/esm2022/ui/switch/index.mjs +1 -1
  176. package/esm2022/ui/switch/src/switch.component.mjs +3 -3
  177. package/esm2022/ui/table/index.mjs +1 -1
  178. package/esm2022/ui/table/src/export-overlay-panel.component.mjs +127 -127
  179. package/esm2022/ui/table/src/interfaces.mjs +1 -1
  180. package/esm2022/ui/table/src/table-column.component.mjs +1 -1
  181. package/esm2022/ui/table/src/table.component.mjs +3 -3
  182. package/esm2022/ui/table-expand/index.mjs +1 -1
  183. package/esm2022/ui/table-expand/src/table-column.component.mjs +1 -1
  184. package/esm2022/ui/table-expand/src/table-expand-area.component.mjs +1 -1
  185. package/esm2022/ui/table-expand/src/table.component.mjs +3 -3
  186. package/esm2022/ui/tag/src/tag.component.mjs +3 -3
  187. package/esm2022/ui/tagBox/index.mjs +1 -1
  188. package/esm2022/ui/tagBox/src/tag-box.component.mjs +3 -3
  189. package/esm2022/ui/text/index.mjs +1 -1
  190. package/esm2022/ui/text/src/text.component.mjs +3 -3
  191. package/esm2022/ui/textArea/index.mjs +1 -1
  192. package/esm2022/ui/textArea/src/text-area.component.mjs +3 -3
  193. package/esm2022/ui/toggle-button/src/toggle-button.component.mjs +3 -3
  194. package/esm2022/ui/tooltip/index.mjs +1 -1
  195. package/esm2022/ui/tooltip/src/tooltip-component.mjs +3 -3
  196. package/esm2022/ui/translate-input/index.mjs +1 -1
  197. package/esm2022/ui/translate-input/src/aril-lang-modal/aril-lang-modal.component.mjs +3 -3
  198. package/esm2022/ui/translate-input/src/aril-lang-modal/constants.mjs +1 -1
  199. package/esm2022/ui/translate-input/src/aril-translate-input.component.mjs +25 -25
  200. package/esm2022/ui/translate-input/src/interface.mjs +1 -1
  201. package/esm2022/ui/tree/index.mjs +1 -1
  202. package/esm2022/ui/tree/src/tree.component.mjs +3 -3
  203. package/esm2022/ui/treeSelect/index.mjs +1 -1
  204. package/esm2022/ui/treeSelect/src/treeSelect.component.mjs +3 -3
  205. package/esm2022/ui/treeTable/index.mjs +1 -1
  206. package/esm2022/ui/treeTable/src/tree-table.component.mjs +3 -3
  207. package/esm2022/ui/value/index.mjs +1 -1
  208. package/esm2022/ui/value/src/value.component.mjs +3 -3
  209. package/esm2022/ui-business/assetPicker/src/asset-picker.component.mjs +71 -31
  210. package/esm2022/ui-business/assetPicker/src/interface.mjs +1 -1
  211. package/esm2022/ui-business/detailed-overlay-panel/index.mjs +1 -1
  212. package/esm2022/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.mjs +3 -3
  213. package/esm2022/ui-business/detailed-overlay-panel/src/interface.mjs +1 -1
  214. package/esm2022/ui-business/enumPicker/src/enum-picker.component.mjs +3 -3
  215. package/esm2022/ui-business/enumPicker/src/interface.mjs +1 -1
  216. package/esm2022/ui-business/image-viewer/src/aril-image-viewer.component.mjs +29 -29
  217. package/esm2022/ui-business/index.mjs +1 -1
  218. package/esm2022/ui-business/multiple-ref-value/index.mjs +1 -1
  219. package/esm2022/ui-business/multiple-ref-value/src/multiple-ref-value.component.mjs +3 -3
  220. package/esm2022/ui-business/notification-templates-dialog/index.mjs +1 -1
  221. package/esm2022/ui-business/notification-templates-dialog/src/interface.mjs +1 -1
  222. package/esm2022/ui-business/notification-templates-dialog/src/notification-templates-dialog.component.mjs +3 -3
  223. package/esm2022/ui-business/operation-types-dialog/index.mjs +1 -1
  224. package/esm2022/ui-business/operation-types-dialog/src/operation-types-dialog.component.mjs +11 -11
  225. package/esm2022/ui-business/ref-value/index.mjs +1 -1
  226. package/esm2022/ui-business/ref-value/src/ref-value.component.mjs +3 -3
  227. package/esm2022/ui-business/rolePicker/index.mjs +1 -1
  228. package/esm2022/ui-business/rolePicker/src/interface.mjs +1 -1
  229. package/esm2022/ui-business/rolePicker/src/role-picker.component.mjs +3 -3
  230. package/esm2022/ui-business/userPicker/src/interface.mjs +1 -1
  231. package/esm2022/ui-business/userPicker/src/user-picker.component.mjs +3 -3
  232. package/esm2022/util/block/index.mjs +1 -1
  233. package/esm2022/util/block/src/block.mjs +1 -1
  234. package/esm2022/util/custom_pages/index.mjs +1 -1
  235. package/esm2022/util/custom_pages/src/notFound.component.mjs +47 -47
  236. package/esm2022/util/directives/index.mjs +1 -1
  237. package/esm2022/util/directives/src/detail-page-customization/detail-page-customization.directive.mjs +1 -1
  238. package/esm2022/util/directives/src/detail-page-customization/index.mjs +1 -1
  239. package/esm2022/util/directives/src/detail-page-customization/models.mjs +1 -1
  240. package/esm2022/util/directives/src/dialog-component/plugin-dialog.component.mjs +1 -1
  241. package/esm2022/util/directives/src/dialog-service/plugin-dialog.service.mjs +1 -1
  242. package/esm2022/util/init-event/index.mjs +1 -1
  243. package/esm2022/util/init-event/src/init-event.directive.mjs +1 -1
  244. package/esm2022/util/lib/index.mjs +1 -1
  245. package/esm2022/util/lib/src/interfaces.mjs +1 -1
  246. package/esm2022/util/lib/src/module-router.mjs +1 -1
  247. package/esm2022/util/lib/src/types.mjs +1 -1
  248. package/esm2022/util/lib/src/validators/iban.validator.mjs +1 -1
  249. package/esm2022/util/lib/src/validators/index.mjs +1 -1
  250. package/esm2022/util/lib/src/validators/max-array-length.validator.mjs +1 -1
  251. package/esm2022/util/lib/src/validators/min-array-length.validator.mjs +1 -1
  252. package/esm2022/util/lib/src/validators/tckn.validator.mjs +1 -1
  253. package/esm2022/util/lib/src/validators/validators.mjs +1 -1
  254. package/esm2022/util/loaders/index.mjs +1 -1
  255. package/esm2022/util/loaders/script/script.loader.service.mjs +1 -1
  256. package/esm2022/util/loaders/style/style.loader.service.mjs +1 -1
  257. package/esm2022/util/pipes/index.mjs +1 -1
  258. package/esm2022/util/pipes/src/distance-to-now.pipe.mjs +1 -1
  259. package/esm2022/util/pipes/src/get-column-by-field.pipe.mjs +1 -1
  260. package/esm2022/util/pipes/src/parse.pipe.mjs +1 -1
  261. package/esm2022/util/pipes/src/round-number.pipe.mjs +1 -1
  262. package/esm2022/util/pipes/src/safe.pipe.mjs +1 -1
  263. package/esm2022/util/pipes/src/translate-json/translate-json.pipe.mjs +1 -1
  264. package/esm2022/util/primitive-extensions/index.mjs +1 -1
  265. package/esm2022/util/primitive-extensions/src/boolean.extensions.mjs +1 -1
  266. package/esm2022/util/primitive-extensions/src/date.extensions.mjs +1 -1
  267. package/esm2022/util/primitive-extensions/src/number.extensions.mjs +1 -1
  268. package/esm2022/util/primitive-extensions/src/string.extensions.mjs +1 -1
  269. package/esm2022/util/pub-sub/index.mjs +1 -1
  270. package/esm2022/util/pub-sub/src/pub-sub.service.mjs +1 -1
  271. package/esm2022/util/sync-active-tab-route/index.mjs +1 -1
  272. package/esm2022/util/sync-active-tab-route/src/sync-active-tab-route.directive.mjs +1 -1
  273. package/esm2022/util/unwrap/index.mjs +1 -1
  274. package/esm2022/util/unwrap/src/unwrap-tag.directive.mjs +1 -1
  275. package/fesm2022/{aril-app.component-BrM-uBqB.mjs → aril-app.component-hxaLgwmC.mjs} +13 -13
  276. package/fesm2022/aril-app.component-hxaLgwmC.mjs.map +1 -0
  277. package/fesm2022/aril-boot-config-api.mjs.map +1 -1
  278. package/fesm2022/aril-boot-config-apps.mjs +1 -1
  279. package/fesm2022/aril-boot-config-apps.mjs.map +1 -1
  280. package/fesm2022/aril-boot-config-plugins.mjs +2 -2
  281. package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
  282. package/fesm2022/aril-boot-config-translate.mjs.map +1 -1
  283. package/fesm2022/aril-boot-host.mjs +4 -4
  284. package/fesm2022/aril-boot-host.mjs.map +1 -1
  285. package/fesm2022/{aril-boot-mfe-app.component-BWEM0ozE.mjs → aril-boot-mfe-app.component-s1a-tkOD.mjs} +14 -14
  286. package/fesm2022/aril-boot-mfe-app.component-s1a-tkOD.mjs.map +1 -0
  287. package/fesm2022/{aril-boot-mfe-aril-boot-mfe-Chnmyg0H.mjs → aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs} +7 -7
  288. package/fesm2022/aril-boot-mfe-aril-boot-mfe-wLTqwDtz.mjs.map +1 -0
  289. package/fesm2022/aril-boot-mfe.mjs +1 -1
  290. package/fesm2022/aril-boot.mjs.map +1 -1
  291. package/fesm2022/aril-http.mjs.map +1 -1
  292. package/fesm2022/aril-i18n.mjs.map +1 -1
  293. package/fesm2022/aril-keycloak.mjs.map +1 -1
  294. package/fesm2022/aril-provider.mjs +1 -1
  295. package/fesm2022/aril-provider.mjs.map +1 -1
  296. package/fesm2022/aril-theme-layout.mjs +52 -52
  297. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  298. package/fesm2022/aril-theme.mjs.map +1 -1
  299. package/fesm2022/aril-ui-autoComplete.mjs +5 -5
  300. package/fesm2022/aril-ui-autoComplete.mjs.map +1 -1
  301. package/fesm2022/aril-ui-badge.mjs +3 -3
  302. package/fesm2022/aril-ui-badge.mjs.map +1 -1
  303. package/fesm2022/aril-ui-business-assetPicker.mjs +71 -31
  304. package/fesm2022/aril-ui-business-assetPicker.mjs.map +1 -1
  305. package/fesm2022/aril-ui-business-detailed-overlay-panel.mjs +4 -4
  306. package/fesm2022/aril-ui-business-detailed-overlay-panel.mjs.map +1 -1
  307. package/fesm2022/aril-ui-business-enumPicker.mjs +4 -4
  308. package/fesm2022/aril-ui-business-enumPicker.mjs.map +1 -1
  309. package/fesm2022/aril-ui-business-image-viewer.mjs +28 -28
  310. package/fesm2022/aril-ui-business-image-viewer.mjs.map +1 -1
  311. package/fesm2022/aril-ui-business-multiple-ref-value.mjs +3 -3
  312. package/fesm2022/aril-ui-business-multiple-ref-value.mjs.map +1 -1
  313. package/fesm2022/aril-ui-business-notification-templates-dialog.mjs +2 -2
  314. package/fesm2022/aril-ui-business-notification-templates-dialog.mjs.map +1 -1
  315. package/fesm2022/aril-ui-business-operation-types-dialog.mjs +10 -10
  316. package/fesm2022/aril-ui-business-operation-types-dialog.mjs.map +1 -1
  317. package/fesm2022/aril-ui-business-ref-value.mjs +3 -3
  318. package/fesm2022/aril-ui-business-ref-value.mjs.map +1 -1
  319. package/fesm2022/aril-ui-business-rolePicker.mjs +3 -3
  320. package/fesm2022/aril-ui-business-rolePicker.mjs.map +1 -1
  321. package/fesm2022/aril-ui-business-userPicker.mjs +2 -2
  322. package/fesm2022/aril-ui-business-userPicker.mjs.map +1 -1
  323. package/fesm2022/aril-ui-business.mjs.map +1 -1
  324. package/fesm2022/aril-ui-button.mjs +5 -5
  325. package/fesm2022/aril-ui-button.mjs.map +1 -1
  326. package/fesm2022/aril-ui-calendar.mjs +2 -2
  327. package/fesm2022/aril-ui-calendar.mjs.map +1 -1
  328. package/fesm2022/aril-ui-charts.mjs +111 -111
  329. package/fesm2022/aril-ui-charts.mjs.map +1 -1
  330. package/fesm2022/aril-ui-checkbox.mjs +4 -4
  331. package/fesm2022/aril-ui-checkbox.mjs.map +1 -1
  332. package/fesm2022/aril-ui-chip.mjs +3 -3
  333. package/fesm2022/aril-ui-chip.mjs.map +1 -1
  334. package/fesm2022/aril-ui-collapse-reorder-list.mjs +3 -3
  335. package/fesm2022/aril-ui-collapse-reorder-list.mjs.map +1 -1
  336. package/fesm2022/aril-ui-dxEditor.mjs +3 -3
  337. package/fesm2022/aril-ui-dxEditor.mjs.map +1 -1
  338. package/fesm2022/aril-ui-dxField.mjs +3 -3
  339. package/fesm2022/aril-ui-dxField.mjs.map +1 -1
  340. package/fesm2022/aril-ui-editor.mjs +3 -3
  341. package/fesm2022/aril-ui-editor.mjs.map +1 -1
  342. package/fesm2022/aril-ui-field.mjs +3 -3
  343. package/fesm2022/aril-ui-field.mjs.map +1 -1
  344. package/fesm2022/aril-ui-fileUpload.mjs +3 -3
  345. package/fesm2022/aril-ui-fileUpload.mjs.map +1 -1
  346. package/fesm2022/aril-ui-form.mjs +3 -3
  347. package/fesm2022/aril-ui-form.mjs.map +1 -1
  348. package/fesm2022/aril-ui-img-viewer.mjs +2 -2
  349. package/fesm2022/aril-ui-img-viewer.mjs.map +1 -1
  350. package/fesm2022/aril-ui-json-diff-comparison.mjs +3 -3
  351. package/fesm2022/aril-ui-json-diff-comparison.mjs.map +1 -1
  352. package/fesm2022/aril-ui-lib.mjs +9 -9
  353. package/fesm2022/aril-ui-lib.mjs.map +1 -1
  354. package/fesm2022/aril-ui-loader.mjs +2 -2
  355. package/fesm2022/aril-ui-loader.mjs.map +1 -1
  356. package/fesm2022/aril-ui-mask.mjs +2 -2
  357. package/fesm2022/aril-ui-mask.mjs.map +1 -1
  358. package/fesm2022/aril-ui-multiSelect.mjs +2 -2
  359. package/fesm2022/aril-ui-multiSelect.mjs.map +1 -1
  360. package/fesm2022/aril-ui-number.mjs +2 -2
  361. package/fesm2022/aril-ui-number.mjs.map +1 -1
  362. package/fesm2022/aril-ui-operation-types-dialog.mjs +10 -10
  363. package/fesm2022/aril-ui-operation-types-dialog.mjs.map +1 -1
  364. package/fesm2022/aril-ui-overlayPanel.mjs +3 -3
  365. package/fesm2022/aril-ui-overlayPanel.mjs.map +1 -1
  366. package/fesm2022/aril-ui-panel.mjs +3 -3
  367. package/fesm2022/aril-ui-panel.mjs.map +1 -1
  368. package/fesm2022/aril-ui-password.mjs +2 -2
  369. package/fesm2022/aril-ui-password.mjs.map +1 -1
  370. package/fesm2022/aril-ui-pdf-viewer.mjs +2 -2
  371. package/fesm2022/aril-ui-pdf-viewer.mjs.map +1 -1
  372. package/fesm2022/aril-ui-progressbar.mjs +2 -2
  373. package/fesm2022/aril-ui-progressbar.mjs.map +1 -1
  374. package/fesm2022/aril-ui-radioButton.mjs +2 -2
  375. package/fesm2022/aril-ui-radioButton.mjs.map +1 -1
  376. package/fesm2022/aril-ui-relativeDateSelector.mjs +3 -3
  377. package/fesm2022/aril-ui-relativeDateSelector.mjs.map +1 -1
  378. package/fesm2022/aril-ui-selectBox.mjs +4 -4
  379. package/fesm2022/aril-ui-selectBox.mjs.map +1 -1
  380. package/fesm2022/aril-ui-switch.mjs +2 -2
  381. package/fesm2022/aril-ui-switch.mjs.map +1 -1
  382. package/fesm2022/aril-ui-table-expand.mjs +3 -3
  383. package/fesm2022/aril-ui-table-expand.mjs.map +1 -1
  384. package/fesm2022/aril-ui-table.mjs +130 -130
  385. package/fesm2022/aril-ui-table.mjs.map +1 -1
  386. package/fesm2022/aril-ui-tag.mjs +2 -2
  387. package/fesm2022/aril-ui-tag.mjs.map +1 -1
  388. package/fesm2022/aril-ui-tagBox.mjs +4 -4
  389. package/fesm2022/aril-ui-tagBox.mjs.map +1 -1
  390. package/fesm2022/aril-ui-text.mjs +2 -2
  391. package/fesm2022/aril-ui-text.mjs.map +1 -1
  392. package/fesm2022/aril-ui-textArea.mjs +2 -2
  393. package/fesm2022/aril-ui-textArea.mjs.map +1 -1
  394. package/fesm2022/aril-ui-toggle-button.mjs +3 -3
  395. package/fesm2022/aril-ui-toggle-button.mjs.map +1 -1
  396. package/fesm2022/aril-ui-tooltip.mjs +2 -2
  397. package/fesm2022/aril-ui-tooltip.mjs.map +1 -1
  398. package/fesm2022/aril-ui-translate-input.mjs +26 -26
  399. package/fesm2022/aril-ui-translate-input.mjs.map +1 -1
  400. package/fesm2022/aril-ui-tree.mjs +3 -3
  401. package/fesm2022/aril-ui-tree.mjs.map +1 -1
  402. package/fesm2022/aril-ui-treeSelect.mjs +3 -3
  403. package/fesm2022/aril-ui-treeSelect.mjs.map +1 -1
  404. package/fesm2022/aril-ui-treeTable.mjs +3 -3
  405. package/fesm2022/aril-ui-treeTable.mjs.map +1 -1
  406. package/fesm2022/aril-ui-value.mjs +4 -4
  407. package/fesm2022/aril-ui-value.mjs.map +1 -1
  408. package/fesm2022/aril-ui.mjs.map +1 -1
  409. package/fesm2022/aril-util-block.mjs.map +1 -1
  410. package/fesm2022/aril-util-custom_pages.mjs +46 -46
  411. package/fesm2022/aril-util-custom_pages.mjs.map +1 -1
  412. package/fesm2022/aril-util-directives.mjs +1 -1
  413. package/fesm2022/aril-util-directives.mjs.map +1 -1
  414. package/fesm2022/aril-util-init-event.mjs +1 -1
  415. package/fesm2022/aril-util-init-event.mjs.map +1 -1
  416. package/fesm2022/aril-util-lib.mjs.map +1 -1
  417. package/fesm2022/aril-util-loaders.mjs +1 -1
  418. package/fesm2022/aril-util-loaders.mjs.map +1 -1
  419. package/fesm2022/aril-util-pipes.mjs +1 -1
  420. package/fesm2022/aril-util-pipes.mjs.map +1 -1
  421. package/fesm2022/aril-util-primitive-extensions.mjs.map +1 -1
  422. package/fesm2022/aril-util-pub-sub.mjs.map +1 -1
  423. package/fesm2022/aril-util-sync-active-tab-route.mjs +1 -1
  424. package/fesm2022/aril-util-sync-active-tab-route.mjs.map +1 -1
  425. package/fesm2022/aril-util-unwrap.mjs.map +1 -1
  426. package/fesm2022/aril.mjs +6 -6
  427. package/fesm2022/aril.mjs.map +1 -1
  428. package/package.json +127 -127
  429. package/scripts/util/blockui.min.js +6 -6
  430. package/styles/ui/ui.common.scss +42 -42
  431. package/styles/util/blockui.css +56 -56
  432. package/theme/index.ts +1 -1
  433. package/theme/layout/app/breadcrumb/app.breadcrumb.component.html +8 -8
  434. package/theme/layout/app/breadcrumb/app.breadcrumb.component.ts +126 -126
  435. package/theme/layout/app/chatbot/app.chatbot.component.html +108 -108
  436. package/theme/layout/app/chatbot/app.chatbot.component.scss +34 -34
  437. package/theme/layout/app/chatbot/app.chatbot.component.ts +151 -151
  438. package/theme/layout/app/config/app.config.component.html +146 -146
  439. package/theme/layout/app/config/app.config.component.ts +143 -143
  440. package/theme/layout/app/expandableMenu/expandable-menu.component.html +89 -89
  441. package/theme/layout/app/expandableMenu/expandable-menu.component.ts +295 -295
  442. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.html +110 -110
  443. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.scss +181 -181
  444. package/theme/layout/app/favorite-pages/favorite-pages-sidebar.component.ts +260 -260
  445. package/theme/layout/app/favorite-pages/favorite-pages.service.ts +95 -95
  446. package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.html +27 -27
  447. package/theme/layout/app/favorite-pages/modals/add-edit-favorite-modal/add-edit-favorite-modal.component.ts +165 -165
  448. package/theme/layout/app/general-search/general-search.component.html +57 -57
  449. package/theme/layout/app/general-search/general-search.component.scss +27 -27
  450. package/theme/layout/app/general-search/general-search.component.ts +93 -93
  451. package/theme/layout/app/general-search/helpers.spec.ts +527 -527
  452. package/theme/layout/app/general-search/helpers.ts +106 -106
  453. package/theme/layout/app/general-search/models.ts +142 -142
  454. package/theme/layout/app/history/history-sidebar.component.html +87 -87
  455. package/theme/layout/app/history/history-sidebar.component.scss +182 -182
  456. package/theme/layout/app/history/history-sidebar.component.ts +143 -143
  457. package/theme/layout/app/history/history.service.ts +154 -154
  458. package/theme/layout/app/layout/app.layout.component.html +27 -27
  459. package/theme/layout/app/layout/app.layout.component.ts +171 -171
  460. package/theme/layout/app/layout/mfe.layout.component.ts +59 -59
  461. package/theme/layout/app/menu/app.menu.component.html +14 -14
  462. package/theme/layout/app/menu/app.menu.component.ts +350 -350
  463. package/theme/layout/app/notifications/notifications-sidebar.component.html +104 -104
  464. package/theme/layout/app/notifications/notifications-sidebar.component.scss +237 -237
  465. package/theme/layout/app/notifications/notifications-sidebar.component.ts +221 -221
  466. package/theme/layout/app/profileSidebar/app.profilesidebar.component.html +122 -122
  467. package/theme/layout/app/profileSidebar/app.profilesidebar.component.scss +151 -151
  468. package/theme/layout/app/profileSidebar/app.profilesidebar.component.ts +141 -141
  469. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.html +48 -48
  470. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.scss +27 -27
  471. package/theme/layout/app/profileSidebar/modals/change-password-modal/change-password-modal.component.ts +178 -178
  472. package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.html +71 -71
  473. package/theme/layout/app/profileSidebar/modals/edit-profile-modal/edit-profile-modal.component.ts +251 -251
  474. package/theme/layout/app/profileSidebar/profile.service.ts +116 -116
  475. package/theme/layout/app/sidebar/app.sidebar.component.html +24 -24
  476. package/theme/layout/app/sidebar/app.sidebar.component.ts +44 -44
  477. package/theme/layout/app/site-map/site-map-sidebar.component.html +121 -121
  478. package/theme/layout/app/site-map/site-map-sidebar.component.scss +178 -178
  479. package/theme/layout/app/site-map/site-map-sidebar.component.ts +193 -193
  480. package/theme/layout/app/static-sidebar/static-sidebar.component.html +123 -123
  481. package/theme/layout/app/static-sidebar/static-sidebar.component.scss +408 -408
  482. package/theme/layout/app/static-sidebar/static-sidebar.component.ts +276 -276
  483. package/theme/layout/app/topbar/app.topbar.component.html +85 -85
  484. package/theme/layout/app/topbar/app.topbar.component.scss +193 -193
  485. package/theme/layout/app/topbar/app.topbar.component.ts +172 -172
  486. package/theme/layout/index.ts +7 -7
  487. package/theme/layout/ng-package.json +6 -6
  488. package/theme/layout/service/app.layout.service.ts +307 -307
  489. package/theme/layout/service/app.menu.service.ts +53 -53
  490. package/theme/layout/service/breadcrumb.service.ts +14 -14
  491. package/theme/layout/service/interfaces/enum.ts +13 -13
  492. package/theme/layout/service/interfaces/interfaces.ts +150 -150
  493. package/theme/layout/service/menuchangeevent.ts +4 -4
  494. package/theme/layout/service/notifications.service.ts +26 -26
  495. package/theme/layout/service/search.service.ts +22 -22
  496. package/theme/layout/service/selection-group.service.ts +73 -73
  497. package/theme/ng-package.json +6 -6
  498. package/theme/styles/layout/_animation.scss +53 -53
  499. package/theme/styles/layout/_breadcrumb.scss +31 -31
  500. package/theme/styles/layout/_config.scss +42 -42
  501. package/theme/styles/layout/_content.scss +61 -61
  502. package/theme/styles/layout/_expanded_sidebar.scss +486 -486
  503. package/theme/styles/layout/_fonts.scss +93 -93
  504. package/theme/styles/layout/_layout_dark.scss +5 -5
  505. package/theme/styles/layout/_layout_dim.scss +5 -5
  506. package/theme/styles/layout/_layout_light.scss +5 -5
  507. package/theme/styles/layout/_main.scss +28 -28
  508. package/theme/styles/layout/_profile.scss +10 -10
  509. package/theme/styles/layout/_responsive.scss +153 -153
  510. package/theme/styles/layout/_sidebar_drawer.scss +234 -234
  511. package/theme/styles/layout/_sidebar_horizontal.scss +163 -163
  512. package/theme/styles/layout/_sidebar_reveal.scss +201 -201
  513. package/theme/styles/layout/_sidebar_slim.scss +144 -144
  514. package/theme/styles/layout/_sidebar_slim_plus.scss +168 -168
  515. package/theme/styles/layout/_sidebar_vertical.scss +156 -156
  516. package/theme/styles/layout/_topbar.scss +140 -140
  517. package/theme/styles/layout/_typography.scss +68 -68
  518. package/theme/styles/layout/_utils.scss +24 -24
  519. package/theme/styles/layout/layout.scss +25 -25
  520. package/theme/styles/layout/menutheme/_colorscheme.scss +11 -11
  521. package/theme/styles/layout/menutheme/_menutheme.scss +3 -3
  522. package/theme/styles/layout/menutheme/_primarycolor.scss +16 -16
  523. package/theme/styles/layout/menutheme/_transparent.scss +26 -26
  524. package/theme/styles/layout/preloading.scss +84 -84
  525. package/theme/styles/theme/base/_colors.scss +17 -17
  526. package/theme/styles/theme/base/_common.scss +89 -89
  527. package/theme/styles/theme/base/_components.scss +108 -108
  528. package/theme/styles/theme/base/_mixins.scss +337 -337
  529. package/theme/styles/theme/base/components/button/_button.scss +576 -576
  530. package/theme/styles/theme/base/components/button/_speeddial.scss +96 -96
  531. package/theme/styles/theme/base/components/button/_splitbutton.scss +348 -348
  532. package/theme/styles/theme/base/components/data/_carousel.scss +37 -37
  533. package/theme/styles/theme/base/components/data/_datatable.scss +338 -338
  534. package/theme/styles/theme/base/components/data/_dataview.scss +46 -46
  535. package/theme/styles/theme/base/components/data/_filter.scss +137 -137
  536. package/theme/styles/theme/base/components/data/_orderlist.scss +114 -114
  537. package/theme/styles/theme/base/components/data/_organizationchart.scss +50 -50
  538. package/theme/styles/theme/base/components/data/_paginator.scss +92 -92
  539. package/theme/styles/theme/base/components/data/_picklist.scss +114 -114
  540. package/theme/styles/theme/base/components/data/_table.scss +16 -16
  541. package/theme/styles/theme/base/components/data/_timeline.scss +35 -35
  542. package/theme/styles/theme/base/components/data/_tree.scss +150 -150
  543. package/theme/styles/theme/base/components/data/_treetable.scss +255 -255
  544. package/theme/styles/theme/base/components/data/_virtualscroller.scss +28 -28
  545. package/theme/styles/theme/base/components/file/_fileupload.scss +64 -64
  546. package/theme/styles/theme/base/components/input/_autocomplete.scss +141 -141
  547. package/theme/styles/theme/base/components/input/_calendar.scss +267 -267
  548. package/theme/styles/theme/base/components/input/_cascadeselect.scss +135 -135
  549. package/theme/styles/theme/base/components/input/_checkbox.scss +99 -99
  550. package/theme/styles/theme/base/components/input/_chips.scss +67 -67
  551. package/theme/styles/theme/base/components/input/_colorpicker.scss +19 -19
  552. package/theme/styles/theme/base/components/input/_dropdown.scss +151 -151
  553. package/theme/styles/theme/base/components/input/_editor.scss +122 -122
  554. package/theme/styles/theme/base/components/input/_inputgroup.scss +75 -75
  555. package/theme/styles/theme/base/components/input/_inputmask.scss +16 -16
  556. package/theme/styles/theme/base/components/input/_inputnumber.scss +28 -28
  557. package/theme/styles/theme/base/components/input/_inputswitch.scss +60 -60
  558. package/theme/styles/theme/base/components/input/_inputtext.scss +100 -100
  559. package/theme/styles/theme/base/components/input/_listbox.scss +97 -97
  560. package/theme/styles/theme/base/components/input/_multiselect.scss +177 -177
  561. package/theme/styles/theme/base/components/input/_password.scss +52 -52
  562. package/theme/styles/theme/base/components/input/_radiobutton.scss +78 -78
  563. package/theme/styles/theme/base/components/input/_rating.scss +60 -60
  564. package/theme/styles/theme/base/components/input/_selectbutton.scss +50 -50
  565. package/theme/styles/theme/base/components/input/_slider.scss +75 -75
  566. package/theme/styles/theme/base/components/input/_togglebutton.scss +48 -48
  567. package/theme/styles/theme/base/components/input/_treeselect.scss +139 -139
  568. package/theme/styles/theme/base/components/menu/_breadcrumb.scss +43 -43
  569. package/theme/styles/theme/base/components/menu/_contextmenu.scss +39 -39
  570. package/theme/styles/theme/base/components/menu/_dock.scss +95 -95
  571. package/theme/styles/theme/base/components/menu/_megamenu.scss +55 -55
  572. package/theme/styles/theme/base/components/menu/_menu.scss +37 -37
  573. package/theme/styles/theme/base/components/menu/_menubar.scss +140 -140
  574. package/theme/styles/theme/base/components/menu/_panelmenu.scss +153 -153
  575. package/theme/styles/theme/base/components/menu/_slidemenu.scss +59 -59
  576. package/theme/styles/theme/base/components/menu/_steps.scss +56 -56
  577. package/theme/styles/theme/base/components/menu/_tabmenu.scss +73 -73
  578. package/theme/styles/theme/base/components/menu/_tieredmenu.scss +43 -43
  579. package/theme/styles/theme/base/components/messages/_inlinemessage.scss +69 -69
  580. package/theme/styles/theme/base/components/messages/_message.scss +107 -107
  581. package/theme/styles/theme/base/components/messages/_toast.scss +99 -99
  582. package/theme/styles/theme/base/components/misc/_avatar.scss +30 -30
  583. package/theme/styles/theme/base/components/misc/_badge.scss +48 -48
  584. package/theme/styles/theme/base/components/misc/_chip.scss +42 -42
  585. package/theme/styles/theme/base/components/misc/_inplace.scss +16 -16
  586. package/theme/styles/theme/base/components/misc/_progressbar.scss +17 -17
  587. package/theme/styles/theme/base/components/misc/_scrolltop.scss +25 -25
  588. package/theme/styles/theme/base/components/misc/_skeleton.scss +8 -8
  589. package/theme/styles/theme/base/components/misc/_tag.scss +45 -45
  590. package/theme/styles/theme/base/components/misc/_terminal.scss +12 -12
  591. package/theme/styles/theme/base/components/multimedia/_galleria.scss +155 -155
  592. package/theme/styles/theme/base/components/multimedia/_image.scss +49 -49
  593. package/theme/styles/theme/base/components/overlay/_confirmpopup.scss +70 -70
  594. package/theme/styles/theme/base/components/overlay/_dialog.scss +69 -69
  595. package/theme/styles/theme/base/components/overlay/_overlaypanel.scss +62 -62
  596. package/theme/styles/theme/base/components/overlay/_sidebar.scss +28 -28
  597. package/theme/styles/theme/base/components/overlay/_tooltip.scss +33 -33
  598. package/theme/styles/theme/base/components/panel/_accordion.scss +119 -119
  599. package/theme/styles/theme/base/components/panel/_card.scss +30 -30
  600. package/theme/styles/theme/base/components/panel/_divider.scss +31 -31
  601. package/theme/styles/theme/base/components/panel/_fieldset.scss +47 -47
  602. package/theme/styles/theme/base/components/panel/_panel.scss +77 -77
  603. package/theme/styles/theme/base/components/panel/_scrollpanel.scss +6 -6
  604. package/theme/styles/theme/base/components/panel/_splitter.scss +19 -19
  605. package/theme/styles/theme/base/components/panel/_stepper.scss +200 -200
  606. package/theme/styles/theme/base/components/panel/_tabview.scss +91 -91
  607. package/theme/styles/theme/base/components/panel/_toolbar.scss +11 -11
  608. package/theme/styles/theme/dark/_extensions.scss +134 -134
  609. package/theme/styles/theme/dark/_variables.scss +933 -933
  610. package/theme/styles/theme/dark/blue/theme.scss +14 -14
  611. package/theme/styles/theme/dark/indigo/theme.scss +14 -14
  612. package/theme/styles/theme/dark/lena/theme.scss +14 -14
  613. package/theme/styles/theme/dark/orange/theme.scss +14 -14
  614. package/theme/styles/theme/dark/thor/theme.scss +14 -14
  615. package/theme/styles/theme/dark/yeap/theme.scss +14 -14
  616. package/theme/styles/theme/light/_extensions.scss +116 -116
  617. package/theme/styles/theme/light/_variables.scss +940 -940
  618. package/theme/styles/theme/light/blue/theme.scss +14 -14
  619. package/theme/styles/theme/light/custom/theme.scss +16 -16
  620. package/theme/styles/theme/light/indigo/theme.scss +14 -14
  621. package/theme/styles/theme/light/lena/theme.scss +14 -14
  622. package/theme/styles/theme/light/orange/theme.scss +14 -14
  623. package/theme/styles/theme/light/thor/theme.scss +15 -15
  624. package/theme/styles/theme/light/yeap/theme.scss +14 -14
  625. package/ui-business/assetPicker/src/asset-picker.component.d.ts +8 -2
  626. package/ui-business/assetPicker/src/interface.d.ts +2 -0
  627. package/fesm2022/aril-app.component-BrM-uBqB.mjs.map +0 -1
  628. package/fesm2022/aril-boot-mfe-app.component-BWEM0ozE.mjs.map +0 -1
  629. package/fesm2022/aril-boot-mfe-aril-boot-mfe-Chnmyg0H.mjs.map +0 -1
@@ -188,7 +188,7 @@ export class ValueComponent {
188
188
  });
189
189
  }
190
190
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ValueComponent, deps: [{ token: i1.TranslocoService }, { token: i2.SelectionGroupService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
191
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ValueComponent, isStandalone: true, selector: "aril-value", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, isClickable: { classPropertyName: "isClickable", publicName: "isClickable", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, isTextClamp: { classPropertyName: "isTextClamp", publicName: "isTextClamp", isSignal: true, isRequired: false, transformFunction: null }, textClampCharacters: { classPropertyName: "textClampCharacters", publicName: "textClampCharacters", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, copyable: { classPropertyName: "copyable", publicName: "copyable", isSignal: true, isRequired: false, transformFunction: null }, shouldShowCopyForClampedText: { classPropertyName: "shouldShowCopyForClampedText", publicName: "shouldShowCopyForClampedText", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeDisplayName: { classPropertyName: "arrayTypeDisplayName", publicName: "arrayTypeDisplayName", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeMaxBadgeCount: { classPropertyName: "arrayTypeMaxBadgeCount", publicName: "arrayTypeMaxBadgeCount", isSignal: true, isRequired: false, transformFunction: null }, bigDecimalRoundingMode: { classPropertyName: "bigDecimalRoundingMode", publicName: "bigDecimalRoundingMode", isSignal: true, isRequired: false, transformFunction: null }, bigDecimalScale: { classPropertyName: "bigDecimalScale", publicName: "bigDecimalScale", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DialogService, DecimalPipe], ngImport: i0, template: "@if (model() == undefined || model() == null) {\n\t<i\n\t\tclass=\"pi pi-minus\"\n\t\tstyle=\"color: red\"\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\n} @else {\n\t@if (type() == 'bool') {\n\t\t@if (!!model()) {\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\n\t\t} @else {\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\n\t\t}\n\t} @else if (type() === 'enum') {\n\t\t@if (isModelArray()) {\n\t\t\t<div class=\"flex align-items-center gap-1\">\n\t\t\t\t@for (display of enumArrayDisplays().slice(0, 2); track display; let i = $index) {\n\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i]\" [value]=\"display\" />\n\t\t\t\t}\n\t\t\t\t@if (enumArrayDisplays().length > 2) {\n\t\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"enumOp.toggle($event)\"></i>\n\n\t\t\t\t\t<p-overlayPanel #enumOp class=\"shadow-4\" appendTo=\"body\">\n\t\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\n\t\t\t\t\t\t\t@for (display of enumArrayDisplays() | slice: 2; track display; let i = $index) {\n\t\t\t\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i + 2]\" [value]=\"display\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</p-overlayPanel>\n\t\t\t\t}\n\t\t\t</div>\n\t\t} @else {\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\" />\n\t\t}\n\t} @else if (type() === 'array') {\n\t\t<div class=\"flex align-items-center gap-1\">\n\t\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track item) {\n\t\t\t\t<aril-badge [background]=\"getArrayItemValue(item) || '' | enumColorPicker\" [value]=\"getArrayItemValue(item)\" />\n\t\t\t}\n\t\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\n\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"op.toggle($event)\"></i>\n\n\t\t\t\t<p-overlayPanel #op class=\"shadow-4\" appendTo=\"body\">\n\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\n\t\t\t\t\t\t@for (item of model() | slice: arrayTypeMaxBadgeCount(); track item) {\n\t\t\t\t\t\t\t<aril-badge\n\t\t\t\t\t\t\t\t[background]=\"getArrayItemValue(item) || '' | enumColorPicker\"\n\t\t\t\t\t\t\t\t[value]=\"getArrayItemValue(item)\" />\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</p-overlayPanel>\n\t\t\t}\n\t\t</div>\n\t} @else {\n\t\t@if (display() == undefined) {\n\t\t\t<i\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\n\t\t\t\tstyle=\"color: red\"\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\n\t\t\t</i>\n\t\t} @else {\n\t\t\t<span class=\"flex align-items-center gap-2\">\n\t\t\t\t@if (showCopyIcon()) {\n\t\t\t\t\t<i\n\t\t\t\t\t\tclass=\"pi pi-copy cursor-pointer\"\n\t\t\t\t\t\t(click)=\"copyToClipboard(display()?.toString()); $event.stopPropagation()\"\n\t\t\t\t\t\tstyle=\"font-size: 1rem; color: green\"></i>\n\t\t\t\t}\n\t\t\t\t<span\n\t\t\t\t\t[pTooltip]=\"\n\t\t\t\t\t\ttype() === 'text' && isTextClamp() && display()?.toString().length > textClampCharacters() ?\n\t\t\t\t\t\t\tdisplay()?.toString()\n\t\t\t\t\t\t:\t''\n\t\t\t\t\t\"\n\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t[class.text-no-wrap]=\"isTextClamp()\"\n\t\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\n\t\t\t\t\t@if (type() === 'number' || type() === 'decimal') {\n\t\t\t\t\t\t{{ model() | number: getNumberFormat() : 'tr-TR' }}\n\t\t\t\t\t} @else if (type() === 'big_decimal') {\n\t\t\t\t\t\t{{ model() | roundNumber: bigDecimalScale() : bigDecimalRoundingMode() : 'tr-TR' }}\n\t\t\t\t\t} @else if (type() === 'currency') {\n\t\t\t\t\t\t{{ model() | currency: format() ?? 'TRY' : 'symbol' : '1.0-2' }}\n\t\t\t\t\t} @else if (type() === 'text' && isTextClamp()) {\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\tdisplay().length > textClampCharacters() ? display().slice(0, textClampCharacters()) + '...' : display()\n\t\t\t\t\t\t}}\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t{{ display() }}\n\t\t\t\t\t}\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t}\n\t}\n}\n", styles: [".text-no-wrap{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "aril-badge", inputs: ["icon", "value", "severity", "rounded", "background", "styleClass", "textColor", "borderColor"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i5.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "pipe", type: EnumColorPickerPipe, name: "enumColorPicker" }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: RoundNumberPipe, name: "roundNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
191
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ValueComponent, isStandalone: true, selector: "aril-value", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, isClickable: { classPropertyName: "isClickable", publicName: "isClickable", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, isTextClamp: { classPropertyName: "isTextClamp", publicName: "isTextClamp", isSignal: true, isRequired: false, transformFunction: null }, textClampCharacters: { classPropertyName: "textClampCharacters", publicName: "textClampCharacters", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, copyable: { classPropertyName: "copyable", publicName: "copyable", isSignal: true, isRequired: false, transformFunction: null }, shouldShowCopyForClampedText: { classPropertyName: "shouldShowCopyForClampedText", publicName: "shouldShowCopyForClampedText", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeDisplayName: { classPropertyName: "arrayTypeDisplayName", publicName: "arrayTypeDisplayName", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeMaxBadgeCount: { classPropertyName: "arrayTypeMaxBadgeCount", publicName: "arrayTypeMaxBadgeCount", isSignal: true, isRequired: false, transformFunction: null }, bigDecimalRoundingMode: { classPropertyName: "bigDecimalRoundingMode", publicName: "bigDecimalRoundingMode", isSignal: true, isRequired: false, transformFunction: null }, bigDecimalScale: { classPropertyName: "bigDecimalScale", publicName: "bigDecimalScale", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DialogService, DecimalPipe], ngImport: i0, template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (isModelArray()) {\r\n\t\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t\t@for (display of enumArrayDisplays().slice(0, 2); track display; let i = $index) {\r\n\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i]\" [value]=\"display\" />\r\n\t\t\t\t}\r\n\t\t\t\t@if (enumArrayDisplays().length > 2) {\r\n\t\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"enumOp.toggle($event)\"></i>\r\n\r\n\t\t\t\t\t<p-overlayPanel #enumOp class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t\t@for (display of enumArrayDisplays() | slice: 2; track display; let i = $index) {\r\n\t\t\t\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i + 2]\" [value]=\"display\" />\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</p-overlayPanel>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\" />\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track item) {\r\n\t\t\t\t<aril-badge [background]=\"getArrayItemValue(item) || '' | enumColorPicker\" [value]=\"getArrayItemValue(item)\" />\r\n\t\t\t}\r\n\t\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"op.toggle($event)\"></i>\r\n\r\n\t\t\t\t<p-overlayPanel #op class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t@for (item of model() | slice: arrayTypeMaxBadgeCount(); track item) {\r\n\t\t\t\t\t\t\t<aril-badge\r\n\t\t\t\t\t\t\t\t[background]=\"getArrayItemValue(item) || '' | enumColorPicker\"\r\n\t\t\t\t\t\t\t\t[value]=\"getArrayItemValue(item)\" />\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-overlayPanel>\r\n\t\t\t}\r\n\t\t</div>\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span class=\"flex align-items-center gap-2\">\r\n\t\t\t\t@if (showCopyIcon()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\tclass=\"pi pi-copy cursor-pointer\"\r\n\t\t\t\t\t\t(click)=\"copyToClipboard(display()?.toString()); $event.stopPropagation()\"\r\n\t\t\t\t\t\tstyle=\"font-size: 1rem; color: green\"></i>\r\n\t\t\t\t}\r\n\t\t\t\t<span\r\n\t\t\t\t\t[pTooltip]=\"\r\n\t\t\t\t\t\ttype() === 'text' && isTextClamp() && display()?.toString().length > textClampCharacters() ?\r\n\t\t\t\t\t\t\tdisplay()?.toString()\r\n\t\t\t\t\t\t:\t''\r\n\t\t\t\t\t\"\r\n\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t[class.text-no-wrap]=\"isTextClamp()\"\r\n\t\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\r\n\t\t\t\t\t@if (type() === 'number' || type() === 'decimal') {\r\n\t\t\t\t\t\t{{ model() | number: getNumberFormat() : 'tr-TR' }}\r\n\t\t\t\t\t} @else if (type() === 'big_decimal') {\r\n\t\t\t\t\t\t{{ model() | roundNumber: bigDecimalScale() : bigDecimalRoundingMode() : 'tr-TR' }}\r\n\t\t\t\t\t} @else if (type() === 'currency') {\r\n\t\t\t\t\t\t{{ model() | currency: format() ?? 'TRY' : 'symbol' : '1.0-2' }}\r\n\t\t\t\t\t} @else if (type() === 'text' && isTextClamp()) {\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tdisplay().length > textClampCharacters() ? display().slice(0, textClampCharacters()) + '...' : display()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t{{ display() }}\r\n\t\t\t\t\t}\r\n\t\t\t\t</span>\r\n\t\t\t</span>\r\n\t\t}\r\n\t}\r\n}\r\n", styles: [".text-no-wrap{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "aril-badge", inputs: ["icon", "value", "severity", "rounded", "background", "styleClass", "textColor", "borderColor"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i5.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "pipe", type: EnumColorPickerPipe, name: "enumColorPicker" }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: RoundNumberPipe, name: "roundNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
192
192
  }
193
193
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ValueComponent, decorators: [{
194
194
  type: Component,
@@ -202,6 +202,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
202
202
  DecimalPipe,
203
203
  CurrencyPipe,
204
204
  RoundNumberPipe
205
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [DialogService, DecimalPipe], template: "@if (model() == undefined || model() == null) {\n\t<i\n\t\tclass=\"pi pi-minus\"\n\t\tstyle=\"color: red\"\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\n} @else {\n\t@if (type() == 'bool') {\n\t\t@if (!!model()) {\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\n\t\t} @else {\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\n\t\t}\n\t} @else if (type() === 'enum') {\n\t\t@if (isModelArray()) {\n\t\t\t<div class=\"flex align-items-center gap-1\">\n\t\t\t\t@for (display of enumArrayDisplays().slice(0, 2); track display; let i = $index) {\n\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i]\" [value]=\"display\" />\n\t\t\t\t}\n\t\t\t\t@if (enumArrayDisplays().length > 2) {\n\t\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"enumOp.toggle($event)\"></i>\n\n\t\t\t\t\t<p-overlayPanel #enumOp class=\"shadow-4\" appendTo=\"body\">\n\t\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\n\t\t\t\t\t\t\t@for (display of enumArrayDisplays() | slice: 2; track display; let i = $index) {\n\t\t\t\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i + 2]\" [value]=\"display\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</p-overlayPanel>\n\t\t\t\t}\n\t\t\t</div>\n\t\t} @else {\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\" />\n\t\t}\n\t} @else if (type() === 'array') {\n\t\t<div class=\"flex align-items-center gap-1\">\n\t\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track item) {\n\t\t\t\t<aril-badge [background]=\"getArrayItemValue(item) || '' | enumColorPicker\" [value]=\"getArrayItemValue(item)\" />\n\t\t\t}\n\t\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\n\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"op.toggle($event)\"></i>\n\n\t\t\t\t<p-overlayPanel #op class=\"shadow-4\" appendTo=\"body\">\n\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\n\t\t\t\t\t\t@for (item of model() | slice: arrayTypeMaxBadgeCount(); track item) {\n\t\t\t\t\t\t\t<aril-badge\n\t\t\t\t\t\t\t\t[background]=\"getArrayItemValue(item) || '' | enumColorPicker\"\n\t\t\t\t\t\t\t\t[value]=\"getArrayItemValue(item)\" />\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</p-overlayPanel>\n\t\t\t}\n\t\t</div>\n\t} @else {\n\t\t@if (display() == undefined) {\n\t\t\t<i\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\n\t\t\t\tstyle=\"color: red\"\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\n\t\t\t</i>\n\t\t} @else {\n\t\t\t<span class=\"flex align-items-center gap-2\">\n\t\t\t\t@if (showCopyIcon()) {\n\t\t\t\t\t<i\n\t\t\t\t\t\tclass=\"pi pi-copy cursor-pointer\"\n\t\t\t\t\t\t(click)=\"copyToClipboard(display()?.toString()); $event.stopPropagation()\"\n\t\t\t\t\t\tstyle=\"font-size: 1rem; color: green\"></i>\n\t\t\t\t}\n\t\t\t\t<span\n\t\t\t\t\t[pTooltip]=\"\n\t\t\t\t\t\ttype() === 'text' && isTextClamp() && display()?.toString().length > textClampCharacters() ?\n\t\t\t\t\t\t\tdisplay()?.toString()\n\t\t\t\t\t\t:\t''\n\t\t\t\t\t\"\n\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t[class.text-no-wrap]=\"isTextClamp()\"\n\t\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\n\t\t\t\t\t@if (type() === 'number' || type() === 'decimal') {\n\t\t\t\t\t\t{{ model() | number: getNumberFormat() : 'tr-TR' }}\n\t\t\t\t\t} @else if (type() === 'big_decimal') {\n\t\t\t\t\t\t{{ model() | roundNumber: bigDecimalScale() : bigDecimalRoundingMode() : 'tr-TR' }}\n\t\t\t\t\t} @else if (type() === 'currency') {\n\t\t\t\t\t\t{{ model() | currency: format() ?? 'TRY' : 'symbol' : '1.0-2' }}\n\t\t\t\t\t} @else if (type() === 'text' && isTextClamp()) {\n\t\t\t\t\t\t{{\n\t\t\t\t\t\t\tdisplay().length > textClampCharacters() ? display().slice(0, textClampCharacters()) + '...' : display()\n\t\t\t\t\t\t}}\n\t\t\t\t\t} @else {\n\t\t\t\t\t\t{{ display() }}\n\t\t\t\t\t}\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t}\n\t}\n}\n", styles: [".text-no-wrap{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
205
+ ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [DialogService, DecimalPipe], template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (isModelArray()) {\r\n\t\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t\t@for (display of enumArrayDisplays().slice(0, 2); track display; let i = $index) {\r\n\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i]\" [value]=\"display\" />\r\n\t\t\t\t}\r\n\t\t\t\t@if (enumArrayDisplays().length > 2) {\r\n\t\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"enumOp.toggle($event)\"></i>\r\n\r\n\t\t\t\t\t<p-overlayPanel #enumOp class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t\t@for (display of enumArrayDisplays() | slice: 2; track display; let i = $index) {\r\n\t\t\t\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i + 2]\" [value]=\"display\" />\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</p-overlayPanel>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\" />\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track item) {\r\n\t\t\t\t<aril-badge [background]=\"getArrayItemValue(item) || '' | enumColorPicker\" [value]=\"getArrayItemValue(item)\" />\r\n\t\t\t}\r\n\t\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"op.toggle($event)\"></i>\r\n\r\n\t\t\t\t<p-overlayPanel #op class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t@for (item of model() | slice: arrayTypeMaxBadgeCount(); track item) {\r\n\t\t\t\t\t\t\t<aril-badge\r\n\t\t\t\t\t\t\t\t[background]=\"getArrayItemValue(item) || '' | enumColorPicker\"\r\n\t\t\t\t\t\t\t\t[value]=\"getArrayItemValue(item)\" />\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-overlayPanel>\r\n\t\t\t}\r\n\t\t</div>\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span class=\"flex align-items-center gap-2\">\r\n\t\t\t\t@if (showCopyIcon()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\tclass=\"pi pi-copy cursor-pointer\"\r\n\t\t\t\t\t\t(click)=\"copyToClipboard(display()?.toString()); $event.stopPropagation()\"\r\n\t\t\t\t\t\tstyle=\"font-size: 1rem; color: green\"></i>\r\n\t\t\t\t}\r\n\t\t\t\t<span\r\n\t\t\t\t\t[pTooltip]=\"\r\n\t\t\t\t\t\ttype() === 'text' && isTextClamp() && display()?.toString().length > textClampCharacters() ?\r\n\t\t\t\t\t\t\tdisplay()?.toString()\r\n\t\t\t\t\t\t:\t''\r\n\t\t\t\t\t\"\r\n\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t[class.text-no-wrap]=\"isTextClamp()\"\r\n\t\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\r\n\t\t\t\t\t@if (type() === 'number' || type() === 'decimal') {\r\n\t\t\t\t\t\t{{ model() | number: getNumberFormat() : 'tr-TR' }}\r\n\t\t\t\t\t} @else if (type() === 'big_decimal') {\r\n\t\t\t\t\t\t{{ model() | roundNumber: bigDecimalScale() : bigDecimalRoundingMode() : 'tr-TR' }}\r\n\t\t\t\t\t} @else if (type() === 'currency') {\r\n\t\t\t\t\t\t{{ model() | currency: format() ?? 'TRY' : 'symbol' : '1.0-2' }}\r\n\t\t\t\t\t} @else if (type() === 'text' && isTextClamp()) {\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tdisplay().length > textClampCharacters() ? display().slice(0, textClampCharacters()) + '...' : display()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t{{ display() }}\r\n\t\t\t\t\t}\r\n\t\t\t\t</span>\r\n\t\t\t</span>\r\n\t\t}\r\n\t}\r\n}\r\n", styles: [".text-no-wrap{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
206
206
  }], ctorParameters: () => [{ type: i1.TranslocoService }, { type: i2.SelectionGroupService }, { type: i3.MessageService }] });
207
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFHdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFrQ3hDLE1BQU0sT0FBTyxjQUFjO0lBMEIxQixZQUNRLGdCQUFrQyxFQUN4QixxQkFBNEMsRUFDNUMsY0FBOEI7UUFGeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUN4QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQTVCaEQsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW1DLENBQUM7UUFD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QywrQkFBK0IsQ0FBQztnQkFDekUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsaUNBQWlDLENBQUM7Z0JBQzFFLEdBQUcsRUFBRSxZQUFZO2FBQ2pCLENBQUMsQ0FBQztRQUNKLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDOUUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUM7Z0JBQ3hFLEdBQUcsRUFBRSxZQUFZO2FBQ2pCLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FDRCxDQUFDO0lBQ0gsQ0FBQzs4R0F6TlcsY0FBYztrR0FBZCxjQUFjLDRzRUFGZixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsMEJDL0N4Qyx1L0hBOEZBLHlKRDFERSxjQUFjLGdLQUNkLGFBQWEscVhBQ2IsZUFBZSw4QkFDZixrQkFBa0IsOFZBQ2xCLG1CQUFtQixtREFDbkIsU0FBUyx5Q0FDVCxXQUFXLDBDQUNYLFlBQVksNENBQ1osZUFBZTs7MkZBS0osY0FBYztrQkFuQjFCLFNBQVM7aUNBQ0csSUFBSSxZQUNOLFlBQVksV0FHYjt3QkFDUixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osZUFBZTtxQkFDZixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUsIERlY2ltYWxQaXBlLCBTbGljZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBEaWFsb2dTZXJ2aWNlIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7IE92ZXJsYXlQYW5lbE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvb3ZlcmxheXBhbmVsJztcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xuXG5pbXBvcnQgeyBUcmFuc2xvY29Nb2R1bGUsIFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IFNlbGVjdGlvbkdyb3VwU2VydmljZSB9IGZyb20gJ2FyaWwvdGhlbWUvbGF5b3V0JztcbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS9iYWRnZSc7XG5pbXBvcnQgeyBFbnVtQ29sb3JQaWNrZXJQaXBlIH0gZnJvbSAnYXJpbC91aS9saWInO1xuaW1wb3J0IHsgRGVjaW1hbFJvdW5kaW5nVHlwZSB9IGZyb20gJ2FyaWwvdXRpbC9saWInO1xuaW1wb3J0IHsgUm91bmROdW1iZXJQaXBlIH0gZnJvbSAnYXJpbC91dGlsL3BpcGVzJztcbmltcG9ydCAnYXJpbC91dGlsL3ByaW1pdGl2ZS1leHRlbnNpb25zJztcblxudHlwZSBWYWx1ZVR5cGVzID1cblx0fCAndGV4dCdcblx0fCAnbnVtYmVyJ1xuXHR8ICdib29sJ1xuXHR8ICdkZWNpbWFsJ1xuXHR8ICdiaWdfZGVjaW1hbCdcblx0fCAnZGF0ZSdcblx0fCAncGFzc3dvcmQnXG5cdHwgJ2VudW0nXG5cdHwgJ2FycmF5J1xuXHR8ICdpc29EYXRlJ1xuXHR8ICdjdXJyZW5jeSc7XG5cbkBDb21wb25lbnQoe1xuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzZWxlY3RvcjogJ2FyaWwtdmFsdWUnLFxuXHR0ZW1wbGF0ZVVybDogJy4vdmFsdWUuY29tcG9uZW50Lmh0bWwnLFxuXHRzdHlsZVVybDogJy4vdmFsdWUuY29tcG9uZW50LnNjc3MnLFxuXHRpbXBvcnRzOiBbXG5cdFx0QmFkZ2VDb21wb25lbnQsXG5cdFx0VG9vbHRpcE1vZHVsZSxcblx0XHRUcmFuc2xvY29Nb2R1bGUsXG5cdFx0T3ZlcmxheVBhbmVsTW9kdWxlLFxuXHRcdEVudW1Db2xvclBpY2tlclBpcGUsXG5cdFx0U2xpY2VQaXBlLFxuXHRcdERlY2ltYWxQaXBlLFxuXHRcdEN1cnJlbmN5UGlwZSxcblx0XHRSb3VuZE51bWJlclBpcGVcblx0XSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdHByb3ZpZGVyczogW0RpYWxvZ1NlcnZpY2UsIERlY2ltYWxQaXBlXVxufSlcbmV4cG9ydCBjbGFzcyBWYWx1ZUNvbXBvbmVudCB7XG5cdG1vZGVsID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IGFueT4oKTtcblx0dHlwZSA9IGlucHV0PFZhbHVlVHlwZXM+KCd0ZXh0Jyk7XG5cdGZvcm1hdCA9IGlucHV0PHN0cmluZz4oKTtcblx0aXNDbGlja2FibGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cdGdyb3VwTmFtZSA9IGlucHV0PHN0cmluZz4oKTtcblx0cGFyZW50U2VsZWN0aW9uS2V5ID0gaW5wdXQ8c3RyaW5nPignQUxMJyk7XG5cdGlzVGV4dENsYW1wID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG5cdHRleHRDbGFtcENoYXJhY3RlcnMgPSBpbnB1dDxudW1iZXI+KDUwKTtcblx0c3R5bGUgPSBpbnB1dDxzdHJpbmc+KCk7XG5cdGNvcHlhYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXHRzaG91bGRTaG93Q29weUZvckNsYW1wZWRUZXh0ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXHRzaG93Q29weUljb24gPSBjb21wdXRlZChcblx0XHQoKSA9PlxuXHRcdFx0KCF0aGlzLnNob3VsZFNob3dDb3B5Rm9yQ2xhbXBlZFRleHQoKSAmJiB0aGlzLmNvcHlhYmxlKCkpIHx8XG5cdFx0XHQodGhpcy5zaG91bGRTaG93Q29weUZvckNsYW1wZWRUZXh0KCkgJiYgdGhpcy5tb2RlbCgpLmxlbmd0aCA+IHRoaXMudGV4dENsYW1wQ2hhcmFjdGVycygpKVxuXHQpO1xuXG5cdC8vIG9ubHkgZm9yIGFycmF5IHR5cGVcblx0YXJyYXlUeXBlRGlzcGxheU5hbWUgPSBpbnB1dDxzdHJpbmc+KCd2YWx1ZURlc2MnKTtcblx0YXJyYXlUeXBlTWF4QmFkZ2VDb3VudCA9IGlucHV0PG51bWJlcj4oMyk7XG5cblx0Ly8gb25seSBmb3IgYmlnX2RlY2ltYWwgdHlwZVxuXHRiaWdEZWNpbWFsUm91bmRpbmdNb2RlID0gaW5wdXQ8RGVjaW1hbFJvdW5kaW5nVHlwZT4oKTtcblx0YmlnRGVjaW1hbFNjYWxlID0gaW5wdXQ8bnVtYmVyPigpO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHB1YmxpYyB0cmFuc2xvY29TZXJ2aWNlOiBUcmFuc2xvY29TZXJ2aWNlLFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgc2VsZWN0aW9uR3JvdXBTZXJ2aWNlOiBTZWxlY3Rpb25Hcm91cFNlcnZpY2UsXG5cdFx0cHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2Vcblx0KSB7XG5cdFx0dGhpcy50cmFuc2xvY29TZXJ2aWNlLmxhbmdDaGFuZ2VzJC5zdWJzY3JpYmUoKGxhbmcpID0+IHtcblx0XHRcdHRoaXMubGFuZ1NpZ25hbC5zZXQobGFuZyk7XG5cdFx0fSk7XG5cdH1cblxuXHRsYW5nU2lnbmFsID0gc2lnbmFsKHRoaXMudHJhbnNsb2NvU2VydmljZS5nZXRBY3RpdmVMYW5nKCkpO1xuXG5cdGdldE51bWJlckZvcm1hdCgpOiBzdHJpbmcge1xuXHRcdGlmICh0aGlzLnR5cGUoKSA9PT0gJ251bWJlcicpIHJldHVybiAnMS4wLTAnO1xuXHRcdGVsc2UgaWYgKHRoaXMudHlwZSgpID09PSAnZGVjaW1hbCcpIHtcblx0XHRcdGNvbnN0IGZvcm1hdCA9IHRoaXMuZm9ybWF0KCk7XG5cblx0XHRcdGlmICghZm9ybWF0KSByZXR1cm4gJzEuMC0zJztcblxuXHRcdFx0Ly8gRcSfZXIgZm9ybWF0IEFuZ3VsYXIgRGVjaW1hbFBpcGUgZm9ybWF0xLFuZGF5c2EgZGlyZWt0IGt1bGxhblxuXHRcdFx0aWYgKGZvcm1hdCAmJiB0eXBlb2YgZm9ybWF0ID09PSAnc3RyaW5nJyAmJiBmb3JtYXQubWF0Y2goL15cXGQrXFwuXFxkKy1cXGQrJC8pKSB7XG5cdFx0XHRcdHJldHVybiBmb3JtYXQ7XG5cdFx0XHR9XG5cdFx0XHQvLyBFxJ9lciBlc2tpIGZvcm1hdCBzdHJpbmcnaSB2YXJzYSAow7ZybjogIy4wMCkgb251IMOnZXZpclxuXHRcdFx0aWYgKGZvcm1hdCAmJiB0eXBlb2YgZm9ybWF0ID09PSAnc3RyaW5nJyAmJiBmb3JtYXQuaW5jbHVkZXMoJy4nKSkge1xuXHRcdFx0XHRjb25zdCBkZWNpbWFsUGxhY2VzID0gZm9ybWF0LnNwbGl0KCcuJylbMV0ubGVuZ3RoO1xuXHRcdFx0XHRyZXR1cm4gYDEuJHtkZWNpbWFsUGxhY2VzfS0ke2RlY2ltYWxQbGFjZXN9YDtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuICcnO1xuXHR9XG5cblx0Y29sb3JMaXN0ID0gW1xuXHRcdCcjMTg5MEZGJyxcblx0XHQnI0ZBQUQxNCcsXG5cdFx0JyM1MkM0MUEnLFxuXHRcdCcjNUQ2RDdFJyxcblx0XHQnI0ZGNkI2QicsXG5cdFx0JyMxM0MyQzInLFxuXHRcdCcjNThENjhEJyxcblx0XHQnIzcyMkVEMScsXG5cdFx0JyM4NUMxRTknLFxuXHRcdCcjYzQ5ZTA1ZmYnXG5cdF07XG5cblx0ZGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRzd2l0Y2ggKHRoaXMudHlwZSgpKSB7XG5cdFx0XHRjYXNlICd0ZXh0Jzpcblx0XHRcdGNhc2UgJ251bWJlcic6XG5cdFx0XHRjYXNlICdkZWNpbWFsJzpcblx0XHRcdGNhc2UgJ2N1cnJlbmN5Jzpcblx0XHRcdGNhc2UgJ2JpZ19kZWNpbWFsJzpcblx0XHRcdFx0cmV0dXJuIHRoaXMubW9kZWwoKTtcblx0XHRcdGNhc2UgJ2RhdGUnOlxuXHRcdFx0XHRyZXR1cm4gKDxudW1iZXI+dGhpcy5tb2RlbCgpKS5sb25nVG9TdHJpbmcodGhpcy5mb3JtYXQoKSA/PyAndGltZScpO1xuXHRcdFx0Y2FzZSAncGFzc3dvcmQnOlxuXHRcdFx0XHRyZXR1cm4gKDxzdHJpbmc+dGhpcy5tb2RlbCgpKS5yZXBsYWNlKC8uL2csICcqJyk7XG5cdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRjb25zb2xlLmVycm9yKFwiSW52YWxpZCB0eXBlOiAnXCIgKyB0aGlzLnR5cGUoKSArIFwiJ1wiKTtcblx0XHRcdFx0cmV0dXJuICcnO1xuXHRcdH1cblx0fSk7XG5cblx0ZW51bVNlbGVjdGlvbkRpc3BsYXkgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgY3VycmVudExhbmcgPSB0aGlzLmxhbmdTaWduYWwoKTtcblxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID1cblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3RoaXMuZ3JvdXBOYW1lKCkhfX4ke3RoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhfWBdO1xuXG5cdFx0aWYgKCFzZWxlY3Rpb25Hcm91cCkge1xuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2UuZmV0Y2hFbnVtKHRoaXMuZ3JvdXBOYW1lKCkhLCB0aGlzLnBhcmVudFNlbGVjdGlvbktleSgpISk7XG5cdFx0XHRyZXR1cm4gdGhpcy5tb2RlbCgpO1xuXHRcdH1cblxuXHRcdGNvbnN0IHJhd01vZGVsID0gdGhpcy5tb2RlbCgpO1xuXHRcdGNvbnN0IGtleSA9XG5cdFx0XHR0eXBlb2YgcmF3TW9kZWwgPT09ICdvYmplY3QnICYmIHJhd01vZGVsICE9PSBudWxsICYmICd2YWx1ZScgaW4gcmF3TW9kZWwgPyByYXdNb2RlbC52YWx1ZVxuXHRcdFx0OiB0eXBlb2YgcmF3TW9kZWwgPT09ICdib29sZWFuJyA/IFN0cmluZyhyYXdNb2RlbClcblx0XHRcdDogcmF3TW9kZWw7XG5cblx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uR3JvdXAuc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IGtleSkgYXMge1xuXHRcdFx0c2VsZWN0aW9uTXVsdGlMYW5ndWFnZURpc3BsYXlzPzogeyBbbGFuZzogc3RyaW5nXTogc3RyaW5nIH07XG5cdFx0XHRzZWxlY3Rpb25EaXNwbGF5Pzogc3RyaW5nO1xuXHRcdH07XG5cblx0XHRpZiAoIXNlbGVjdGlvbkl0ZW0pIHJldHVybiBrZXk7XG5cblx0XHRyZXR1cm4gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25NdWx0aUxhbmd1YWdlRGlzcGxheXM/LltjdXJyZW50TGFuZ10gPz8gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25EaXNwbGF5ID8/IGtleTtcblx0fSk7XG5cblx0ZW51bUJhZGdlQmFja2dyb3VuZENvbG9yID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGlmICh0eXBlb2YgdGhpcy5tb2RlbCgpID09PSAnYm9vbGVhbicpIHtcblx0XHRcdHJldHVybiB0aGlzLm1vZGVsKCkgPyAnIzIyYzU1ZScgOiAnI2VmNDQ0NCc7IC8vIHRydWUgacOnaW4geWXFn2lsLCBmYWxzZSBpw6dpbiBrxLFybcSxesSxXG5cdFx0fVxuXG5cdFx0Y29uc3Qgc2VsZWN0aW9uR3JvdXAgPVxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbYCR7dGhpcy5ncm91cE5hbWUoKSF9fiR7dGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSF9YF07XG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbXMgPSBzZWxlY3Rpb25Hcm91cD8uc2VsZWN0aW9uSXRlbXMgPz8gW107XG5cblx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IHRoaXMubW9kZWwoKSk7XG5cblx0XHRpZiAoIXNlbGVjdGlvbkl0ZW0pIHtcblx0XHRcdHJldHVybiAnIzE4OTBGRic7XG5cdFx0fSBlbHNlIGlmICh0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl0gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuY29sb3JMaXN0W3NlbGVjdGlvbkl0ZW0uc2hvd09yZGVyXTtcblx0XHR9XG5cdFx0cmV0dXJuICcjQTJBRkZGJztcblx0fSk7XG5cblx0Z2V0QXJyYXlJdGVtVmFsdWUoaXRlbTogYW55KTogYW55IHtcblx0XHRyZXR1cm4gaXRlbVt0aGlzLmFycmF5VHlwZURpc3BsYXlOYW1lKCldO1xuXHR9XG5cblx0aXNNb2RlbEFycmF5ID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubW9kZWwoKSk7XG5cdH0pO1xuXG5cdC8vIEdldCBlbnVtIGRpc3BsYXkgZm9yIGFycmF5IGl0ZW1zXG5cdGVudW1BcnJheURpc3BsYXlzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGlmICghdGhpcy5pc01vZGVsQXJyYXkoKSB8fCAhQXJyYXkuaXNBcnJheSh0aGlzLm1vZGVsKCkpKSByZXR1cm4gW107XG5cblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMubGFuZ1NpZ25hbCgpO1xuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID1cblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3RoaXMuZ3JvdXBOYW1lKCkhfX4ke3RoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhfWBdO1xuXG5cdFx0aWYgKCFzZWxlY3Rpb25Hcm91cCkge1xuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2UuZmV0Y2hFbnVtKHRoaXMuZ3JvdXBOYW1lKCkhLCB0aGlzLnBhcmVudFNlbGVjdGlvbktleSgpISk7XG5cdFx0XHRyZXR1cm4gdGhpcy5tb2RlbCgpIGFzIHN0cmluZ1tdO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLm1vZGVsKCkubWFwKChpdGVtOiBhbnkpID0+IHtcblx0XHRcdGNvbnN0IGtleSA9XG5cdFx0XHRcdHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICE9PSBudWxsICYmICd2YWx1ZScgaW4gaXRlbSA/IGl0ZW0udmFsdWVcblx0XHRcdFx0OiB0eXBlb2YgaXRlbSA9PT0gJ2Jvb2xlYW4nID8gU3RyaW5nKGl0ZW0pXG5cdFx0XHRcdDogaXRlbTtcblxuXHRcdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbSA9IHNlbGVjdGlvbkdyb3VwLnNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSBrZXkpIGFzIHtcblx0XHRcdFx0c2VsZWN0aW9uTXVsdGlMYW5ndWFnZURpc3BsYXlzPzogeyBbbGFuZzogc3RyaW5nXTogc3RyaW5nIH07XG5cdFx0XHRcdHNlbGVjdGlvbkRpc3BsYXk/OiBzdHJpbmc7XG5cdFx0XHR9O1xuXG5cdFx0XHRpZiAoIXNlbGVjdGlvbkl0ZW0pIHJldHVybiBrZXk7XG5cblx0XHRcdHJldHVybiBzZWxlY3Rpb25JdGVtLnNlbGVjdGlvbk11bHRpTGFuZ3VhZ2VEaXNwbGF5cz8uW2N1cnJlbnRMYW5nXSA/PyBzZWxlY3Rpb25JdGVtLnNlbGVjdGlvbkRpc3BsYXkgPz8ga2V5O1xuXHRcdH0pIGFzIHN0cmluZ1tdO1xuXHR9KTtcblxuXHQvLyBHZXQgZW51bSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgYXJyYXkgaXRlbXNcblx0ZW51bUFycmF5QmFja2dyb3VuZENvbG9ycyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRpZiAoIXRoaXMuaXNNb2RlbEFycmF5KCkgfHwgIUFycmF5LmlzQXJyYXkodGhpcy5tb2RlbCgpKSkgcmV0dXJuIFtdO1xuXG5cdFx0Y29uc3Qgc2VsZWN0aW9uR3JvdXAgPVxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbYCR7dGhpcy5ncm91cE5hbWUoKSF9fiR7dGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSF9YF07XG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbXMgPSBzZWxlY3Rpb25Hcm91cD8uc2VsZWN0aW9uSXRlbXMgPz8gW107XG5cblx0XHRyZXR1cm4gdGhpcy5tb2RlbCgpLm1hcCgoaXRlbTogYW55KSA9PiB7XG5cdFx0XHRpZiAodHlwZW9mIGl0ZW0gPT09ICdib29sZWFuJykge1xuXHRcdFx0XHRyZXR1cm4gaXRlbSA/ICcjMjJjNTVlJyA6ICcjZWY0NDQ0Jztcblx0XHRcdH1cblxuXHRcdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbSA9IHNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSBpdGVtKTtcblxuXHRcdFx0aWYgKCFzZWxlY3Rpb25JdGVtKSB7XG5cdFx0XHRcdHJldHVybiAnIzE4OTBGRic7XG5cdFx0XHR9IGVsc2UgaWYgKHRoaXMuY29sb3JMaXN0W3NlbGVjdGlvbkl0ZW0uc2hvd09yZGVyXSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl07XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gJyNBMkFGRkYnO1xuXHRcdH0pO1xuXHR9KTtcblxuXHRjb3B5VG9DbGlwYm9hcmQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuXHRcdGlmICghdmFsdWUpIHJldHVybjtcblx0XHRuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh2YWx1ZSkudGhlbihcblx0XHRcdCgpID0+IHtcblx0XHRcdFx0dGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuXHRcdFx0XHRcdHNldmVyaXR5OiAnc3VjY2VzcycsXG5cdFx0XHRcdFx0c3VtbWFyeTogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMuc3VjY2Vzc01lc3NhZ2VIZWFkZXInKSxcblx0XHRcdFx0XHRkZXRhaWw6IHRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ21lc3NhZ2VzLmNvcHlUb0NsaXBib2FyZFN1Y2Nlc3MnKSxcblx0XHRcdFx0XHRrZXk6ICd0b2FzdC1yb290J1xuXHRcdFx0XHR9KTtcblx0XHRcdH0sXG5cdFx0XHQoZXJyKSA9PiB7XG5cdFx0XHRcdHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcblx0XHRcdFx0XHRzZXZlcml0eTogJ2Vycm9yJyxcblx0XHRcdFx0XHRzdW1tYXJ5OiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy51bnN1Y2Nlc3NmdWxNZXNzYWdlSGVhZGVyJyksXG5cdFx0XHRcdFx0ZGV0YWlsOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5jb3B5VG9DbGlwYm9hcmRFcnJvcicpLFxuXHRcdFx0XHRcdGtleTogJ3RvYXN0LXJvb3QnXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdCk7XG5cdH1cbn1cbiIsIkBpZiAobW9kZWwoKSA9PSB1bmRlZmluZWQgfHwgbW9kZWwoKSA9PSBudWxsKSB7XG5cdDxpXG5cdFx0Y2xhc3M9XCJwaSBwaS1taW51c1wiXG5cdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcblx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMubm9JdGVtVG9TaG93JylcIj48L2k+XG59IEBlbHNlIHtcblx0QGlmICh0eXBlKCkgPT0gJ2Jvb2wnKSB7XG5cdFx0QGlmICghIW1vZGVsKCkpIHtcblx0XHRcdDxpIGNsYXNzPVwicGkgcGktY2hlY2tcIiBzdHlsZT1cImNvbG9yOiBncmVlblwiPjwvaT5cblx0XHR9IEBlbHNlIHtcblx0XHRcdDxpIGNsYXNzPVwicGkgcGktdGltZXNcIiBzdHlsZT1cImNvbG9yOiBjcmltc29uXCI+PC9pPlxuXHRcdH1cblx0fSBAZWxzZSBpZiAodHlwZSgpID09PSAnZW51bScpIHtcblx0XHRAaWYgKGlzTW9kZWxBcnJheSgpKSB7XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cblx0XHRcdFx0QGZvciAoZGlzcGxheSBvZiBlbnVtQXJyYXlEaXNwbGF5cygpLnNsaWNlKDAsIDIpOyB0cmFjayBkaXNwbGF5OyBsZXQgaSA9ICRpbmRleCkge1xuXHRcdFx0XHRcdDxhcmlsLWJhZGdlIFtiYWNrZ3JvdW5kXT1cImVudW1BcnJheUJhY2tncm91bmRDb2xvcnMoKVtpXVwiIFt2YWx1ZV09XCJkaXNwbGF5XCIgLz5cblx0XHRcdFx0fVxuXHRcdFx0XHRAaWYgKGVudW1BcnJheURpc3BsYXlzKCkubGVuZ3RoID4gMikge1xuXHRcdFx0XHRcdDxpIGNsYXNzPVwicGkgcGktZWxsaXBzaXMtdiBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJlbnVtT3AudG9nZ2xlKCRldmVudClcIj48L2k+XG5cblx0XHRcdFx0XHQ8cC1vdmVybGF5UGFuZWwgI2VudW1PcCBjbGFzcz1cInNoYWRvdy00XCIgYXBwZW5kVG89XCJib2R5XCI+XG5cdFx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtMiBtYXgtdy0zMHJlbSBtYXgtaC0yMHJlbSBwci0zIG92ZXJmbG93LXktYXV0b1wiPlxuXHRcdFx0XHRcdFx0XHRAZm9yIChkaXNwbGF5IG9mIGVudW1BcnJheURpc3BsYXlzKCkgfCBzbGljZTogMjsgdHJhY2sgZGlzcGxheTsgbGV0IGkgPSAkaW5kZXgpIHtcblx0XHRcdFx0XHRcdFx0XHQ8YXJpbC1iYWRnZSBbYmFja2dyb3VuZF09XCJlbnVtQXJyYXlCYWNrZ3JvdW5kQ29sb3JzKClbaSArIDJdXCIgW3ZhbHVlXT1cImRpc3BsYXlcIiAvPlxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8L3Atb3ZlcmxheVBhbmVsPlxuXHRcdFx0XHR9XG5cdFx0XHQ8L2Rpdj5cblx0XHR9IEBlbHNlIHtcblx0XHRcdDxhcmlsLWJhZGdlIFtiYWNrZ3JvdW5kXT1cImVudW1CYWRnZUJhY2tncm91bmRDb2xvcigpXCIgW3ZhbHVlXT1cImVudW1TZWxlY3Rpb25EaXNwbGF5KClcIiAvPlxuXHRcdH1cblx0fSBAZWxzZSBpZiAodHlwZSgpID09PSAnYXJyYXknKSB7XG5cdFx0PGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCI+XG5cdFx0XHRAZm9yIChpdGVtIG9mIG1vZGVsKCkuc2xpY2UoMCwgYXJyYXlUeXBlTWF4QmFkZ2VDb3VudCgpKTsgdHJhY2sgaXRlbSkge1xuXHRcdFx0XHQ8YXJpbC1iYWRnZSBbYmFja2dyb3VuZF09XCJnZXRBcnJheUl0ZW1WYWx1ZShpdGVtKSB8fCAnJyB8IGVudW1Db2xvclBpY2tlclwiIFt2YWx1ZV09XCJnZXRBcnJheUl0ZW1WYWx1ZShpdGVtKVwiIC8+XG5cdFx0XHR9XG5cdFx0XHRAaWYgKG1vZGVsKCkubGVuZ3RoID4gYXJyYXlUeXBlTWF4QmFkZ2VDb3VudCgpKSB7XG5cdFx0XHRcdDxpIGNsYXNzPVwicGkgcGktZWxsaXBzaXMtdiBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJvcC50b2dnbGUoJGV2ZW50KVwiPjwvaT5cblxuXHRcdFx0XHQ8cC1vdmVybGF5UGFuZWwgI29wIGNsYXNzPVwic2hhZG93LTRcIiBhcHBlbmRUbz1cImJvZHlcIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtMiBtYXgtdy0zMHJlbSBtYXgtaC0yMHJlbSBwci0zIG92ZXJmbG93LXktYXV0b1wiPlxuXHRcdFx0XHRcdFx0QGZvciAoaXRlbSBvZiBtb2RlbCgpIHwgc2xpY2U6IGFycmF5VHlwZU1heEJhZGdlQ291bnQoKTsgdHJhY2sgaXRlbSkge1xuXHRcdFx0XHRcdFx0XHQ8YXJpbC1iYWRnZVxuXHRcdFx0XHRcdFx0XHRcdFtiYWNrZ3JvdW5kXT1cImdldEFycmF5SXRlbVZhbHVlKGl0ZW0pIHx8ICcnIHwgZW51bUNvbG9yUGlja2VyXCJcblx0XHRcdFx0XHRcdFx0XHRbdmFsdWVdPVwiZ2V0QXJyYXlJdGVtVmFsdWUoaXRlbSlcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L3Atb3ZlcmxheVBhbmVsPlxuXHRcdFx0fVxuXHRcdDwvZGl2PlxuXHR9IEBlbHNlIHtcblx0XHRAaWYgKGRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcblx0XHRcdDxpXG5cdFx0XHRcdGNsYXNzPVwicGkgcGktZXhjbGFtYXRpb24tY2lyY2xlXCJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcblx0XHRcdFx0W3BUb29sdGlwXT1cInRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3ZhbGlkYXRpb25zLmludmFsaWREYXRhRm9ybWF0JylcIj5cblx0XHRcdDwvaT5cblx0XHR9IEBlbHNlIHtcblx0XHRcdDxzcGFuIGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTJcIj5cblx0XHRcdFx0QGlmIChzaG93Q29weUljb24oKSkge1xuXHRcdFx0XHRcdDxpXG5cdFx0XHRcdFx0XHRjbGFzcz1cInBpIHBpLWNvcHkgY3Vyc29yLXBvaW50ZXJcIlxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImNvcHlUb0NsaXBib2FyZChkaXNwbGF5KCk/LnRvU3RyaW5nKCkpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuXHRcdFx0XHRcdFx0c3R5bGU9XCJmb250LXNpemU6IDFyZW07IGNvbG9yOiBncmVlblwiPjwvaT5cblx0XHRcdFx0fVxuXHRcdFx0XHQ8c3BhblxuXHRcdFx0XHRcdFtwVG9vbHRpcF09XCJcblx0XHRcdFx0XHRcdHR5cGUoKSA9PT0gJ3RleHQnICYmIGlzVGV4dENsYW1wKCkgJiYgZGlzcGxheSgpPy50b1N0cmluZygpLmxlbmd0aCA+IHRleHRDbGFtcENoYXJhY3RlcnMoKSA/XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXkoKT8udG9TdHJpbmcoKVxuXHRcdFx0XHRcdFx0Olx0Jydcblx0XHRcdFx0XHRcIlxuXHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXG5cdFx0XHRcdFx0W2NsYXNzLnRleHQtbm8td3JhcF09XCJpc1RleHRDbGFtcCgpXCJcblx0XHRcdFx0XHRbc3R5bGVdPVwiaXNDbGlja2FibGUoKSA/IHsgJ3RleHQtZGVjb3JhdGlvbic6ICd1bmRlcmxpbmUnLCBjb2xvcjogJyMwMDAwRUUnLCBjdXJzb3I6ICdwb2ludGVyJyB9IDogJydcIj5cblx0XHRcdFx0XHRAaWYgKHR5cGUoKSA9PT0gJ251bWJlcicgfHwgdHlwZSgpID09PSAnZGVjaW1hbCcpIHtcblx0XHRcdFx0XHRcdHt7IG1vZGVsKCkgfCBudW1iZXI6IGdldE51bWJlckZvcm1hdCgpIDogJ3RyLVRSJyB9fVxuXHRcdFx0XHRcdH0gQGVsc2UgaWYgKHR5cGUoKSA9PT0gJ2JpZ19kZWNpbWFsJykge1xuXHRcdFx0XHRcdFx0e3sgbW9kZWwoKSB8IHJvdW5kTnVtYmVyOiBiaWdEZWNpbWFsU2NhbGUoKSA6IGJpZ0RlY2ltYWxSb3VuZGluZ01vZGUoKSA6ICd0ci1UUicgfX1cblx0XHRcdFx0XHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdjdXJyZW5jeScpIHtcblx0XHRcdFx0XHRcdHt7IG1vZGVsKCkgfCBjdXJyZW5jeTogZm9ybWF0KCkgPz8gJ1RSWScgOiAnc3ltYm9sJyA6ICcxLjAtMicgfX1cblx0XHRcdFx0XHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICd0ZXh0JyAmJiBpc1RleHRDbGFtcCgpKSB7XG5cdFx0XHRcdFx0XHR7e1xuXHRcdFx0XHRcdFx0XHRkaXNwbGF5KCkubGVuZ3RoID4gdGV4dENsYW1wQ2hhcmFjdGVycygpID8gZGlzcGxheSgpLnNsaWNlKDAsIHRleHRDbGFtcENoYXJhY3RlcnMoKSkgKyAnLi4uJyA6IGRpc3BsYXkoKVxuXHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHR9IEBlbHNlIHtcblx0XHRcdFx0XHRcdHt7IGRpc3BsYXkoKSB9fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0PC9zcGFuPlxuXHRcdH1cblx0fVxufVxuIl19
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFHdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFrQ3hDLE1BQU0sT0FBTyxjQUFjO0lBMEIxQixZQUNRLGdCQUFrQyxFQUN4QixxQkFBNEMsRUFDNUMsY0FBOEI7UUFGeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUN4QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQTVCaEQsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW1DLENBQUM7UUFD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QywrQkFBK0IsQ0FBQztnQkFDekUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsaUNBQWlDLENBQUM7Z0JBQzFFLEdBQUcsRUFBRSxZQUFZO2FBQ2pCLENBQUMsQ0FBQztRQUNKLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDOUUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUM7Z0JBQ3hFLEdBQUcsRUFBRSxZQUFZO2FBQ2pCLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FDRCxDQUFDO0lBQ0gsQ0FBQzs4R0F6TlcsY0FBYztrR0FBZCxjQUFjLDRzRUFGZixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsMEJDL0N4QyxtcklBOEZBLHlKRDFERSxjQUFjLGdLQUNkLGFBQWEscVhBQ2IsZUFBZSw4QkFDZixrQkFBa0IsOFZBQ2xCLG1CQUFtQixtREFDbkIsU0FBUyx5Q0FDVCxXQUFXLDBDQUNYLFlBQVksNENBQ1osZUFBZTs7MkZBS0osY0FBYztrQkFuQjFCLFNBQVM7aUNBQ0csSUFBSSxZQUNOLFlBQVksV0FHYjt3QkFDUixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osZUFBZTtxQkFDZixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUsIERlY2ltYWxQaXBlLCBTbGljZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvTW9kdWxlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5cclxuaW1wb3J0IHsgU2VsZWN0aW9uR3JvdXBTZXJ2aWNlIH0gZnJvbSAnYXJpbC90aGVtZS9sYXlvdXQnO1xyXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvYmFkZ2UnO1xyXG5pbXBvcnQgeyBFbnVtQ29sb3JQaWNrZXJQaXBlIH0gZnJvbSAnYXJpbC91aS9saWInO1xyXG5pbXBvcnQgeyBEZWNpbWFsUm91bmRpbmdUeXBlIH0gZnJvbSAnYXJpbC91dGlsL2xpYic7XHJcbmltcG9ydCB7IFJvdW5kTnVtYmVyUGlwZSB9IGZyb20gJ2FyaWwvdXRpbC9waXBlcyc7XHJcbmltcG9ydCAnYXJpbC91dGlsL3ByaW1pdGl2ZS1leHRlbnNpb25zJztcclxuXHJcbnR5cGUgVmFsdWVUeXBlcyA9XHJcblx0fCAndGV4dCdcclxuXHR8ICdudW1iZXInXHJcblx0fCAnYm9vbCdcclxuXHR8ICdkZWNpbWFsJ1xyXG5cdHwgJ2JpZ19kZWNpbWFsJ1xyXG5cdHwgJ2RhdGUnXHJcblx0fCAncGFzc3dvcmQnXHJcblx0fCAnZW51bSdcclxuXHR8ICdhcnJheSdcclxuXHR8ICdpc29EYXRlJ1xyXG5cdHwgJ2N1cnJlbmN5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcmlsLXZhbHVlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdmFsdWUuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi92YWx1ZS5jb21wb25lbnQuc2NzcycsXHJcblx0aW1wb3J0czogW1xyXG5cdFx0QmFkZ2VDb21wb25lbnQsXHJcblx0XHRUb29sdGlwTW9kdWxlLFxyXG5cdFx0VHJhbnNsb2NvTW9kdWxlLFxyXG5cdFx0T3ZlcmxheVBhbmVsTW9kdWxlLFxyXG5cdFx0RW51bUNvbG9yUGlja2VyUGlwZSxcclxuXHRcdFNsaWNlUGlwZSxcclxuXHRcdERlY2ltYWxQaXBlLFxyXG5cdFx0Q3VycmVuY3lQaXBlLFxyXG5cdFx0Um91bmROdW1iZXJQaXBlXHJcblx0XSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuXHRwcm92aWRlcnM6IFtEaWFsb2dTZXJ2aWNlLCBEZWNpbWFsUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbHVlQ29tcG9uZW50IHtcclxuXHRtb2RlbCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBhbnk+KCk7XHJcblx0dHlwZSA9IGlucHV0PFZhbHVlVHlwZXM+KCd0ZXh0Jyk7XHJcblx0Zm9ybWF0ID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cdGlzQ2xpY2thYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGdyb3VwTmFtZSA9IGlucHV0PHN0cmluZz4oKTtcclxuXHRwYXJlbnRTZWxlY3Rpb25LZXkgPSBpbnB1dDxzdHJpbmc+KCdBTEwnKTtcclxuXHRpc1RleHRDbGFtcCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdHRleHRDbGFtcENoYXJhY3RlcnMgPSBpbnB1dDxudW1iZXI+KDUwKTtcclxuXHRzdHlsZSA9IGlucHV0PHN0cmluZz4oKTtcclxuXHRjb3B5YWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRzaG91bGRTaG93Q29weUZvckNsYW1wZWRUZXh0ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHNob3dDb3B5SWNvbiA9IGNvbXB1dGVkKFxyXG5cdFx0KCkgPT5cclxuXHRcdFx0KCF0aGlzLnNob3VsZFNob3dDb3B5Rm9yQ2xhbXBlZFRleHQoKSAmJiB0aGlzLmNvcHlhYmxlKCkpIHx8XHJcblx0XHRcdCh0aGlzLnNob3VsZFNob3dDb3B5Rm9yQ2xhbXBlZFRleHQoKSAmJiB0aGlzLm1vZGVsKCkubGVuZ3RoID4gdGhpcy50ZXh0Q2xhbXBDaGFyYWN0ZXJzKCkpXHJcblx0KTtcclxuXHJcblx0Ly8gb25seSBmb3IgYXJyYXkgdHlwZVxyXG5cdGFycmF5VHlwZURpc3BsYXlOYW1lID0gaW5wdXQ8c3RyaW5nPigndmFsdWVEZXNjJyk7XHJcblx0YXJyYXlUeXBlTWF4QmFkZ2VDb3VudCA9IGlucHV0PG51bWJlcj4oMyk7XHJcblxyXG5cdC8vIG9ubHkgZm9yIGJpZ19kZWNpbWFsIHR5cGVcclxuXHRiaWdEZWNpbWFsUm91bmRpbmdNb2RlID0gaW5wdXQ8RGVjaW1hbFJvdW5kaW5nVHlwZT4oKTtcclxuXHRiaWdEZWNpbWFsU2NhbGUgPSBpbnB1dDxudW1iZXI+KCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2UsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGlvbkdyb3VwU2VydmljZTogU2VsZWN0aW9uR3JvdXBTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuXHQpIHtcclxuXHRcdHRoaXMudHJhbnNsb2NvU2VydmljZS5sYW5nQ2hhbmdlcyQuc3Vic2NyaWJlKChsYW5nKSA9PiB7XHJcblx0XHRcdHRoaXMubGFuZ1NpZ25hbC5zZXQobGFuZyk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGxhbmdTaWduYWwgPSBzaWduYWwodGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKSk7XHJcblxyXG5cdGdldE51bWJlckZvcm1hdCgpOiBzdHJpbmcge1xyXG5cdFx0aWYgKHRoaXMudHlwZSgpID09PSAnbnVtYmVyJykgcmV0dXJuICcxLjAtMCc7XHJcblx0XHRlbHNlIGlmICh0aGlzLnR5cGUoKSA9PT0gJ2RlY2ltYWwnKSB7XHJcblx0XHRcdGNvbnN0IGZvcm1hdCA9IHRoaXMuZm9ybWF0KCk7XHJcblxyXG5cdFx0XHRpZiAoIWZvcm1hdCkgcmV0dXJuICcxLjAtMyc7XHJcblxyXG5cdFx0XHQvLyBFxJ9lciBmb3JtYXQgQW5ndWxhciBEZWNpbWFsUGlwZSBmb3JtYXTEsW5kYXlzYSBkaXJla3Qga3VsbGFuXHJcblx0XHRcdGlmIChmb3JtYXQgJiYgdHlwZW9mIGZvcm1hdCA9PT0gJ3N0cmluZycgJiYgZm9ybWF0Lm1hdGNoKC9eXFxkK1xcLlxcZCstXFxkKyQvKSkge1xyXG5cdFx0XHRcdHJldHVybiBmb3JtYXQ7XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gRcSfZXIgZXNraSBmb3JtYXQgc3RyaW5nJ2kgdmFyc2EgKMO2cm46ICMuMDApIG9udSDDp2V2aXJcclxuXHRcdFx0aWYgKGZvcm1hdCAmJiB0eXBlb2YgZm9ybWF0ID09PSAnc3RyaW5nJyAmJiBmb3JtYXQuaW5jbHVkZXMoJy4nKSkge1xyXG5cdFx0XHRcdGNvbnN0IGRlY2ltYWxQbGFjZXMgPSBmb3JtYXQuc3BsaXQoJy4nKVsxXS5sZW5ndGg7XHJcblx0XHRcdFx0cmV0dXJuIGAxLiR7ZGVjaW1hbFBsYWNlc30tJHtkZWNpbWFsUGxhY2VzfWA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiAnJztcclxuXHR9XHJcblxyXG5cdGNvbG9yTGlzdCA9IFtcclxuXHRcdCcjMTg5MEZGJyxcclxuXHRcdCcjRkFBRDE0JyxcclxuXHRcdCcjNTJDNDFBJyxcclxuXHRcdCcjNUQ2RDdFJyxcclxuXHRcdCcjRkY2QjZCJyxcclxuXHRcdCcjMTNDMkMyJyxcclxuXHRcdCcjNThENjhEJyxcclxuXHRcdCcjNzIyRUQxJyxcclxuXHRcdCcjODVDMUU5JyxcclxuXHRcdCcjYzQ5ZTA1ZmYnXHJcblx0XTtcclxuXHJcblx0ZGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdHN3aXRjaCAodGhpcy50eXBlKCkpIHtcclxuXHRcdFx0Y2FzZSAndGV4dCc6XHJcblx0XHRcdGNhc2UgJ251bWJlcic6XHJcblx0XHRcdGNhc2UgJ2RlY2ltYWwnOlxyXG5cdFx0XHRjYXNlICdjdXJyZW5jeSc6XHJcblx0XHRcdGNhc2UgJ2JpZ19kZWNpbWFsJzpcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5tb2RlbCgpO1xyXG5cdFx0XHRjYXNlICdkYXRlJzpcclxuXHRcdFx0XHRyZXR1cm4gKDxudW1iZXI+dGhpcy5tb2RlbCgpKS5sb25nVG9TdHJpbmcodGhpcy5mb3JtYXQoKSA/PyAndGltZScpO1xyXG5cdFx0XHRjYXNlICdwYXNzd29yZCc6XHJcblx0XHRcdFx0cmV0dXJuICg8c3RyaW5nPnRoaXMubW9kZWwoKSkucmVwbGFjZSgvLi9nLCAnKicpO1xyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoXCJJbnZhbGlkIHR5cGU6ICdcIiArIHRoaXMudHlwZSgpICsgXCInXCIpO1xyXG5cdFx0XHRcdHJldHVybiAnJztcclxuXHRcdH1cclxuXHR9KTtcclxuXHJcblx0ZW51bVNlbGVjdGlvbkRpc3BsYXkgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMubGFuZ1NpZ25hbCgpO1xyXG5cclxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID1cclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbYCR7dGhpcy5ncm91cE5hbWUoKSF9fiR7dGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSF9YF07XHJcblxyXG5cdFx0aWYgKCFzZWxlY3Rpb25Hcm91cCkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5mZXRjaEVudW0odGhpcy5ncm91cE5hbWUoKSEsIHRoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhKTtcclxuXHRcdFx0cmV0dXJuIHRoaXMubW9kZWwoKTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCByYXdNb2RlbCA9IHRoaXMubW9kZWwoKTtcclxuXHRcdGNvbnN0IGtleSA9XHJcblx0XHRcdHR5cGVvZiByYXdNb2RlbCA9PT0gJ29iamVjdCcgJiYgcmF3TW9kZWwgIT09IG51bGwgJiYgJ3ZhbHVlJyBpbiByYXdNb2RlbCA/IHJhd01vZGVsLnZhbHVlXHJcblx0XHRcdDogdHlwZW9mIHJhd01vZGVsID09PSAnYm9vbGVhbicgPyBTdHJpbmcocmF3TW9kZWwpXHJcblx0XHRcdDogcmF3TW9kZWw7XHJcblxyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbSA9IHNlbGVjdGlvbkdyb3VwLnNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSBrZXkpIGFzIHtcclxuXHRcdFx0c2VsZWN0aW9uTXVsdGlMYW5ndWFnZURpc3BsYXlzPzogeyBbbGFuZzogc3RyaW5nXTogc3RyaW5nIH07XHJcblx0XHRcdHNlbGVjdGlvbkRpc3BsYXk/OiBzdHJpbmc7XHJcblx0XHR9O1xyXG5cclxuXHRcdGlmICghc2VsZWN0aW9uSXRlbSkgcmV0dXJuIGtleTtcclxuXHJcblx0XHRyZXR1cm4gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25NdWx0aUxhbmd1YWdlRGlzcGxheXM/LltjdXJyZW50TGFuZ10gPz8gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25EaXNwbGF5ID8/IGtleTtcclxuXHR9KTtcclxuXHJcblx0ZW51bUJhZGdlQmFja2dyb3VuZENvbG9yID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0aWYgKHR5cGVvZiB0aGlzLm1vZGVsKCkgPT09ICdib29sZWFuJykge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5tb2RlbCgpID8gJyMyMmM1NWUnIDogJyNlZjQ0NDQnOyAvLyB0cnVlIGnDp2luIHllxZ9pbCwgZmFsc2UgacOnaW4ga8Sxcm3EsXrEsVxyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID1cclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbYCR7dGhpcy5ncm91cE5hbWUoKSF9fiR7dGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSF9YF07XHJcblx0XHRjb25zdCBzZWxlY3Rpb25JdGVtcyA9IHNlbGVjdGlvbkdyb3VwPy5zZWxlY3Rpb25JdGVtcyA/PyBbXTtcclxuXHJcblx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IHRoaXMubW9kZWwoKSk7XHJcblxyXG5cdFx0aWYgKCFzZWxlY3Rpb25JdGVtKSB7XHJcblx0XHRcdHJldHVybiAnIzE4OTBGRic7XHJcblx0XHR9IGVsc2UgaWYgKHRoaXMuY29sb3JMaXN0W3NlbGVjdGlvbkl0ZW0uc2hvd09yZGVyXSAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl07XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gJyNBMkFGRkYnO1xyXG5cdH0pO1xyXG5cclxuXHRnZXRBcnJheUl0ZW1WYWx1ZShpdGVtOiBhbnkpOiBhbnkge1xyXG5cdFx0cmV0dXJuIGl0ZW1bdGhpcy5hcnJheVR5cGVEaXNwbGF5TmFtZSgpXTtcclxuXHR9XHJcblxyXG5cdGlzTW9kZWxBcnJheSA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubW9kZWwoKSk7XHJcblx0fSk7XHJcblxyXG5cdC8vIEdldCBlbnVtIGRpc3BsYXkgZm9yIGFycmF5IGl0ZW1zXHJcblx0ZW51bUFycmF5RGlzcGxheXMgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRpZiAoIXRoaXMuaXNNb2RlbEFycmF5KCkgfHwgIUFycmF5LmlzQXJyYXkodGhpcy5tb2RlbCgpKSkgcmV0dXJuIFtdO1xyXG5cclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy5sYW5nU2lnbmFsKCk7XHJcblx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3RoaXMuZ3JvdXBOYW1lKCkhfX4ke3RoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhfWBdO1xyXG5cclxuXHRcdGlmICghc2VsZWN0aW9uR3JvdXApIHtcclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2UuZmV0Y2hFbnVtKHRoaXMuZ3JvdXBOYW1lKCkhLCB0aGlzLnBhcmVudFNlbGVjdGlvbktleSgpISk7XHJcblx0XHRcdHJldHVybiB0aGlzLm1vZGVsKCkgYXMgc3RyaW5nW107XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMubW9kZWwoKS5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG5cdFx0XHRjb25zdCBrZXkgPVxyXG5cdFx0XHRcdHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICE9PSBudWxsICYmICd2YWx1ZScgaW4gaXRlbSA/IGl0ZW0udmFsdWVcclxuXHRcdFx0XHQ6IHR5cGVvZiBpdGVtID09PSAnYm9vbGVhbicgPyBTdHJpbmcoaXRlbSlcclxuXHRcdFx0XHQ6IGl0ZW07XHJcblxyXG5cdFx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uR3JvdXAuc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IGtleSkgYXMge1xyXG5cdFx0XHRcdHNlbGVjdGlvbk11bHRpTGFuZ3VhZ2VEaXNwbGF5cz86IHsgW2xhbmc6IHN0cmluZ106IHN0cmluZyB9O1xyXG5cdFx0XHRcdHNlbGVjdGlvbkRpc3BsYXk/OiBzdHJpbmc7XHJcblx0XHRcdH07XHJcblxyXG5cdFx0XHRpZiAoIXNlbGVjdGlvbkl0ZW0pIHJldHVybiBrZXk7XHJcblxyXG5cdFx0XHRyZXR1cm4gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25NdWx0aUxhbmd1YWdlRGlzcGxheXM/LltjdXJyZW50TGFuZ10gPz8gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25EaXNwbGF5ID8/IGtleTtcclxuXHRcdH0pIGFzIHN0cmluZ1tdO1xyXG5cdH0pO1xyXG5cclxuXHQvLyBHZXQgZW51bSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgYXJyYXkgaXRlbXNcclxuXHRlbnVtQXJyYXlCYWNrZ3JvdW5kQ29sb3JzID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0aWYgKCF0aGlzLmlzTW9kZWxBcnJheSgpIHx8ICFBcnJheS5pc0FycmF5KHRoaXMubW9kZWwoKSkpIHJldHVybiBbXTtcclxuXHJcblx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3RoaXMuZ3JvdXBOYW1lKCkhfX4ke3RoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhfWBdO1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbXMgPSBzZWxlY3Rpb25Hcm91cD8uc2VsZWN0aW9uSXRlbXMgPz8gW107XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMubW9kZWwoKS5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG5cdFx0XHRpZiAodHlwZW9mIGl0ZW0gPT09ICdib29sZWFuJykge1xyXG5cdFx0XHRcdHJldHVybiBpdGVtID8gJyMyMmM1NWUnIDogJyNlZjQ0NDQnO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IGl0ZW0pO1xyXG5cclxuXHRcdFx0aWYgKCFzZWxlY3Rpb25JdGVtKSB7XHJcblx0XHRcdFx0cmV0dXJuICcjMTg5MEZGJztcclxuXHRcdFx0fSBlbHNlIGlmICh0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl0gIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl07XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuICcjQTJBRkZGJztcclxuXHRcdH0pO1xyXG5cdH0pO1xyXG5cclxuXHRjb3B5VG9DbGlwYm9hcmQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKCF2YWx1ZSkgcmV0dXJuO1xyXG5cdFx0bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodmFsdWUpLnRoZW4oXHJcblx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XHJcblx0XHRcdFx0XHRzZXZlcml0eTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0c3VtbWFyeTogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMuc3VjY2Vzc01lc3NhZ2VIZWFkZXInKSxcclxuXHRcdFx0XHRcdGRldGFpbDogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMuY29weVRvQ2xpcGJvYXJkU3VjY2VzcycpLFxyXG5cdFx0XHRcdFx0a2V5OiAndG9hc3Qtcm9vdCdcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0KGVycikgPT4ge1xyXG5cdFx0XHRcdHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcclxuXHRcdFx0XHRcdHNldmVyaXR5OiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0c3VtbWFyeTogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMudW5zdWNjZXNzZnVsTWVzc2FnZUhlYWRlcicpLFxyXG5cdFx0XHRcdFx0ZGV0YWlsOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5jb3B5VG9DbGlwYm9hcmRFcnJvcicpLFxyXG5cdFx0XHRcdFx0a2V5OiAndG9hc3Qtcm9vdCdcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuIiwiQGlmIChtb2RlbCgpID09IHVuZGVmaW5lZCB8fCBtb2RlbCgpID09IG51bGwpIHtcclxuXHQ8aVxyXG5cdFx0Y2xhc3M9XCJwaSBwaS1taW51c1wiXHJcblx0XHRzdHlsZT1cImNvbG9yOiByZWRcIlxyXG5cdFx0W3BUb29sdGlwXT1cInRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3ZhbGlkYXRpb25zLm5vSXRlbVRvU2hvdycpXCI+PC9pPlxyXG59IEBlbHNlIHtcclxuXHRAaWYgKHR5cGUoKSA9PSAnYm9vbCcpIHtcclxuXHRcdEBpZiAoISFtb2RlbCgpKSB7XHJcblx0XHRcdDxpIGNsYXNzPVwicGkgcGktY2hlY2tcIiBzdHlsZT1cImNvbG9yOiBncmVlblwiPjwvaT5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8aSBjbGFzcz1cInBpIHBpLXRpbWVzXCIgc3R5bGU9XCJjb2xvcjogY3JpbXNvblwiPjwvaT5cclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdlbnVtJykge1xyXG5cdFx0QGlmIChpc01vZGVsQXJyYXkoKSkge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuXHRcdFx0XHRAZm9yIChkaXNwbGF5IG9mIGVudW1BcnJheURpc3BsYXlzKCkuc2xpY2UoMCwgMik7IHRyYWNrIGRpc3BsYXk7IGxldCBpID0gJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8YXJpbC1iYWRnZSBbYmFja2dyb3VuZF09XCJlbnVtQXJyYXlCYWNrZ3JvdW5kQ29sb3JzKClbaV1cIiBbdmFsdWVdPVwiZGlzcGxheVwiIC8+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpZiAoZW51bUFycmF5RGlzcGxheXMoKS5sZW5ndGggPiAyKSB7XHJcblx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWVsbGlwc2lzLXYgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZW51bU9wLnRvZ2dsZSgkZXZlbnQpXCI+PC9pPlxyXG5cclxuXHRcdFx0XHRcdDxwLW92ZXJsYXlQYW5lbCAjZW51bU9wIGNsYXNzPVwic2hhZG93LTRcIiBhcHBlbmRUbz1cImJvZHlcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gZ2FwLTIgbWF4LXctMzByZW0gbWF4LWgtMjByZW0gcHItMyBvdmVyZmxvdy15LWF1dG9cIj5cclxuXHRcdFx0XHRcdFx0XHRAZm9yIChkaXNwbGF5IG9mIGVudW1BcnJheURpc3BsYXlzKCkgfCBzbGljZTogMjsgdHJhY2sgZGlzcGxheTsgbGV0IGkgPSAkaW5kZXgpIHtcclxuXHRcdFx0XHRcdFx0XHRcdDxhcmlsLWJhZGdlIFtiYWNrZ3JvdW5kXT1cImVudW1BcnJheUJhY2tncm91bmRDb2xvcnMoKVtpICsgMl1cIiBbdmFsdWVdPVwiZGlzcGxheVwiIC8+XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvcC1vdmVybGF5UGFuZWw+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8YXJpbC1iYWRnZSBbYmFja2dyb3VuZF09XCJlbnVtQmFkZ2VCYWNrZ3JvdW5kQ29sb3IoKVwiIFt2YWx1ZV09XCJlbnVtU2VsZWN0aW9uRGlzcGxheSgpXCIgLz5cclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdhcnJheScpIHtcclxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG5cdFx0XHRAZm9yIChpdGVtIG9mIG1vZGVsKCkuc2xpY2UoMCwgYXJyYXlUeXBlTWF4QmFkZ2VDb3VudCgpKTsgdHJhY2sgaXRlbSkge1xyXG5cdFx0XHRcdDxhcmlsLWJhZGdlIFtiYWNrZ3JvdW5kXT1cImdldEFycmF5SXRlbVZhbHVlKGl0ZW0pIHx8ICcnIHwgZW51bUNvbG9yUGlja2VyXCIgW3ZhbHVlXT1cImdldEFycmF5SXRlbVZhbHVlKGl0ZW0pXCIgLz5cclxuXHRcdFx0fVxyXG5cdFx0XHRAaWYgKG1vZGVsKCkubGVuZ3RoID4gYXJyYXlUeXBlTWF4QmFkZ2VDb3VudCgpKSB7XHJcblx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1lbGxpcHNpcy12IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9wLnRvZ2dsZSgkZXZlbnQpXCI+PC9pPlxyXG5cclxuXHRcdFx0XHQ8cC1vdmVybGF5UGFuZWwgI29wIGNsYXNzPVwic2hhZG93LTRcIiBhcHBlbmRUbz1cImJvZHlcIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGdhcC0yIG1heC13LTMwcmVtIG1heC1oLTIwcmVtIHByLTMgb3ZlcmZsb3cteS1hdXRvXCI+XHJcblx0XHRcdFx0XHRcdEBmb3IgKGl0ZW0gb2YgbW9kZWwoKSB8IHNsaWNlOiBhcnJheVR5cGVNYXhCYWRnZUNvdW50KCk7IHRyYWNrIGl0ZW0pIHtcclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1iYWRnZVxyXG5cdFx0XHRcdFx0XHRcdFx0W2JhY2tncm91bmRdPVwiZ2V0QXJyYXlJdGVtVmFsdWUoaXRlbSkgfHwgJycgfCBlbnVtQ29sb3JQaWNrZXJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W3ZhbHVlXT1cImdldEFycmF5SXRlbVZhbHVlKGl0ZW0pXCIgLz5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9wLW92ZXJsYXlQYW5lbD5cclxuXHRcdFx0fVxyXG5cdFx0PC9kaXY+XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAaWYgKGRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMuaW52YWxpZERhdGFGb3JtYXQnKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG5cdFx0XHRcdEBpZiAoc2hvd0NvcHlJY29uKCkpIHtcclxuXHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwicGkgcGktY29weSBjdXJzb3ItcG9pbnRlclwiXHJcblx0XHRcdFx0XHRcdChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoZGlzcGxheSgpPy50b1N0cmluZygpKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuXHRcdFx0XHRcdFx0c3R5bGU9XCJmb250LXNpemU6IDFyZW07IGNvbG9yOiBncmVlblwiPjwvaT5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0PHNwYW5cclxuXHRcdFx0XHRcdFtwVG9vbHRpcF09XCJcclxuXHRcdFx0XHRcdFx0dHlwZSgpID09PSAndGV4dCcgJiYgaXNUZXh0Q2xhbXAoKSAmJiBkaXNwbGF5KCk/LnRvU3RyaW5nKCkubGVuZ3RoID4gdGV4dENsYW1wQ2hhcmFjdGVycygpID9cclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5KCk/LnRvU3RyaW5nKClcclxuXHRcdFx0XHRcdFx0Olx0JydcclxuXHRcdFx0XHRcdFwiXHJcblx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG5cdFx0XHRcdFx0W2NsYXNzLnRleHQtbm8td3JhcF09XCJpc1RleHRDbGFtcCgpXCJcclxuXHRcdFx0XHRcdFtzdHlsZV09XCJpc0NsaWNrYWJsZSgpID8geyAndGV4dC1kZWNvcmF0aW9uJzogJ3VuZGVybGluZScsIGNvbG9yOiAnIzAwMDBFRScsIGN1cnNvcjogJ3BvaW50ZXInIH0gOiAnJ1wiPlxyXG5cdFx0XHRcdFx0QGlmICh0eXBlKCkgPT09ICdudW1iZXInIHx8IHR5cGUoKSA9PT0gJ2RlY2ltYWwnKSB7XHJcblx0XHRcdFx0XHRcdHt7IG1vZGVsKCkgfCBudW1iZXI6IGdldE51bWJlckZvcm1hdCgpIDogJ3RyLVRSJyB9fVxyXG5cdFx0XHRcdFx0fSBAZWxzZSBpZiAodHlwZSgpID09PSAnYmlnX2RlY2ltYWwnKSB7XHJcblx0XHRcdFx0XHRcdHt7IG1vZGVsKCkgfCByb3VuZE51bWJlcjogYmlnRGVjaW1hbFNjYWxlKCkgOiBiaWdEZWNpbWFsUm91bmRpbmdNb2RlKCkgOiAndHItVFInIH19XHJcblx0XHRcdFx0XHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdjdXJyZW5jeScpIHtcclxuXHRcdFx0XHRcdFx0e3sgbW9kZWwoKSB8IGN1cnJlbmN5OiBmb3JtYXQoKSA/PyAnVFJZJyA6ICdzeW1ib2wnIDogJzEuMC0yJyB9fVxyXG5cdFx0XHRcdFx0fSBAZWxzZSBpZiAodHlwZSgpID09PSAndGV4dCcgJiYgaXNUZXh0Q2xhbXAoKSkge1xyXG5cdFx0XHRcdFx0XHR7e1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXkoKS5sZW5ndGggPiB0ZXh0Q2xhbXBDaGFyYWN0ZXJzKCkgPyBkaXNwbGF5KCkuc2xpY2UoMCwgdGV4dENsYW1wQ2hhcmFjdGVycygpKSArICcuLi4nIDogZGlzcGxheSgpXHJcblx0XHRcdFx0XHRcdH19XHJcblx0XHRcdFx0XHR9IEBlbHNlIHtcclxuXHRcdFx0XHRcdFx0e3sgZGlzcGxheSgpIH19XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC9zcGFuPlxyXG5cdFx0XHQ8L3NwYW4+XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -1,4 +1,4 @@
1
- import { Component, DestroyRef, EventEmitter, Output, ViewChild, inject, input, signal } from '@angular/core';
1
+ import { Component, DestroyRef, EventEmitter, Output, ViewChild, effect, inject, input, signal } from '@angular/core';
2
2
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
3
  import { ReactiveFormsModule } from '@angular/forms';
4
4
  import { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';
@@ -10,15 +10,17 @@ import { BaseInputComponent, ValueAccessorDirective } from 'aril/ui/lib';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@angular/common/http";
12
12
  import * as i2 from "@ngneat/transloco";
13
- import * as i3 from "aril/ui/lib";
14
- import * as i4 from "@angular/forms";
15
- import * as i5 from "primeng/autocomplete";
16
- import * as i6 from "primeng/api";
13
+ import * as i3 from "aril/theme/layout";
14
+ import * as i4 from "aril/ui/lib";
15
+ import * as i5 from "@angular/forms";
16
+ import * as i6 from "primeng/autocomplete";
17
+ import * as i7 from "primeng/api";
17
18
  export class AssetPickerComponent extends BaseInputComponent {
18
- constructor(http, translocoService) {
19
+ constructor(http, translocoService, selectionGroupService) {
19
20
  super();
20
21
  this.http = http;
21
22
  this.translocoService = translocoService;
23
+ this.selectionGroupService = selectionGroupService;
22
24
  this.assetCode = input(null);
23
25
  this.type = input(null);
24
26
  this.placeholder = input('Arama...');
@@ -28,36 +30,24 @@ export class AssetPickerComponent extends BaseInputComponent {
28
30
  this.optionValue = input(null);
29
31
  this.appendTo = input('body');
30
32
  this.mql = input();
33
+ this.showOnlyAssetNumber = input(false);
31
34
  this.isUpdateMode = signal(false);
32
35
  this.cacheSearchRequest$ = new Subject();
33
36
  this.destroyRef = inject(DestroyRef);
34
37
  this.selectedDefinitionEvent = new EventEmitter();
38
+ effect(() => {
39
+ this.selectionGroupService.selectionGroups();
40
+ if (this.selectionDefinitions) {
41
+ this.refreshFilteredSelectionItems();
42
+ }
43
+ });
35
44
  }
36
45
  ngOnInit() {
37
46
  this.cacheSearchRequest$
38
47
  .pipe(switchMap((payload) => this.http.post(API_CONFIGS.getExternalAppEndpoint(Apps.MNG) + '/master-data/cache-search', payload)), takeUntilDestroyed(this.destroyRef))
39
48
  .subscribe((selectionGroup) => {
40
49
  this.selectionDefinitions = selectionGroup;
41
- const newFilteredGroupSuggestions = [];
42
- Object.keys(selectionGroup).forEach((key) => {
43
- const groupData = {
44
- text: selectionGroup[key]?.result[0]?.assets[0]?.assetDefinitionName,
45
- key: key,
46
- items: selectionGroup[key].result.map((item) => ({
47
- key: item.id,
48
- text: this.getAttiributesValueDescr(item.attributes),
49
- attributes: item.attributes,
50
- assetDefinitionCode: item.assetDefinitionCode
51
- }))
52
- };
53
- newFilteredGroupSuggestions.push(groupData);
54
- // If the string value is patched in update mode and there is group data, select the first item
55
- if (this.isUpdateMode() && groupData.items.length === 1 && !this.multiple()) {
56
- this.ngControl?.control?.setValue(groupData.items[0]);
57
- this.isUpdateMode.set(false);
58
- }
59
- });
60
- this.filteredSelectionItems = newFilteredGroupSuggestions;
50
+ this.refreshFilteredSelectionItems();
61
51
  });
62
52
  // If the form control's value is a string, perform a cache search to retrieve the ID.
63
53
  const currentValue = this.ngControl?.control?.value;
@@ -66,6 +56,31 @@ export class AssetPickerComponent extends BaseInputComponent {
66
56
  this.search({ query: currentValue });
67
57
  }
68
58
  }
59
+ refreshFilteredSelectionItems() {
60
+ if (!this.selectionDefinitions)
61
+ return;
62
+ const newFilteredGroupSuggestions = [];
63
+ Object.keys(this.selectionDefinitions).forEach((key) => {
64
+ const groupData = {
65
+ text: this.selectionDefinitions[key]?.result[0]?.assets[0]?.assetDefinitionName,
66
+ key: key,
67
+ items: this.selectionDefinitions[key].result.map((item) => ({
68
+ key: item.id,
69
+ text: this.getAttiributesValueDescr(item.attributes),
70
+ assetNumber: this.getAssetNumberValue(item.attributes),
71
+ attributes: item.attributes,
72
+ assetDefinitionCode: item.assetDefinitionCode
73
+ }))
74
+ };
75
+ newFilteredGroupSuggestions.push(groupData);
76
+ // If the string value is patched in update mode and there is group data, select the first item
77
+ if (this.isUpdateMode() && groupData.items.length === 1 && !this.multiple()) {
78
+ this.ngControl?.control?.setValue(groupData.items[0]);
79
+ this.isUpdateMode.set(false);
80
+ }
81
+ });
82
+ this.filteredSelectionItems = newFilteredGroupSuggestions;
83
+ }
69
84
  ngAfterViewInit() {
70
85
  this.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);
71
86
  }
@@ -106,13 +121,38 @@ export class AssetPickerComponent extends BaseInputComponent {
106
121
  this.cacheSearchRequest$.next(payload);
107
122
  }
108
123
  getAttiributesValueDescr(attributes) {
124
+ const excludedAttributes = ['AssetId', 'AssetDefinitionName'];
109
125
  return attributes
126
+ ?.filter((attr) => !excludedAttributes.includes(attr.attribute?.attributeCode))
110
127
  ?.map((attr) => {
128
+ // Handle SELECT type attributes using SelectionGroupService
129
+ if (attr.attribute?.attributeType === 'SELECT' && attr.attribute?.selectOption) {
130
+ return this.getSelectionDisplay(attr.attribute.selectOption, attr.value);
131
+ }
111
132
  const value = attr.valueDesc ? attr.valueDesc : attr.value;
112
133
  return typeof value === 'object' ? JSON.stringify(value) : String(value);
113
134
  })
114
135
  .join(' - ');
115
136
  }
137
+ getAssetNumberValue(attributes) {
138
+ const assetNumberAttr = attributes?.find((attr) => attr.attribute?.attributeCode === 'AssetNumber');
139
+ if (!assetNumberAttr)
140
+ return '';
141
+ return String(assetNumberAttr.valueDesc || assetNumberAttr.value || '');
142
+ }
143
+ getSelectionDisplay(groupName, value) {
144
+ const key = `${groupName}~ALL`;
145
+ const selectionGroup = this.selectionGroupService.selectionGroups()[key];
146
+ if (!selectionGroup) {
147
+ this.selectionGroupService.fetchEnum(groupName, 'ALL');
148
+ return value;
149
+ }
150
+ const currentLang = this.translocoService.getActiveLang();
151
+ const selectionItem = selectionGroup.selectionItems?.find((t) => t.selectionKey === value);
152
+ if (!selectionItem)
153
+ return value;
154
+ return selectionItem.selectionMultiLanguageDisplays?.[currentLang] ?? selectionItem.selectionDisplay ?? value;
155
+ }
116
156
  triggerSelectedEvents(event) {
117
157
  const selectedItems = Object.keys(this.selectionDefinitions).map((key) => {
118
158
  return this.selectionDefinitions[key].result.find((item) => item.id === event?.value?.key);
@@ -127,16 +167,16 @@ export class AssetPickerComponent extends BaseInputComponent {
127
167
  };
128
168
  this.selectedDefinitionEvent.emit(selectedEvent);
129
169
  }
130
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AssetPickerComponent, deps: [{ token: i1.HttpClient }, { token: i2.TranslocoService }], target: i0.ɵɵFactoryTarget.Component }); }
131
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: AssetPickerComponent, isStandalone: true, selector: "aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]", inputs: { assetCode: { classPropertyName: "assetCode", publicName: "assetCode", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, mql: { classPropertyName: "mql", publicName: "mql", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedDefinitionEvent: "selectedDefinitionEvent" }, viewQueries: [{ propertyName: "autoCompleteRef", first: true, predicate: AutoComplete, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i3.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\n\toptionLabel=\"text\"\n\t[optionValue]=\"optionValue()!\"\n\t[placeholder]=\"placeholder()\"\n\t[multiple]=\"multiple()\"\n\t[group]=\"true\"\n\t[forceSelection]=\"forceSelection()\"\n\t[delay]=\"700\"\n\t[minLength]=\"3\"\n\t[suggestions]=\"filteredSelectionItems\"\n\t(completeMethod)=\"search($event)\"\n\t[formControl]=\"ngControl.control\"\n\t[autoHighlight]=\"true\"\n\t[type]=\"type()!\"\n\t(ngModelChange)=\"onNgModelChange($event)\"\n\t[showClear]=\"showClear()\"\n\t[emptyMessage]=\"translocoService.translate('messages.noDataToDisplay')\"\n\t(onSelect)=\"triggerSelectedEvents($event)\"\n\t[appendTo]=\"appendTo()\"\n\t(keyup.enter)=\"search($event)\">\n\t<ng-template let-group pTemplate=\"group\">\n\t\t<span class=\"font-bold\">{{ group.text }}</span>\n\t</ng-template>\n</p-autoComplete>\n", styles: ["::ng-deep .p-autocomplete-multiple-container{flex-wrap:wrap;max-height:50px;overflow-y:auto;align-items:center}::ng-deep .p-autocomplete-token{margin:0;flex-shrink:0}::ng-deep .p-autocomplete-input-token{flex:1;min-width:150px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i5.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
170
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AssetPickerComponent, deps: [{ token: i1.HttpClient }, { token: i2.TranslocoService }, { token: i3.SelectionGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
171
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: AssetPickerComponent, isStandalone: true, selector: "aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]", inputs: { assetCode: { classPropertyName: "assetCode", publicName: "assetCode", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, mql: { classPropertyName: "mql", publicName: "mql", isSignal: true, isRequired: false, transformFunction: null }, showOnlyAssetNumber: { classPropertyName: "showOnlyAssetNumber", publicName: "showOnlyAssetNumber", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedDefinitionEvent: "selectedDefinitionEvent" }, viewQueries: [{ propertyName: "autoCompleteRef", first: true, predicate: AutoComplete, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i4.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"700\"\r\n\t[minLength]=\"3\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t[type]=\"type()!\"\r\n\t(ngModelChange)=\"onNgModelChange($event)\"\r\n\t[showClear]=\"showClear()\"\r\n\t[emptyMessage]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t(onSelect)=\"triggerSelectedEvents($event)\"\r\n\t[appendTo]=\"appendTo()\"\r\n\t(keyup.enter)=\"search($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<span class=\"font-bold\">{{ group.text }}</span>\r\n\t</ng-template>\r\n\t@if (showOnlyAssetNumber()) {\r\n\t\t<ng-template let-value pTemplate=\"selectedItem\">\r\n\t\t\t<span>{{ value?.assetNumber || value?.text }}</span>\r\n\t\t</ng-template>\r\n\t}\r\n</p-autoComplete>\r\n", styles: ["::ng-deep .p-autocomplete-multiple-container{flex-wrap:wrap;max-height:50px;overflow-y:auto;align-items:center}::ng-deep .p-autocomplete-token{margin:0;flex-shrink:0}::ng-deep .p-autocomplete-input-token{flex:1;min-width:150px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i6.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i7.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
132
172
  }
133
173
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AssetPickerComponent, decorators: [{
134
174
  type: Component,
135
- args: [{ standalone: true, selector: 'aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]', imports: [ReactiveFormsModule, AutoCompleteModule], hostDirectives: [ValueAccessorDirective], template: "<p-autoComplete\n\toptionLabel=\"text\"\n\t[optionValue]=\"optionValue()!\"\n\t[placeholder]=\"placeholder()\"\n\t[multiple]=\"multiple()\"\n\t[group]=\"true\"\n\t[forceSelection]=\"forceSelection()\"\n\t[delay]=\"700\"\n\t[minLength]=\"3\"\n\t[suggestions]=\"filteredSelectionItems\"\n\t(completeMethod)=\"search($event)\"\n\t[formControl]=\"ngControl.control\"\n\t[autoHighlight]=\"true\"\n\t[type]=\"type()!\"\n\t(ngModelChange)=\"onNgModelChange($event)\"\n\t[showClear]=\"showClear()\"\n\t[emptyMessage]=\"translocoService.translate('messages.noDataToDisplay')\"\n\t(onSelect)=\"triggerSelectedEvents($event)\"\n\t[appendTo]=\"appendTo()\"\n\t(keyup.enter)=\"search($event)\">\n\t<ng-template let-group pTemplate=\"group\">\n\t\t<span class=\"font-bold\">{{ group.text }}</span>\n\t</ng-template>\n</p-autoComplete>\n", styles: ["::ng-deep .p-autocomplete-multiple-container{flex-wrap:wrap;max-height:50px;overflow-y:auto;align-items:center}::ng-deep .p-autocomplete-token{margin:0;flex-shrink:0}::ng-deep .p-autocomplete-input-token{flex:1;min-width:150px}\n"] }]
136
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.TranslocoService }], propDecorators: { autoCompleteRef: [{
175
+ args: [{ standalone: true, selector: 'aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]', imports: [ReactiveFormsModule, AutoCompleteModule], hostDirectives: [ValueAccessorDirective], template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"700\"\r\n\t[minLength]=\"3\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t[type]=\"type()!\"\r\n\t(ngModelChange)=\"onNgModelChange($event)\"\r\n\t[showClear]=\"showClear()\"\r\n\t[emptyMessage]=\"translocoService.translate('messages.noDataToDisplay')\"\r\n\t(onSelect)=\"triggerSelectedEvents($event)\"\r\n\t[appendTo]=\"appendTo()\"\r\n\t(keyup.enter)=\"search($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<span class=\"font-bold\">{{ group.text }}</span>\r\n\t</ng-template>\r\n\t@if (showOnlyAssetNumber()) {\r\n\t\t<ng-template let-value pTemplate=\"selectedItem\">\r\n\t\t\t<span>{{ value?.assetNumber || value?.text }}</span>\r\n\t\t</ng-template>\r\n\t}\r\n</p-autoComplete>\r\n", styles: ["::ng-deep .p-autocomplete-multiple-container{flex-wrap:wrap;max-height:50px;overflow-y:auto;align-items:center}::ng-deep .p-autocomplete-token{margin:0;flex-shrink:0}::ng-deep .p-autocomplete-input-token{flex:1;min-width:150px}\n"] }]
176
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.TranslocoService }, { type: i3.SelectionGroupService }], propDecorators: { autoCompleteRef: [{
137
177
  type: ViewChild,
138
178
  args: [AutoComplete]
139
179
  }], selectedDefinitionEvent: [{
140
180
  type: Output
141
181
  }] } });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWktYnVzaW5lc3MvYXNzZXRQaWNrZXIvc3JjL2Fzc2V0LXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL2Fzc2V0UGlja2VyL3NyYy9hc3NldC1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUVaLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHNUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7O0FBdUN6RSxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBb0IzRCxZQUNrQixJQUFnQixFQUMxQixnQkFBa0M7UUFFekMsS0FBSyxFQUFFLENBQUM7UUFIUyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQzFCLHFCQUFnQixHQUFoQixn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c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtcblx0QWZ0ZXJWaWV3SW5pdCxcblx0Q29tcG9uZW50LFxuXHREZXN0cm95UmVmLFxuXHRFdmVudEVtaXR0ZXIsXG5cdE9uSW5pdCxcblx0T3V0cHV0LFxuXHRWaWV3Q2hpbGQsXG5cdGluamVjdCxcblx0aW5wdXQsXG5cdHNpZ25hbFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEF1dG9Db21wbGV0ZSwgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdwcmltZW5nL3V0aWxzJztcblxuaW1wb3J0IHsgVHJhbnNsb2NvU2VydmljZSB9IGZyb20gJ0BuZ25lYXQvdHJhbnNsb2NvJztcbmltcG9ydCB7IFN1YmplY3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBUElfQ09ORklHUyB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBpJztcbmltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xuaW1wb3J0IHsgQmFzZUlucHV0Q29tcG9uZW50LCBWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlIH0gZnJvbSAnYXJpbC91aS9saWInO1xuXG5pbXBvcnQge1xuXHRBc3NldEFnZ3JlZ2F0ZSxcblx0QXR0cmlidXRlRWxlbWVudCxcblx0Q2FjaGVTZWFyY2hSZXF1ZXN0RFRPLFxuXHREZWZhdWx0U2VhcmNoQWdncmVnYXRlQXNzZXRBZ2dyZWdhdGUsXG5cdFN1Z2dlc3Rpb25zRFRPLFxuXHRTdWdnZXN0aW9uc0dyb3VwRFRPXG59IGZyb20gJy4vaW50ZXJmYWNlJztcblxudHlwZSBWYWx1ZVR5cGVzID0gJ3RleHQnIHwgJ251bWJlcic7XG5AQ29tcG9uZW50KHtcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2VsZWN0b3I6ICdhcmlsLWFzc2V0LXBpY2tlcltuZ01vZGVsXSwgYXJpbC1hc3NldC1waWNrZXJbZm9ybUNvbnRyb2xdLCBhcmlsLWFzc2V0LXBpY2tlcltmb3JtQ29udHJvbE5hbWVdJyxcblx0dGVtcGxhdGVVcmw6ICcuL2Fzc2V0LXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG5cdHN0eWxlczogW1xuXHRcdGBcblx0XHRcdDo6bmctZGVlcCAucC1hdXRvY29tcGxldGUtbXVsdGlwbGUtY29udGFpbmVyIHtcblx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRtYXgtaGVpZ2h0OiA1MHB4O1xuXHRcdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0fVxuXG5cdFx0XHQ6Om5nLWRlZXAgLnAtYXV0b2NvbXBsZXRlLXRva2VuIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRmbGV4LXNocmluazogMDtcblx0XHRcdH1cblxuXHRcdFx0OjpuZy1kZWVwIC5wLWF1dG9jb21wbGV0ZS1pbnB1dC10b2tlbiB7XG5cdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdG1pbi13aWR0aDogMTUwcHg7XG5cdFx0XHR9XG5cdFx0YFxuXHRdLFxuXHRpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgQXV0b0NvbXBsZXRlTW9kdWxlXSxcblx0aG9zdERpcmVjdGl2ZXM6IFtWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBBc3NldFBpY2tlckNvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCB7XG5cdEBWaWV3Q2hpbGQoQXV0b0NvbXBsZXRlKSBhdXRvQ29tcGxldGVSZWYhOiBBdXRvQ29tcGxldGU7XG5cdGFzc2V0Q29kZSA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbD4obnVsbCk7XG5cdHR5cGUgPSBpbnB1dDxWYWx1ZVR5cGVzIHwgbnVsbD4obnVsbCk7XG5cblx0cGxhY2Vob2xkZXIgPSBpbnB1dDxzdHJpbmc+KCdBcmFtYS4uLicpO1xuXHRmb3JjZVNlbGVjdGlvbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblx0bXVsdGlwbGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG5cdHNob3dDbGVhciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblx0b3B0aW9uVmFsdWUgPSBpbnB1dDxrZXlvZiBTdWdnZXN0aW9uc0RUTyB8IG51bGw+KG51bGwpO1xuXHRhcHBlbmRUbyA9IGlucHV0PHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbD4oJ2JvZHknKTtcblx0bXFsID0gaW5wdXQ8c3RyaW5nPigpO1xuXHRpc1VwZGF0ZU1vZGUgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuXG5cdGZpbHRlcmVkU2VsZWN0aW9uSXRlbXMhOiBTdWdnZXN0aW9uc0dyb3VwRFRPW107XG5cdHNlbGVjdGlvbkRlZmluaXRpb25zITogRGVmYXVsdFNlYXJjaEFnZ3JlZ2F0ZUFzc2V0QWdncmVnYXRlO1xuXHRjYWNoZVNlYXJjaFJlcXVlc3QkID0gbmV3IFN1YmplY3Q8Q2FjaGVTZWFyY2hSZXF1ZXN0RFRPPigpO1xuXHRkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXHRAT3V0cHV0KCkgc2VsZWN0ZWREZWZpbml0aW9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxBc3NldEFnZ3JlZ2F0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFzc2V0QWdncmVnYXRlPigpO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcblx0XHRwdWJsaWMgdHJhbnNsb2NvU2VydmljZTogVHJhbnNsb2NvU2VydmljZVxuXHQpIHtcblx0XHRzdXBlcigpO1xuXHR9XG5cblx0bmdPbkluaXQoKSB7XG5cdFx0dGhpcy5jYWNoZVNlYXJjaFJlcXVlc3QkXG5cdFx0XHQucGlwZShcblx0XHRcdFx0c3dpdGNoTWFwKChwYXlsb2FkKSA9PlxuXHRcdFx0XHRcdHRoaXMuaHR0cC5wb3N0PGFueT4oQVBJX0NPTkZJR1MuZ2V0RXh0ZXJuYWxBcHBFbmRwb2ludChBcHBzLk1ORykgKyAnL21hc3Rlci1kYXRhL2NhY2hlLXNlYXJjaCcsIHBheWxvYWQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKChzZWxlY3Rpb25Hcm91cCkgPT4ge1xuXHRcdFx0XHR0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zID0gc2VsZWN0aW9uR3JvdXA7XG5cblx0XHRcdFx0Y29uc3QgbmV3RmlsdGVyZWRHcm91cFN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uc0dyb3VwRFRPW10gPSBbXTtcblxuXHRcdFx0XHRPYmplY3Qua2V5cyhzZWxlY3Rpb25Hcm91cCkuZm9yRWFjaCgoa2V5OiBzdHJpbmcpID0+IHtcblx0XHRcdFx0XHRjb25zdCBncm91cERhdGE6IFN1Z2dlc3Rpb25zR3JvdXBEVE8gPSB7XG5cdFx0XHRcdFx0XHR0ZXh0OiBzZWxlY3Rpb25Hcm91cFtrZXldPy5yZXN1bHRbMF0/LmFzc2V0c1swXT8uYXNzZXREZWZpbml0aW9uTmFtZSxcblx0XHRcdFx0XHRcdGtleToga2V5LFxuXHRcdFx0XHRcdFx0aXRlbXM6IHNlbGVjdGlvbkdyb3VwW2tleV0ucmVzdWx0Lm1hcChcblx0XHRcdFx0XHRcdFx0KGl0ZW06IEFzc2V0QWdncmVnYXRlKSA9PlxuXHRcdFx0XHRcdFx0XHRcdCh7XG5cdFx0XHRcdFx0XHRcdFx0XHRrZXk6IGl0ZW0uaWQsXG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0OiB0aGlzLmdldEF0dGlyaWJ1dGVzVmFsdWVEZXNjcihpdGVtLmF0dHJpYnV0ZXMpLFxuXHRcdFx0XHRcdFx0XHRcdFx0YXR0cmlidXRlczogaXRlbS5hdHRyaWJ1dGVzLFxuXHRcdFx0XHRcdFx0XHRcdFx0YXNzZXREZWZpbml0aW9uQ29kZTogaXRlbS5hc3NldERlZmluaXRpb25Db2RlXG5cdFx0XHRcdFx0XHRcdFx0fSkgYXMgU3VnZ2VzdGlvbnNEVE9cblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdG5ld0ZpbHRlcmVkR3JvdXBTdWdnZXN0aW9ucy5wdXNoKGdyb3VwRGF0YSk7XG5cblx0XHRcdFx0XHQvLyBJZiB0aGUgc3RyaW5nIHZhbHVlIGlzIHBhdGNoZWQgaW4gdXBkYXRlIG1vZGUgYW5kIHRoZXJlIGlzIGdyb3VwIGRhdGEsIHNlbGVjdCB0aGUgZmlyc3QgaXRlbVxuXHRcdFx0XHRcdGlmICh0aGlzLmlzVXBkYXRlTW9kZSgpICYmIGdyb3VwRGF0YS5pdGVtcy5sZW5ndGggPT09IDEgJiYgIXRoaXMubXVsdGlwbGUoKSkge1xuXHRcdFx0XHRcdFx0dGhpcy5uZ0NvbnRyb2w/LmNvbnRyb2w/LnNldFZhbHVlKGdyb3VwRGF0YS5pdGVtc1swXSk7XG5cdFx0XHRcdFx0XHR0aGlzLmlzVXBkYXRlTW9kZS5zZXQoZmFsc2UpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cblx0XHRcdFx0dGhpcy5maWx0ZXJlZFNlbGVjdGlvbkl0ZW1zID0gbmV3RmlsdGVyZWRHcm91cFN1Z2dlc3Rpb25zO1xuXHRcdFx0fSk7XG5cblx0XHQvLyBJZiB0aGUgZm9ybSBjb250cm9sJ3MgdmFsdWUgaXMgYSBzdHJpbmcsIHBlcmZvcm0gYSBjYWNoZSBzZWFyY2ggdG8gcmV0cmlldmUgdGhlIElELlxuXHRcdGNvbnN0IGN1cnJlbnRWYWx1ZSA9IHRoaXMubmdDb250cm9sPy5jb250cm9sPy52YWx1ZTtcblx0XHRpZiAoY3VycmVudFZhbHVlICYmIHR5cGVvZiBjdXJyZW50VmFsdWUgPT09ICdzdHJpbmcnKXtcblx0XHRcdFx0XHR0aGlzLmlzVXBkYXRlTW9kZS5zZXQodHJ1ZSk7XG5cdFx0XHRcdFx0dGhpcy5zZWFyY2goeyBxdWVyeTogY3VycmVudFZhbHVlIH0pO1xuXHRcdH1cblxuXHR9XG5cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdHRoaXMuYXV0b0NvbXBsZXRlUmVmLmdldE9wdGlvblZhbHVlID0gdGhpcy5nZXRPcHRpb25WYWx1ZS5iaW5kKHRoaXMpO1xuXHR9XG5cblx0Z2V0T3B0aW9uVmFsdWUob3B0aW9uOiBhbnkpIHtcblx0XHRpZiAoIXRoaXMub3B0aW9uVmFsdWUoKSkge1xuXHRcdFx0cmV0dXJuIG9wdGlvbjtcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcpIHtcblx0XHRcdHJldHVybiBPYmplY3RVdGlscy5yZXNvbHZlRmllbGREYXRhKG9wdGlvbiwgdGhpcy5vcHRpb25WYWx1ZSgpKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gb3B0aW9uO1xuXHR9XG5cblx0b25OZ01vZGVsQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcblx0XHRjb25zdCB2YWxpZGF0ZWRWYWx1ZSA9IHRoaXMudmFsaWRhdGVJbnB1dCh2YWx1ZSk7XG5cdFx0dGhpcy5uZ0NvbnRyb2wudmlld1RvTW9kZWxVcGRhdGUodmFsaWRhdGVkVmFsdWUpO1xuXHR9XG5cblx0dmFsaWRhdGVJbnB1dCh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0aWYgKHRoaXMudHlwZSgpID09PSAnbnVtYmVyJykge1xuXHRcdFx0cmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJyk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLnR5cGUoKSA9PT0gJ3RleHQnKSB7XG5cdFx0XHRyZXR1cm4gdmFsdWUucmVwbGFjZSgvW15hLXpBLVrEn8O8xZ/EscO2w6fEnsOcxZ7EsMOWw4dcXHNdL2csICcnKTtcblx0XHR9XG5cdFx0cmV0dXJuIHZhbHVlO1xuXHR9XG5cblx0c2VhcmNoKGV2ZW50OiBhbnkpIHtcblx0XHRjb25zdCBxdWVyeSA9IHRoaXMudmFsaWRhdGVJbnB1dChldmVudC5xdWVyeSk7XG5cdFx0Y29uc3QgcGF5bG9hZDogQ2FjaGVTZWFyY2hSZXF1ZXN0RFRPID0ge1xuXHRcdFx0c2VhcmNoVGV4dDogcXVlcnk/LnRyaW0oKSxcblx0XHRcdGFzc2V0RGVmaW5pdGlvbkNvZGVzOiBBcnJheS5pc0FycmF5KHRoaXMuYXNzZXRDb2RlKCkpID8gdGhpcy5hc3NldENvZGUoKSA6IChbdGhpcy5hc3NldENvZGUoKV0gYXMgYW55KSxcblx0XHRcdHBhZ2VyOiB7XG5cdFx0XHRcdHBhZ2VTaXplOiA1LFxuXHRcdFx0XHRwYWdlTnVtYmVyOiAxXG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdGlmICh0aGlzLm1xbCgpKSBwYXlsb2FkLm1xbCA9IHRoaXMubXFsKCk7XG5cblx0XHR0aGlzLmNhY2hlU2VhcmNoUmVxdWVzdCQubmV4dChwYXlsb2FkKTtcblx0fVxuXG5cdGdldEF0dGlyaWJ1dGVzVmFsdWVEZXNjcihhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVFbGVtZW50W10pOiBzdHJpbmcge1xuXHRcdHJldHVybiBhdHRyaWJ1dGVzXG5cdFx0XHQ/Lm1hcCgoYXR0cikgPT4ge1xuXHRcdFx0XHRjb25zdCB2YWx1ZSA9IGF0dHIudmFsdWVEZXNjID8gYXR0ci52YWx1ZURlc2MgOiBhdHRyLnZhbHVlO1xuXHRcdFx0XHRyZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IFN0cmluZyh2YWx1ZSk7XG5cdFx0XHR9KVxuXHRcdFx0LmpvaW4oJyAtICcpO1xuXHR9XG5cblx0dHJpZ2dlclNlbGVjdGVkRXZlbnRzKGV2ZW50OiBhbnkpIHtcblx0XHRjb25zdCBzZWxlY3RlZEl0ZW1zOiBBc3NldEFnZ3JlZ2F0ZVtdID0gT2JqZWN0LmtleXModGhpcy5zZWxlY3Rpb25EZWZpbml0aW9ucykubWFwKChrZXk6IHN0cmluZykgPT4ge1xuXHRcdFx0cmV0dXJuIHRoaXMuc2VsZWN0aW9uRGVmaW5pdGlvbnNba2V5XS5yZXN1bHQuZmluZCgoaXRlbTogQXNzZXRBZ2dyZWdhdGUpID0+IGl0ZW0uaWQgPT09IGV2ZW50Py52YWx1ZT8ua2V5KTtcblx0XHR9KSBhcyBBc3NldEFnZ3JlZ2F0ZVtdO1xuXG5cdFx0Y29uc3Qgc2VsZWN0ZWRJdGVtID0gc2VsZWN0ZWRJdGVtc1swXTtcblxuXHRcdGNvbnN0IHNlbGVjdGVkRXZlbnQgPSB7XG5cdFx0XHQuLi5zZWxlY3RlZEl0ZW0sXG5cdFx0XHRrZXk6IHNlbGVjdGVkSXRlbT8uaWQsXG5cdFx0XHR0ZXh0OiBzZWxlY3RlZEl0ZW0/LmFzc2V0RGVmaW5pdGlvbk5hbWUsXG5cdFx0XHRhdHRyaWJ1dGVzOiBzZWxlY3RlZEl0ZW0/LmF0dHJpYnV0ZXMsXG5cdFx0XHRhc3NldERlZmluaXRpb25Db2RlOiBzZWxlY3RlZEl0ZW0/LmFzc2V0RGVmaW5pdGlvbkNvZGVcblx0XHR9O1xuXG5cdFx0dGhpcy5zZWxlY3RlZERlZmluaXRpb25FdmVudC5lbWl0KHNlbGVjdGVkRXZlbnQpO1xuXHR9XG59XG4iLCI8cC1hdXRvQ29tcGxldGVcblx0b3B0aW9uTGFiZWw9XCJ0ZXh0XCJcblx0W29wdGlvblZhbHVlXT1cIm9wdGlvblZhbHVlKCkhXCJcblx0W3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuXHRbbXVsdGlwbGVdPVwibXVsdGlwbGUoKVwiXG5cdFtncm91cF09XCJ0cnVlXCJcblx0W2ZvcmNlU2VsZWN0aW9uXT1cImZvcmNlU2VsZWN0aW9uKClcIlxuXHRbZGVsYXldPVwiNzAwXCJcblx0W21pbkxlbmd0aF09XCIzXCJcblx0W3N1Z2dlc3Rpb25zXT1cImZpbHRlcmVkU2VsZWN0aW9uSXRlbXNcIlxuXHQoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxuXHRbZm9ybUNvbnRyb2xdPVwibmdDb250cm9sLmNvbnRyb2xcIlxuXHRbYXV0b0hpZ2hsaWdodF09XCJ0cnVlXCJcblx0W3R5cGVdPVwidHlwZSgpIVwiXG5cdChuZ01vZGVsQ2hhbmdlKT1cIm9uTmdNb2RlbENoYW5nZSgkZXZlbnQpXCJcblx0W3Nob3dDbGVhcl09XCJzaG93Q2xlYXIoKVwiXG5cdFtlbXB0eU1lc3NhZ2VdPVwidHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ21lc3NhZ2VzLm5vRGF0YVRvRGlzcGxheScpXCJcblx0KG9uU2VsZWN0KT1cInRyaWdnZXJTZWxlY3RlZEV2ZW50cygkZXZlbnQpXCJcblx0W2FwcGVuZFRvXT1cImFwcGVuZFRvKClcIlxuXHQoa2V5dXAuZW50ZXIpPVwic2VhcmNoKCRldmVudClcIj5cblx0PG5nLXRlbXBsYXRlIGxldC1ncm91cCBwVGVtcGxhdGU9XCJncm91cFwiPlxuXHRcdDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgZ3JvdXAudGV4dCB9fTwvc3Bhbj5cblx0PC9uZy10ZW1wbGF0ZT5cbjwvcC1hdXRvQ29tcGxldGU+XG4iXX0=
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWktYnVzaW5lc3MvYXNzZXRQaWNrZXIvc3JjL2Fzc2V0LXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL2Fzc2V0UGlja2VyL3NyYy9hc3NldC1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVOLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUVaLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFN0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7Ozs7QUF1Q3pFLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxrQkFBa0I7SUFxQjNELFlBQ2tCLElBQWdCLEVBQzFCLGdCQUFrQyxFQUN4QixxQkFBNEM7UUFFN0QsS0FBSyxFQUFFLENBQUM7UUFKUyxTQUFJLEdBQUosSUFBSSxD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SUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBVyxFQUFFLEVBQUU7WUFDbEcsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM1RyxDQUFDLENBQXFCLENBQUM7UUFFdkIsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRDLE1BQU0sYUFBYSxHQUFHO1lBQ3JCLEdBQUcsWUFBWTtZQUNmLEdBQUcsRUFBRSxZQUFZLEVBQUUsRUFBRTtZQUNyQixJQUFJLEVBQUUsWUFBWSxFQUFFLG1CQUFtQjtZQUN2QyxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVU7WUFDcEMsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLG1CQUFtQjtTQUN0RCxDQUFDO1FBRUYsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDOzhHQWhNVyxvQkFBb0I7a0dBQXBCLG9CQUFvQixrbERBQ3JCLFlBQVksbUlDbEV4QixnaUNBNkJBLDhSRGlDVyxtQkFBbUIseVRBQUUsa0JBQWtCOzsyRkFHckMsb0JBQW9CO2tCQTNCaEMsU0FBUztpQ0FDRyxJQUFJLFlBQ04sZ0dBQWdHLFdBc0JqRyxDQUFDLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDLGtCQUNsQyxDQUFDLHNCQUFzQixDQUFDO2tKQUdmLGVBQWU7c0JBQXZDLFNBQVM7dUJBQUMsWUFBWTtnQkFrQmIsdUJBQXVCO3NCQUFoQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHtcclxuXHRBZnRlclZpZXdJbml0LFxyXG5cdENvbXBvbmVudCxcclxuXHREZXN0cm95UmVmLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRPbkluaXQsXHJcblx0T3V0cHV0LFxyXG5cdFZpZXdDaGlsZCxcclxuXHRlZmZlY3QsXHJcblx0aW5qZWN0LFxyXG5cdGlucHV0LFxyXG5cdHNpZ25hbFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBBdXRvQ29tcGxldGUsIEF1dG9Db21wbGV0ZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdwcmltZW5nL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IFRyYW5zbG9jb1NlcnZpY2UgfSBmcm9tICdAbmduZWF0L3RyYW5zbG9jbyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQVBJX0NPTkZJR1MgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwaSc7XHJcbmltcG9ydCB7IEFwcHMgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwcHMnO1xyXG5pbXBvcnQgeyBTZWxlY3Rpb25Hcm91cFNlcnZpY2UgfSBmcm9tICdhcmlsL3RoZW1lL2xheW91dCc7XHJcbmltcG9ydCB7IEJhc2VJbnB1dENvbXBvbmVudCwgVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJ2FyaWwvdWkvbGliJztcclxuXHJcbmltcG9ydCB7XHJcblx0QXNzZXRBZ2dyZWdhdGUsXHJcblx0QXR0cmlidXRlRWxlbWVudCxcclxuXHRDYWNoZVNlYXJjaFJlcXVlc3REVE8sXHJcblx0RGVmYXVsdFNlYXJjaEFnZ3JlZ2F0ZUFzc2V0QWdncmVnYXRlLFxyXG5cdFN1Z2dlc3Rpb25zRFRPLFxyXG5cdFN1Z2dlc3Rpb25zR3JvdXBEVE9cclxufSBmcm9tICcuL2ludGVyZmFjZSc7XHJcblxyXG50eXBlIFZhbHVlVHlwZXMgPSAndGV4dCcgfCAnbnVtYmVyJztcclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtYXNzZXQtcGlja2VyW25nTW9kZWxdLCBhcmlsLWFzc2V0LXBpY2tlcltmb3JtQ29udHJvbF0sIGFyaWwtYXNzZXQtcGlja2VyW2Zvcm1Db250cm9sTmFtZV0nLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9hc3NldC1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlczogW1xyXG5cdFx0YFxyXG5cdFx0XHQ6Om5nLWRlZXAgLnAtYXV0b2NvbXBsZXRlLW11bHRpcGxlLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0XHRcdG1heC1oZWlnaHQ6IDUwcHg7XHJcblx0XHRcdFx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQ6Om5nLWRlZXAgLnAtYXV0b2NvbXBsZXRlLXRva2VuIHtcclxuXHRcdFx0XHRtYXJnaW46IDA7XHJcblx0XHRcdFx0ZmxleC1zaHJpbms6IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdDo6bmctZGVlcCAucC1hdXRvY29tcGxldGUtaW5wdXQtdG9rZW4ge1xyXG5cdFx0XHRcdGZsZXg6IDE7XHJcblx0XHRcdFx0bWluLXdpZHRoOiAxNTBweDtcclxuXHRcdFx0fVxyXG5cdFx0YFxyXG5cdF0sXHJcblx0aW1wb3J0czogW1JlYWN0aXZlRm9ybXNNb2R1bGUsIEF1dG9Db21wbGV0ZU1vZHVsZV0sXHJcblx0aG9zdERpcmVjdGl2ZXM6IFtWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNzZXRQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQge1xyXG5cdEBWaWV3Q2hpbGQoQXV0b0NvbXBsZXRlKSBhdXRvQ29tcGxldGVSZWYhOiBBdXRvQ29tcGxldGU7XHJcblx0YXNzZXRDb2RlID0gaW5wdXQ8c3RyaW5nIHwgc3RyaW5nW10gfCBudWxsPihudWxsKTtcclxuXHR0eXBlID0gaW5wdXQ8VmFsdWVUeXBlcyB8IG51bGw+KG51bGwpO1xyXG5cclxuXHRwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4oJ0FyYW1hLi4uJyk7XHJcblx0Zm9yY2VTZWxlY3Rpb24gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0bXVsdGlwbGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0c2hvd0NsZWFyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdG9wdGlvblZhbHVlID0gaW5wdXQ8a2V5b2YgU3VnZ2VzdGlvbnNEVE8gfCBudWxsPihudWxsKTtcclxuXHRhcHBlbmRUbyA9IGlucHV0PHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVsbD4oJ2JvZHknKTtcclxuXHRtcWwgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblx0c2hvd09ubHlBc3NldE51bWJlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRpc1VwZGF0ZU1vZGUgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cclxuXHRmaWx0ZXJlZFNlbGVjdGlvbkl0ZW1zITogU3VnZ2VzdGlvbnNHcm91cERUT1tdO1xyXG5cdHNlbGVjdGlvbkRlZmluaXRpb25zITogRGVmYXVsdFNlYXJjaEFnZ3JlZ2F0ZUFzc2V0QWdncmVnYXRlO1xyXG5cdGNhY2hlU2VhcmNoUmVxdWVzdCQgPSBuZXcgU3ViamVjdDxDYWNoZVNlYXJjaFJlcXVlc3REVE8+KCk7XHJcblx0ZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuXHRAT3V0cHV0KCkgc2VsZWN0ZWREZWZpbml0aW9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxBc3NldEFnZ3JlZ2F0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEFzc2V0QWdncmVnYXRlPigpO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuXHRcdHB1YmxpYyB0cmFuc2xvY29TZXJ2aWNlOiBUcmFuc2xvY29TZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBzZWxlY3Rpb25Hcm91cFNlcnZpY2U6IFNlbGVjdGlvbkdyb3VwU2VydmljZVxyXG5cdCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5zZWxlY3Rpb25Hcm91cHMoKTtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0aW9uRGVmaW5pdGlvbnMpIHtcclxuXHRcdFx0XHR0aGlzLnJlZnJlc2hGaWx0ZXJlZFNlbGVjdGlvbkl0ZW1zKCk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMuY2FjaGVTZWFyY2hSZXF1ZXN0JFxyXG5cdFx0XHQucGlwZShcclxuXHRcdFx0XHRzd2l0Y2hNYXAoKHBheWxvYWQpID0+XHJcblx0XHRcdFx0XHR0aGlzLmh0dHAucG9zdDxhbnk+KEFQSV9DT05GSUdTLmdldEV4dGVybmFsQXBwRW5kcG9pbnQoQXBwcy5NTkcpICsgJy9tYXN0ZXItZGF0YS9jYWNoZS1zZWFyY2gnLCBwYXlsb2FkKVxyXG5cdFx0XHRcdCksXHJcblx0XHRcdFx0dGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcclxuXHRcdFx0KVxyXG5cdFx0XHQuc3Vic2NyaWJlKChzZWxlY3Rpb25Hcm91cCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0aW9uRGVmaW5pdGlvbnMgPSBzZWxlY3Rpb25Hcm91cDtcclxuXHRcdFx0XHR0aGlzLnJlZnJlc2hGaWx0ZXJlZFNlbGVjdGlvbkl0ZW1zKCk7XHJcblx0XHRcdH0pO1xyXG5cclxuXHRcdC8vIElmIHRoZSBmb3JtIGNvbnRyb2wncyB2YWx1ZSBpcyBhIHN0cmluZywgcGVyZm9ybSBhIGNhY2hlIHNlYXJjaCB0byByZXRyaWV2ZSB0aGUgSUQuXHJcblx0XHRjb25zdCBjdXJyZW50VmFsdWUgPSB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8udmFsdWU7XHJcblx0XHRpZiAoY3VycmVudFZhbHVlICYmIHR5cGVvZiBjdXJyZW50VmFsdWUgPT09ICdzdHJpbmcnKXtcclxuXHRcdFx0XHRcdHRoaXMuaXNVcGRhdGVNb2RlLnNldCh0cnVlKTtcclxuXHRcdFx0XHRcdHRoaXMuc2VhcmNoKHsgcXVlcnk6IGN1cnJlbnRWYWx1ZSB9KTtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHRwcml2YXRlIHJlZnJlc2hGaWx0ZXJlZFNlbGVjdGlvbkl0ZW1zKCk6IHZvaWQge1xyXG5cdFx0aWYgKCF0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zKSByZXR1cm47XHJcblxyXG5cdFx0Y29uc3QgbmV3RmlsdGVyZWRHcm91cFN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uc0dyb3VwRFRPW10gPSBbXTtcclxuXHJcblx0XHRPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zKS5mb3JFYWNoKChrZXk6IHN0cmluZykgPT4ge1xyXG5cdFx0XHRjb25zdCBncm91cERhdGE6IFN1Z2dlc3Rpb25zR3JvdXBEVE8gPSB7XHJcblx0XHRcdFx0dGV4dDogdGhpcy5zZWxlY3Rpb25EZWZpbml0aW9uc1trZXldPy5yZXN1bHRbMF0/LmFzc2V0c1swXT8uYXNzZXREZWZpbml0aW9uTmFtZSxcclxuXHRcdFx0XHRrZXk6IGtleSxcclxuXHRcdFx0XHRpdGVtczogdGhpcy5zZWxlY3Rpb25EZWZpbml0aW9uc1trZXldLnJlc3VsdC5tYXAoXHJcblx0XHRcdFx0XHQoaXRlbTogQXNzZXRBZ2dyZWdhdGUpID0+XHJcblx0XHRcdFx0XHRcdCh7XHJcblx0XHRcdFx0XHRcdFx0a2V5OiBpdGVtLmlkLFxyXG5cdFx0XHRcdFx0XHRcdHRleHQ6IHRoaXMuZ2V0QXR0aXJpYnV0ZXNWYWx1ZURlc2NyKGl0ZW0uYXR0cmlidXRlcyksXHJcblx0XHRcdFx0XHRcdFx0YXNzZXROdW1iZXI6IHRoaXMuZ2V0QXNzZXROdW1iZXJWYWx1ZShpdGVtLmF0dHJpYnV0ZXMpLFxyXG5cdFx0XHRcdFx0XHRcdGF0dHJpYnV0ZXM6IGl0ZW0uYXR0cmlidXRlcyxcclxuXHRcdFx0XHRcdFx0XHRhc3NldERlZmluaXRpb25Db2RlOiBpdGVtLmFzc2V0RGVmaW5pdGlvbkNvZGVcclxuXHRcdFx0XHRcdFx0fSkgYXMgU3VnZ2VzdGlvbnNEVE9cclxuXHRcdFx0XHQpXHJcblx0XHRcdH07XHJcblx0XHRcdG5ld0ZpbHRlcmVkR3JvdXBTdWdnZXN0aW9ucy5wdXNoKGdyb3VwRGF0YSk7XHJcblxyXG5cdFx0XHQvLyBJZiB0aGUgc3RyaW5nIHZhbHVlIGlzIHBhdGNoZWQgaW4gdXBkYXRlIG1vZGUgYW5kIHRoZXJlIGlzIGdyb3VwIGRhdGEsIHNlbGVjdCB0aGUgZmlyc3QgaXRlbVxyXG5cdFx0XHRpZiAodGhpcy5pc1VwZGF0ZU1vZGUoKSAmJiBncm91cERhdGEuaXRlbXMubGVuZ3RoID09PSAxICYmICF0aGlzLm11bHRpcGxlKCkpIHtcclxuXHRcdFx0XHR0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUoZ3JvdXBEYXRhLml0ZW1zWzBdKTtcclxuXHRcdFx0XHR0aGlzLmlzVXBkYXRlTW9kZS5zZXQoZmFsc2UpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLmZpbHRlcmVkU2VsZWN0aW9uSXRlbXMgPSBuZXdGaWx0ZXJlZEdyb3VwU3VnZ2VzdGlvbnM7XHJcblx0fVxyXG5cclxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLmF1dG9Db21wbGV0ZVJlZi5nZXRPcHRpb25WYWx1ZSA9IHRoaXMuZ2V0T3B0aW9uVmFsdWUuYmluZCh0aGlzKTtcclxuXHR9XHJcblxyXG5cdGdldE9wdGlvblZhbHVlKG9wdGlvbjogYW55KSB7XHJcblx0XHRpZiAoIXRoaXMub3B0aW9uVmFsdWUoKSkge1xyXG5cdFx0XHRyZXR1cm4gb3B0aW9uO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0Jykge1xyXG5cdFx0XHRyZXR1cm4gT2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShvcHRpb24sIHRoaXMub3B0aW9uVmFsdWUoKSk7XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIG9wdGlvbjtcclxuXHR9XHJcblxyXG5cdG9uTmdNb2RlbENoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XHJcblx0XHRjb25zdCB2YWxpZGF0ZWRWYWx1ZSA9IHRoaXMudmFsaWRhdGVJbnB1dCh2YWx1ZSk7XHJcblx0XHR0aGlzLm5nQ29udHJvbC52aWV3VG9Nb2RlbFVwZGF0ZSh2YWxpZGF0ZWRWYWx1ZSk7XHJcblx0fVxyXG5cclxuXHR2YWxpZGF0ZUlucHV0KHZhbHVlOiBzdHJpbmcpIHtcclxuXHRcdGlmICh0aGlzLnR5cGUoKSA9PT0gJ251bWJlcicpIHtcclxuXHRcdFx0cmV0dXJuIHZhbHVlLnJlcGxhY2UoL1xcRC9nLCAnJyk7XHJcblx0XHR9IGVsc2UgaWYgKHRoaXMudHlwZSgpID09PSAndGV4dCcpIHtcclxuXHRcdFx0cmV0dXJuIHZhbHVlLnJlcGxhY2UoL1teYS16QS1axJ/DvMWfxLHDtsOnxJ7DnMWexLDDlsOHXFxzXS9nLCAnJyk7XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gdmFsdWU7XHJcblx0fVxyXG5cclxuXHRzZWFyY2goZXZlbnQ6IGFueSkge1xyXG5cdFx0Y29uc3QgcXVlcnkgPSB0aGlzLnZhbGlkYXRlSW5wdXQoZXZlbnQucXVlcnkpO1xyXG5cdFx0Y29uc3QgcGF5bG9hZDogQ2FjaGVTZWFyY2hSZXF1ZXN0RFRPID0ge1xyXG5cdFx0XHRzZWFyY2hUZXh0OiBxdWVyeT8udHJpbSgpLFxyXG5cdFx0XHRhc3NldERlZmluaXRpb25Db2RlczogQXJyYXkuaXNBcnJheSh0aGlzLmFzc2V0Q29kZSgpKSA/IHRoaXMuYXNzZXRDb2RlKCkgOiAoW3RoaXMuYXNzZXRDb2RlKCldIGFzIGFueSksXHJcblx0XHRcdHBhZ2VyOiB7XHJcblx0XHRcdFx0cGFnZVNpemU6IDUsXHJcblx0XHRcdFx0cGFnZU51bWJlcjogMVxyXG5cdFx0XHR9XHJcblx0XHR9O1xyXG5cclxuXHRcdGlmICh0aGlzLm1xbCgpKSBwYXlsb2FkLm1xbCA9IHRoaXMubXFsKCk7XHJcblxyXG5cdFx0dGhpcy5jYWNoZVNlYXJjaFJlcXVlc3QkLm5leHQocGF5bG9hZCk7XHJcblx0fVxyXG5cclxuXHRnZXRBdHRpcmlidXRlc1ZhbHVlRGVzY3IoYXR0cmlidXRlczogQXR0cmlidXRlRWxlbWVudFtdKTogc3RyaW5nIHtcclxuXHRcdGNvbnN0IGV4Y2x1ZGVkQXR0cmlidXRlcyA9IFsnQXNzZXRJZCcsICdBc3NldERlZmluaXRpb25OYW1lJ107XHJcblx0XHRyZXR1cm4gYXR0cmlidXRlc1xyXG5cdFx0XHQ/LmZpbHRlcigoYXR0cikgPT4gIWV4Y2x1ZGVkQXR0cmlidXRlcy5pbmNsdWRlcyhhdHRyLmF0dHJpYnV0ZT8uYXR0cmlidXRlQ29kZSkpXHJcblx0XHRcdD8ubWFwKChhdHRyKSA9PiB7XHJcblx0XHRcdFx0Ly8gSGFuZGxlIFNFTEVDVCB0eXBlIGF0dHJpYnV0ZXMgdXNpbmcgU2VsZWN0aW9uR3JvdXBTZXJ2aWNlXHJcblx0XHRcdFx0aWYgKGF0dHIuYXR0cmlidXRlPy5hdHRyaWJ1dGVUeXBlID09PSAnU0VMRUNUJyAmJiBhdHRyLmF0dHJpYnV0ZT8uc2VsZWN0T3B0aW9uKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gdGhpcy5nZXRTZWxlY3Rpb25EaXNwbGF5KGF0dHIuYXR0cmlidXRlLnNlbGVjdE9wdGlvbiwgYXR0ci52YWx1ZSBhcyBzdHJpbmcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zdCB2YWx1ZSA9IGF0dHIudmFsdWVEZXNjID8gYXR0ci52YWx1ZURlc2MgOiBhdHRyLnZhbHVlO1xyXG5cdFx0XHRcdHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnID8gSlNPTi5zdHJpbmdpZnkodmFsdWUpIDogU3RyaW5nKHZhbHVlKTtcclxuXHRcdFx0fSlcclxuXHRcdFx0LmpvaW4oJyAtICcpO1xyXG5cdH1cclxuXHRwcml2YXRlIGdldEFzc2V0TnVtYmVyVmFsdWUoYXR0cmlidXRlczogQXR0cmlidXRlRWxlbWVudFtdKTogc3RyaW5nIHtcclxuXHRcdGNvbnN0IGFzc2V0TnVtYmVyQXR0ciA9IGF0dHJpYnV0ZXM/LmZpbmQoKGF0dHIpID0+IGF0dHIuYXR0cmlidXRlPy5hdHRyaWJ1dGVDb2RlID09PSAnQXNzZXROdW1iZXInKTtcclxuXHRcdGlmICghYXNzZXROdW1iZXJBdHRyKSByZXR1cm4gJyc7XHJcblx0XHRyZXR1cm4gU3RyaW5nKGFzc2V0TnVtYmVyQXR0ci52YWx1ZURlc2MgfHwgYXNzZXROdW1iZXJBdHRyLnZhbHVlIHx8ICcnKTtcclxuXHR9XHJcblx0cHJpdmF0ZSBnZXRTZWxlY3Rpb25EaXNwbGF5KGdyb3VwTmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuXHRcdGNvbnN0IGtleSA9IGAke2dyb3VwTmFtZX1+QUxMYDtcclxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID0gdGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClba2V5XTtcclxuXHJcblx0XHRpZiAoIXNlbGVjdGlvbkdyb3VwKSB7XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLmZldGNoRW51bShncm91cE5hbWUsICdBTEwnKTtcclxuXHRcdFx0cmV0dXJuIHZhbHVlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKTtcclxuXHRcdGNvbnN0IHNlbGVjdGlvbkl0ZW0gPSBzZWxlY3Rpb25Hcm91cC5zZWxlY3Rpb25JdGVtcz8uZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IHZhbHVlKSBhcyB7XHJcblx0XHRcdHNlbGVjdGlvbk11bHRpTGFuZ3VhZ2VEaXNwbGF5cz86IHsgW2xhbmc6IHN0cmluZ106IHN0cmluZyB9O1xyXG5cdFx0XHRzZWxlY3Rpb25EaXNwbGF5Pzogc3RyaW5nO1xyXG5cdFx0fTtcclxuXHJcblx0XHRpZiAoIXNlbGVjdGlvbkl0ZW0pIHJldHVybiB2YWx1ZTtcclxuXHJcblx0XHRyZXR1cm4gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25NdWx0aUxhbmd1YWdlRGlzcGxheXM/LltjdXJyZW50TGFuZ10gPz8gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25EaXNwbGF5ID8/IHZhbHVlO1xyXG5cdH1cclxuXHJcblx0dHJpZ2dlclNlbGVjdGVkRXZlbnRzKGV2ZW50OiBhbnkpIHtcclxuXHRcdGNvbnN0IHNlbGVjdGVkSXRlbXM6IEFzc2V0QWdncmVnYXRlW10gPSBPYmplY3Qua2V5cyh0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zKS5tYXAoKGtleTogc3RyaW5nKSA9PiB7XHJcblx0XHRcdHJldHVybiB0aGlzLnNlbGVjdGlvbkRlZmluaXRpb25zW2tleV0ucmVzdWx0LmZpbmQoKGl0ZW06IEFzc2V0QWdncmVnYXRlKSA9PiBpdGVtLmlkID09PSBldmVudD8udmFsdWU/LmtleSk7XHJcblx0XHR9KSBhcyBBc3NldEFnZ3JlZ2F0ZVtdO1xyXG5cclxuXHRcdGNvbnN0IHNlbGVjdGVkSXRlbSA9IHNlbGVjdGVkSXRlbXNbMF07XHJcblxyXG5cdFx0Y29uc3Qgc2VsZWN0ZWRFdmVudCA9IHtcclxuXHRcdFx0Li4uc2VsZWN0ZWRJdGVtLFxyXG5cdFx0XHRrZXk6IHNlbGVjdGVkSXRlbT8uaWQsXHJcblx0XHRcdHRleHQ6IHNlbGVjdGVkSXRlbT8uYXNzZXREZWZpbml0aW9uTmFtZSxcclxuXHRcdFx0YXR0cmlidXRlczogc2VsZWN0ZWRJdGVtPy5hdHRyaWJ1dGVzLFxyXG5cdFx0XHRhc3NldERlZmluaXRpb25Db2RlOiBzZWxlY3RlZEl0ZW0/LmFzc2V0RGVmaW5pdGlvbkNvZGVcclxuXHRcdH07XHJcblxyXG5cdFx0dGhpcy5zZWxlY3RlZERlZmluaXRpb25FdmVudC5lbWl0KHNlbGVjdGVkRXZlbnQpO1xyXG5cdH1cclxufVxyXG4iLCI8cC1hdXRvQ29tcGxldGVcclxuXHRvcHRpb25MYWJlbD1cInRleHRcIlxyXG5cdFtvcHRpb25WYWx1ZV09XCJvcHRpb25WYWx1ZSgpIVwiXHJcblx0W3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxyXG5cdFttdWx0aXBsZV09XCJtdWx0aXBsZSgpXCJcclxuXHRbZ3JvdXBdPVwidHJ1ZVwiXHJcblx0W2ZvcmNlU2VsZWN0aW9uXT1cImZvcmNlU2VsZWN0aW9uKClcIlxyXG5cdFtkZWxheV09XCI3MDBcIlxyXG5cdFttaW5MZW5ndGhdPVwiM1wiXHJcblx0W3N1Z2dlc3Rpb25zXT1cImZpbHRlcmVkU2VsZWN0aW9uSXRlbXNcIlxyXG5cdChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiXHJcblx0W2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcclxuXHRbYXV0b0hpZ2hsaWdodF09XCJ0cnVlXCJcclxuXHRbdHlwZV09XCJ0eXBlKCkhXCJcclxuXHQobmdNb2RlbENoYW5nZSk9XCJvbk5nTW9kZWxDaGFuZ2UoJGV2ZW50KVwiXHJcblx0W3Nob3dDbGVhcl09XCJzaG93Q2xlYXIoKVwiXHJcblx0W2VtcHR5TWVzc2FnZV09XCJ0cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMubm9EYXRhVG9EaXNwbGF5JylcIlxyXG5cdChvblNlbGVjdCk9XCJ0cmlnZ2VyU2VsZWN0ZWRFdmVudHMoJGV2ZW50KVwiXHJcblx0W2FwcGVuZFRvXT1cImFwcGVuZFRvKClcIlxyXG5cdChrZXl1cC5lbnRlcik9XCJzZWFyY2goJGV2ZW50KVwiPlxyXG5cdDxuZy10ZW1wbGF0ZSBsZXQtZ3JvdXAgcFRlbXBsYXRlPVwiZ3JvdXBcIj5cclxuXHRcdDxzcGFuIGNsYXNzPVwiZm9udC1ib2xkXCI+e3sgZ3JvdXAudGV4dCB9fTwvc3Bhbj5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cdEBpZiAoc2hvd09ubHlBc3NldE51bWJlcigpKSB7XHJcblx0XHQ8bmctdGVtcGxhdGUgbGV0LXZhbHVlIHBUZW1wbGF0ZT1cInNlbGVjdGVkSXRlbVwiPlxyXG5cdFx0XHQ8c3Bhbj57eyB2YWx1ZT8uYXNzZXROdW1iZXIgfHwgdmFsdWU/LnRleHQgfX08L3NwYW4+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdH1cclxuPC9wLWF1dG9Db21wbGV0ZT5cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9hc3NldFBpY2tlci9zcmMvaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXG5leHBvcnQgaW50ZXJmYWNlIFN1Z2dlc3Rpb25zR3JvdXBEVE8ge1xuXHRrZXk6IG51bWJlciB8IHN0cmluZyB8IG51bGw7XG5cdHRleHQ6IHN0cmluZztcblx0YXR0cmlidXRlcz86IEF0dHJpYnV0ZUVsZW1lbnRbXTtcblx0YXNzZXREZWZpbml0aW9uQ29kZT86IHN0cmluZztcblx0aXRlbXM6IFN1Z2dlc3Rpb25zRFRPW107XG59XG5leHBvcnQgaW50ZXJmYWNlIFN1Z2dlc3Rpb25zRFRPIHtcblx0a2V5OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xuXHR0ZXh0OiBzdHJpbmc7XG5cdGF0dHJpYnV0ZXM/OiBBdHRyaWJ1dGVFbGVtZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVmYXVsdFNlYXJjaEFnZ3JlZ2F0ZUFzc2V0QWdncmVnYXRlIHtcblx0W2tleTogc3RyaW5nXTogQWRkaXRpb25hbFByb3A7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkaXRpb25hbFByb3Age1xuXHRyZXN1bHRJbmZvOiBSZXN1bHRJbmZvO1xuXHRyZXN1bHQ6IEFzc2V0QWdncmVnYXRlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzdWx0SW5mbyB7XG5cdHRvdGFsUGFnZTogbnVtYmVyO1xuXHR0b3RhbEl0ZW06IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3NldEFnZ3JlZ2F0ZSB7XG5cdGlkOiBudW1iZXI7XG5cdGFzc2V0RGVmaW5pdGlvbklkOiBudW1iZXI7XG5cdGFzc2V0RGVmaW5pdGlvbkNvZGU6IHN0cmluZztcblx0YXNzZXREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHR1bmlxdWVJZGVudGlmaWVyOiBzdHJpbmc7XG5cdGF1dGhvcml0eUdyb3VwOiBzdHJpbmc7XG5cdGNyZWF0ZURhdGU6IG51bWJlcjtcblx0dXBkYXRlRGF0ZTogbnVtYmVyO1xuXHR1cGRhdGVVc2VyOiBzdHJpbmc7XG5cdGNyZWF0ZVVzZXI6IHN0cmluZztcblx0YXNzZXRzOiBBc3NldFtdO1xuXHRhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVFbGVtZW50W107XG5cdGtleT86IG51bWJlcjtcblx0dGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3NldCB7XG5cdGFsaWFzOiBzdHJpbmc7XG5cdGFzc2V0RGVmaW5pdGlvbklEOiBudW1iZXI7XG5cdGFzc2V0RGVmaW5pdGlvbkNvZGU6IHN0cmluZztcblx0YXNzZXREZWZpbml0aW9uTmFtZTogc3RyaW5nO1xuXHRhc3NldElkOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlRWxlbWVudCB7XG5cdGlkOiBudW1iZXI7XG5cdGF0dHJpYnV0ZTogQXR0cmlidXRlQXR0cmlidXRlO1xuXHR2YWx1ZTogVmFsdWU7XG5cdHN0YXJ0RGF0ZTogbnVtYmVyO1xuXHR2YWx1ZURlc2M6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVBdHRyaWJ1dGUge1xuXHRhbGlhczogc3RyaW5nO1xuXHRhdHRyaWJ1dGVDb2RlOiBzdHJpbmc7XG5cdGF0dHJpYnV0ZU5hbWU6IHN0cmluZztcblx0YXR0cmlidXRlSWQ6IG51bWJlcjtcblx0YXR0cmlidXRlVHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZhbHVlIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZXJEVE8ge1xuXHRwYWdlU2l6ZTogbnVtYmVyO1xuXHRwYWdlTnVtYmVyOiBudW1iZXI7XG59XG5leHBvcnQgaW50ZXJmYWNlIENhY2hlU2VhcmNoUmVxdWVzdERUTyB7XG5cdGFzc2V0RGVmaW5pdGlvbkNvZGVzOiBzdHJpbmdbXTtcblx0c2VhcmNoVGV4dD86IHN0cmluZztcblx0bXFsPzogc3RyaW5nO1xuXHRwYWdlcjogUGFnZXJEVE87XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9hc3NldFBpY2tlci9zcmMvaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdGlvbnNHcm91cERUTyB7XHJcblx0a2V5OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xyXG5cdHRleHQ6IHN0cmluZztcclxuXHRhdHRyaWJ1dGVzPzogQXR0cmlidXRlRWxlbWVudFtdO1xyXG5cdGFzc2V0RGVmaW5pdGlvbkNvZGU/OiBzdHJpbmc7XHJcblx0aXRlbXM6IFN1Z2dlc3Rpb25zRFRPW107XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTdWdnZXN0aW9uc0RUTyB7XHJcblx0a2V5OiBudW1iZXIgfCBzdHJpbmcgfCBudWxsO1xyXG5cdHRleHQ6IHN0cmluZztcclxuXHRhc3NldE51bWJlcj86IHN0cmluZztcclxuXHRhdHRyaWJ1dGVzPzogQXR0cmlidXRlRWxlbWVudFtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlZmF1bHRTZWFyY2hBZ2dyZWdhdGVBc3NldEFnZ3JlZ2F0ZSB7XHJcblx0W2tleTogc3RyaW5nXTogQWRkaXRpb25hbFByb3A7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWRkaXRpb25hbFByb3Age1xyXG5cdHJlc3VsdEluZm86IFJlc3VsdEluZm87XHJcblx0cmVzdWx0OiBBc3NldEFnZ3JlZ2F0ZVtdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJlc3VsdEluZm8ge1xyXG5cdHRvdGFsUGFnZTogbnVtYmVyO1xyXG5cdHRvdGFsSXRlbTogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFzc2V0QWdncmVnYXRlIHtcclxuXHRpZDogbnVtYmVyO1xyXG5cdGFzc2V0RGVmaW5pdGlvbklkOiBudW1iZXI7XHJcblx0YXNzZXREZWZpbml0aW9uQ29kZTogc3RyaW5nO1xyXG5cdGFzc2V0RGVmaW5pdGlvbk5hbWU6IHN0cmluZztcclxuXHR1bmlxdWVJZGVudGlmaWVyOiBzdHJpbmc7XHJcblx0YXV0aG9yaXR5R3JvdXA6IHN0cmluZztcclxuXHRjcmVhdGVEYXRlOiBudW1iZXI7XHJcblx0dXBkYXRlRGF0ZTogbnVtYmVyO1xyXG5cdHVwZGF0ZVVzZXI6IHN0cmluZztcclxuXHRjcmVhdGVVc2VyOiBzdHJpbmc7XHJcblx0YXNzZXRzOiBBc3NldFtdO1xyXG5cdGF0dHJpYnV0ZXM6IEF0dHJpYnV0ZUVsZW1lbnRbXTtcclxuXHRrZXk/OiBudW1iZXI7XHJcblx0dGV4dD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBc3NldCB7XHJcblx0YWxpYXM6IHN0cmluZztcclxuXHRhc3NldERlZmluaXRpb25JRDogbnVtYmVyO1xyXG5cdGFzc2V0RGVmaW5pdGlvbkNvZGU6IHN0cmluZztcclxuXHRhc3NldERlZmluaXRpb25OYW1lOiBzdHJpbmc7XHJcblx0YXNzZXRJZDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZUVsZW1lbnQge1xyXG5cdGlkOiBudW1iZXI7XHJcblx0YXR0cmlidXRlOiBBdHRyaWJ1dGVBdHRyaWJ1dGU7XHJcblx0dmFsdWU6IFZhbHVlO1xyXG5cdHN0YXJ0RGF0ZTogbnVtYmVyO1xyXG5cdHZhbHVlRGVzYzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF0dHJpYnV0ZUF0dHJpYnV0ZSB7XHJcblx0YWxpYXM6IHN0cmluZztcclxuXHRhdHRyaWJ1dGVDb2RlOiBzdHJpbmc7XHJcblx0YXR0cmlidXRlTmFtZTogc3RyaW5nO1xyXG5cdGF0dHJpYnV0ZUlkOiBudW1iZXI7XHJcblx0YXR0cmlidXRlVHlwZTogc3RyaW5nO1xyXG5cdHNlbGVjdE9wdGlvbj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWx1ZSB7fVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYWdlckRUTyB7XHJcblx0cGFnZVNpemU6IG51bWJlcjtcclxuXHRwYWdlTnVtYmVyOiBudW1iZXI7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBDYWNoZVNlYXJjaFJlcXVlc3REVE8ge1xyXG5cdGFzc2V0RGVmaW5pdGlvbkNvZGVzOiBzdHJpbmdbXTtcclxuXHRzZWFyY2hUZXh0Pzogc3RyaW5nO1xyXG5cdG1xbD86IHN0cmluZztcclxuXHRwYWdlcjogUGFnZXJEVE87XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
1
  export * from './src/detailed-overlay-panel.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL2RldGFpbGVkLW92ZXJsYXktcGFuZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2RldGFpbGVkLW92ZXJsYXktcGFuZWwuY29tcG9uZW50JztcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL2RldGFpbGVkLW92ZXJsYXktcGFuZWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3Q0FBd0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2RldGFpbGVkLW92ZXJsYXktcGFuZWwuY29tcG9uZW50JztcclxuIl19