@acorex/components 7.2.8 → 7.3.1

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 (454) hide show
  1. package/action-sheet/index.d.ts +1 -1
  2. package/action-sheet/lib/action-sheet.class.d.ts +31 -0
  3. package/action-sheet/lib/action-sheet.component.d.ts +12 -13
  4. package/action-sheet/lib/action-sheet.module.d.ts +2 -1
  5. package/action-sheet/lib/action-sheet.service.d.ts +4 -8
  6. package/alert/lib/alert.component.d.ts +10 -10
  7. package/button/lib/button-group.component.d.ts +6 -6
  8. package/button/lib/button-item.class.d.ts +6 -2
  9. package/button/lib/button-item.component.d.ts +6 -6
  10. package/button/lib/button.component.d.ts +5 -3
  11. package/calendar/lib/calendar.component.d.ts +1 -1
  12. package/check-box/README.md +3 -0
  13. package/check-box/index.d.ts +2 -0
  14. package/check-box/lib/check-box.component.d.ts +14 -0
  15. package/{checkbox/lib/checkbox.module.d.ts → check-box/lib/check-box.module.d.ts} +1 -1
  16. package/color-palette/lib/color-palette-input.component.d.ts +1 -1
  17. package/color-palette/lib/color-palette.module.d.ts +1 -1
  18. package/color-picker/lib/color-picker.component.d.ts +17 -24
  19. package/color-picker/lib/color-picker.module.d.ts +1 -1
  20. package/common/index.d.ts +2 -1
  21. package/common/lib/classes/components.class.d.ts +12 -3
  22. package/common/lib/classes/datalist.class.d.ts +11 -0
  23. package/common/lib/common.module.d.ts +3 -4
  24. package/common/lib/components/base-component.class.d.ts +9 -3
  25. package/common/lib/components/input-base-value-component.class.d.ts +1 -0
  26. package/common/lib/components/value-component.class.d.ts +9 -2
  27. package/common/lib/directives/auto-focus.directive.d.ts +6 -5
  28. package/common/lib/directives/delayed-value-changed.directive.d.ts +17 -0
  29. package/common/lib/services/dom.service.d.ts +6 -0
  30. package/data-pager/lib/data-pager-base.component.d.ts +18 -13
  31. package/data-pager/lib/data-pager-info.component.d.ts +3 -9
  32. package/data-pager/lib/data-pager-input-selector.component.d.ts +5 -9
  33. package/data-pager/lib/data-pager-next-buttons.components.d.ts +2 -8
  34. package/data-pager/lib/data-pager-numeric-selector.component.d.ts +2 -7
  35. package/data-pager/lib/data-pager-pagesize-dropdown.component.d.ts +2 -6
  36. package/data-pager/lib/data-pager-prev-buttons.component.d.ts +2 -7
  37. package/data-pager/lib/data-pager.component.d.ts +17 -18
  38. package/data-pager/lib/data-pager.module.d.ts +6 -5
  39. package/data-table/index.d.ts +0 -1
  40. package/data-table/lib/data-column.directive.d.ts +3 -8
  41. package/data-table/lib/data-table.component.d.ts +6 -7
  42. package/data-table/lib/data-table.module.d.ts +6 -7
  43. package/date-picker/lib/datepicker.component.d.ts +7 -6
  44. package/date-picker/lib/datepicker.module.d.ts +1 -1
  45. package/decorators/index.d.ts +2 -12
  46. package/decorators/lib/clear-button.component.d.ts +13 -0
  47. package/decorators/lib/close-button.component.d.ts +5 -8
  48. package/decorators/lib/decorators.module.d.ts +6 -15
  49. package/decorators/lib/generic-content.component.d.ts +6 -0
  50. package/decorators/lib/icon.component.d.ts +2 -4
  51. package/dialog/lib/dialog.class.d.ts +11 -3
  52. package/dialog/lib/dialog.component.d.ts +15 -11
  53. package/dialog/lib/dialog.module.d.ts +4 -3
  54. package/dialog/lib/dialog.service.d.ts +4 -12
  55. package/drawer/lib/drawer-container.component.d.ts +2 -5
  56. package/drawer/lib/drawer.component.d.ts +6 -7
  57. package/esm2022/action-sheet/index.mjs +2 -2
  58. package/esm2022/action-sheet/lib/action-sheet.class.mjs +2 -0
  59. package/esm2022/action-sheet/lib/action-sheet.component.mjs +50 -38
  60. package/esm2022/action-sheet/lib/action-sheet.module.mjs +11 -7
  61. package/esm2022/action-sheet/lib/action-sheet.service.mjs +32 -72
  62. package/esm2022/alert/lib/alert.component.mjs +14 -16
  63. package/esm2022/alert/lib/alert.module.mjs +7 -7
  64. package/esm2022/avatar/lib/avatar-group.component.mjs +3 -3
  65. package/esm2022/avatar/lib/avatar.component.mjs +3 -3
  66. package/esm2022/avatar/lib/avatar.module.mjs +4 -4
  67. package/esm2022/badge/lib/badge.component.mjs +6 -6
  68. package/esm2022/badge/lib/badge.module.mjs +4 -4
  69. package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +3 -3
  70. package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +3 -3
  71. package/esm2022/breadcrumbs/lib/breadcrumbs.module.mjs +4 -4
  72. package/esm2022/button/lib/button-group.component.mjs +3 -3
  73. package/esm2022/button/lib/button-item.class.mjs +1 -1
  74. package/esm2022/button/lib/button-item.component.mjs +3 -3
  75. package/esm2022/button/lib/button.component.mjs +34 -17
  76. package/esm2022/button/lib/button.module.mjs +4 -4
  77. package/esm2022/calendar/lib/calendar-range.component.mjs +5 -5
  78. package/esm2022/calendar/lib/calendar.class.mjs +3 -3
  79. package/esm2022/calendar/lib/calendar.component.mjs +7 -5
  80. package/esm2022/calendar/lib/calendar.module.mjs +4 -4
  81. package/esm2022/check-box/acorex-components-check-box.mjs +5 -0
  82. package/esm2022/check-box/index.mjs +3 -0
  83. package/esm2022/check-box/lib/check-box.component.mjs +76 -0
  84. package/esm2022/check-box/lib/check-box.module.mjs +21 -0
  85. package/esm2022/chips/lib/chips.component.mjs +3 -3
  86. package/esm2022/chips/lib/chips.module.mjs +4 -4
  87. package/esm2022/collapse/lib/collapse-group.component.mjs +3 -3
  88. package/esm2022/collapse/lib/collapse.component.mjs +3 -3
  89. package/esm2022/collapse/lib/collapse.module.mjs +4 -4
  90. package/esm2022/color-palette/lib/color-palette-input.component.mjs +18 -12
  91. package/esm2022/color-palette/lib/color-palette-picker.component.mjs +3 -3
  92. package/esm2022/color-palette/lib/color-palette-preview.component.mjs +3 -3
  93. package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +3 -3
  94. package/esm2022/color-palette/lib/color-palette.class.mjs +6 -6
  95. package/esm2022/color-palette/lib/color-palette.component.mjs +5 -5
  96. package/esm2022/color-palette/lib/color-palette.module.mjs +6 -6
  97. package/esm2022/color-picker/lib/color-picker.component.mjs +12 -6
  98. package/esm2022/color-picker/lib/color-picker.module.mjs +6 -6
  99. package/esm2022/common/index.mjs +3 -2
  100. package/esm2022/common/lib/classes/components.class.mjs +26 -19
  101. package/esm2022/common/lib/classes/datalist.class.mjs +3 -0
  102. package/esm2022/common/lib/common.module.mjs +5 -10
  103. package/esm2022/common/lib/components/base-component.class.mjs +21 -11
  104. package/esm2022/common/lib/components/input-base-value-component.class.mjs +4 -4
  105. package/esm2022/common/lib/components/value-component.class.mjs +18 -10
  106. package/esm2022/common/lib/directives/auto-focus.directive.mjs +18 -11
  107. package/esm2022/common/lib/directives/delayed-value-changed.directive.mjs +49 -0
  108. package/esm2022/common/lib/directives/hotkey.directive.mjs +3 -3
  109. package/esm2022/common/lib/directives/infinite-scroll.directive.mjs +3 -3
  110. package/esm2022/common/lib/directives/responsive.directive.mjs +3 -3
  111. package/esm2022/common/lib/services/custom-cdk-overlay.service.mjs +6 -6
  112. package/esm2022/common/lib/services/dom.service.mjs +16 -0
  113. package/esm2022/common/lib/services/hotkey.service.mjs +3 -3
  114. package/esm2022/common/lib/services/overlay.service.mjs +3 -3
  115. package/esm2022/context-menu/lib/context-menu.component.mjs +5 -5
  116. package/esm2022/context-menu/lib/context-menu.module.mjs +4 -4
  117. package/esm2022/data-pager/lib/data-pager-base.component.mjs +35 -21
  118. package/esm2022/data-pager/lib/data-pager-info.component.mjs +13 -26
  119. package/esm2022/data-pager/lib/data-pager-input-selector.component.mjs +27 -31
  120. package/esm2022/data-pager/lib/data-pager-next-buttons.components.mjs +19 -33
  121. package/esm2022/data-pager/lib/data-pager-numeric-selector.component.mjs +31 -38
  122. package/esm2022/data-pager/lib/data-pager-pagesize-dropdown.component.mjs +22 -31
  123. package/esm2022/data-pager/lib/data-pager-prev-buttons.component.mjs +19 -29
  124. package/esm2022/data-pager/lib/data-pager.component.mjs +66 -38
  125. package/esm2022/data-pager/lib/data-pager.module.mjs +8 -7
  126. package/esm2022/data-table/index.mjs +1 -2
  127. package/esm2022/data-table/lib/data-column.directive.mjs +7 -22
  128. package/esm2022/data-table/lib/data-table.component.mjs +30 -30
  129. package/esm2022/data-table/lib/data-table.module.mjs +6 -7
  130. package/esm2022/date-picker/lib/datepicker.component.mjs +19 -16
  131. package/esm2022/date-picker/lib/datepicker.module.mjs +6 -6
  132. package/esm2022/decorators/index.mjs +3 -13
  133. package/esm2022/decorators/lib/clear-button.component.mjs +58 -0
  134. package/esm2022/decorators/lib/close-button.component.mjs +16 -20
  135. package/esm2022/decorators/lib/decorators.module.mjs +13 -49
  136. package/esm2022/decorators/lib/generic-content.component.mjs +17 -0
  137. package/esm2022/decorators/lib/icon.component.mjs +8 -11
  138. package/esm2022/dialog/lib/dialog.class.mjs +1 -1
  139. package/esm2022/dialog/lib/dialog.component.mjs +41 -23
  140. package/esm2022/dialog/lib/dialog.module.mjs +10 -8
  141. package/esm2022/dialog/lib/dialog.service.mjs +41 -49
  142. package/esm2022/drawer/lib/drawer-container.component.mjs +9 -13
  143. package/esm2022/drawer/lib/drawer.component.mjs +22 -27
  144. package/esm2022/drawer/lib/drawer.module.mjs +4 -4
  145. package/esm2022/dropdown/lib/dropdown-panel.component.mjs +4 -4
  146. package/esm2022/dropdown/lib/dropdown.module.mjs +4 -4
  147. package/esm2022/form/lib/form-field.component.mjs +9 -12
  148. package/esm2022/form/lib/form.component.mjs +38 -42
  149. package/esm2022/form/lib/form.module.mjs +4 -4
  150. package/esm2022/form/lib/validation-rule.widget.mjs +24 -15
  151. package/esm2022/form/lib/validation-summary.component.mjs +15 -14
  152. package/esm2022/image/lib/image.component.mjs +13 -17
  153. package/esm2022/image/lib/image.module.mjs +4 -4
  154. package/esm2022/label/lib/label.component.mjs +18 -18
  155. package/esm2022/label/lib/label.module.mjs +4 -4
  156. package/esm2022/loading/index.mjs +2 -1
  157. package/esm2022/loading/lib/loading-spinner.component.mjs +4 -5
  158. package/esm2022/loading/lib/loading.component.mjs +22 -25
  159. package/esm2022/loading/lib/loading.config.mjs +17 -0
  160. package/esm2022/loading/lib/loading.directive.mjs +4 -4
  161. package/esm2022/loading/lib/loading.module.mjs +6 -17
  162. package/esm2022/loading/lib/loading.service.mjs +4 -36
  163. package/esm2022/menu/lib/menu.component.mjs +26 -19
  164. package/esm2022/menu/lib/menu.module.mjs +4 -4
  165. package/esm2022/mixin/lib/base-components.class.mjs +3 -3
  166. package/esm2022/mixin/lib/color-look-mixing.class.mjs +1 -1
  167. package/esm2022/notification/index.mjs +2 -1
  168. package/esm2022/notification/lib/notification.class.mjs +1 -1
  169. package/esm2022/notification/lib/notification.component.mjs +51 -35
  170. package/esm2022/notification/lib/notification.config.mjs +20 -0
  171. package/esm2022/notification/lib/notification.module.mjs +11 -7
  172. package/esm2022/notification/lib/notification.service.mjs +46 -59
  173. package/esm2022/number-box/lib/number-box.component.mjs +101 -90
  174. package/esm2022/number-box/lib/number-box.module.mjs +4 -4
  175. package/esm2022/otp/lib/otp.component.mjs +38 -48
  176. package/esm2022/otp/lib/otp.module.mjs +4 -4
  177. package/esm2022/page/lib/base-page.class.mjs +6 -6
  178. package/esm2022/page/lib/page.component.mjs +3 -3
  179. package/esm2022/page/lib/page.module.mjs +4 -4
  180. package/esm2022/password-box/lib/password-box.component.mjs +37 -25
  181. package/esm2022/password-box/lib/password-box.module.mjs +4 -4
  182. package/esm2022/popover/lib/dropdown-component.class.mjs +3 -3
  183. package/esm2022/popover/lib/popover.component.mjs +3 -3
  184. package/esm2022/popover/lib/popover.module.mjs +4 -4
  185. package/esm2022/popup/index.mjs +2 -1
  186. package/esm2022/popup/lib/popup.component.mjs +49 -69
  187. package/esm2022/popup/lib/popup.interface.mjs +2 -0
  188. package/esm2022/popup/lib/popup.module.mjs +27 -12
  189. package/esm2022/popup/lib/popup.service.mjs +31 -86
  190. package/esm2022/progress-bar/lib/progress-bar.component.mjs +3 -3
  191. package/esm2022/progress-bar/lib/progress-bar.module.mjs +4 -4
  192. package/esm2022/radio/lib/radio.component.mjs +4 -4
  193. package/esm2022/radio/lib/radio.module.mjs +4 -4
  194. package/esm2022/range-slider/lib/range-slider.component.mjs +3 -3
  195. package/esm2022/range-slider/lib/range-slider.module.mjs +4 -4
  196. package/esm2022/result/lib/result.component.mjs +3 -3
  197. package/esm2022/result/lib/result.module.mjs +4 -4
  198. package/esm2022/scheduler/acorex-components-scheduler.mjs +5 -0
  199. package/esm2022/scheduler/index.mjs +4 -0
  200. package/esm2022/scheduler/lib/scheduler-month-view.component.mjs +45 -0
  201. package/esm2022/scheduler/lib/scheduler.component.mjs +30 -0
  202. package/esm2022/scheduler/lib/scheduler.module.mjs +26 -0
  203. package/esm2022/search-box/lib/search-box.component.mjs +35 -44
  204. package/esm2022/search-box/lib/search-box.module.mjs +28 -7
  205. package/esm2022/select-box/lib/select-box.component.mjs +11 -9
  206. package/esm2022/select-box/lib/select-box.module.mjs +7 -7
  207. package/esm2022/selection-list/lib/selection-list.component.mjs +3 -3
  208. package/esm2022/selection-list/lib/selection-list.module.mjs +6 -6
  209. package/esm2022/switch/lib/switch-content.component.mjs +3 -3
  210. package/esm2022/switch/lib/switch.component.mjs +4 -4
  211. package/esm2022/switch/lib/switch.module.mjs +4 -4
  212. package/esm2022/tabs/lib/tab-content.directive.mjs +3 -3
  213. package/esm2022/tabs/lib/tab-item.component.mjs +3 -3
  214. package/esm2022/tabs/lib/tabs.component.mjs +3 -3
  215. package/esm2022/tabs/lib/tabs.module.mjs +4 -4
  216. package/esm2022/tag/lib/tag.component.mjs +3 -3
  217. package/esm2022/tag/lib/tag.module.mjs +4 -4
  218. package/esm2022/text-area/acorex-components-text-area.mjs +5 -0
  219. package/esm2022/text-area/index.mjs +3 -0
  220. package/esm2022/text-area/lib/text-area.component.mjs +36 -0
  221. package/esm2022/text-area/lib/text-area.module.mjs +19 -0
  222. package/esm2022/{checkbox/acorex-components-checkbox.mjs → text-box/acorex-components-text-box.mjs} +1 -1
  223. package/esm2022/text-box/index.mjs +4 -0
  224. package/esm2022/text-box/lib/mask-options.directive.mjs +17 -0
  225. package/esm2022/text-box/lib/text-box.component.mjs +111 -0
  226. package/esm2022/text-box/lib/text-box.module.mjs +38 -0
  227. package/esm2022/time-box/lib/time-box.component.mjs +5 -5
  228. package/esm2022/time-box/lib/time-box.module.mjs +4 -4
  229. package/esm2022/toast/index.mjs +2 -1
  230. package/esm2022/toast/lib/toast.class.mjs +1 -1
  231. package/esm2022/toast/lib/toast.component.mjs +37 -25
  232. package/esm2022/toast/lib/toast.config.mjs +19 -0
  233. package/esm2022/toast/lib/toast.module.mjs +12 -8
  234. package/esm2022/toast/lib/toast.service.mjs +46 -55
  235. package/esm2022/tooltip/lib/tooltip.component.mjs +3 -3
  236. package/esm2022/tooltip/lib/tooltip.directive.mjs +3 -3
  237. package/esm2022/tooltip/lib/tooltip.module.mjs +4 -4
  238. package/esm2022/uploader/lib/uploader.component.mjs +3 -3
  239. package/esm2022/uploader/lib/uploader.module.mjs +4 -4
  240. package/fesm2022/acorex-components-action-sheet.mjs +99 -125
  241. package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
  242. package/fesm2022/acorex-components-alert.mjs +16 -18
  243. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  244. package/fesm2022/acorex-components-avatar.mjs +10 -10
  245. package/fesm2022/acorex-components-badge.mjs +8 -8
  246. package/fesm2022/acorex-components-badge.mjs.map +1 -1
  247. package/fesm2022/acorex-components-breadcrumbs.mjs +10 -10
  248. package/fesm2022/acorex-components-button.mjs +41 -24
  249. package/fesm2022/acorex-components-button.mjs.map +1 -1
  250. package/fesm2022/acorex-components-calendar.mjs +17 -15
  251. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  252. package/fesm2022/acorex-components-check-box.mjs +100 -0
  253. package/fesm2022/acorex-components-check-box.mjs.map +1 -0
  254. package/fesm2022/acorex-components-chips.mjs +7 -7
  255. package/fesm2022/acorex-components-collapse.mjs +10 -10
  256. package/fesm2022/acorex-components-color-palette.mjs +42 -36
  257. package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
  258. package/fesm2022/acorex-components-color-picker.mjs +16 -10
  259. package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
  260. package/fesm2022/acorex-components-common.mjs +169 -125
  261. package/fesm2022/acorex-components-common.mjs.map +1 -1
  262. package/fesm2022/acorex-components-context-menu.mjs +8 -8
  263. package/fesm2022/acorex-components-context-menu.mjs.map +1 -1
  264. package/fesm2022/acorex-components-data-pager.mjs +214 -228
  265. package/fesm2022/acorex-components-data-pager.mjs.map +1 -1
  266. package/fesm2022/acorex-components-data-table.mjs +41 -71
  267. package/fesm2022/acorex-components-data-table.mjs.map +1 -1
  268. package/fesm2022/acorex-components-date-picker.mjs +25 -22
  269. package/fesm2022/acorex-components-date-picker.mjs.map +1 -1
  270. package/fesm2022/acorex-components-decorators.mjs +80 -283
  271. package/fesm2022/acorex-components-decorators.mjs.map +1 -1
  272. package/fesm2022/acorex-components-dialog.mjs +97 -88
  273. package/fesm2022/acorex-components-dialog.mjs.map +1 -1
  274. package/fesm2022/acorex-components-drawer.mjs +30 -39
  275. package/fesm2022/acorex-components-drawer.mjs.map +1 -1
  276. package/fesm2022/acorex-components-dropdown.mjs +7 -7
  277. package/fesm2022/acorex-components-dropdown.mjs.map +1 -1
  278. package/fesm2022/acorex-components-form.mjs +80 -77
  279. package/fesm2022/acorex-components-form.mjs.map +1 -1
  280. package/fesm2022/acorex-components-image.mjs +15 -19
  281. package/fesm2022/acorex-components-image.mjs.map +1 -1
  282. package/fesm2022/acorex-components-label.mjs +21 -21
  283. package/fesm2022/acorex-components-label.mjs.map +1 -1
  284. package/fesm2022/acorex-components-loading.mjs +51 -83
  285. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  286. package/fesm2022/acorex-components-menu.mjs +29 -22
  287. package/fesm2022/acorex-components-menu.mjs.map +1 -1
  288. package/fesm2022/acorex-components-mixin.mjs +3 -3
  289. package/fesm2022/acorex-components-mixin.mjs.map +1 -1
  290. package/fesm2022/acorex-components-notification.mjs +131 -107
  291. package/fesm2022/acorex-components-notification.mjs.map +1 -1
  292. package/fesm2022/acorex-components-number-box.mjs +106 -96
  293. package/fesm2022/acorex-components-number-box.mjs.map +1 -1
  294. package/fesm2022/acorex-components-otp.mjs +40 -50
  295. package/fesm2022/acorex-components-otp.mjs.map +1 -1
  296. package/fesm2022/acorex-components-page.mjs +12 -12
  297. package/fesm2022/acorex-components-page.mjs.map +1 -1
  298. package/fesm2022/acorex-components-password-box.mjs +41 -30
  299. package/fesm2022/acorex-components-password-box.mjs.map +1 -1
  300. package/fesm2022/acorex-components-popover.mjs +10 -10
  301. package/fesm2022/acorex-components-popup.mjs +107 -170
  302. package/fesm2022/acorex-components-popup.mjs.map +1 -1
  303. package/fesm2022/acorex-components-progress-bar.mjs +7 -7
  304. package/fesm2022/acorex-components-radio.mjs +8 -8
  305. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  306. package/fesm2022/acorex-components-range-slider.mjs +7 -7
  307. package/fesm2022/acorex-components-result.mjs +7 -7
  308. package/fesm2022/acorex-components-scheduler.mjs +98 -0
  309. package/fesm2022/acorex-components-scheduler.mjs.map +1 -0
  310. package/fesm2022/acorex-components-search-box.mjs +61 -49
  311. package/fesm2022/acorex-components-search-box.mjs.map +1 -1
  312. package/fesm2022/acorex-components-select-box.mjs +16 -14
  313. package/fesm2022/acorex-components-select-box.mjs.map +1 -1
  314. package/fesm2022/acorex-components-selection-list.mjs +8 -8
  315. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  316. package/fesm2022/acorex-components-switch.mjs +11 -11
  317. package/fesm2022/acorex-components-tabs.mjs +13 -13
  318. package/fesm2022/acorex-components-tag.mjs +7 -7
  319. package/fesm2022/acorex-components-text-area.mjs +59 -0
  320. package/fesm2022/acorex-components-text-area.mjs.map +1 -0
  321. package/fesm2022/{acorex-components-textbox.mjs → acorex-components-text-box.mjs} +20 -20
  322. package/fesm2022/acorex-components-text-box.mjs.map +1 -0
  323. package/fesm2022/acorex-components-time-box.mjs +8 -8
  324. package/fesm2022/acorex-components-time-box.mjs.map +1 -1
  325. package/fesm2022/acorex-components-toast.mjs +116 -94
  326. package/fesm2022/acorex-components-toast.mjs.map +1 -1
  327. package/fesm2022/acorex-components-tooltip.mjs +10 -10
  328. package/fesm2022/acorex-components-uploader.mjs +7 -7
  329. package/form/lib/form-field.component.d.ts +2 -4
  330. package/form/lib/form.component.d.ts +12 -17
  331. package/form/lib/validation-rule.widget.d.ts +9 -6
  332. package/form/lib/validation-summary.component.d.ts +7 -9
  333. package/image/lib/image.component.d.ts +7 -13
  334. package/label/lib/label.component.d.ts +4 -7
  335. package/loading/index.d.ts +1 -0
  336. package/loading/lib/loading.component.d.ts +9 -12
  337. package/loading/lib/loading.config.d.ts +8 -0
  338. package/loading/lib/loading.directive.d.ts +5 -5
  339. package/loading/lib/loading.module.d.ts +0 -1
  340. package/loading/lib/loading.service.d.ts +0 -18
  341. package/menu/lib/menu.component.d.ts +4 -2
  342. package/mixin/lib/base-components.class.d.ts +2 -2
  343. package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
  344. package/mixin/lib/button-mixin.class.d.ts +2 -2
  345. package/mixin/lib/clickable-mixin.class.d.ts +2 -2
  346. package/mixin/lib/color-look-mixing.class.d.ts +3 -3
  347. package/mixin/lib/datalist-component.class.d.ts +10 -10
  348. package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
  349. package/mixin/lib/interactive-mixin.class.d.ts +4 -4
  350. package/mixin/lib/loading-mixin.class.d.ts +2 -2
  351. package/mixin/lib/mixin.class.d.ts +61 -61
  352. package/mixin/lib/page-component.class.d.ts +2 -2
  353. package/mixin/lib/selection-component.class.d.ts +2 -2
  354. package/mixin/lib/sizable-mixin.class.d.ts +2 -2
  355. package/mixin/lib/textbox-mixin.class.d.ts +2 -2
  356. package/mixin/lib/value-mixin.class.d.ts +8 -8
  357. package/notification/index.d.ts +1 -0
  358. package/notification/lib/notification.class.d.ts +29 -7
  359. package/notification/lib/notification.component.d.ts +13 -14
  360. package/notification/lib/notification.config.d.ts +13 -0
  361. package/notification/lib/notification.module.d.ts +4 -1
  362. package/notification/lib/notification.service.d.ts +5 -9
  363. package/number-box/lib/number-box.component.d.ts +12 -17
  364. package/otp/lib/otp.component.d.ts +7 -14
  365. package/package.json +46 -40
  366. package/page/lib/base-page.class.d.ts +2 -2
  367. package/password-box/lib/password-box.component.d.ts +8 -11
  368. package/popup/index.d.ts +1 -0
  369. package/popup/lib/popup.component.d.ts +14 -19
  370. package/popup/lib/popup.interface.d.ts +26 -0
  371. package/popup/lib/popup.module.d.ts +4 -4
  372. package/popup/lib/popup.service.d.ts +4 -25
  373. package/scheduler/README.md +3 -0
  374. package/scheduler/index.d.ts +3 -0
  375. package/scheduler/lib/scheduler-month-view.component.d.ts +20 -0
  376. package/scheduler/lib/scheduler.component.d.ts +11 -0
  377. package/scheduler/lib/scheduler.module.d.ts +13 -0
  378. package/search-box/lib/search-box.component.d.ts +8 -16
  379. package/search-box/lib/search-box.module.d.ts +7 -5
  380. package/select-box/lib/select-box.module.d.ts +2 -2
  381. package/selection-list/lib/selection-list.module.d.ts +1 -1
  382. package/tabs/lib/tab-item.component.d.ts +2 -2
  383. package/text-area/README.md +3 -0
  384. package/text-area/index.d.ts +2 -0
  385. package/text-area/lib/text-area.component.d.ts +11 -0
  386. package/text-area/lib/text-area.module.d.ts +9 -0
  387. package/text-box/README.md +3 -0
  388. package/text-box/index.d.ts +3 -0
  389. package/{textbox/lib/textbox.component.d.ts → text-box/lib/text-box.component.d.ts} +1 -3
  390. package/{textbox/lib/textbox.module.d.ts → text-box/lib/text-box.module.d.ts} +1 -1
  391. package/time-box/lib/time-box.component.d.ts +1 -1
  392. package/toast/index.d.ts +1 -0
  393. package/toast/lib/toast.class.d.ts +14 -5
  394. package/toast/lib/toast.component.d.ts +13 -12
  395. package/toast/lib/toast.config.d.ts +12 -0
  396. package/toast/lib/toast.module.d.ts +4 -1
  397. package/toast/lib/toast.service.d.ts +5 -9
  398. package/action-sheet/lib/action-sheet.interface.d.ts +0 -21
  399. package/checkbox/README.md +0 -3
  400. package/checkbox/index.d.ts +0 -2
  401. package/checkbox/lib/checkbox.component.d.ts +0 -18
  402. package/common/lib/directives/debounce-time.directive.d.ts +0 -17
  403. package/data-table/lib/data-column-cell-template.directive.d.ts +0 -8
  404. package/decorators/lib/content.component.d.ts +0 -9
  405. package/decorators/lib/divider.component.d.ts +0 -5
  406. package/decorators/lib/footer.component.d.ts +0 -9
  407. package/decorators/lib/form-hint.component.d.ts +0 -8
  408. package/decorators/lib/header.component.d.ts +0 -9
  409. package/decorators/lib/overlay.component.d.ts +0 -6
  410. package/decorators/lib/placeholder.component.d.ts +0 -5
  411. package/decorators/lib/prefix.component.d.ts +0 -9
  412. package/decorators/lib/sub-title.component.d.ts +0 -9
  413. package/decorators/lib/suffix.component.d.ts +0 -9
  414. package/decorators/lib/text.component.d.ts +0 -9
  415. package/decorators/lib/title.component.d.ts +0 -8
  416. package/esm2022/action-sheet/lib/action-sheet.interface.mjs +0 -2
  417. package/esm2022/checkbox/index.mjs +0 -3
  418. package/esm2022/checkbox/lib/checkbox.component.mjs +0 -65
  419. package/esm2022/checkbox/lib/checkbox.module.mjs +0 -21
  420. package/esm2022/common/lib/directives/debounce-time.directive.mjs +0 -48
  421. package/esm2022/data-table/lib/data-column-cell-template.directive.mjs +0 -17
  422. package/esm2022/decorators/lib/content.component.mjs +0 -26
  423. package/esm2022/decorators/lib/divider.component.mjs +0 -17
  424. package/esm2022/decorators/lib/footer.component.mjs +0 -26
  425. package/esm2022/decorators/lib/form-hint.component.mjs +0 -20
  426. package/esm2022/decorators/lib/header.component.mjs +0 -26
  427. package/esm2022/decorators/lib/overlay.component.mjs +0 -22
  428. package/esm2022/decorators/lib/placeholder.component.mjs +0 -14
  429. package/esm2022/decorators/lib/prefix.component.mjs +0 -26
  430. package/esm2022/decorators/lib/sub-title.component.mjs +0 -26
  431. package/esm2022/decorators/lib/suffix.component.mjs +0 -26
  432. package/esm2022/decorators/lib/text.component.mjs +0 -21
  433. package/esm2022/decorators/lib/title.component.mjs +0 -20
  434. package/esm2022/textarea/acorex-components-textarea.mjs +0 -5
  435. package/esm2022/textarea/index.mjs +0 -3
  436. package/esm2022/textarea/lib/textarea.component.mjs +0 -37
  437. package/esm2022/textarea/lib/textarea.module.mjs +0 -19
  438. package/esm2022/textbox/acorex-components-textbox.mjs +0 -5
  439. package/esm2022/textbox/index.mjs +0 -4
  440. package/esm2022/textbox/lib/mask-options.directive.mjs +0 -17
  441. package/esm2022/textbox/lib/textbox.component.mjs +0 -111
  442. package/esm2022/textbox/lib/textbox.module.mjs +0 -38
  443. package/fesm2022/acorex-components-checkbox.mjs +0 -89
  444. package/fesm2022/acorex-components-checkbox.mjs.map +0 -1
  445. package/fesm2022/acorex-components-textarea.mjs +0 -60
  446. package/fesm2022/acorex-components-textarea.mjs.map +0 -1
  447. package/fesm2022/acorex-components-textbox.mjs.map +0 -1
  448. package/textarea/README.md +0 -3
  449. package/textarea/index.d.ts +0 -2
  450. package/textarea/lib/textarea.component.d.ts +0 -14
  451. package/textarea/lib/textarea.module.d.ts +0 -9
  452. package/textbox/README.md +0 -3
  453. package/textbox/index.d.ts +0 -3
  454. /package/{textbox → text-box}/lib/mask-options.directive.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { Overlay } from '@angular/cdk/overlay';
2
2
  import { ComponentPortal } from '@angular/cdk/portal';
3
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChild, TemplateRef, ElementRef, ChangeDetectorRef, } from '@angular/core';
3
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, ContentChild, TemplateRef, ElementRef, ChangeDetectorRef, Input, } from '@angular/core';
4
4
  import { AXBaseMenuMixin } from '@acorex/components/mixin';
5
5
  import { AXPlatform } from '@acorex/core/platform';
6
6
  import { AXTranslator } from '@acorex/core/translation';
@@ -81,14 +81,14 @@ export class AXMenuComponent extends AXBaseMenuMixin {
81
81
  return 'ax-vertical';
82
82
  }
83
83
  }
84
- _removeActive(items) {
85
- items.forEach((element) => {
86
- element.active = false;
87
- if (element?.children?.length > 0) {
88
- this._removeActive(element.children);
89
- }
90
- });
91
- }
84
+ // private _removeActive(items: any): void {
85
+ // items.forEach((element) => {
86
+ // element.active = false;
87
+ // if (element?.children?.length > 0) {
88
+ // this._removeActive(element.children);
89
+ // }
90
+ // });
91
+ // }
92
92
  _closeOpenChild(items) {
93
93
  items.forEach((element) => {
94
94
  element.opened = false;
@@ -134,9 +134,6 @@ export class AXMenuComponent extends AXBaseMenuMixin {
134
134
  item.opened = !item.opened;
135
135
  }
136
136
  }
137
- this._removeActive(this.displayItems);
138
- if (e.type !== 'mouseenter')
139
- item.active = !item.active;
140
137
  if (this.displayMode === 'horizontal' || this.displayMode === 'vertical') {
141
138
  if (this._oldItem &&
142
139
  this._oldItem?.opened &&
@@ -312,10 +309,19 @@ export class AXMenuComponent extends AXBaseMenuMixin {
312
309
  onDestroy() {
313
310
  this._overlayRef?.detach();
314
311
  }
315
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component }); }
316
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AXMenuComponent, selector: "ax-menu", inputs: { disabled: "disabled", tabIndex: "tabIndex", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", tooltip: "tooltip", opened: "opened", active: "active", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", displayMode: "displayMode", showModal: "showModal" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, queries: [{ propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }, { propertyName: "_contentItemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: displayItems, isRoot: true }\"></ng-container>\n </ul>\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\n <ng-container *ngFor=\"let item of list\">\n <li *ngIf=\"item[visibleField] != false\" [class.ax-state-disabled]=\"item[disableField]\" (click)=\"_onMenuClick($event, item)\" (mouseenter)=\"_onMenuMouseEnter($event, item)\">\n <div\n class=\"ax-menu-item\"\n [ngClass]=\"{\n 'ax-is-parent': item?.children?.length,\n 'ax-is-child': !isRoot,\n 'ax-state-active ': item.active\n }\"\n *ngIf=\"itemTemplate == null; else tmpItem\">\n <div class=\"ax-menu-item-prefix\">\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></span>\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\n </div>\n <div class=\"ax-menu-item-suffix\">\n <span\n class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\n [ngClass]=\"{\n 'ax-icon-chevron-down': item?.children?.length > 0,\n 'ax-menu-active-icon': item.opened\n }\"\n *ngIf=\"!item.isLoading\"></span>\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\n </div>\n </div>\n <!--------------- check for custom item template --------------->\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-container>\n </ng-template>\n <ul *ngIf=\"item?.children?.length > 0 && item.opened && !_overlayRef\" [class.ax-state-disabled]=\"item[disableField]\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: item.children }\"> </ng-container>\n </ul>\n </li>\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"isLoading\">\n <ng-template>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading [options]=\"_loadingOptions\"></ax-loading>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <!--------------- check for custom template --------------->\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n {{ 'common.no-result-found' | trans }}\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: ["ax-menu{font-size:.875rem;display:block}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item{display:flex}ax-menu ul li .ax-menu-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon{padding-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li.ax-state-active .ax-menu-item-icon-chevron{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-menu .ax-horizontal>li,ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgba(var(--ax-color-default))}ax-menu .ax-horizontal li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-horizontal li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu .ax-vertical{flex-direction:column;width:100%}ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-vertical li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgba(var(--ax-color-surface));border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);padding:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-menu .ax-vertical.ax-submenu-ul li{border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-menu-item-divider){padding:.5rem}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-state-disabled,.ax-menu-item-divider):hover{background-color:rgba(var(--ax-color-default));color:rgba(var(--ax-color-default-fore))}ax-menu .ax-side-menu{width:100%;flex-direction:column;gap:.5rem;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}ax-menu .ax-side-menu .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem;width:100%;padding-inline-start:.75rem}ax-menu .ax-side-menu li .ax-menu-item-icon-chevron.ax-menu-active-icon{transform:rotate(180deg)!important}ax-menu .ax-side-menu li .ax-menu-item{justify-content:space-between}ax-menu .ax-side-menu li .ax-menu-item.ax-is-parent{font-weight:500}ax-menu .ax-side-menu li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer;font-size:1rem}ax-menu .ax-side-menu li:not(.ax-menu-item-divider) .ax-is-child{font-size:.875rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "options"], outputs: ["visibleChange"] }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
312
+ isActive(item) {
313
+ if (typeof this.activeCallback == 'function') {
314
+ return this.activeCallback(item);
315
+ }
316
+ return false;
317
+ }
318
+ refresh() {
319
+ this.cdr.markForCheck();
320
+ }
321
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component }); }
322
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AXMenuComponent, selector: "ax-menu", inputs: { disabled: "disabled", tabIndex: "tabIndex", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", tooltip: "tooltip", opened: "opened", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", displayMode: "displayMode", showModal: "showModal", activeCallback: "activeCallback" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, queries: [{ propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }, { propertyName: "_contentItemTemplate", first: true, predicate: ["itemTemplate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: displayItems, isRoot: true }\"></ng-container>\n </ul>\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\n <ng-container *ngFor=\"let item of list\">\n <li *ngIf=\"item[visibleField] != false\" [class.ax-state-disabled]=\"item[disableField]\"\n (click)=\"_onMenuClick($event, item)\">\n <div class=\"ax-menu-item\" [ngClass]=\"{\n 'ax-is-parent': item.children?.length,\n 'ax-is-child': !isRoot,\n 'ax-state-active ': item.isActive\n }\" *ngIf=\"itemTemplate == null; else tmpItem\">\n <div class=\"ax-menu-item-prefix\">\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></span>\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\n </div>\n <div class=\"ax-menu-item-suffix\">\n <span class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\" [ngClass]=\"{\n 'ax-icon-chevron-down': item?.children?.length > 0,\n 'ax-menu-active-icon': item.opened\n }\" *ngIf=\"!item.isLoading\"></span>\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\n </div>\n </div>\n <!--------------- check for custom item template --------------->\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-container>\n </ng-template>\n <ul *ngIf=\"item?.children?.length > 0 && item.opened && !_overlayRef\"\n [class.ax-state-disabled]=\"item[disableField]\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: item.children }\"> </ng-container>\n </ul>\n </li>\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"isLoading\">\n <ng-template>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading [context]=\"_loadingOptions\"></ax-loading>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <!--------------- check for custom template --------------->\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n {{ 'common.no-result-found' | trans }}\n </ng-template>\n </ng-container>\n</ng-template>", styles: ["ax-menu{font-size:.875rem;display:block}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item{display:flex}ax-menu ul li .ax-menu-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon{padding-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li.ax-state-active .ax-menu-item-icon-chevron{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-menu .ax-horizontal>li,ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgba(var(--ax-color-default))}ax-menu .ax-horizontal li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-horizontal li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu .ax-vertical{flex-direction:column;width:100%}ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-vertical li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgba(var(--ax-color-surface));border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);padding:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-menu .ax-vertical.ax-submenu-ul li{border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-menu-item-divider){padding:.5rem}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-state-disabled,.ax-menu-item-divider):hover{background-color:rgba(var(--ax-color-default));color:rgba(var(--ax-color-default-fore))}ax-menu .ax-side-menu{width:100%;flex-direction:column;gap:.5rem;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}ax-menu .ax-side-menu .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem;width:100%;padding-inline-start:.75rem}ax-menu .ax-side-menu li .ax-menu-item-icon-chevron.ax-menu-active-icon{transform:rotate(180deg)!important}ax-menu .ax-side-menu li .ax-menu-item{justify-content:space-between}ax-menu .ax-side-menu li .ax-menu-item.ax-is-parent{font-weight:500}ax-menu .ax-side-menu li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer;font-size:1rem}ax-menu .ax-side-menu li:not(.ax-menu-item-divider) .ax-is-child{font-size:.875rem}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
317
323
  }
318
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXMenuComponent, decorators: [{
324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXMenuComponent, decorators: [{
319
325
  type: Component,
320
326
  args: [{ selector: 'ax-menu', inputs: [
321
327
  'disabled',
@@ -327,7 +333,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
327
333
  'iconField',
328
334
  'tooltip',
329
335
  'opened',
330
- 'active',
331
336
  'visibleField',
332
337
  'disableField',
333
338
  'hasChildField',
@@ -335,12 +340,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
335
340
  'openMode',
336
341
  'displayMode',
337
342
  'showModal',
338
- ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: displayItems, isRoot: true }\"></ng-container>\n </ul>\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\n <ng-container *ngFor=\"let item of list\">\n <li *ngIf=\"item[visibleField] != false\" [class.ax-state-disabled]=\"item[disableField]\" (click)=\"_onMenuClick($event, item)\" (mouseenter)=\"_onMenuMouseEnter($event, item)\">\n <div\n class=\"ax-menu-item\"\n [ngClass]=\"{\n 'ax-is-parent': item?.children?.length,\n 'ax-is-child': !isRoot,\n 'ax-state-active ': item.active\n }\"\n *ngIf=\"itemTemplate == null; else tmpItem\">\n <div class=\"ax-menu-item-prefix\">\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></span>\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\n </div>\n <div class=\"ax-menu-item-suffix\">\n <span\n class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\"\n [ngClass]=\"{\n 'ax-icon-chevron-down': item?.children?.length > 0,\n 'ax-menu-active-icon': item.opened\n }\"\n *ngIf=\"!item.isLoading\"></span>\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\n </div>\n </div>\n <!--------------- check for custom item template --------------->\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-container>\n </ng-template>\n <ul *ngIf=\"item?.children?.length > 0 && item.opened && !_overlayRef\" [class.ax-state-disabled]=\"item[disableField]\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: item.children }\"> </ng-container>\n </ul>\n </li>\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"isLoading\">\n <ng-template>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading [options]=\"_loadingOptions\"></ax-loading>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <!--------------- check for custom template --------------->\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n {{ 'common.no-result-found' | trans }}\n </ng-template>\n </ng-container>\n</ng-template>\n", styles: ["ax-menu{font-size:.875rem;display:block}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item{display:flex}ax-menu ul li .ax-menu-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon{padding-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li.ax-state-active .ax-menu-item-icon-chevron{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-menu .ax-horizontal>li,ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgba(var(--ax-color-default))}ax-menu .ax-horizontal li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-horizontal li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu .ax-vertical{flex-direction:column;width:100%}ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-vertical li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgba(var(--ax-color-surface));border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);padding:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-menu .ax-vertical.ax-submenu-ul li{border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-menu-item-divider){padding:.5rem}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-state-disabled,.ax-menu-item-divider):hover{background-color:rgba(var(--ax-color-default));color:rgba(var(--ax-color-default-fore))}ax-menu .ax-side-menu{width:100%;flex-direction:column;gap:.5rem;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}ax-menu .ax-side-menu .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem;width:100%;padding-inline-start:.75rem}ax-menu .ax-side-menu li .ax-menu-item-icon-chevron.ax-menu-active-icon{transform:rotate(180deg)!important}ax-menu .ax-side-menu li .ax-menu-item{justify-content:space-between}ax-menu .ax-side-menu li .ax-menu-item.ax-is-parent{font-weight:500}ax-menu .ax-side-menu li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer;font-size:1rem}ax-menu .ax-side-menu li:not(.ax-menu-item-divider) .ax-is-child{font-size:.875rem}\n"] }]
339
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i2.AXPlatform }]; }, propDecorators: { _contentEmptyTemplate: [{
343
+ ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: displayItems, isRoot: true }\"></ng-container>\n </ul>\n <ng-template #recursiveListTmpl let-list=\"list\" let-isRoot=\"isRoot\">\n <ng-container *ngFor=\"let item of list\">\n <li *ngIf=\"item[visibleField] != false\" [class.ax-state-disabled]=\"item[disableField]\"\n (click)=\"_onMenuClick($event, item)\">\n <div class=\"ax-menu-item\" [ngClass]=\"{\n 'ax-is-parent': item.children?.length,\n 'ax-is-child': !isRoot,\n 'ax-state-active ': item.isActive\n }\" *ngIf=\"itemTemplate == null; else tmpItem\">\n <div class=\"ax-menu-item-prefix\">\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></span>\n <span>{{ _getItemDisplayTextTemplte(item) }}</span>\n </div>\n <div class=\"ax-menu-item-suffix\">\n <span class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\" [ngClass]=\"{\n 'ax-icon-chevron-down': item?.children?.length > 0,\n 'ax-menu-active-icon': item.opened\n }\" *ngIf=\"!item.isLoading\"></span>\n <ax-loading *ngIf=\"item.isLoading\"> </ax-loading>\n </div>\n </div>\n <!--------------- check for custom item template --------------->\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item }\"> </ng-container>\n </ng-container>\n </ng-template>\n <ul *ngIf=\"item?.children?.length > 0 && item.opened && !_overlayRef\"\n [class.ax-state-disabled]=\"item[disableField]\">\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context: { list: item.children }\"> </ng-container>\n </ul>\n </li>\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\n </ng-container>\n </ng-template>\n</ng-container>\n<ng-container *ngIf=\"isLoading\">\n <ng-template>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading [context]=\"_loadingOptions\"></ax-loading>\n </div>\n </ng-template>\n</ng-container>\n\n<ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <!--------------- check for custom template --------------->\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n {{ 'common.no-result-found' | trans }}\n </ng-template>\n </ng-container>\n</ng-template>", styles: ["ax-menu{font-size:.875rem;display:block}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item{display:flex}ax-menu ul li .ax-menu-item.ax-state-active{color:rgba(var(--ax-color-primary-500))}ax-menu ul li .ax-menu-item .ax-menu-item-prefix,ax-menu ul li .ax-menu-item .ax-menu-item-suffix{display:flex;align-items:center;justify-content:center}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon-chevron,ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon-chevron{transform:rotate(-90deg)}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon:not(:empty),ax-menu ul li .ax-menu-item .ax-menu-item-suffix .ax-menu-item-icon:not(:empty){min-width:1.25rem;min-height:1.25rem}ax-menu ul li .ax-menu-item .ax-menu-item-prefix .ax-menu-item-icon{padding-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li.ax-state-active .ax-menu-item-icon-chevron{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-menu .ax-horizontal>li,ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgba(var(--ax-color-default))}ax-menu .ax-horizontal li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-horizontal li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu .ax-vertical{flex-direction:column;width:100%}ax-menu .ax-vertical>li{font-weight:500}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-vertical li.ax-state-active .ax-menu-item-icon-chevron{transform:rotate(0)!important}ax-menu .ax-vertical li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgba(var(--ax-color-surface));border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);padding:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-menu .ax-vertical.ax-submenu-ul li{border-radius:var(--ax-rounded-border-default);cursor:pointer}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-menu-item-divider){padding:.5rem}ax-menu .ax-vertical.ax-submenu-ul li:not(.ax-state-disabled,.ax-menu-item-divider):hover{background-color:rgba(var(--ax-color-default));color:rgba(var(--ax-color-default-fore))}ax-menu .ax-side-menu{width:100%;flex-direction:column;gap:.5rem;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}ax-menu .ax-side-menu .ax-menu-item-divider{width:100%;height:1px;background-color:rgba(var(--ax-color-default));margin:.375rem 0}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem;width:100%;padding-inline-start:.75rem}ax-menu .ax-side-menu li .ax-menu-item-icon-chevron.ax-menu-active-icon{transform:rotate(180deg)!important}ax-menu .ax-side-menu li .ax-menu-item{justify-content:space-between}ax-menu .ax-side-menu li .ax-menu-item.ax-is-parent{font-weight:500}ax-menu .ax-side-menu li:not(.ax-menu-item-divider){padding:.5rem 0;cursor:pointer;font-size:1rem}ax-menu .ax-side-menu li:not(.ax-menu-item-divider) .ax-is-child{font-size:.875rem}\n"] }]
344
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i2.AXPlatform }]; }, propDecorators: { activeCallback: [{
345
+ type: Input
346
+ }], _contentEmptyTemplate: [{
340
347
  type: ContentChild,
341
348
  args: ['emptyTemplate']
342
349
  }], _contentItemTemplate: [{
343
350
  type: ContentChild,
344
351
  args: ['itemTemplate']
345
352
  }] } });
346
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21lbnUvc3JjL2xpYi9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBRWpCLFlBQVksRUFDWixXQUFXLEVBQ1gsVUFBVSxFQUNWLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQUV4RDs7OztHQUlHO0FBNEJILE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7SUFTbEQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFZRCxZQUNVLFdBQXVCLEVBQ3ZCLEdBQXNCLEVBQ3RCLFFBQWlCLEVBQ2pCLFNBQXFCO1FBRTdCLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFMaEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixj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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYsIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIE9uSW5pdCxcbiAgQ29udGVudENoaWxkLFxuICBUZW1wbGF0ZVJlZixcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlTWVudU1peGluIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcblxuLyoqXG4gKiBUaGUgQnV0dG9uIGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFtcbiAgICAnZGlzYWJsZWQnLFxuICAgICd0YWJJbmRleCcsXG4gICAgJ3RleHRGaWVsZCcsXG4gICAgJ3ZhbHVlRmllbGQnLFxuICAgICdpdGVtcycsXG4gICAgJ3BhcmVudElkJyxcbiAgICAnaWNvbkZpZWxkJyxcbiAgICAndG9vbHRpcCcsXG4gICAgJ29wZW5lZCcsXG4gICAgJ2FjdGl2ZScsXG4gICAgJ3Zpc2libGVGaWVsZCcsXG4gICAgJ2Rpc2FibGVGaWVsZCcsXG4gICAgJ2hhc0NoaWxkRmllbGQnLFxuICAgICdkaXZpZGVyRmllbGQnLFxuICAgICdvcGVuTW9kZScsXG4gICAgJ2Rpc3BsYXlNb2RlJyxcbiAgICAnc2hvd01vZGFsJyxcbiAgXSxcbiAgb3V0cHV0czogWydvbkJsdXInLCAnb25Gb2N1cycsICdvbk1lbnVJdGVtQ2xpY2snXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVudUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZU1lbnVNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBDb250ZW50Q2hpbGQoJ2VtcHR5VGVtcGxhdGUnKVxuICBwcml2YXRlIF9jb250ZW50RW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKCdpdGVtVGVtcGxhdGUnKVxuICBwcml2YXRlIF9jb250ZW50SXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIHB1YmxpYyBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcblxuICBnZXQgZW1wdHlUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEVtcHR5VGVtcGxhdGU7XG4gIH1cblxuICBnZXQgaXRlbVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50SXRlbVRlbXBsYXRlO1xuICB9XG5cbiAgaXNSdGw6IGJvb2xlYW4gPSBuZXcgQVhQbGF0Zm9ybSgpLmlzUnRsKCk7XG5cbiAgcHJpdmF0ZSBfbGV2ZWxDb3VudDogbnVtYmVyID0gMDtcblxuICBwcml2YXRlIF9vbGRJdGVtOiBhbnk7XG5cbiAgcHJvdGVjdGVkIF9sb2FkaW5nT3B0aW9ucyA9IHtcbiAgICB0ZXh0OiBBWFRyYW5zbGF0b3IuZ2V0KCdsYXlvdXQubG9hZGluZy50ZXh0JyksXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF9wbGF0Zm9ybTogQVhQbGF0Zm9ybVxuICApIHtcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgY2RyKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5vbkluaXQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XG4gIH1cblxuICBfb25NZW51TW91c2VFbnRlcihlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZS50YXJnZXQgYXMgSFRNTERpdkVsZW1lbnQ7XG5cbiAgICBpZiAodGhpcy5pc0xvYWRpbmcgfHwgdGFyZ2V0RWxlbWVudC50YWdOYW1lID09PSAnVUwnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3Blbk1vZGUgPT09ICdob3ZlcicpIHtcbiAgICAgIHRoaXMuX2hhbmRlbE1lbnVMb2dpYyhlLCBpdGVtKTtcbiAgICB9XG5cbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIF9vbk1lbnVDbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gZS50YXJnZXQgYXMgSFRNTERpdkVsZW1lbnQ7XG5cbiAgICBpZiAodGhpcy5pc0xvYWRpbmcgfHwgdGFyZ2V0RWxlbWVudC50YWdOYW1lID09PSAnVUwnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3Blbk1vZGUgPT09ICdjbGljaycpIHtcbiAgICAgIHRoaXMuX2hhbmRlbE1lbnVMb2dpYyhlLCBpdGVtKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uTWVudUl0ZW1DbGljay5lbWl0KHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGl0ZW06IGl0ZW0sXG4gICAgICBuYXRpdmVFdmVudDogZSxcbiAgICB9KTtcblxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgX2dldERpcmVjdGlvbigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRpc3BsYXlNb2RlID09PSAnaG9yaXpvbnRhbCcgJiYgdGhpcy5fbGV2ZWxDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuICdheC1ob3Jpem9udGFsJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2xldmVsQ291bnQgPiAwKSB7XG4gICAgICByZXR1cm4gJ2F4LXZlcnRpY2FsIGF4LXN1Ym1lbnUtdWwnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kaXNwbGF5TW9kZSA9PT0gJ3NpZGVtZW51Jykge1xuICAgICAgcmV0dXJuICdheC1zaWRlLW1lbnUnO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJ2F4LXZlcnRpY2FsJztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9yZW1vdmVBY3RpdmUoaXRlbXM6IGFueSk6IHZvaWQge1xuICAgIGl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIGVsZW1lbnQuYWN0aXZlID0gZmFsc2U7XG4gICAgICBpZiAoZWxlbWVudD8uY2hpbGRyZW4/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5fcmVtb3ZlQWN0aXZlKGVsZW1lbnQuY2hpbGRyZW4pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xvc2VPcGVuQ2hpbGQoaXRlbXM6IGFueSk6IHZvaWQge1xuICAgIGl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIGVsZW1lbnQub3BlbmVkID0gZmFsc2U7XG4gICAgICBpZiAoZWxlbWVudD8uY2hpbGRyZW4/Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5fY2xvc2VPcGVuQ2hpbGQoZWxlbWVudC5jaGlsZHJlbik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0UGFyZW50KGl0ZW1zOiBhbnksIHBhcmVudElkOiBhbnkpOiB2b2lkIHtcbiAgICBpdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICBlbGVtZW50LnBhcmVudElkID0gcGFyZW50SWQ7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kZWxNZW51TG9naWMoZTogTW91c2VFdmVudCwgaXRlbTogYW55KTogdm9pZCB7XG4gICAgaWYgKCFpdGVtW3RoaXMuZGlzYWJsZUZpZWxkXSB8fCBpdGVtW3RoaXMuZGl2aWRlckZpZWxkXSA9PT0gZmFsc2UpIHtcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIGlmIChcbiAgICAgICAgKHRhcmdldEVsZW1lbnQuY2xvc2VzdCgnbGknKSAmJiB0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB8fFxuICAgICAgICAodGFyZ2V0RWxlbWVudC5jbG9zZXN0KCdsaScpICYmIHRoaXMub3Blbk1vZGUgPT09ICdob3ZlcicpXG4gICAgICApIHtcbiAgICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgdGhpcy5fb2xkSXRlbSAhPT0gaXRlbSkge1xuICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJykge1xuICAgICAgICAgIHRoaXMuZGlzcGxheUl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgICAgICAgIGlmICghaXRlbS5wYXJlbnRJZCAmJiBpdGVtW3RoaXMudmFsdWVGaWVsZF0gIT09IGVsZW1lbnRbdGhpcy52YWx1ZUZpZWxkXSkge1xuICAgICAgICAgICAgICBlbGVtZW50Lm9wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGlmICh0aGlzLmRpc3BsYXlNb2RlID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgICAgICAgIHRoaXMuX2luaXRQYXJlbnQoaXRlbS5jaGlsZHJlbiwgaXRlbVt0aGlzLnZhbHVlRmllbGRdKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJyB8fCB0aGlzLmRpc3BsYXlNb2RlID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5fb2xkSXRlbSAhPT0gaXRlbSkge1xuICAgICAgICAgICAgICB0aGlzLl9vcGVuQXNPdmVybGF5KHRhcmdldEVsZW1lbnQuY2xvc2VzdCgnbGknKSwgaXRlbS5jaGlsZHJlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX2Nsb3NlT3BlbkNoaWxkKGl0ZW0uY2hpbGRyZW4pO1xuXG4gICAgICAgICAgaWYgKHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJyB8fCB0aGlzLmRpc3BsYXlNb2RlID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICBpdGVtLm9wZW5lZCA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGl0ZW0ub3BlbmVkID0gIWl0ZW0ub3BlbmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX3JlbW92ZUFjdGl2ZSh0aGlzLmRpc3BsYXlJdGVtcyk7XG5cbiAgICAgICAgaWYgKGUudHlwZSAhPT0gJ21vdXNlZW50ZXInKSBpdGVtLmFjdGl2ZSA9ICFpdGVtLmFjdGl2ZTtcblxuICAgICAgICBpZiAodGhpcy5kaXNwbGF5TW9kZSA9PT0gJ2hvcml6b250YWwnIHx8IHRoaXMuZGlzcGxheU1vZGUgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLl9vbGRJdGVtICYmXG4gICAgICAgICAgICB0aGlzLl9vbGRJdGVtPy5vcGVuZWQgJiZcbiAgICAgICAgICAgIGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSAhPT0gdGhpcy5fb2xkSXRlbVt0aGlzLnZhbHVlRmllbGRdXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLl9vbGRJdGVtLm9wZW5lZCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9vbGRJdGVtID0gaXRlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX29wZW5Bc092ZXJsYXkodGFyZ2V0UmVmLCBvdmVybGF5SXRlbXM6IGFueVtdKTogdm9pZCB7XG4gICAgbGV0IHBvc2l0aW9ucyA9IFtdO1xuICAgIGlmICh0aGlzLmRpc3BsYXlNb2RlID09PSAndmVydGljYWwnKSB7XG4gICAgICBpZiAodGhpcy5fbGV2ZWxDb3VudCA+PSAxKSB7XG4gICAgICAgIHBvc2l0aW9ucyA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb3NpdGlvbnMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5fbGV2ZWxDb3VudCA+PSAxKSB7XG4gICAgICAgIHBvc2l0aW9ucyA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9zaXRpb25zID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpLFxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheVxuICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0YXJnZXRSZWYpXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFsuLi5wb3NpdGlvbnNdKVxuICAgICAgICAud2l0aFB1c2goZmFsc2UpXG4gICAgICAgIC53aXRoRGVmYXVsdE9mZnNldFgoMTIpLFxuXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX3BsYXRmb3JtLmlzUnRsKCkgPyAncnRsJyA6ICdsdHInLFxuICAgICAgZGlzcG9zZU9uTmF2aWdhdGlvbjogdHJ1ZSxcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1mYWRlSW4nLCAnYXgtYW5pbWF0ZS1mYXN0ZXInLCAnYXgtb3ZlcmxheS1tZW51J10sXG4gICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXG4gICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICBiYWNrZHJvcENsYXNzOiBbJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ10sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZWYgPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKEFYTWVudUNvbXBvbmVudCkpO1xuXG4gICAgcmVmLmluc3RhbmNlLml0ZW1zID0gb3ZlcmxheUl0ZW1zO1xuXG4gICAgcmVmLmluc3RhbmNlLmRpc3BsYXlNb2RlID0gdGhpcy5kaXNwbGF5TW9kZTtcblxuICAgIHJlZi5pbnN0YW5jZS5vcGVuTW9kZSA9ICdob3Zlcic7XG5cbiAgICByZWYuaW5zdGFuY2UuX2xldmVsQ291bnQgPSB0aGlzLl9sZXZlbENvdW50ICsgMTtcblxuICAgIHJlZi5pbnN0YW5jZS5kaXNhYmxlRmllbGQgPSB0aGlzLmRpc2FibGVGaWVsZDtcblxuICAgIHJlZi5pbnN0YW5jZS52aXNpYmxlRmllbGQgPSB0aGlzLnZpc2libGVGaWVsZDtcblxuICAgIHJlZi5pbnN0YW5jZS52YWx1ZUZpZWxkID0gdGhpcy52YWx1ZUZpZWxkO1xuXG4gICAgcmVmLmluc3RhbmNlLnRleHRGaWVsZCA9IHRoaXMudGV4dEZpZWxkO1xuXG4gICAgcmVmLmluc3RhbmNlLmljb25GaWVsZCA9IHRoaXMuaWNvbkZpZWxkO1xuXG4gICAgcmVmLmluc3RhbmNlLmRpdmlkZXJGaWVsZCA9IHRoaXMuZGl2aWRlckZpZWxkO1xuXG4gICAgcmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICByZWYuaW5zdGFuY2U/Ll9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmLm91dHNpZGVQb2ludGVyRXZlbnRzKCkuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZiAmJiB0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB7XG4gICAgICAgIHRoaXMuX2Nsb3NlKCk7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICAgIHRoaXMuX2Nsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLl9wbGF0Zm9ybS5yZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICAgIHRoaXMuX2Nsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9jbG9zZSgpIHtcbiAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgIHRoaXMuX29sZEl0ZW0gPSBudWxsO1xuICAgIHRoaXMuZGlzcGxheUl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIGVsZW1lbnQub3BlbmVkID0gZmFsc2U7XG4gICAgICBlbGVtZW50LmFjdGl2ZSA9IGZhbHNlO1xuICAgIH0pO1xuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vdmVybGF5UmVmPy5kZXRhY2goKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlJdGVtcy5sZW5ndGg7IGVsc2UgdG1wRW1wdHlcIj5cbiAgPHVsIFtuZ0NsYXNzXT1cIl9nZXREaXJlY3Rpb24oKVwiIFtjbGFzcy5heC1ydGxdPVwicnRsXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZUxpc3RUbXBsOyBjb250ZXh0OiB7IGxpc3Q6IGRpc3BsYXlJdGVtcywgaXNSb290OiB0cnVlIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgPC91bD5cbiAgPG5nLXRlbXBsYXRlICNyZWN1cnNpdmVMaXN0VG1wbCBsZXQtbGlzdD1cImxpc3RcIiBsZXQtaXNSb290PVwiaXNSb290XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0XCI+XG4gICAgICA8bGkgKm5nSWY9XCJpdGVtW3Zpc2libGVGaWVsZF0gIT0gZmFsc2VcIiBbY2xhc3MuYXgtc3RhdGUtZGlzYWJsZWRdPVwiaXRlbVtkaXNhYmxlRmllbGRdXCIgKGNsaWNrKT1cIl9vbk1lbnVDbGljaygkZXZlbnQsIGl0ZW0pXCIgKG1vdXNlZW50ZXIpPVwiX29uTWVudU1vdXNlRW50ZXIoJGV2ZW50LCBpdGVtKVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJheC1tZW51LWl0ZW1cIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdheC1pcy1wYXJlbnQnOiBpdGVtPy5jaGlsZHJlbj8ubGVuZ3RoLFxuICAgICAgICAgICAgJ2F4LWlzLWNoaWxkJzogIWlzUm9vdCxcbiAgICAgICAgICAgICdheC1zdGF0ZS1hY3RpdmUgJzogaXRlbS5hY3RpdmVcbiAgICAgICAgICB9XCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW1UZW1wbGF0ZSA9PSBudWxsOyBlbHNlIHRtcEl0ZW1cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWVudS1pdGVtLXByZWZpeFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbVtpY29uRmllbGRdXCIgW2NsYXNzXT1cIml0ZW1baWNvbkZpZWxkXVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuPnt7IF9nZXRJdGVtRGlzcGxheVRleHRUZW1wbHRlKGl0ZW0pIH19PC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW0tc3VmZml4XCI+XG4gICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICBjbGFzcz1cImF4LW1lbnUtaXRlbS1pY29uIGF4LWljb24gYXgtbWVudS1pdGVtLWljb24tY2hldnJvblwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAnYXgtaWNvbi1jaGV2cm9uLWRvd24nOiBpdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID4gMCxcbiAgICAgICAgICAgICAgICAnYXgtbWVudS1hY3RpdmUtaWNvbic6IGl0ZW0ub3BlbmVkXG4gICAgICAgICAgICAgIH1cIlxuICAgICAgICAgICAgICAqbmdJZj1cIiFpdGVtLmlzTG9hZGluZ1wiPjwvc3Bhbj5cbiAgICAgICAgICAgIDxheC1sb2FkaW5nICpuZ0lmPVwiaXRlbS5pc0xvYWRpbmdcIj4gPC9heC1sb2FkaW5nPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPCEtLS0tLS0tLS0tLS0tLS0gY2hlY2sgZm9yIGN1c3RvbSAgaXRlbSB0ZW1wbGF0ZSAgLS0tLS0tLS0tLS0tLS0tPlxuICAgICAgICA8bmctdGVtcGxhdGUgI3RtcEl0ZW0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0xvYWRpbmdcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtIH1cIj4gPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDx1bCAqbmdJZj1cIml0ZW0/LmNoaWxkcmVuPy5sZW5ndGggPiAwICYmIGl0ZW0ub3BlbmVkICYmICFfb3ZlcmxheVJlZlwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtW2Rpc2FibGVGaWVsZF1cIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVjdXJzaXZlTGlzdFRtcGw7IGNvbnRleHQ6IHsgbGlzdDogaXRlbS5jaGlsZHJlbiB9XCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSBjbGFzcz1cImF4LW1lbnUtaXRlbS1kaXZpZGVyXCIgKm5nSWY9XCJpdGVtW3RoaXMuZGl2aWRlckZpZWxkXVwiPjwvbGk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgPG5nLXRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1wLTRcIj5cbiAgICAgIDxheC1sb2FkaW5nIFtvcHRpb25zXT1cIl9sb2FkaW5nT3B0aW9uc1wiPjwvYXgtbG9hZGluZz5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3RtcEVtcHR5PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxuICAgIDwhLS0tLS0tLS0tLS0tLS0tIGNoZWNrIGZvciBjdXN0b20gdGVtcGxhdGUgIC0tLS0tLS0tLS0tLS0tLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW1wdHlUZW1wbGF0ZTsgZWxzZSBlbHNlRW1wdHlUZW1wbGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5VGVtcGxhdGVcIj4gPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNlbHNlRW1wdHlUZW1wbGF0ZT5cbiAgICAgIHt7ICdjb21tb24ubm8tcmVzdWx0LWZvdW5kJyB8IHRyYW5zIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPlxuIl19
353
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWVudS9zcmMvbGliL21lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL21lbnUvc3JjL2xpYi9tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBRWpCLFlBQVksRUFDWixXQUFXLEVBQ1gsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUFFeEQ7Ozs7R0FJRztBQTJCSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxlQUFlO0lBY2xELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBWUQsWUFDVSxXQUF1QixFQUN2QixHQUFzQixFQUN0QixRQUFpQixFQUNqQixTQUFxQjtRQUU3QixLQUFLLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBTGhCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENB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bmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuXG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgT25Jbml0LFxuICBDb250ZW50Q2hpbGQsXG4gIFRlbXBsYXRlUmVmLFxuICBFbGVtZW50UmVmLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgSW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhCYXNlTWVudU1peGluIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcblxuLyoqXG4gKiBUaGUgQnV0dG9uIGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBpbnB1dHM6IFtcbiAgICAnZGlzYWJsZWQnLFxuICAgICd0YWJJbmRleCcsXG4gICAgJ3RleHRGaWVsZCcsXG4gICAgJ3ZhbHVlRmllbGQnLFxuICAgICdpdGVtcycsXG4gICAgJ3BhcmVudElkJyxcbiAgICAnaWNvbkZpZWxkJyxcbiAgICAndG9vbHRpcCcsXG4gICAgJ29wZW5lZCcsXG4gICAgJ3Zpc2libGVGaWVsZCcsXG4gICAgJ2Rpc2FibGVGaWVsZCcsXG4gICAgJ2hhc0NoaWxkRmllbGQnLFxuICAgICdkaXZpZGVyRmllbGQnLFxuICAgICdvcGVuTW9kZScsXG4gICAgJ2Rpc3BsYXlNb2RlJyxcbiAgICAnc2hvd01vZGFsJyxcbiAgXSxcbiAgb3V0cHV0czogWydvbkJsdXInLCAnb25Gb2N1cycsICdvbk1lbnVJdGVtQ2xpY2snXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYTWVudUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZU1lbnVNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgYWN0aXZlQ2FsbGJhY2s/OiAoaXRlbTogYW55KSA9PiBib29sZWFuO1xuXG5cbiAgQENvbnRlbnRDaGlsZCgnZW1wdHlUZW1wbGF0ZScpXG4gIHByaXZhdGUgX2NvbnRlbnRFbXB0eVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoJ2l0ZW1UZW1wbGF0ZScpXG4gIHByaXZhdGUgX2NvbnRlbnRJdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgcHVibGljIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuXG4gIGdldCBlbXB0eVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jb250ZW50RW1wdHlUZW1wbGF0ZTtcbiAgfVxuXG4gIGdldCBpdGVtVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRJdGVtVGVtcGxhdGU7XG4gIH1cblxuICBpc1J0bDogYm9vbGVhbiA9IG5ldyBBWFBsYXRmb3JtKCkuaXNSdGwoKTtcblxuICBwcml2YXRlIF9sZXZlbENvdW50OiBudW1iZXIgPSAwO1xuXG4gIHByaXZhdGUgX29sZEl0ZW06IGFueTtcblxuICBwcm90ZWN0ZWQgX2xvYWRpbmdPcHRpb25zID0ge1xuICAgIHRleHQ6IEFYVHJhbnNsYXRvci5nZXQoJ2xheW91dC5sb2FkaW5nLnRleHQnKSxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgX3BsYXRmb3JtOiBBWFBsYXRmb3JtXG4gICkge1xuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBjZHIpO1xuICB9XG5cbiAgb3ZlcnJpZGUgb25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm9uSW5pdCgpO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm9uVmlld0luaXQoKTtcbiAgfVxuXG4gIF9vbk1lbnVNb3VzZUVudGVyKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcblxuICAgIGlmICh0aGlzLmlzTG9hZGluZyB8fCB0YXJnZXRFbGVtZW50LnRhZ05hbWUgPT09ICdVTCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcGVuTW9kZSA9PT0gJ2hvdmVyJykge1xuICAgICAgdGhpcy5faGFuZGVsTWVudUxvZ2ljKGUsIGl0ZW0pO1xuICAgIH1cblxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgX29uTWVudUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSk6IHZvaWQge1xuICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcblxuICAgIGlmICh0aGlzLmlzTG9hZGluZyB8fCB0YXJnZXRFbGVtZW50LnRhZ05hbWUgPT09ICdVTCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vcGVuTW9kZSA9PT0gJ2NsaWNrJykge1xuICAgICAgdGhpcy5faGFuZGVsTWVudUxvZ2ljKGUsIGl0ZW0pO1xuICAgIH1cblxuICAgIHRoaXMub25NZW51SXRlbUNsaWNrLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaXRlbTogaXRlbSxcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgIH0pO1xuXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICBfZ2V0RGlyZWN0aW9uKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJyAmJiB0aGlzLl9sZXZlbENvdW50ID09PSAwKSB7XG4gICAgICByZXR1cm4gJ2F4LWhvcml6b250YWwnO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fbGV2ZWxDb3VudCA+IDApIHtcbiAgICAgIHJldHVybiAnYXgtdmVydGljYWwgYXgtc3VibWVudS11bCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRpc3BsYXlNb2RlID09PSAnc2lkZW1lbnUnKSB7XG4gICAgICByZXR1cm4gJ2F4LXNpZGUtbWVudSc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnYXgtdmVydGljYWwnO1xuICAgIH1cbiAgfVxuXG4gIC8vIHByaXZhdGUgX3JlbW92ZUFjdGl2ZShpdGVtczogYW55KTogdm9pZCB7XG4gIC8vICAgaXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAvLyAgICAgZWxlbWVudC5hY3RpdmUgPSBmYWxzZTtcbiAgLy8gICAgIGlmIChlbGVtZW50Py5jaGlsZHJlbj8ubGVuZ3RoID4gMCkge1xuICAvLyAgICAgICB0aGlzLl9yZW1vdmVBY3RpdmUoZWxlbWVudC5jaGlsZHJlbik7XG4gIC8vICAgICB9XG4gIC8vICAgfSk7XG4gIC8vIH1cblxuICBwcml2YXRlIF9jbG9zZU9wZW5DaGlsZChpdGVtczogYW55KTogdm9pZCB7XG4gICAgaXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgZWxlbWVudC5vcGVuZWQgPSBmYWxzZTtcbiAgICAgIGlmIChlbGVtZW50Py5jaGlsZHJlbj8ubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLl9jbG9zZU9wZW5DaGlsZChlbGVtZW50LmNoaWxkcmVuKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRQYXJlbnQoaXRlbXM6IGFueSwgcGFyZW50SWQ6IGFueSk6IHZvaWQge1xuICAgIGl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcbiAgICAgIGVsZW1lbnQucGFyZW50SWQgPSBwYXJlbnRJZDtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRlbE1lbnVMb2dpYyhlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIWl0ZW1bdGhpcy5kaXNhYmxlRmllbGRdIHx8IGl0ZW1bdGhpcy5kaXZpZGVyRmllbGRdID09PSBmYWxzZSkge1xuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgaWYgKFxuICAgICAgICAodGFyZ2V0RWxlbWVudC5jbG9zZXN0KCdsaScpICYmIHRoaXMub3Blbk1vZGUgPT09ICdjbGljaycpIHx8XG4gICAgICAgICh0YXJnZXRFbGVtZW50LmNsb3Nlc3QoJ2xpJykgJiYgdGhpcy5vcGVuTW9kZSA9PT0gJ2hvdmVyJylcbiAgICAgICkge1xuICAgICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZiAmJiB0aGlzLl9vbGRJdGVtICE9PSBpdGVtKSB7XG4gICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kaXNwbGF5TW9kZSA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICAgICAgdGhpcy5kaXNwbGF5SXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFpdGVtLnBhcmVudElkICYmIGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSAhPT0gZWxlbWVudFt0aGlzLnZhbHVlRmllbGRdKSB7XG4gICAgICAgICAgICAgIGVsZW1lbnQub3BlbmVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGl0ZW0/LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJykge1xuICAgICAgICAgICAgdGhpcy5faW5pdFBhcmVudChpdGVtLmNoaWxkcmVuLCBpdGVtW3RoaXMudmFsdWVGaWVsZF0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5kaXNwbGF5TW9kZSA9PT0gJ2hvcml6b250YWwnIHx8IHRoaXMuZGlzcGxheU1vZGUgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9vbGRJdGVtICE9PSBpdGVtKSB7XG4gICAgICAgICAgICAgIHRoaXMuX29wZW5Bc092ZXJsYXkodGFyZ2V0RWxlbWVudC5jbG9zZXN0KCdsaScpLCBpdGVtLmNoaWxkcmVuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fY2xvc2VPcGVuQ2hpbGQoaXRlbS5jaGlsZHJlbik7XG5cbiAgICAgICAgICBpZiAodGhpcy5kaXNwbGF5TW9kZSA9PT0gJ2hvcml6b250YWwnIHx8IHRoaXMuZGlzcGxheU1vZGUgPT09ICd2ZXJ0aWNhbCcpIHtcbiAgICAgICAgICAgIGl0ZW0ub3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaXRlbS5vcGVuZWQgPSAhaXRlbS5vcGVuZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJyB8fCB0aGlzLmRpc3BsYXlNb2RlID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5fb2xkSXRlbSAmJlxuICAgICAgICAgICAgdGhpcy5fb2xkSXRlbT8ub3BlbmVkICYmXG4gICAgICAgICAgICBpdGVtW3RoaXMudmFsdWVGaWVsZF0gIT09IHRoaXMuX29sZEl0ZW1bdGhpcy52YWx1ZUZpZWxkXVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5fb2xkSXRlbS5vcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fb2xkSXRlbSA9IGl0ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vcGVuQXNPdmVybGF5KHRhcmdldFJlZiwgb3ZlcmxheUl0ZW1zOiBhbnlbXSk6IHZvaWQge1xuICAgIGxldCBwb3NpdGlvbnMgPSBbXTtcbiAgICBpZiAodGhpcy5kaXNwbGF5TW9kZSA9PT0gJ3ZlcnRpY2FsJykge1xuICAgICAgaWYgKHRoaXMuX2xldmVsQ291bnQgPj0gMSkge1xuICAgICAgICBwb3NpdGlvbnMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcbiAgICAgICAgICB9LFxuICAgICAgICBdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcG9zaXRpb25zID0gW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuX2xldmVsQ291bnQgPj0gMSkge1xuICAgICAgICBwb3NpdGlvbnMgPSBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvc2l0aW9ucyA9IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKHtcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKSxcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXlcbiAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGFyZ2V0UmVmKVxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbLi4ucG9zaXRpb25zXSlcbiAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxuICAgICAgICAud2l0aERlZmF1bHRPZmZzZXRYKDEyKSxcblxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9wbGF0Zm9ybS5pc1J0bCgpID8gJ3J0bCcgOiAnbHRyJyxcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJywgJ2F4LW92ZXJsYXktbWVudSddLFxuICAgICAgbWF4SGVpZ2h0OiAndW5zZXQnLFxuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgYmFja2Ryb3BDbGFzczogWydjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVmID0gdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChBWE1lbnVDb21wb25lbnQpKTtcblxuICAgIHJlZi5pbnN0YW5jZS5pdGVtcyA9IG92ZXJsYXlJdGVtcztcblxuICAgIHJlZi5pbnN0YW5jZS5kaXNwbGF5TW9kZSA9IHRoaXMuZGlzcGxheU1vZGU7XG5cbiAgICByZWYuaW5zdGFuY2Uub3Blbk1vZGUgPSAnaG92ZXInO1xuXG4gICAgcmVmLmluc3RhbmNlLl9sZXZlbENvdW50ID0gdGhpcy5fbGV2ZWxDb3VudCArIDE7XG5cbiAgICByZWYuaW5zdGFuY2UuZGlzYWJsZUZpZWxkID0gdGhpcy5kaXNhYmxlRmllbGQ7XG5cbiAgICByZWYuaW5zdGFuY2UudmlzaWJsZUZpZWxkID0gdGhpcy52aXNpYmxlRmllbGQ7XG5cbiAgICByZWYuaW5zdGFuY2UudmFsdWVGaWVsZCA9IHRoaXMudmFsdWVGaWVsZDtcblxuICAgIHJlZi5pbnN0YW5jZS50ZXh0RmllbGQgPSB0aGlzLnRleHRGaWVsZDtcblxuICAgIHJlZi5pbnN0YW5jZS5pY29uRmllbGQgPSB0aGlzLmljb25GaWVsZDtcblxuICAgIHJlZi5pbnN0YW5jZS5kaXZpZGVyRmllbGQgPSB0aGlzLmRpdmlkZXJGaWVsZDtcblxuICAgIHJlZi5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgcmVmLmluc3RhbmNlPy5fb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpLnN1YnNjcmliZSgoZSkgPT4ge1xuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgdGhpcy5vcGVuTW9kZSA9PT0gJ2NsaWNrJykge1xuICAgICAgICB0aGlzLl9jbG9zZSgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fcGxhdGZvcm0uc2Nyb2xsLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgICB0aGlzLl9jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fcGxhdGZvcm0ucmVzaXplLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xuICAgICAgICB0aGlzLl9jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2xvc2UoKSB7XG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICB0aGlzLl9vbGRJdGVtID0gbnVsbDtcbiAgICB0aGlzLmRpc3BsYXlJdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICBlbGVtZW50Lm9wZW5lZCA9IGZhbHNlO1xuICAgICAgZWxlbWVudC5hY3RpdmUgPSBmYWxzZTtcbiAgICB9KTtcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICBvdmVycmlkZSBvbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XG4gIH1cblxuXG4gIHByb3RlY3RlZCBpc0FjdGl2ZShpdGVtOiBhbnkpOiBib29sZWFuIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuYWN0aXZlQ2FsbGJhY2sgPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIHRoaXMuYWN0aXZlQ2FsbGJhY2soaXRlbSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5SXRlbXMubGVuZ3RoOyBlbHNlIHRtcEVtcHR5XCI+XG4gIDx1bCBbbmdDbGFzc109XCJfZ2V0RGlyZWN0aW9uKClcIiBbY2xhc3MuYXgtcnRsXT1cInJ0bFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWN1cnNpdmVMaXN0VG1wbDsgY29udGV4dDogeyBsaXN0OiBkaXNwbGF5SXRlbXMsIGlzUm9vdDogdHJ1ZSB9XCI+PC9uZy1jb250YWluZXI+XG4gIDwvdWw+XG4gIDxuZy10ZW1wbGF0ZSAjcmVjdXJzaXZlTGlzdFRtcGwgbGV0LWxpc3Q9XCJsaXN0XCIgbGV0LWlzUm9vdD1cImlzUm9vdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdFwiPlxuICAgICAgPGxpICpuZ0lmPVwiaXRlbVt2aXNpYmxlRmllbGRdICE9IGZhbHNlXCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIml0ZW1bZGlzYWJsZUZpZWxkXVwiXG4gICAgICAgIChjbGljayk9XCJfb25NZW51Q2xpY2soJGV2ZW50LCBpdGVtKVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWVudS1pdGVtXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2F4LWlzLXBhcmVudCc6IGl0ZW0uY2hpbGRyZW4/Lmxlbmd0aCxcbiAgICAgICAgICAgICdheC1pcy1jaGlsZCc6ICFpc1Jvb3QsXG4gICAgICAgICAgICAnYXgtc3RhdGUtYWN0aXZlICc6IGl0ZW0uaXNBY3RpdmVcbiAgICAgICAgICB9XCIgKm5nSWY9XCJpdGVtVGVtcGxhdGUgPT0gbnVsbDsgZWxzZSB0bXBJdGVtXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1lbnUtaXRlbS1wcmVmaXhcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtbWVudS1pdGVtLWljb25cIiAqbmdJZj1cIml0ZW1baWNvbkZpZWxkXVwiIFtjbGFzc109XCJpdGVtW2ljb25GaWVsZF1cIj48L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57eyBfZ2V0SXRlbURpc3BsYXlUZXh0VGVtcGx0ZShpdGVtKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbWVudS1pdGVtLXN1ZmZpeFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1tZW51LWl0ZW0taWNvbiBheC1pY29uIGF4LW1lbnUtaXRlbS1pY29uLWNoZXZyb25cIiBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgJ2F4LWljb24tY2hldnJvbi1kb3duJzogaXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCA+IDAsXG4gICAgICAgICAgICAgICAgJ2F4LW1lbnUtYWN0aXZlLWljb24nOiBpdGVtLm9wZW5lZFxuICAgICAgICAgICAgICB9XCIgKm5nSWY9XCIhaXRlbS5pc0xvYWRpbmdcIj48L3NwYW4+XG4gICAgICAgICAgICA8YXgtbG9hZGluZyAqbmdJZj1cIml0ZW0uaXNMb2FkaW5nXCI+IDwvYXgtbG9hZGluZz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwhLS0tLS0tLS0tLS0tLS0tIGNoZWNrIGZvciBjdXN0b20gIGl0ZW0gdGVtcGxhdGUgIC0tLS0tLS0tLS0tLS0tLT5cbiAgICAgICAgPG5nLXRlbXBsYXRlICN0bXBJdGVtPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbVRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogaXRlbSB9XCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8dWwgKm5nSWY9XCJpdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID4gMCAmJiBpdGVtLm9wZW5lZCAmJiAhX292ZXJsYXlSZWZcIlxuICAgICAgICAgIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtW2Rpc2FibGVGaWVsZF1cIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVjdXJzaXZlTGlzdFRtcGw7IGNvbnRleHQ6IHsgbGlzdDogaXRlbS5jaGlsZHJlbiB9XCI+IDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3VsPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSBjbGFzcz1cImF4LW1lbnUtaXRlbS1kaXZpZGVyXCIgKm5nSWY9XCJpdGVtW3RoaXMuZGl2aWRlckZpZWxkXVwiPjwvbGk+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cbiAgPG5nLXRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWl0ZW1zLWNlbnRlciBheC1qdXN0aWZ5LWNlbnRlciBheC1wLTRcIj5cbiAgICAgIDxheC1sb2FkaW5nIFtjb250ZXh0XT1cIl9sb2FkaW5nT3B0aW9uc1wiPjwvYXgtbG9hZGluZz5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3RtcEVtcHR5PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxuICAgIDwhLS0tLS0tLS0tLS0tLS0tIGNoZWNrIGZvciBjdXN0b20gdGVtcGxhdGUgIC0tLS0tLS0tLS0tLS0tLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW1wdHlUZW1wbGF0ZTsgZWxzZSBlbHNlRW1wdHlUZW1wbGF0ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5VGVtcGxhdGVcIj4gPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlICNlbHNlRW1wdHlUZW1wbGF0ZT5cbiAgICAgIHt7ICdjb21tb24ubm8tcmVzdWx0LWZvdW5kJyB8IHRyYW5zIH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLXRlbXBsYXRlPiJdfQ==
@@ -14,14 +14,14 @@ const MODULES = [
14
14
  OverlayModule,
15
15
  ];
16
16
  export class AXMenuModule {
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: AXMenuModule, declarations: [AXMenuComponent], imports: [CommonModule, AXDecoratorModule,
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: AXMenuModule, declarations: [AXMenuComponent], imports: [CommonModule, AXDecoratorModule,
19
19
  AXLoadingModule,
20
20
  AXTranslationModule,
21
21
  OverlayModule], exports: [AXMenuComponent] }); }
22
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXMenuModule, imports: [CommonModule, MODULES] }); }
22
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXMenuModule, imports: [CommonModule, MODULES] }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXMenuModule, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXMenuModule, decorators: [{
25
25
  type: NgModule,
26
26
  args: [{
27
27
  declarations: [...COMPONENT],
@@ -90,10 +90,10 @@ export class AXBaseComponent {
90
90
  if (option.afterCallback)
91
91
  option.afterCallback(oldValue, newValue);
92
92
  }
93
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXBaseComponent, deps: [{ token: Array }], target: i0.ɵɵFactoryTarget.Injectable }); }
94
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXBaseComponent }); }
93
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXBaseComponent, deps: [{ token: Array }], target: i0.ɵɵFactoryTarget.Injectable }); }
94
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXBaseComponent }); }
95
95
  }
96
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXBaseComponent, decorators: [{
96
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXBaseComponent, decorators: [{
97
97
  type: Injectable
98
98
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
99
99
  type: Inject,
@@ -42,4 +42,4 @@ export function _ColorLookComponentMixin(Base) {
42
42
  }
43
43
  export const COLOR_LOOK_INPUTS = ['color', 'look'];
44
44
  export const COLOR_LOOK_OUTPUT = ['lookChange', 'colorChange'];
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItbG9vay1taXhpbmcuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWl4aW4vc3JjL2xpYi9jb2xvci1sb29rLW1peGluZy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzdDLE1BQU0sVUFBVSx3QkFBd0IsQ0FBNkMsSUFBVztJQUM5RixPQUFPLEtBQU0sU0FBUSxJQUFJO1FBQ3ZCLFlBQVksR0FBRyxJQUFXO1lBQ3hCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBR2pCLGdCQUFXLEdBQW1DLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakUsV0FBTSxHQUFxQixTQUFTLENBQUM7WUFpQnJDLGVBQVUsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUMvRCxVQUFLLEdBQXFCLFNBQVMsQ0FBQztRQXJCcEMsQ0FBQztRQUlEOztXQUVHO1FBQ0gsSUFBSSxLQUFLO1lBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxLQUF1QjtZQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUNkLElBQUksRUFBRSxPQUFPO2dCQUNiLEtBQUs7Z0JBQ0wsYUFBYSxFQUFFLEdBQUcsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDM0IsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFJRDs7V0FFRztRQUNILElBQUksSUFBSTtZQUNOLE9BQU8sSUFBSSxDQUFDLEtBQU0sQ0FBQztRQUNyQixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBc0I7WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDZCxJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLO2dCQUNMLGFBQWEsRUFBRSxHQUFHLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzNCLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNuRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQVhTdHlsZUNvbG9yVHlwZSwgQVhTdHlsZUxvb2tUeXBlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5jbGFzcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RyYXRjdG9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIF9Db2xvckxvb2tDb21wb25lbnRNaXhpbjxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPEFYQmFzZUNvbXBvbmVudD4+KEJhc2U6IFRCYXNlKSB7XG4gIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICB9XG5cbiAgICBjb2xvckNoYW5nZTogRXZlbnRFbWl0dGVyPEFYU3R5bGVDb2xvclR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIF9jb2xvcjogQVhTdHlsZUNvbG9yVHlwZSA9ICdkZWZhdWx0JztcbiAgICAvKipcbiAgICAgKiAgUHJlZGVmaW5lZCBjb2xvciBzY2hlbWVzXG4gICAgICovXG4gICAgZ2V0IGNvbG9yKCk6IEFYU3R5bGVDb2xvclR5cGUge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICAgIH1cbiAgICBzZXQgY29sb3IodmFsdWU6IEFYU3R5bGVDb2xvclR5cGUpIHtcbiAgICAgIHRoaXMuX3NldE9wdGlvbih7XG4gICAgICAgIG5hbWU6ICdjb2xvcicsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbG9va0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYU3R5bGVMb29rVHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgX2xvb2s/OiBBWFN0eWxlTG9va1R5cGUgPSAnZGVmYXVsdCc7XG4gICAgLyoqXG4gICAgICogIFByZWRlZmluZWQgbG9vayBzY2hlbWVzXG4gICAgICovXG4gICAgZ2V0IGxvb2soKTogQVhTdHlsZUxvb2tUeXBlIHtcbiAgICAgIHJldHVybiB0aGlzLl9sb29rITtcbiAgICB9XG4gICAgc2V0IGxvb2sodmFsdWU6IEFYU3R5bGVMb29rVHlwZSkge1xuICAgICAgdGhpcy5fc2V0T3B0aW9uKHtcbiAgICAgICAgbmFtZTogJ2xvb2snLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IENPTE9SX0xPT0tfSU5QVVRTID0gWydjb2xvcicsICdsb29rJ107XG5leHBvcnQgY29uc3QgQ09MT1JfTE9PS19PVVRQVVQgPSBbJ2xvb2tDaGFuZ2UnLCAnY29sb3JDaGFuZ2UnXTtcbiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItbG9vay1taXhpbmcuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbWl4aW4vc3JjL2xpYi9jb2xvci1sb29rLW1peGluZy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTdDLE1BQU0sVUFBVSx3QkFBd0IsQ0FBNkMsSUFBVztJQUM5RixPQUFPLEtBQU0sU0FBUSxJQUFJO1FBQ3ZCLFlBQVksR0FBRyxJQUFXO1lBQ3hCLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBR2pCLGdCQUFXLEdBQW1DLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakUsV0FBTSxHQUFxQixTQUFTLENBQUM7WUFpQnJDLGVBQVUsR0FBa0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUMvRCxVQUFLLEdBQXFCLFNBQVMsQ0FBQztRQXJCcEMsQ0FBQztRQUlEOztXQUVHO1FBQ0gsSUFBSSxLQUFLO1lBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3JCLENBQUM7UUFDRCxJQUFJLEtBQUssQ0FBQyxLQUF1QjtZQUMvQixJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUNkLElBQUksRUFBRSxPQUFPO2dCQUNiLEtBQUs7Z0JBQ0wsYUFBYSxFQUFFLEdBQUcsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDM0IsQ0FBQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFJRDs7V0FFRztRQUNILElBQUksSUFBSTtZQUNOLE9BQU8sSUFBSSxDQUFDLEtBQU0sQ0FBQztRQUNyQixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBc0I7WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDZCxJQUFJLEVBQUUsTUFBTTtnQkFDWixLQUFLO2dCQUNMLGFBQWEsRUFBRSxHQUFHLEVBQUU7b0JBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzNCLENBQUM7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNuRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYU3R5bGVDb2xvclR5cGUsIEFYU3R5bGVMb29rVHlwZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5jbGFzcyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RyYXRjdG9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIF9Db2xvckxvb2tDb21wb25lbnRNaXhpbjxUQmFzZSBleHRlbmRzIENvbnN0cnVjdG9yPEFYQmFzZUNvbXBvbmVudD4+KEJhc2U6IFRCYXNlKSB7XG4gIHJldHVybiBjbGFzcyBleHRlbmRzIEJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICBzdXBlciguLi5hcmdzKTtcbiAgICB9XG5cbiAgICBjb2xvckNoYW5nZTogRXZlbnRFbWl0dGVyPEFYU3R5bGVDb2xvclR5cGU+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgIF9jb2xvcjogQVhTdHlsZUNvbG9yVHlwZSA9ICdkZWZhdWx0JztcbiAgICAvKipcbiAgICAgKiAgUHJlZGVmaW5lZCBjb2xvciBzY2hlbWVzXG4gICAgICovXG4gICAgZ2V0IGNvbG9yKCk6IEFYU3R5bGVDb2xvclR5cGUge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbG9yO1xuICAgIH1cbiAgICBzZXQgY29sb3IodmFsdWU6IEFYU3R5bGVDb2xvclR5cGUpIHtcbiAgICAgIHRoaXMuX3NldE9wdGlvbih7XG4gICAgICAgIG5hbWU6ICdjb2xvcicsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICBhZnRlckNhbGxiYWNrOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgbG9va0NoYW5nZTogRXZlbnRFbWl0dGVyPEFYU3R5bGVMb29rVHlwZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgX2xvb2s/OiBBWFN0eWxlTG9va1R5cGUgPSAnZGVmYXVsdCc7XG4gICAgLyoqXG4gICAgICogIFByZWRlZmluZWQgbG9vayBzY2hlbWVzXG4gICAgICovXG4gICAgZ2V0IGxvb2soKTogQVhTdHlsZUxvb2tUeXBlIHtcbiAgICAgIHJldHVybiB0aGlzLl9sb29rITtcbiAgICB9XG4gICAgc2V0IGxvb2sodmFsdWU6IEFYU3R5bGVMb29rVHlwZSkge1xuICAgICAgdGhpcy5fc2V0T3B0aW9uKHtcbiAgICAgICAgbmFtZTogJ2xvb2snLFxuICAgICAgICB2YWx1ZSxcbiAgICAgICAgYWZ0ZXJDYWxsYmFjazogKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IENPTE9SX0xPT0tfSU5QVVRTID0gWydjb2xvcicsICdsb29rJ107XG5leHBvcnQgY29uc3QgQ09MT1JfTE9PS19PVVRQVVQgPSBbJ2xvb2tDaGFuZ2UnLCAnY29sb3JDaGFuZ2UnXTtcbiJdfQ==
@@ -1,5 +1,6 @@
1
+ export * from './lib/notification.config';
1
2
  export * from './lib/notification.class';
2
3
  export * from './lib/notification.component';
3
4
  export * from './lib/notification.module';
4
5
  export * from './lib/notification.service';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9uLmNsYXNzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9uLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24uc2VydmljZSc7XG4iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24uY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdGlmaWNhdGlvbi5jbGFzcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9ub3RpZmljYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25vdGlmaWNhdGlvbi5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbGliL25vdGlmaWNhdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhMb2NhdGlvbiwgQVhTdHlsZUNvbG9yVHlwZSwgQVhTdHlsZUxvb2tUeXBlIH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcbmltcG9ydCB7IEFYQnV0dG9uSXRlbSB9IGZyb20gXCJAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uXCI7XG5pbXBvcnQgeyBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCB0eXBlIEFYTm90aWZpY2F0aW9uQ29udGVudFR5cGUgPSBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxhbnk+IHwgRnVuY3Rpb247XG5leHBvcnQgaW50ZXJmYWNlIEFYTm90aWZpY2F0aW9uT3B0aW9ucyB7XG4gICAgdGltZU91dD86IG51bWJlciB8IGFueTtcbiAgICBpY29uPzogc3RyaW5nO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGNvbnRlbnQ/OiBBWE5vdGlmaWNhdGlvbkNvbnRlbnRUeXBlO1xuICAgIGNsb3NlYWJsZT86IGJvb2xlYW47XG4gICAgbG9jYXRpb24/OiBBWExvY2F0aW9uO1xuICAgIGNvbG9yOiBBWFN0eWxlQ29sb3JUeXBlO1xuICAgIGxvb2s/OiBBWFN0eWxlTG9va1R5cGU7XG4gICAgYnV0dG9ucz86IEFYQnV0dG9uSXRlbVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhOb3RpZmljYXRpb25SZWYge1xuICAgIGNsb3NlKCk6IHZvaWQ7XG59XG5cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbGliL25vdGlmaWNhdGlvbi5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhMb2NhdGlvbiwgQVhTdHlsZUNvbG9yVHlwZSwgQVhTdHlsZUxvb2tUeXBlIH0gZnJvbSBcIkBhY29yZXgvY29tcG9uZW50cy9jb21tb25cIjtcbmltcG9ydCB7IFRlbXBsYXRlUmVmIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xuXG5leHBvcnQgdHlwZSBBWE5vdGlmaWNhdGlvbkNvbnRlbnRUeXBlID0gc3RyaW5nIHwgVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBDb21wb25lbnRUeXBlPHVua25vd24+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYTm90aWZpY2F0aW9uQnV0dG9uSXRlbSB7XG4gICAgY29sb3I/OiBBWFN0eWxlQ29sb3JUeXBlO1xuICAgIGxvb2s/OiBBWFN0eWxlTG9va1R5cGU7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBsb2FkaW5nPzogYm9vbGVhbjtcbiAgICBvbkNsaWNrPzogKGU/OiB7IHNvdXJjZTogQVhOb3RpZmljYXRpb25CdXR0b25JdGVtLCBoYW5kbGVkPzogYm9vbGVhbiB9KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYTm90aWZpY2F0aW9uT3B0aW9ucyB7XG4gICAgYnV0dG9ucz86IEFYTm90aWZpY2F0aW9uQnV0dG9uSXRlbVtdXG4gICAgaWNvbj86IHN0cmluZztcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBjb250ZW50PzogQVhOb3RpZmljYXRpb25Db250ZW50VHlwZTtcbiAgICBsb2NhdGlvbjogQVhMb2NhdGlvbjtcbiAgICBjbG9zZUJ1dHRvbj86IGJvb2xlYW47XG4gICAgY29sb3I6IEFYU3R5bGVDb2xvclR5cGU7XG4gICAgdGltZU91dD86IG51bWJlcjtcbiAgICB0aW1lT3V0UHJvZ3Jlc3M/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYTm90aWZpY2F0aW9uRGF0YSB7XG4gICAgYnV0dG9ucz86IEFYTm90aWZpY2F0aW9uQnV0dG9uSXRlbVtdXG4gICAgaWNvbj86IHN0cmluZztcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBjb250ZW50PzogQVhOb3RpZmljYXRpb25Db250ZW50VHlwZTtcbiAgICBsb2NhdGlvbjogQVhMb2NhdGlvbjtcbiAgICBjbG9zZUJ1dHRvbjogYm9vbGVhbjtcbiAgICBjb2xvcjogQVhTdHlsZUNvbG9yVHlwZTtcbiAgICB0aW1lT3V0PzogbnVtYmVyO1xuICAgIHRpbWVPdXRQcm9ncmVzczogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBWE5vdGlmaWNhdGlvblJlZiB7XG4gICAgY2xvc2UoKTogdm9pZDtcbn1cblxuIl19
@@ -1,83 +1,99 @@
1
- import { AXClosbaleComponent } from '@acorex/components/common';
2
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, HostBinding, TemplateRef, ViewContainerRef, } from '@angular/core';
3
- import { AXBaseComponentMixin } from '@acorex/components/mixin';
1
+ import { AXClosbaleComponent, MXBaseComponent } from '@acorex/components/common';
4
2
  import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
3
+ import { ChangeDetectionStrategy, Component, HostBinding, Inject, TemplateRef, ViewEncapsulation, } from '@angular/core';
4
+ import { DIALOG_DATA, DialogRef } from '@angular/cdk/dialog';
5
5
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- import * as i2 from "@angular/cdk/portal";
8
- import * as i3 from "@acorex/components/button";
6
+ import * as i1 from "@angular/cdk/dialog";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/cdk/portal";
9
+ import * as i4 from "@acorex/components/button";
10
+ import * as i5 from "@acorex/components/loading";
11
+ import * as i6 from "@acorex/components/decorators";
9
12
  /**
10
13
  * The Button is a component which detects user interaction and triggers a corresponding event
11
14
  *
12
15
  * @category Components
13
16
  */
14
- export class AXNotificationComponent extends AXBaseComponentMixin {
17
+ export class AXNotificationComponent extends MXBaseComponent {
15
18
  /**
16
- * @ignore
17
- */
18
- constructor(elementRef, cdr, viewRef) {
19
- super(elementRef, cdr);
20
- this.viewRef = viewRef;
19
+ * @ignore
20
+ */
21
+ constructor(config, dialogRef) {
22
+ super();
23
+ this.config = config;
24
+ this.dialogRef = dialogRef;
21
25
  }
22
- onInit() {
26
+ ngOnInit() {
23
27
  this._initContent();
24
28
  this._initIcon();
25
29
  this._handleTimeOut();
26
30
  }
27
31
  _handleTimeOut() {
28
- if (this.options.timeOut) {
32
+ if (this.config.timeOut) {
29
33
  setTimeout(() => {
30
34
  this.close();
31
- }, this.options.timeOut);
35
+ }, this.config.timeOut);
32
36
  }
33
37
  }
34
38
  _initContent() {
35
- if (this.options.content instanceof TemplateRef) {
36
- this._selectedPortal = new TemplatePortal(this.options.content, this.viewRef);
37
- this._cdr.markForCheck();
39
+ if (this.config.content instanceof TemplateRef) {
40
+ this._selectedPortal = new TemplatePortal(this.config.content, this.getViewContainer());
41
+ this.cdr.markForCheck();
38
42
  }
39
- else if (typeof this.options.content === 'function') {
40
- this._selectedPortal = new ComponentPortal(this.options.content);
41
- this._cdr.markForCheck();
43
+ else if (typeof this.config.content === 'function') {
44
+ this._selectedPortal = new ComponentPortal(this.config.content);
45
+ this.cdr.markForCheck();
42
46
  }
43
47
  }
44
48
  _initIcon() {
45
- if (!this.options.icon) {
46
- switch (this.options.color) {
49
+ if (!this.config.icon) {
50
+ switch (this.config.color) {
47
51
  case 'success':
48
52
  this._icon = 'ax-icon ax-icon-check-circle-fill';
49
53
  break;
54
+ case 'danger':
55
+ this._icon = 'ax-icon ax-icon-error-fill';
56
+ break;
50
57
  case 'warning':
51
58
  this._icon = 'ax-icon ax-icon-warning-fill';
52
59
  break;
53
- case 'danger':
54
- this._icon = 'ax-icon ax-icon-error-fill';
60
+ case 'info':
61
+ this._icon = 'ax-icon ax-icon-info-fill';
55
62
  break;
56
63
  default:
57
- this._icon = this.options.icon || 'ax-icon ax-icon-check-circle-fill';
64
+ this._icon = this.config.icon || 'ax-icon ax-icon-check-circle-fill';
58
65
  break;
59
66
  }
60
67
  }
61
68
  else {
62
- this._icon = this.options.icon;
69
+ this._icon = this.config.icon;
63
70
  }
64
71
  }
65
72
  _handleButtonClick(button) {
66
73
  if (button.onClick) {
67
- button.onClick(this);
74
+ button.onClick({ source: button });
68
75
  }
69
76
  }
70
77
  get __hostClass() {
71
- return `ax-${this.options.color}`;
78
+ return `ax-${this.config.color}`;
79
+ }
80
+ close() {
81
+ this.dialogRef.close({
82
+ component: this,
83
+ htmlElement: this.getHostElement(),
84
+ });
72
85
  }
73
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXNotificationComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
74
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AXNotificationComponent, selector: "ax-notification", host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], usesInheritance: true, ngImport: i0, template: "<span [class]=\"'ax-notification-icon' + ' ' + _icon\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ options.title }}</div>\n <ng-template *ngIf=\"_selectedPortal\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n </ng-template>\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n <div *ngIf=\"!_selectedPortal\">{{ options.content }}</div>\n <div class=\"ax-notification-buttons\" *ngIf=\"options?.buttons?.length\">\n <ax-button\n *ngFor=\"let button of options.buttons\"\n class=\"ax-xs\"\n [text]=\"button.text\"\n [color]=\"button.color\"\n [look]=\"button.look\"\n (onClick)=\"_handleButtonClick(button)\">\n {{ button.text }}\n </ax-button>\n </div>\n</div>\n<span class=\"ax-icon ax-icon-close\" (click)=\"close()\"></span>\n<div\n class=\"ax-notification-progress\"\n [style.animation-duration.ms]=\"options.timeOut\"\n *ngIf=\"options.timeOut\"></div>\n", styles: [".ax-dark ax-notification{background-color:rgba(var(--ax-color-default))}ax-notification{width:max(20vw,380px);display:flex;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgba(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}@media (max-width: 599px){ax-notification{width:98vw}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex-direction:column;flex:1;color:rgba(var(--ax-color-default-fore));font-weight:400}ax-notification .ax-notification-content .ax-notification-title{font-weight:500;margin-bottom:.25rem;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-icon-close:hover{opacity:.6}ax-notification .ax-notification-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNotificationComponent, deps: [{ token: DIALOG_DATA }, { token: i1.DialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: AXNotificationComponent, selector: "ax-notification", host: { properties: { "class": "this.__hostClass" } }, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], usesInheritance: true, ngImport: i0, template: "<span class=\"ax-notification-icon {{_icon}}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title }}</div>\n <ng-template *ngIf=\"_selectedPortal\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n </ng-template>\n <div *ngIf=\"!_selectedPortal\">{{ config.content }}</div>\n <div class=\"ax-notification-buttons\" *ngIf=\"config.buttons?.length\">\n <ng-container *ngFor=\"let button of config.buttons\">\n <ax-button class=\"ax-xs\" [text]=\"button.text\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n <ax-loading *ngIf=\"button.loading\"></ax-loading>\n </ax-button>\n </ng-container>\n\n </div>\n</div>\n<ax-close-button *ngIf=\"config.closeButton\"></ax-close-button>\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"\n *ngIf=\"config.timeOutProgress && config.timeOut\"></div>", styles: [".ax-dark ax-notification{background-color:rgba(var(--ax-color-default))}ax-notification{width:max(20vw,380px);display:flex;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgba(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}@media (max-width: 599px){ax-notification{width:98vw}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex-direction:column;flex:1;color:rgba(var(--ax-color-default-fore));font-weight:400}ax-notification .ax-notification-content .ax-notification-title{font-weight:500;margin-bottom:.25rem;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-icon-close:hover{opacity:.6}ax-notification .ax-notification-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "component", type: i4.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "component", type: i6.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
75
88
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXNotificationComponent, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AXNotificationComponent, decorators: [{
77
90
  type: Component,
78
- args: [{ selector: 'ax-notification', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], template: "<span [class]=\"'ax-notification-icon' + ' ' + _icon\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ options.title }}</div>\n <ng-template *ngIf=\"_selectedPortal\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n </ng-template>\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n <div *ngIf=\"!_selectedPortal\">{{ options.content }}</div>\n <div class=\"ax-notification-buttons\" *ngIf=\"options?.buttons?.length\">\n <ax-button\n *ngFor=\"let button of options.buttons\"\n class=\"ax-xs\"\n [text]=\"button.text\"\n [color]=\"button.color\"\n [look]=\"button.look\"\n (onClick)=\"_handleButtonClick(button)\">\n {{ button.text }}\n </ax-button>\n </div>\n</div>\n<span class=\"ax-icon ax-icon-close\" (click)=\"close()\"></span>\n<div\n class=\"ax-notification-progress\"\n [style.animation-duration.ms]=\"options.timeOut\"\n *ngIf=\"options.timeOut\"></div>\n", styles: [".ax-dark ax-notification{background-color:rgba(var(--ax-color-default))}ax-notification{width:max(20vw,380px);display:flex;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgba(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}@media (max-width: 599px){ax-notification{width:98vw}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex-direction:column;flex:1;color:rgba(var(--ax-color-default-fore));font-weight:400}ax-notification .ax-notification-content .ax-notification-title{font-weight:500;margin-bottom:.25rem;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-icon-close:hover{opacity:.6}ax-notification .ax-notification-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"] }]
79
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { __hostClass: [{
91
+ args: [{ selector: 'ax-notification', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: AXClosbaleComponent, useExisting: AXNotificationComponent }], template: "<span class=\"ax-notification-icon {{_icon}}\"></span>\n<div class=\"ax-notification-content\">\n <div class=\"ax-notification-title\">{{ config.title }}</div>\n <ng-template *ngIf=\"_selectedPortal\">\n <ng-template [cdkPortalOutlet]=\"_selectedPortal\"></ng-template>\n </ng-template>\n <div *ngIf=\"!_selectedPortal\">{{ config.content }}</div>\n <div class=\"ax-notification-buttons\" *ngIf=\"config.buttons?.length\">\n <ng-container *ngFor=\"let button of config.buttons\">\n <ax-button class=\"ax-xs\" [text]=\"button.text\" [color]=\"button.color\" [look]=\"button.look\"\n [disabled]=\"button.disabled\" (onClick)=\"_handleButtonClick(button)\">\n <ax-loading *ngIf=\"button.loading\"></ax-loading>\n </ax-button>\n </ng-container>\n\n </div>\n</div>\n<ax-close-button *ngIf=\"config.closeButton\"></ax-close-button>\n<div class=\"ax-notification-progress\" [style.animation-duration.ms]=\"config.timeOut\"\n *ngIf=\"config.timeOutProgress && config.timeOut\"></div>", styles: [".ax-dark ax-notification{background-color:rgba(var(--ax-color-default))}ax-notification{width:max(20vw,380px);display:flex;padding:1rem;border-radius:var(--ax-rounded-border-default);font-size:.875rem;border:1px solid;background-color:rgba(var(--ax-color-surface));border-color:rgba(var(--ax-color-border-default));position:relative;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}ax-notification.ax-primary .ax-notification-icon{color:rgba(var(--ax-color-primary-500))}ax-notification.ax-primary .ax-notification-progress{background-color:rgba(var(--ax-color-primary-500))}ax-notification.ax-secondary .ax-notification-icon{color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-secondary .ax-notification-progress{background-color:rgba(var(--ax-color-secondary-500))}ax-notification.ax-success .ax-notification-icon{color:rgba(var(--ax-color-success-500))}ax-notification.ax-success .ax-notification-progress{background-color:rgba(var(--ax-color-success-500))}ax-notification.ax-warning .ax-notification-icon{color:rgba(var(--ax-color-warning-500))}ax-notification.ax-warning .ax-notification-progress{background-color:rgba(var(--ax-color-warning-500))}ax-notification.ax-danger .ax-notification-icon{color:rgba(var(--ax-color-danger-500))}ax-notification.ax-danger .ax-notification-progress{background-color:rgba(var(--ax-color-danger-500))}ax-notification.ax-info .ax-notification-icon{color:rgba(var(--ax-color-info-500))}ax-notification.ax-info .ax-notification-progress{background-color:rgba(var(--ax-color-info-500))}@media (max-width: 599px){ax-notification{width:98vw}}ax-notification .ax-notification-icon,ax-notification .ax-icon-close{font-size:1.25rem}ax-notification .ax-notification-icon{padding-inline-end:.75rem}ax-notification .ax-notification-content{display:flex;flex-direction:column;flex:1;color:rgba(var(--ax-color-default-fore));font-weight:400}ax-notification .ax-notification-content .ax-notification-title{font-weight:500;margin-bottom:.25rem;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-notification-content .ax-notification-buttons{margin-top:.75rem;display:flex;gap:.75rem}ax-notification .ax-icon-close{cursor:pointer;height:-moz-fit-content;height:fit-content;color:rgba(var(--ax-color-default-fore))}ax-notification .ax-icon-close:hover{opacity:.6}ax-notification .ax-notification-progress{position:absolute;right:0;left:0;bottom:0;height:.25rem;width:100%;animation-duration:4s;animation-timing-function:linear;animation-name:progressBar;background-color:rgba(var(--ax-color-border-default))}@keyframes progressBar{0%{width:100%}to{width:0%}}\n"] }]
92
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
93
+ type: Inject,
94
+ args: [DIALOG_DATA]
95
+ }] }, { type: i1.DialogRef }]; }, propDecorators: { __hostClass: [{
80
96
  type: HostBinding,
81
97
  args: ['class']
82
98
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9ub3RpZmljYXRpb24vc3JjL2xpYi9ub3RpZmljYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbGliL25vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixXQUFXLEVBQ1gsV0FBVyxFQUNYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFVLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQUU5RTs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLG9CQUFvQjtJQU0vRDs7T0FFRztJQUNILFlBQVksVUFBc0IsRUFBRSxHQUFzQixFQUFVLE9BQXlCO1FBQzNGLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFEMkMsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7SUFFN0YsQ0FBQztJQUVRLE1BQU07UUFDYixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ3hCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsQ0FBQyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBQ08sWUFBWTtRQUNsQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxZQUFZLFdBQVcsRUFBRTtZQUMvQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksY0FBYyxDQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQTJCLEVBQ3hDLElBQUksQ0FBQyxPQUFPLENBQ2IsQ0FBQztZQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDMUI7YUFBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFO1lBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFjLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDdEIsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRTtnQkFDMUIsS0FBSyxTQUFTO29CQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsbUNBQW1DLENBQUM7b0JBQ2pELE1BQU07Z0JBQ1IsS0FBSyxTQUFTO29CQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsOEJBQThCLENBQUM7b0JBQzVDLE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsNEJBQTRCLENBQUM7b0JBQzFDLE1BQU07Z0JBQ1I7b0JBQ0UsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxtQ0FBbUMsQ0FBQztvQkFDdEUsTUFBTTthQUNUO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBb0I7UUFDckMsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ2xCLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRUQsSUFDWSxXQUFXO1FBQ3JCLE9BQU8sTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBckVVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLGlHQUZ2QixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLGlEQzNCckYsNCtCQXlCQTs7MkZESWEsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyx5QkFBeUIsRUFBRSxDQUFDO2dLQXFFdkUsV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDbG9zYmFsZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhCdXR0b25JdGVtIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnRNaXhpbiB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9taXhpbic7XG5pbXBvcnQgeyBBWE5vdGlmaWNhdGlvbk9wdGlvbnMgfSBmcm9tICcuL25vdGlmaWNhdGlvbi5jbGFzcyc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbCwgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuLyoqXG4gKiBUaGUgQnV0dG9uIGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtbm90aWZpY2F0aW9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vdGlmaWNhdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWENsb3NiYWxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhOb3RpZmljYXRpb25Db21wb25lbnQgfV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYTm90aWZpY2F0aW9uQ29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50TWl4aW4ge1xuICBvcHRpb25zOiBBWE5vdGlmaWNhdGlvbk9wdGlvbnM7XG4gIF9zZWxlY3RlZFBvcnRhbDogUG9ydGFsPGFueT47XG4gIF9pY29uOiBzdHJpbmc7XG5cbiAgY2xvc2U6ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSB2aWV3UmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgc3VwZXIoZWxlbWVudFJlZiwgY2RyKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG9uSW5pdCgpIHtcbiAgICB0aGlzLl9pbml0Q29udGVudCgpO1xuICAgIHRoaXMuX2luaXRJY29uKCk7XG4gICAgdGhpcy5faGFuZGxlVGltZU91dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlVGltZU91dCgpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLnRpbWVPdXQpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9LCB0aGlzLm9wdGlvbnMudGltZU91dCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX2luaXRDb250ZW50KCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMuY29udGVudCBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFBvcnRhbCA9IG5ldyBUZW1wbGF0ZVBvcnRhbChcbiAgICAgICAgdGhpcy5vcHRpb25zLmNvbnRlbnQgYXMgVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgdGhpcy52aWV3UmVmXG4gICAgICApO1xuICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMub3B0aW9ucy5jb250ZW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZFBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwodGhpcy5vcHRpb25zLmNvbnRlbnQgYXMgYW55KTtcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pbml0SWNvbigpIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5pY29uKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucy5jb2xvcikge1xuICAgICAgICBjYXNlICdzdWNjZXNzJzpcbiAgICAgICAgICB0aGlzLl9pY29uID0gJ2F4LWljb24gYXgtaWNvbi1jaGVjay1jaXJjbGUtZmlsbCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3dhcm5pbmcnOlxuICAgICAgICAgIHRoaXMuX2ljb24gPSAnYXgtaWNvbiBheC1pY29uLXdhcm5pbmctZmlsbCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Rhbmdlcic6XG4gICAgICAgICAgdGhpcy5faWNvbiA9ICdheC1pY29uIGF4LWljb24tZXJyb3ItZmlsbCc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy5faWNvbiA9IHRoaXMub3B0aW9ucy5pY29uIHx8ICdheC1pY29uIGF4LWljb24tY2hlY2stY2lyY2xlLWZpbGwnO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9pY29uID0gdGhpcy5vcHRpb25zLmljb247XG4gICAgfVxuICB9XG5cbiAgX2hhbmRsZUJ1dHRvbkNsaWNrKGJ1dHRvbjogQVhCdXR0b25JdGVtKSB7XG4gICAgaWYgKGJ1dHRvbi5vbkNsaWNrKSB7XG4gICAgICBidXR0b24ub25DbGljayh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGF4LSR7dGhpcy5vcHRpb25zLmNvbG9yfWA7XG4gIH1cbn1cbiIsIjxzcGFuIFtjbGFzc109XCInYXgtbm90aWZpY2F0aW9uLWljb24nICsgJyAnICsgX2ljb25cIj48L3NwYW4+XG48ZGl2IGNsYXNzPVwiYXgtbm90aWZpY2F0aW9uLWNvbnRlbnRcIj5cbiAgPGRpdiBjbGFzcz1cImF4LW5vdGlmaWNhdGlvbi10aXRsZVwiPnt7IG9wdGlvbnMudGl0bGUgfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiX3NlbGVjdGVkUG9ydGFsXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX3NlbGVjdGVkUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX3NlbGVjdGVkUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiAqbmdJZj1cIiFfc2VsZWN0ZWRQb3J0YWxcIj57eyBvcHRpb25zLmNvbnRlbnQgfX08L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImF4LW5vdGlmaWNhdGlvbi1idXR0b25zXCIgKm5nSWY9XCJvcHRpb25zPy5idXR0b25zPy5sZW5ndGhcIj5cbiAgICA8YXgtYnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIG9wdGlvbnMuYnV0dG9uc1wiXG4gICAgICBjbGFzcz1cImF4LXhzXCJcbiAgICAgIFt0ZXh0XT1cImJ1dHRvbi50ZXh0XCJcbiAgICAgIFtjb2xvcl09XCJidXR0b24uY29sb3JcIlxuICAgICAgW2xvb2tdPVwiYnV0dG9uLmxvb2tcIlxuICAgICAgKG9uQ2xpY2spPVwiX2hhbmRsZUJ1dHRvbkNsaWNrKGJ1dHRvbilcIj5cbiAgICAgIHt7IGJ1dHRvbi50ZXh0IH19XG4gICAgPC9heC1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG48c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jbG9zZVwiIChjbGljayk9XCJjbG9zZSgpXCI+PC9zcGFuPlxuPGRpdlxuICBjbGFzcz1cImF4LW5vdGlmaWNhdGlvbi1wcm9ncmVzc1wiXG4gIFtzdHlsZS5hbmltYXRpb24tZHVyYXRpb24ubXNdPVwib3B0aW9ucy50aW1lT3V0XCJcbiAgKm5nSWY9XCJvcHRpb25zLnRpbWVPdXRcIj48L2Rpdj5cbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9ub3RpZmljYXRpb24vc3JjL2xpYi9ub3RpZmljYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL25vdGlmaWNhdGlvbi9zcmMvbGliL25vdGlmaWNhdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQXlCLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxlQUFlLEVBQXlCLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdGLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFdBQVcsRUFDWCxNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQUU3RDs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQWU7SUFLMUQ7O0tBRUM7SUFDRCxZQUVTLE1BQTBCLEVBQ3pCLFNBQTJDO1FBRW5ELEtBQUssRUFBRSxDQUFDO1FBSEQsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDekIsY0FBUyxHQUFULFNBQVMsQ0FBa0M7SUFHckQsQ0FBQztJQUdELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxZQUFZLFdBQVcsRUFBRTtZQUM5QyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksY0FBYyxDQUN2QyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQStCLEVBQzNDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUN4QixDQUFDO1lBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN6QjthQUFNLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUU7WUFDcEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQWlDLENBQUMsQ0FBQztZQUMxRixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDckIsUUFBUSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtnQkFDekIsS0FBSyxTQUFTO29CQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsbUNBQW1DLENBQUM7b0JBQ2pELE1BQU07Z0JBQ1IsS0FBSyxRQUFRO29CQUNYLElBQUksQ0FBQyxLQUFLLEdBQUcsNEJBQTRCLENBQUM7b0JBQzFDLE1BQU07Z0JBQ1IsS0FBSyxTQUFTO29CQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsOEJBQThCLENBQUM7b0JBQzVDLE1BQU07Z0JBQ1IsS0FBSyxNQUFNO29CQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsMkJBQTJCLENBQUM7b0JBQ3pDLE1BQU07Z0JBQ1I7b0JBQ0UsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxtQ0FBbUMsQ0FBQztvQkFDckUsTUFBTTthQUNUO1NBQ0Y7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDL0I7SUFDSCxDQUFDO0lBRVMsa0JBQWtCLENBQUMsTUFBZ0M7UUFDM0QsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ2xCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNwQztJQUNILENBQUM7SUFFRCxJQUNZLFdBQVc7UUFDckIsT0FBTyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztZQUNuQixTQUFTLEVBQUUsSUFBSTtZQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1NBQ25DLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBcEZVLHVCQUF1QixrQkFTeEIsV0FBVztrR0FUVix1QkFBdUIsaUdBRnZCLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLENBQUMsaURDeEJyRix5L0JBbUJ5RDs7MkZETzVDLHVCQUF1QjtrQkFSbkMsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQixDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcseUJBQXlCLEVBQUUsQ0FBQzs7MEJBV2hGLE1BQU07MkJBQUMsV0FBVztvRUFrRVQsV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhDbG9zYmFsZUNvbXBvbmVudCwgQVhDb21wb25lbnRDbG9zZUV2ZW50LCBNWEJhc2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgQ29tcG9uZW50VHlwZSwgUG9ydGFsLCBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIEluamVjdCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYTm90aWZpY2F0aW9uQnV0dG9uSXRlbSwgQVhOb3RpZmljYXRpb25EYXRhIH0gZnJvbSAnLi9ub3RpZmljYXRpb24uY2xhc3MnO1xuaW1wb3J0IHsgRElBTE9HX0RBVEEsIERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kaWFsb2cnO1xuXG4vKipcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1ub3RpZmljYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbm90aWZpY2F0aW9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEFYQ2xvc2JhbGVDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWE5vdGlmaWNhdGlvbkNvbXBvbmVudCB9XSxcbn0pXG5leHBvcnQgY2xhc3MgQVhOb3RpZmljYXRpb25Db21wb25lbnQgZXh0ZW5kcyBNWEJhc2VDb21wb25lbnQge1xuXG4gIF9zZWxlY3RlZFBvcnRhbDogUG9ydGFsPHVua25vd24+O1xuICBfaWNvbjogc3RyaW5nO1xuXG4gIC8qKlxuICogIEBpZ25vcmVcbiAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERJQUxPR19EQVRBKVxuICAgIHB1YmxpYyBjb25maWc6IEFYTm90aWZpY2F0aW9uRGF0YSxcbiAgICBwcml2YXRlIGRpYWxvZ1JlZjogRGlhbG9nUmVmPEFYQ29tcG9uZW50Q2xvc2VFdmVudD4sXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuX2luaXRDb250ZW50KCk7XG4gICAgdGhpcy5faW5pdEljb24oKTtcbiAgICB0aGlzLl9oYW5kbGVUaW1lT3V0KCk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVUaW1lT3V0KCkge1xuICAgIGlmICh0aGlzLmNvbmZpZy50aW1lT3V0KSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfSwgdGhpcy5jb25maWcudGltZU91dCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENvbnRlbnQoKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmNvbnRlbnQgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZikge1xuICAgICAgdGhpcy5fc2VsZWN0ZWRQb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwoXG4gICAgICAgIHRoaXMuY29uZmlnLmNvbnRlbnQgYXMgVGVtcGxhdGVSZWY8dW5rbm93bj4sXG4gICAgICAgIHRoaXMuZ2V0Vmlld0NvbnRhaW5lcigpLFxuICAgICAgKTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHRoaXMuY29uZmlnLmNvbnRlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkUG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbCh0aGlzLmNvbmZpZy5jb250ZW50IGFzIENvbXBvbmVudFR5cGU8dW5rbm93bj4pO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdEljb24oKSB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5pY29uKSB7XG4gICAgICBzd2l0Y2ggKHRoaXMuY29uZmlnLmNvbG9yKSB7XG4gICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxuICAgICAgICAgIHRoaXMuX2ljb24gPSAnYXgtaWNvbiBheC1pY29uLWNoZWNrLWNpcmNsZS1maWxsJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZGFuZ2VyJzpcbiAgICAgICAgICB0aGlzLl9pY29uID0gJ2F4LWljb24gYXgtaWNvbi1lcnJvci1maWxsJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnd2FybmluZyc6XG4gICAgICAgICAgdGhpcy5faWNvbiA9ICdheC1pY29uIGF4LWljb24td2FybmluZy1maWxsJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgdGhpcy5faWNvbiA9ICdheC1pY29uIGF4LWljb24taW5mby1maWxsJztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLl9pY29uID0gdGhpcy5jb25maWcuaWNvbiB8fCAnYXgtaWNvbiBheC1pY29uLWNoZWNrLWNpcmNsZS1maWxsJztcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5faWNvbiA9IHRoaXMuY29uZmlnLmljb247XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9oYW5kbGVCdXR0b25DbGljayhidXR0b246IEFYTm90aWZpY2F0aW9uQnV0dG9uSXRlbSkge1xuICAgIGlmIChidXR0b24ub25DbGljaykge1xuICAgICAgYnV0dG9uLm9uQ2xpY2soeyBzb3VyY2U6IGJ1dHRvbiB9KTtcbiAgICB9XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYGF4LSR7dGhpcy5jb25maWcuY29sb3J9YDtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcbiAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwiYXgtbm90aWZpY2F0aW9uLWljb24ge3tfaWNvbn19XCI+PC9zcGFuPlxuPGRpdiBjbGFzcz1cImF4LW5vdGlmaWNhdGlvbi1jb250ZW50XCI+XG4gIDxkaXYgY2xhc3M9XCJheC1ub3RpZmljYXRpb24tdGl0bGVcIj57eyBjb25maWcudGl0bGUgfX08L2Rpdj5cbiAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiX3NlbGVjdGVkUG9ydGFsXCI+XG4gICAgPG5nLXRlbXBsYXRlIFtjZGtQb3J0YWxPdXRsZXRdPVwiX3NlbGVjdGVkUG9ydGFsXCI+PC9uZy10ZW1wbGF0ZT5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiAqbmdJZj1cIiFfc2VsZWN0ZWRQb3J0YWxcIj57eyBjb25maWcuY29udGVudCB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXgtbm90aWZpY2F0aW9uLWJ1dHRvbnNcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zPy5sZW5ndGhcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBidXR0b24gb2YgY29uZmlnLmJ1dHRvbnNcIj5cbiAgICAgIDxheC1idXR0b24gY2xhc3M9XCJheC14c1wiIFt0ZXh0XT1cImJ1dHRvbi50ZXh0XCIgW2NvbG9yXT1cImJ1dHRvbi5jb2xvclwiIFtsb29rXT1cImJ1dHRvbi5sb29rXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImJ1dHRvbi5kaXNhYmxlZFwiIChvbkNsaWNrKT1cIl9oYW5kbGVCdXR0b25DbGljayhidXR0b24pXCI+XG4gICAgICAgIDxheC1sb2FkaW5nICpuZ0lmPVwiYnV0dG9uLmxvYWRpbmdcIj48L2F4LWxvYWRpbmc+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICA8L2Rpdj5cbjwvZGl2PlxuPGF4LWNsb3NlLWJ1dHRvbiAqbmdJZj1cImNvbmZpZy5jbG9zZUJ1dHRvblwiPjwvYXgtY2xvc2UtYnV0dG9uPlxuPGRpdiBjbGFzcz1cImF4LW5vdGlmaWNhdGlvbi1wcm9ncmVzc1wiIFtzdHlsZS5hbmltYXRpb24tZHVyYXRpb24ubXNdPVwiY29uZmlnLnRpbWVPdXRcIlxuICAqbmdJZj1cImNvbmZpZy50aW1lT3V0UHJvZ3Jlc3MgJiYgY29uZmlnLnRpbWVPdXRcIj48L2Rpdj4iXX0=