@acorex/components 6.1.12 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/alert/src/alert.component.d.ts +2 -2
  2. package/badge/src/badge.component.d.ts +3 -3
  3. package/breadcrumbs/src/breadcrumbs-item.component.d.ts +9 -7
  4. package/button/src/button-group.component.d.ts +6 -6
  5. package/button/src/button-item.component.d.ts +6 -6
  6. package/button/src/button.component.d.ts +1 -1
  7. package/calendar/src/calendar.component.d.ts +0 -1
  8. package/chips/index.d.ts +5 -0
  9. package/chips/public-api.d.ts +2 -0
  10. package/chips/src/chips.component.d.ts +13 -0
  11. package/chips/src/chips.module.d.ts +8 -0
  12. package/collapse/src/collapse.component.d.ts +1 -1
  13. package/color-palette/src/color-palette-input.component.d.ts +2 -2
  14. package/color-picker/src/color-picker.component.d.ts +24 -22
  15. package/common/src/styles.class.d.ts +2 -2
  16. package/date-picker/src/datepicker.component.d.ts +15 -16
  17. package/esm2020/action-sheet/src/action-sheet-item.component.mjs +5 -5
  18. package/esm2020/action-sheet/src/action-sheet.component.mjs +8 -8
  19. package/esm2020/action-sheet/src/action-sheet.module.mjs +5 -5
  20. package/esm2020/alert/src/alert-button.directive.mjs +4 -4
  21. package/esm2020/alert/src/alert.component.mjs +9 -12
  22. package/esm2020/alert/src/alert.module.mjs +5 -5
  23. package/esm2020/avatar/src/avatar-group.component.mjs +4 -5
  24. package/esm2020/avatar/src/avatar.component.mjs +5 -5
  25. package/esm2020/avatar/src/avatar.module.mjs +5 -5
  26. package/esm2020/badge/src/badge.component.mjs +7 -9
  27. package/esm2020/badge/src/badge.module.mjs +5 -5
  28. package/esm2020/breadcrumbs/src/breadcrumbs-item.component.mjs +14 -6
  29. package/esm2020/breadcrumbs/src/breadcrumbs.component.mjs +6 -6
  30. package/esm2020/breadcrumbs/src/breadcrumbs.module.mjs +5 -5
  31. package/esm2020/button/src/button-group.component.mjs +5 -5
  32. package/esm2020/button/src/button-item.component.mjs +5 -5
  33. package/esm2020/button/src/button.component.mjs +10 -7
  34. package/esm2020/button/src/button.module.mjs +5 -5
  35. package/esm2020/calendar/src/calendar.class.mjs +4 -4
  36. package/esm2020/calendar/src/calendar.component.mjs +6 -8
  37. package/esm2020/calendar/src/calendar.module.mjs +5 -5
  38. package/esm2020/checkbox/src/checkbox.component.mjs +5 -5
  39. package/esm2020/checkbox/src/checkbox.module.mjs +5 -5
  40. package/esm2020/chips/acorex-components-chips.mjs +5 -0
  41. package/esm2020/chips/public-api.mjs +3 -0
  42. package/esm2020/chips/src/chips.component.mjs +32 -0
  43. package/esm2020/chips/src/chips.module.mjs +19 -0
  44. package/esm2020/collapse/src/collapse-group.component.mjs +4 -4
  45. package/esm2020/collapse/src/collapse.component.mjs +5 -5
  46. package/esm2020/collapse/src/collapse.module.mjs +5 -5
  47. package/esm2020/color-palette/src/color-palette-input.component.mjs +10 -12
  48. package/esm2020/color-palette/src/color-palette-picker.component.mjs +4 -4
  49. package/esm2020/color-palette/src/color-palette-preview.component.mjs +4 -4
  50. package/esm2020/color-palette/src/color-palette-swatches.component.mjs +4 -4
  51. package/esm2020/color-palette/src/color-palette.class.mjs +7 -7
  52. package/esm2020/color-palette/src/color-palette.component.mjs +7 -7
  53. package/esm2020/color-palette/src/color-palette.module.mjs +5 -5
  54. package/esm2020/color-picker/src/color-picker.component.mjs +10 -12
  55. package/esm2020/color-picker/src/color-picker.module.mjs +5 -5
  56. package/esm2020/common/src/auto-focus.directive.mjs +4 -4
  57. package/esm2020/common/src/common.module.mjs +5 -5
  58. package/esm2020/common/src/components.class.mjs +19 -19
  59. package/esm2020/common/src/custom-cdk-overlay.service.mjs +7 -7
  60. package/esm2020/common/src/debounce-time.directive.mjs +4 -4
  61. package/esm2020/common/src/hotkey.directive.mjs +4 -4
  62. package/esm2020/common/src/hotkey.service.mjs +4 -4
  63. package/esm2020/common/src/infinite-scroll.directive.mjs +4 -4
  64. package/esm2020/common/src/overlay.service.mjs +4 -4
  65. package/esm2020/common/src/responsive.directive.mjs +4 -4
  66. package/esm2020/common/src/styles.class.mjs +1 -1
  67. package/esm2020/context-menu/src/context-menu.component.mjs +5 -5
  68. package/esm2020/context-menu/src/context-menu.module.mjs +5 -5
  69. package/esm2020/data-pager/src/data-pager-base.component.mjs +7 -7
  70. package/esm2020/data-pager/src/data-pager-info.component.mjs +4 -4
  71. package/esm2020/data-pager/src/data-pager-input-selector.component.mjs +6 -6
  72. package/esm2020/data-pager/src/data-pager-next-buttons.components.mjs +12 -12
  73. package/esm2020/data-pager/src/data-pager-numeric-selector.component.mjs +18 -18
  74. package/esm2020/data-pager/src/data-pager-pagesize-dropdown.component.mjs +8 -8
  75. package/esm2020/data-pager/src/data-pager-prev-buttons.component.mjs +12 -12
  76. package/esm2020/data-pager/src/data-pager.component.mjs +5 -5
  77. package/esm2020/data-pager/src/data-pager.module.mjs +5 -5
  78. package/esm2020/data-table/src/data-column-cell-template.directive.mjs +4 -4
  79. package/esm2020/data-table/src/data-column.directive.mjs +4 -4
  80. package/esm2020/data-table/src/data-table.component.mjs +5 -5
  81. package/esm2020/data-table/src/data-table.module.mjs +5 -5
  82. package/esm2020/date-picker/src/datepicker.component.mjs +10 -11
  83. package/esm2020/date-picker/src/datepicker.module.mjs +5 -5
  84. package/esm2020/decorators/src/close-button.component.mjs +6 -6
  85. package/esm2020/decorators/src/content.component.mjs +4 -4
  86. package/esm2020/decorators/src/decorators.module.mjs +5 -5
  87. package/esm2020/decorators/src/footer.component.mjs +4 -4
  88. package/esm2020/decorators/src/header.component.mjs +4 -4
  89. package/esm2020/decorators/src/icon.component.mjs +5 -5
  90. package/esm2020/decorators/src/overlay.component.mjs +4 -4
  91. package/esm2020/decorators/src/placeholder.component.mjs +4 -4
  92. package/esm2020/decorators/src/prefix.component.mjs +4 -4
  93. package/esm2020/decorators/src/sub-title.component.mjs +4 -4
  94. package/esm2020/decorators/src/suffix.component.mjs +4 -4
  95. package/esm2020/decorators/src/text.component.mjs +4 -4
  96. package/esm2020/decorators/src/title.component.mjs +4 -4
  97. package/esm2020/dialog/src/dialog.component.mjs +9 -9
  98. package/esm2020/dialog/src/dialog.module.mjs +5 -5
  99. package/esm2020/dialog/src/dialog.service.mjs +5 -5
  100. package/esm2020/drawer/src/drawer-container.component.mjs +4 -5
  101. package/esm2020/drawer/src/drawer.component.mjs +12 -19
  102. package/esm2020/drawer/src/drawer.module.mjs +5 -5
  103. package/esm2020/dropdown/src/dropdown-panel.component.mjs +4 -4
  104. package/esm2020/dropdown/src/dropdown.module.mjs +5 -5
  105. package/esm2020/form/src/form-field.component.mjs +5 -11
  106. package/esm2020/form/src/form-hint.component.mjs +5 -5
  107. package/esm2020/form/src/form.component.mjs +4 -4
  108. package/esm2020/form/src/form.module.mjs +5 -5
  109. package/esm2020/form/src/validation-rule.widget.mjs +4 -4
  110. package/esm2020/form/src/validation-summary.component.mjs +4 -4
  111. package/esm2020/image/src/image.component.mjs +5 -5
  112. package/esm2020/image/src/image.module.mjs +5 -5
  113. package/esm2020/label/src/label.component.mjs +5 -5
  114. package/esm2020/label/src/label.module.mjs +5 -5
  115. package/esm2020/loading/src/loading-spinner.component.mjs +6 -6
  116. package/esm2020/loading/src/loading.component.mjs +7 -13
  117. package/esm2020/loading/src/loading.directive.mjs +4 -4
  118. package/esm2020/loading/src/loading.module.mjs +5 -5
  119. package/esm2020/loading/src/loading.service.mjs +4 -4
  120. package/esm2020/menu/src/menu.component.mjs +7 -8
  121. package/esm2020/menu/src/menu.module.mjs +5 -5
  122. package/esm2020/mixin/src/base-components.class.mjs +4 -4
  123. package/esm2020/mixin/src/value-mixin.class.mjs +4 -4
  124. package/esm2020/number-box/src/number-box.component.mjs +7 -9
  125. package/esm2020/number-box/src/number-box.module.mjs +5 -5
  126. package/esm2020/page/src/base-page.class.mjs +4 -4
  127. package/esm2020/page/src/page.component.mjs +4 -4
  128. package/esm2020/page/src/page.module.mjs +5 -5
  129. package/esm2020/password-box/src/password-box.component.mjs +8 -10
  130. package/esm2020/password-box/src/password-box.module.mjs +5 -5
  131. package/esm2020/popover/src/popover.component.mjs +4 -4
  132. package/esm2020/popover/src/popover.module.mjs +5 -5
  133. package/esm2020/popup/src/popup.component.mjs +5 -6
  134. package/esm2020/popup/src/popup.module.mjs +5 -5
  135. package/esm2020/popup/src/popup.service.mjs +4 -4
  136. package/esm2020/progress-bar/src/progress-bar.component.mjs +6 -6
  137. package/esm2020/progress-bar/src/progress-bar.module.mjs +5 -5
  138. package/esm2020/radio/src/radio.component.mjs +13 -8
  139. package/esm2020/radio/src/radio.module.mjs +5 -5
  140. package/esm2020/range-slider/src/range-slider.component.mjs +6 -6
  141. package/esm2020/range-slider/src/range-slider.module.mjs +5 -5
  142. package/esm2020/rating/src/rating.component.mjs +5 -5
  143. package/esm2020/rating/src/rating.component.module.mjs +5 -5
  144. package/esm2020/result/src/result.component.mjs +6 -6
  145. package/esm2020/result/src/result.module.mjs +5 -5
  146. package/esm2020/search-box/src/search-box.component.mjs +9 -10
  147. package/esm2020/search-box/src/search-box.module.mjs +5 -5
  148. package/esm2020/select-box/src/selectbox.component.mjs +14 -14
  149. package/esm2020/select-box/src/selectbox.module.mjs +5 -5
  150. package/esm2020/selection-list/src/selection-list.component.mjs +5 -5
  151. package/esm2020/selection-list/src/selection-list.module.mjs +5 -5
  152. package/esm2020/switch/src/switch.component.mjs +5 -5
  153. package/esm2020/switch/src/switch.module.mjs +5 -5
  154. package/esm2020/tabs/src/tab-content.directive.mjs +4 -4
  155. package/esm2020/tabs/src/tab-item.component.mjs +4 -4
  156. package/esm2020/tabs/src/tabs.class.mjs +1 -1
  157. package/esm2020/tabs/src/tabs.component.mjs +8 -14
  158. package/esm2020/tabs/src/tabs.module.mjs +5 -5
  159. package/esm2020/tag/acorex-components-tag.mjs +5 -0
  160. package/esm2020/tag/public-api.mjs +3 -0
  161. package/esm2020/tag/src/tag.component.mjs +29 -0
  162. package/esm2020/tag/src/tag.module.mjs +19 -0
  163. package/esm2020/textarea/src/textarea.component.mjs +5 -5
  164. package/esm2020/textarea/src/textarea.module.mjs +5 -5
  165. package/esm2020/textbox/src/mask-options.directive.mjs +4 -4
  166. package/esm2020/textbox/src/textbox.component.mjs +4 -4
  167. package/esm2020/textbox/src/textbox.module.mjs +5 -5
  168. package/esm2020/time-box/src/time-box.component.mjs +4 -4
  169. package/esm2020/time-box/src/time-box.module.mjs +5 -5
  170. package/esm2020/toast/src/toast.component.mjs +8 -8
  171. package/esm2020/toast/src/toast.module.mjs +5 -5
  172. package/esm2020/toast/src/toast.service.mjs +4 -25
  173. package/esm2020/tooltip/src/tooltip.component.mjs +6 -6
  174. package/esm2020/tooltip/src/tooltip.directive.mjs +5 -5
  175. package/esm2020/tooltip/src/tooltip.module.mjs +5 -5
  176. package/esm2020/tree-view/src/tree-view.component.mjs +5 -5
  177. package/esm2020/tree-view/src/tree-view.module.mjs +5 -5
  178. package/esm2020/uploader/src/uploader.component.mjs +5 -5
  179. package/esm2020/uploader/src/uploader.module.mjs +5 -5
  180. package/fesm2015/acorex-components-action-sheet.mjs +15 -15
  181. package/fesm2015/acorex-components-action-sheet.mjs.map +1 -1
  182. package/fesm2015/acorex-components-alert.mjs +15 -18
  183. package/fesm2015/acorex-components-alert.mjs.map +1 -1
  184. package/fesm2015/acorex-components-avatar.mjs +11 -12
  185. package/fesm2015/acorex-components-avatar.mjs.map +1 -1
  186. package/fesm2015/acorex-components-badge.mjs +10 -12
  187. package/fesm2015/acorex-components-badge.mjs.map +1 -1
  188. package/fesm2015/acorex-components-breadcrumbs.mjs +21 -13
  189. package/fesm2015/acorex-components-breadcrumbs.mjs.map +1 -1
  190. package/fesm2015/acorex-components-button.mjs +21 -18
  191. package/fesm2015/acorex-components-button.mjs.map +1 -1
  192. package/fesm2015/acorex-components-calendar.mjs +12 -14
  193. package/fesm2015/acorex-components-calendar.mjs.map +1 -1
  194. package/fesm2015/acorex-components-checkbox.mjs +8 -8
  195. package/fesm2015/acorex-components-checkbox.mjs.map +1 -1
  196. package/fesm2015/acorex-components-chips.mjs +55 -0
  197. package/fesm2015/acorex-components-chips.mjs.map +1 -0
  198. package/fesm2015/acorex-components-collapse.mjs +11 -11
  199. package/fesm2015/acorex-components-collapse.mjs.map +1 -1
  200. package/fesm2015/acorex-components-color-palette.mjs +34 -36
  201. package/fesm2015/acorex-components-color-palette.mjs.map +1 -1
  202. package/fesm2015/acorex-components-color-picker.mjs +15 -17
  203. package/fesm2015/acorex-components-color-picker.mjs.map +1 -1
  204. package/fesm2015/acorex-components-common.mjs +49 -49
  205. package/fesm2015/acorex-components-common.mjs.map +1 -1
  206. package/fesm2015/acorex-components-context-menu.mjs +8 -8
  207. package/fesm2015/acorex-components-context-menu.mjs.map +1 -1
  208. package/fesm2015/acorex-components-data-pager.mjs +68 -68
  209. package/fesm2015/acorex-components-data-pager.mjs.map +1 -1
  210. package/fesm2015/acorex-components-data-table.mjs +14 -14
  211. package/fesm2015/acorex-components-data-table.mjs.map +1 -1
  212. package/fesm2015/acorex-components-date-picker.mjs +14 -15
  213. package/fesm2015/acorex-components-date-picker.mjs.map +1 -1
  214. package/fesm2015/acorex-components-decorators.mjs +43 -43
  215. package/fesm2015/acorex-components-decorators.mjs.map +1 -1
  216. package/fesm2015/acorex-components-dialog.mjs +16 -16
  217. package/fesm2015/acorex-components-dialog.mjs.map +1 -1
  218. package/fesm2015/acorex-components-drawer.mjs +18 -26
  219. package/fesm2015/acorex-components-drawer.mjs.map +1 -1
  220. package/fesm2015/acorex-components-dropdown.mjs +7 -7
  221. package/fesm2015/acorex-components-dropdown.mjs.map +1 -1
  222. package/fesm2015/acorex-components-form.mjs +21 -27
  223. package/fesm2015/acorex-components-form.mjs.map +1 -1
  224. package/fesm2015/acorex-components-image.mjs +8 -8
  225. package/fesm2015/acorex-components-image.mjs.map +1 -1
  226. package/fesm2015/acorex-components-label.mjs +8 -8
  227. package/fesm2015/acorex-components-label.mjs.map +1 -1
  228. package/fesm2015/acorex-components-loading.mjs +21 -27
  229. package/fesm2015/acorex-components-loading.mjs.map +1 -1
  230. package/fesm2015/acorex-components-menu.mjs +11 -12
  231. package/fesm2015/acorex-components-menu.mjs.map +1 -1
  232. package/fesm2015/acorex-components-mixin.mjs +6 -6
  233. package/fesm2015/acorex-components-mixin.mjs.map +1 -1
  234. package/fesm2015/acorex-components-number-box.mjs +10 -12
  235. package/fesm2015/acorex-components-number-box.mjs.map +1 -1
  236. package/fesm2015/acorex-components-page.mjs +10 -10
  237. package/fesm2015/acorex-components-page.mjs.map +1 -1
  238. package/fesm2015/acorex-components-password-box.mjs +11 -13
  239. package/fesm2015/acorex-components-password-box.mjs.map +1 -1
  240. package/fesm2015/acorex-components-popover.mjs +7 -7
  241. package/fesm2015/acorex-components-popover.mjs.map +1 -1
  242. package/fesm2015/acorex-components-popup.mjs +12 -13
  243. package/fesm2015/acorex-components-popup.mjs.map +1 -1
  244. package/fesm2015/acorex-components-progress-bar.mjs +9 -9
  245. package/fesm2015/acorex-components-progress-bar.mjs.map +1 -1
  246. package/fesm2015/acorex-components-radio.mjs +16 -11
  247. package/fesm2015/acorex-components-radio.mjs.map +1 -1
  248. package/fesm2015/acorex-components-range-slider.mjs +9 -9
  249. package/fesm2015/acorex-components-range-slider.mjs.map +1 -1
  250. package/fesm2015/acorex-components-rating.mjs +8 -8
  251. package/fesm2015/acorex-components-rating.mjs.map +1 -1
  252. package/fesm2015/acorex-components-result.mjs +9 -9
  253. package/fesm2015/acorex-components-result.mjs.map +1 -1
  254. package/fesm2015/acorex-components-search-box.mjs +13 -14
  255. package/fesm2015/acorex-components-search-box.mjs.map +1 -1
  256. package/fesm2015/acorex-components-select-box.mjs +18 -18
  257. package/fesm2015/acorex-components-select-box.mjs.map +1 -1
  258. package/fesm2015/acorex-components-selection-list.mjs +8 -8
  259. package/fesm2015/acorex-components-selection-list.mjs.map +1 -1
  260. package/fesm2015/acorex-components-switch.mjs +8 -8
  261. package/fesm2015/acorex-components-switch.mjs.map +1 -1
  262. package/fesm2015/acorex-components-tabs.mjs +17 -23
  263. package/fesm2015/acorex-components-tabs.mjs.map +1 -1
  264. package/fesm2015/acorex-components-tag.mjs +52 -0
  265. package/fesm2015/acorex-components-tag.mjs.map +1 -0
  266. package/fesm2015/acorex-components-textarea.mjs +8 -8
  267. package/fesm2015/acorex-components-textarea.mjs.map +1 -1
  268. package/fesm2015/acorex-components-textbox.mjs +10 -10
  269. package/fesm2015/acorex-components-textbox.mjs.map +1 -1
  270. package/fesm2015/acorex-components-time-box.mjs +7 -7
  271. package/fesm2015/acorex-components-time-box.mjs.map +1 -1
  272. package/fesm2015/acorex-components-toast.mjs +14 -35
  273. package/fesm2015/acorex-components-toast.mjs.map +1 -1
  274. package/fesm2015/acorex-components-tooltip.mjs +13 -13
  275. package/fesm2015/acorex-components-tooltip.mjs.map +1 -1
  276. package/fesm2015/acorex-components-tree-view.mjs +8 -8
  277. package/fesm2015/acorex-components-tree-view.mjs.map +1 -1
  278. package/fesm2015/acorex-components-uploader.mjs +8 -8
  279. package/fesm2015/acorex-components-uploader.mjs.map +1 -1
  280. package/fesm2020/acorex-components-action-sheet.mjs +15 -15
  281. package/fesm2020/acorex-components-action-sheet.mjs.map +1 -1
  282. package/fesm2020/acorex-components-alert.mjs +15 -18
  283. package/fesm2020/acorex-components-alert.mjs.map +1 -1
  284. package/fesm2020/acorex-components-avatar.mjs +11 -12
  285. package/fesm2020/acorex-components-avatar.mjs.map +1 -1
  286. package/fesm2020/acorex-components-badge.mjs +10 -12
  287. package/fesm2020/acorex-components-badge.mjs.map +1 -1
  288. package/fesm2020/acorex-components-breadcrumbs.mjs +21 -13
  289. package/fesm2020/acorex-components-breadcrumbs.mjs.map +1 -1
  290. package/fesm2020/acorex-components-button.mjs +21 -18
  291. package/fesm2020/acorex-components-button.mjs.map +1 -1
  292. package/fesm2020/acorex-components-calendar.mjs +12 -14
  293. package/fesm2020/acorex-components-calendar.mjs.map +1 -1
  294. package/fesm2020/acorex-components-checkbox.mjs +8 -8
  295. package/fesm2020/acorex-components-checkbox.mjs.map +1 -1
  296. package/fesm2020/acorex-components-chips.mjs +55 -0
  297. package/fesm2020/acorex-components-chips.mjs.map +1 -0
  298. package/fesm2020/acorex-components-collapse.mjs +11 -11
  299. package/fesm2020/acorex-components-collapse.mjs.map +1 -1
  300. package/fesm2020/acorex-components-color-palette.mjs +34 -36
  301. package/fesm2020/acorex-components-color-palette.mjs.map +1 -1
  302. package/fesm2020/acorex-components-color-picker.mjs +15 -17
  303. package/fesm2020/acorex-components-color-picker.mjs.map +1 -1
  304. package/fesm2020/acorex-components-common.mjs +49 -49
  305. package/fesm2020/acorex-components-common.mjs.map +1 -1
  306. package/fesm2020/acorex-components-context-menu.mjs +8 -8
  307. package/fesm2020/acorex-components-context-menu.mjs.map +1 -1
  308. package/fesm2020/acorex-components-data-pager.mjs +68 -68
  309. package/fesm2020/acorex-components-data-pager.mjs.map +1 -1
  310. package/fesm2020/acorex-components-data-table.mjs +14 -14
  311. package/fesm2020/acorex-components-data-table.mjs.map +1 -1
  312. package/fesm2020/acorex-components-date-picker.mjs +14 -15
  313. package/fesm2020/acorex-components-date-picker.mjs.map +1 -1
  314. package/fesm2020/acorex-components-decorators.mjs +43 -43
  315. package/fesm2020/acorex-components-decorators.mjs.map +1 -1
  316. package/fesm2020/acorex-components-dialog.mjs +16 -16
  317. package/fesm2020/acorex-components-dialog.mjs.map +1 -1
  318. package/fesm2020/acorex-components-drawer.mjs +18 -26
  319. package/fesm2020/acorex-components-drawer.mjs.map +1 -1
  320. package/fesm2020/acorex-components-dropdown.mjs +7 -7
  321. package/fesm2020/acorex-components-dropdown.mjs.map +1 -1
  322. package/fesm2020/acorex-components-form.mjs +21 -27
  323. package/fesm2020/acorex-components-form.mjs.map +1 -1
  324. package/fesm2020/acorex-components-image.mjs +8 -8
  325. package/fesm2020/acorex-components-image.mjs.map +1 -1
  326. package/fesm2020/acorex-components-label.mjs +8 -8
  327. package/fesm2020/acorex-components-label.mjs.map +1 -1
  328. package/fesm2020/acorex-components-loading.mjs +21 -27
  329. package/fesm2020/acorex-components-loading.mjs.map +1 -1
  330. package/fesm2020/acorex-components-menu.mjs +11 -12
  331. package/fesm2020/acorex-components-menu.mjs.map +1 -1
  332. package/fesm2020/acorex-components-mixin.mjs +6 -6
  333. package/fesm2020/acorex-components-mixin.mjs.map +1 -1
  334. package/fesm2020/acorex-components-number-box.mjs +10 -12
  335. package/fesm2020/acorex-components-number-box.mjs.map +1 -1
  336. package/fesm2020/acorex-components-page.mjs +10 -10
  337. package/fesm2020/acorex-components-page.mjs.map +1 -1
  338. package/fesm2020/acorex-components-password-box.mjs +11 -13
  339. package/fesm2020/acorex-components-password-box.mjs.map +1 -1
  340. package/fesm2020/acorex-components-popover.mjs +7 -7
  341. package/fesm2020/acorex-components-popover.mjs.map +1 -1
  342. package/fesm2020/acorex-components-popup.mjs +12 -13
  343. package/fesm2020/acorex-components-popup.mjs.map +1 -1
  344. package/fesm2020/acorex-components-progress-bar.mjs +9 -9
  345. package/fesm2020/acorex-components-progress-bar.mjs.map +1 -1
  346. package/fesm2020/acorex-components-radio.mjs +16 -11
  347. package/fesm2020/acorex-components-radio.mjs.map +1 -1
  348. package/fesm2020/acorex-components-range-slider.mjs +9 -9
  349. package/fesm2020/acorex-components-range-slider.mjs.map +1 -1
  350. package/fesm2020/acorex-components-rating.mjs +8 -8
  351. package/fesm2020/acorex-components-rating.mjs.map +1 -1
  352. package/fesm2020/acorex-components-result.mjs +9 -9
  353. package/fesm2020/acorex-components-result.mjs.map +1 -1
  354. package/fesm2020/acorex-components-search-box.mjs +13 -14
  355. package/fesm2020/acorex-components-search-box.mjs.map +1 -1
  356. package/fesm2020/acorex-components-select-box.mjs +18 -18
  357. package/fesm2020/acorex-components-select-box.mjs.map +1 -1
  358. package/fesm2020/acorex-components-selection-list.mjs +8 -8
  359. package/fesm2020/acorex-components-selection-list.mjs.map +1 -1
  360. package/fesm2020/acorex-components-switch.mjs +8 -8
  361. package/fesm2020/acorex-components-switch.mjs.map +1 -1
  362. package/fesm2020/acorex-components-tabs.mjs +17 -23
  363. package/fesm2020/acorex-components-tabs.mjs.map +1 -1
  364. package/fesm2020/acorex-components-tag.mjs +52 -0
  365. package/fesm2020/acorex-components-tag.mjs.map +1 -0
  366. package/fesm2020/acorex-components-textarea.mjs +8 -8
  367. package/fesm2020/acorex-components-textarea.mjs.map +1 -1
  368. package/fesm2020/acorex-components-textbox.mjs +10 -10
  369. package/fesm2020/acorex-components-textbox.mjs.map +1 -1
  370. package/fesm2020/acorex-components-time-box.mjs +7 -7
  371. package/fesm2020/acorex-components-time-box.mjs.map +1 -1
  372. package/fesm2020/acorex-components-toast.mjs +14 -35
  373. package/fesm2020/acorex-components-toast.mjs.map +1 -1
  374. package/fesm2020/acorex-components-tooltip.mjs +13 -13
  375. package/fesm2020/acorex-components-tooltip.mjs.map +1 -1
  376. package/fesm2020/acorex-components-tree-view.mjs +8 -8
  377. package/fesm2020/acorex-components-tree-view.mjs.map +1 -1
  378. package/fesm2020/acorex-components-uploader.mjs +8 -8
  379. package/fesm2020/acorex-components-uploader.mjs.map +1 -1
  380. package/mixin/src/base-components.class.d.ts +2 -2
  381. package/mixin/src/base-menu-mixin.class.d.ts +5 -5
  382. package/mixin/src/button-mixin.class.d.ts +2 -2
  383. package/mixin/src/clickable-mixin.class.d.ts +2 -2
  384. package/mixin/src/color-look-mixing.class.d.ts +2 -2
  385. package/mixin/src/datalist-component.class.d.ts +10 -10
  386. package/mixin/src/dropdown-mixin.class.d.ts +2 -2
  387. package/mixin/src/interactive-mixin.class.d.ts +4 -4
  388. package/mixin/src/loading-mixin.class.d.ts +2 -2
  389. package/mixin/src/mixin.class.d.ts +61 -61
  390. package/mixin/src/page-component.class.d.ts +2 -2
  391. package/mixin/src/selection-component.class.d.ts +2 -2
  392. package/mixin/src/sizable-mixin.class.d.ts +2 -2
  393. package/mixin/src/textbox-mixin.class.d.ts +2 -2
  394. package/mixin/src/value-mixin.class.d.ts +8 -8
  395. package/number-box/src/number-box.component.d.ts +1 -2
  396. package/package.json +17 -1
  397. package/password-box/src/password-box.component.d.ts +1 -1
  398. package/radio/src/radio.component.d.ts +1 -0
  399. package/result/src/result.component.d.ts +1 -1
  400. package/scss/_mixin.scss +1 -0
  401. package/scss/_variable.scss +1 -0
  402. package/scss/index.scss +2 -0
  403. package/select-box/src/selectbox.component.d.ts +1 -2
  404. package/tabs/src/tab-item.component.d.ts +2 -2
  405. package/tabs/src/tabs.class.d.ts +1 -1
  406. package/tag/index.d.ts +5 -0
  407. package/tag/public-api.d.ts +2 -0
  408. package/tag/src/tag.component.d.ts +11 -0
  409. package/tag/src/tag.module.d.ts +8 -0
  410. package/toast/src/toast.service.d.ts +0 -3
  411. package/tooltip/src/tooltip.directive.d.ts +1 -1
@@ -6,9 +6,8 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/cdk/overlay";
7
7
  import * as i2 from "@acorex/core/platform";
8
8
  import * as i3 from "@angular/common";
9
- import * as i4 from "@acorex/components/decorators";
10
- import * as i5 from "@acorex/components/loading";
11
- import * as i6 from "@acorex/core/translation";
9
+ import * as i4 from "@acorex/components/loading";
10
+ import * as i5 from "@acorex/core/translation";
12
11
  /**
13
12
  * The Button is a component which detects user interaction and triggers a corresponding event
14
13
  *
@@ -309,9 +308,9 @@ export class AXMenuComponent extends AXBaseMenuMixin {
309
308
  this._overlayRef?.detach();
310
309
  }
311
310
  }
312
- AXMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
313
- AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.2", type: AXMenuComponent, selector: "ax-menu", inputs: { disabled: "disabled", tabIndex: "tabIndex", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", tooltip: "tooltip", isOpen: "isOpen", isActive: "isActive", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", orientation: "orientation", showModal: "showModal" }, outputs: { onBlur: "onBlur", onFocus: "onFocus", onMenuItemClick: "onMenuItemClick" }, host: { classAttribute: "ax-menu" }, 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\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li *ngIf=\"item[visibleField] !=false\" [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event,item)\" (mouseenter)=\"_onMenuMouseEnter($event,item)\"\r\n [ngClass]=\"{'ax-state-active ': item.isActive}\">\r\n <div class=\"ax-menu-item\" *ngIf=\"itemTemplate == null else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <ax-icon *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></ax-icon>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <ax-icon *ngIf=\"!item.isLoading\"\r\n [ngClass]=\"{'ax-ic-chevron':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\">\r\n </ax-icon>\r\n <ax-loading *ngIf=\"item.isLoading\">\r\n </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.isOpen &&!_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-list-item\">\r\n {{ 'common.no-result-found' | trans }}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>", 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.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
314
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXMenuComponent, decorators: [{
311
+ AXMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXMenuComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Overlay }, { token: i2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component });
312
+ AXMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: AXMenuComponent, selector: "ax-menu", inputs: { disabled: "disabled", tabIndex: "tabIndex", textField: "textField", valueField: "valueField", items: "items", parentId: "parentId", iconField: "iconField", tooltip: "tooltip", isOpen: "isOpen", isActive: "isActive", visibleField: "visibleField", disableField: "disableField", hasChildField: "hasChildField", dividerField: "dividerField", openMode: "openMode", orientation: "orientation", 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\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li *ngIf=\"item[visibleField] !=false\" [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event,item)\" (mouseenter)=\"_onMenuMouseEnter($event,item)\"\r\n [ngClass]=\"{'ax-state-active ': item.isActive}\">\r\n <div class=\"ax-menu-item\" *ngIf=\"itemTemplate == null else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\" item[iconField]\"></span>\r\n </div>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\" \r\n [ngClass]=\"{'ax-icon-chevron-down':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\" *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\">\r\n </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.isOpen &&!_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-list-item\">\r\n {{ 'common.no-result-found' | trans }}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>", styles: ["ax-menu{font-size:1rem}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li .ax-menu-item{display:flex}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{margin-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-suffix{margin-inline-start:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li:hover .ax-menu-item-icon-chevron,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;transform:rotate(90deg)!important}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgb(var(--ax-color-ghost),.15)}ax-menu .ax-vertical{flex-direction:column}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgb(var(--ax-color-ghost),.15);margin:.375rem 0}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgb(var(--ax-color-surface));border:1px solid;border-color:rgb(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:rgb(var(--ax-color-ghost),.05);color:rgb(var(--ax-color-ghost))}ax-menu .ax-side-menu{flex-direction:column}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem}\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", "text"], outputs: ["visibleChange"] }, { kind: "pipe", type: i5.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXMenuComponent, decorators: [{
315
314
  type: Component,
316
315
  args: [{ selector: 'ax-menu', inputs: [
317
316
  'disabled',
@@ -331,7 +330,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
331
330
  'openMode',
332
331
  'orientation',
333
332
  'showModal',
334
- ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'ax-menu' }, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li *ngIf=\"item[visibleField] !=false\" [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event,item)\" (mouseenter)=\"_onMenuMouseEnter($event,item)\"\r\n [ngClass]=\"{'ax-state-active ': item.isActive}\">\r\n <div class=\"ax-menu-item\" *ngIf=\"itemTemplate == null else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <ax-icon *ngIf=\"item[iconField]\" [class]=\"item[iconField]\"></ax-icon>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n </div>\r\n <div class=\"ax-menu-item-suffix\">\r\n <ax-icon *ngIf=\"!item.isLoading\"\r\n [ngClass]=\"{'ax-ic-chevron':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\">\r\n </ax-icon>\r\n <ax-loading *ngIf=\"item.isLoading\">\r\n </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.isOpen &&!_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-list-item\">\r\n {{ 'common.no-result-found' | trans }}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>" }]
333
+ ], outputs: ['onBlur', 'onFocus', 'onMenuItemClick'], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\r\n <ul [ngClass]=\"_getDirection()\" [class.ax-rtl]=\"rtl\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: displayItems }\"></ng-container>\r\n </ul>\r\n <ng-template #recursiveListTmpl let-list=\"list\">\r\n <ng-container *ngFor=\"let item of list\">\r\n <li *ngIf=\"item[visibleField] !=false\" [class.ax-state-disabled]=\"item[disableField]\"\r\n (click)=\"_onMenuClick($event,item)\" (mouseenter)=\"_onMenuMouseEnter($event,item)\"\r\n [ngClass]=\"{'ax-state-active ': item.isActive}\">\r\n <div class=\"ax-menu-item\" *ngIf=\"itemTemplate == null else tmpItem\">\r\n <div class=\"ax-menu-item-prefix\">\r\n <span class=\"ax-menu-item-icon\" *ngIf=\"item[iconField]\" [class]=\" item[iconField]\"></span>\r\n </div>\r\n <span>{{_getItemDisplayTextTemplte(item)}}</span>\r\n <div class=\"ax-menu-item-suffix\">\r\n <span class=\"ax-menu-item-icon ax-icon ax-menu-item-icon-chevron\" \r\n [ngClass]=\"{'ax-icon-chevron-down':item?.children?.length > 0,'ax-menu-active-icon': item.isOpen}\" *ngIf=\"!item.isLoading\"></span>\r\n <ax-loading *ngIf=\"item.isLoading\">\r\n </ax-loading>\r\n </div>\r\n </div>\r\n <!--------------- check for custom item template --------------->\r\n <ng-template #tmpItem>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <ng-container *ngTemplateOutlet=\"itemTemplate;context: { $implicit: item }\">\r\n </ng-container>\r\n </ng-container>\r\n </ng-template>\r\n <ul *ngIf=\"item?.children?.length > 0 && item.isOpen &&!_overlayRef\"\r\n [class.ax-state-disabled]=\"item[disableField]\">\r\n <ng-container *ngTemplateOutlet=\"recursiveListTmpl; context:{ list: item.children }\">\r\n </ng-container>\r\n </ul>\r\n </li>\r\n <li class=\"ax-menu-item-divider\" *ngIf=\"item[this.dividerField]\"></li>\r\n </ng-container>\r\n </ng-template>\r\n</ng-container>\r\n<ng-container *ngIf=\"isLoading\">\r\n <ng-template>\r\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\r\n <ax-loading text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\r\n </div>\r\n </ng-template>\r\n</ng-container>\r\n\r\n<ng-template #tmpEmpty>\r\n <ng-container *ngIf=\"!isLoading\">\r\n <!--------------- check for custom template --------------->\r\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\r\n <ng-container *ngTemplateOutlet=\"emptyTemplate\">\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #elseEmptyTemplate>\r\n <div class=\"ax-list-item\">\r\n {{ 'common.no-result-found' | trans }}\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n</ng-template>", styles: ["ax-menu{font-size:1rem}ax-menu ul{width:-moz-fit-content;width:fit-content;display:flex;flex-direction:column}ax-menu ul li .ax-menu-item{display:flex}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{margin-inline-end:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-suffix{margin-inline-start:.5rem}ax-menu ul li .ax-menu-item .ax-menu-item-icon{font-size:1.25rem}ax-menu ul li:not(.ax-menu-item-divider){padding:.5rem;cursor:pointer}ax-menu ul li.ax-state-disabled{cursor:not-allowed!important;opacity:.5}ax-menu ul li:hover .ax-menu-item-icon-chevron,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;transform:rotate(90deg)!important}ax-menu .ax-horizontal{flex-direction:row;align-items:center}ax-menu .ax-horizontal .ax-menu-item-divider{width:1px;height:1rem;background-color:rgb(var(--ax-color-ghost),.15)}ax-menu .ax-vertical{flex-direction:column}ax-menu .ax-vertical .ax-menu-item-divider{width:100%;height:1px;background-color:rgb(var(--ax-color-ghost),.15);margin:.375rem 0}ax-menu .ax-vertical.ax-submenu-ul{background-color:rgb(var(--ax-color-surface));border:1px solid;border-color:rgb(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:rgb(var(--ax-color-ghost),.05);color:rgb(var(--ax-color-ghost))}ax-menu .ax-side-menu{flex-direction:column}ax-menu .ax-side-menu ul{display:flex;flex-direction:column;margin-top:.5rem}\n"] }]
335
334
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Overlay }, { type: i2.AXPlatform }]; }, propDecorators: { _contentEmptyTemplate: [{
336
335
  type: ContentChild,
337
336
  args: ['emptyTemplate']
@@ -339,4 +338,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
339
338
  type: ContentChild,
340
339
  args: ['itemTemplate']
341
340
  }] } });
342
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9tZW51L3NyYy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL21lbnUvc3JjL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixZQUFZLEdBSWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFFbkQ7Ozs7R0FJRztBQTRCSCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxlQUFlO0lBdUJsRCxZQUNVLFdBQXVCLEVBQ3ZCLEdBQXNCLEVBQ3RCLFFBQWlCLEVBQ2pCLFNBQXFCO1FBRTdCLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFMaEIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFZO1FBVi9CLFFBQUcsR0FBWSxJQUFJLFVBQVUsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWhDLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO0lBV2hDLENBQUM7SUFyQkQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25D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UUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs0R0E5VlUsZUFBZTtnR0FBZixlQUFlLHEwQkNoRDVCLDJwR0E0RGM7MkZEWkQsZUFBZTtrQkEzQjNCLFNBQVM7K0JBQ0UsU0FBUyxVQUVYO3dCQUNOLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osT0FBTzt3QkFDUCxVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsU0FBUzt3QkFDVCxRQUFRO3dCQUNSLFVBQVU7d0JBQ1YsY0FBYzt3QkFDZCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsV0FBVztxQkFDWixXQUNRLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxtQkFDaEMsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUU7Z0xBSWxCLHFCQUFxQjtzQkFENUIsWUFBWTt1QkFBQyxlQUFlO2dCQUlyQixvQkFBb0I7c0JBRDNCLFlBQVk7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXlSZWYsIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5cclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgT25Jbml0LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VNZW51TWl4aW4gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xyXG5pbXBvcnQgeyBBWFBsYXRmb3JtIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgQnV0dG9uIGlzIGEgY29tcG9uZW50IHdoaWNoIGRldGVjdHMgdXNlciBpbnRlcmFjdGlvbiBhbmQgdHJpZ2dlcnMgYSBjb3JyZXNwb25kaW5nIGV2ZW50XHJcbiAqXHJcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2F4LW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBpbnB1dHM6IFtcclxuICAgICdkaXNhYmxlZCcsXHJcbiAgICAndGFiSW5kZXgnLFxyXG4gICAgJ3RleHRGaWVsZCcsXHJcbiAgICAndmFsdWVGaWVsZCcsXHJcbiAgICAnaXRlbXMnLFxyXG4gICAgJ3BhcmVudElkJyxcclxuICAgICdpY29uRmllbGQnLFxyXG4gICAgJ3Rvb2x0aXAnLFxyXG4gICAgJ2lzT3BlbicsXHJcbiAgICAnaXNBY3RpdmUnLFxyXG4gICAgJ3Zpc2libGVGaWVsZCcsXHJcbiAgICAnZGlzYWJsZUZpZWxkJyxcclxuICAgICdoYXNDaGlsZEZpZWxkJyxcclxuICAgICdkaXZpZGVyRmllbGQnLFxyXG4gICAgJ29wZW5Nb2RlJyxcclxuICAgICdvcmllbnRhdGlvbicsXHJcbiAgICAnc2hvd01vZGFsJyxcclxuICBdLFxyXG4gIG91dHB1dHM6IFsnb25CbHVyJywgJ29uRm9jdXMnLCAnb25NZW51SXRlbUNsaWNrJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBob3N0OiB7IGNsYXNzOiAnYXgtbWVudScgfSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFYTWVudUNvbXBvbmVudCBleHRlbmRzIEFYQmFzZU1lbnVNaXhpbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQENvbnRlbnRDaGlsZCgnZW1wdHlUZW1wbGF0ZScpXHJcbiAgcHJpdmF0ZSBfY29udGVudEVtcHR5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ2l0ZW1UZW1wbGF0ZScpXHJcbiAgcHJpdmF0ZSBfY29udGVudEl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgcHVibGljIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xyXG5cclxuICBnZXQgZW1wdHlUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9jb250ZW50RW1wdHlUZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIGdldCBpdGVtVGVtcGxhdGUoKTogVGVtcGxhdGVSZWY8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29udGVudEl0ZW1UZW1wbGF0ZTtcclxuICB9XHJcblxyXG4gIHJ0bDogYm9vbGVhbiA9IG5ldyBBWFBsYXRmb3JtKCkuaXNSdGwoKTtcclxuXHJcbiAgcHJpdmF0ZSBfbGV2ZWxDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgcHJpdmF0ZSBfb2xkSXRlbTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfcGxhdGZvcm06IEFYUGxhdGZvcm1cclxuICApIHtcclxuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBjZHIpO1xyXG4gIH1cclxuXHJcbiAgb25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIub25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vblZpZXdJbml0KCk7XHJcbiAgfVxyXG5cclxuICBfb25NZW51TW91c2VFbnRlcihlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcclxuXHJcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcgfHwgdGFyZ2V0RWxlbWVudC50YWdOYW1lID09PSAnVUwnKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcGVuTW9kZSA9PT0gJ2hvdmVyJykge1xyXG4gICAgICB0aGlzLl9oYW5kZWxNZW51TG9naWMoZSwgaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcblxyXG4gIF9vbk1lbnVDbGljayhlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcclxuXHJcbiAgICBpZiAodGhpcy5pc0xvYWRpbmcgfHwgdGFyZ2V0RWxlbWVudC50YWdOYW1lID09PSAnVUwnKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5vcGVuTW9kZSA9PT0gJ2NsaWNrJykge1xyXG4gICAgICB0aGlzLl9oYW5kZWxNZW51TG9naWMoZSwgaXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbk1lbnVJdGVtQ2xpY2suZW1pdCh7XHJcbiAgICAgIGNvbXBvbmVudDogdGhpcyxcclxuICAgICAgaXRlbTogaXRlbSxcclxuICAgICAgbmF0aXZlRXZlbnQ6IGUsXHJcbiAgICB9KTtcclxuXHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgX2dldERpcmVjdGlvbigpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyAmJiB0aGlzLl9sZXZlbENvdW50ID09PSAwKSB7XHJcbiAgICAgIHJldHVybiAnYXgtaG9yaXpvbnRhbCc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2xldmVsQ291bnQgPiAwKSB7XHJcbiAgICAgIHJldHVybiAnYXgtdmVydGljYWwgYXgtc3VibWVudS11bCc7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMub3JpZW50YXRpb24gPT09ICdzaWRlbWVudScpIHtcclxuICAgICAgcmV0dXJuICdheC1zaWRlLW1lbnUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdheC12ZXJ0aWNhbCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9yZW1vdmVBY3RpdmUoaXRlbXM6IGFueSk6IHZvaWQge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICBlbGVtZW50LmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICAgIGlmIChlbGVtZW50Py5jaGlsZHJlbj8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuX3JlbW92ZUFjdGl2ZShlbGVtZW50LmNoaWxkcmVuKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9jbG9zZU9wZW5DaGlsZChpdGVtczogYW55KTogdm9pZCB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQuaXNPcGVuID0gZmFsc2U7XHJcbiAgICAgIGlmIChlbGVtZW50Py5jaGlsZHJlbj8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHRoaXMuX2Nsb3NlT3BlbkNoaWxkKGVsZW1lbnQuY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2luaXRQYXJlbnQoaXRlbXM6IGFueSwgcGFyZW50SWQ6IGFueSk6IHZvaWQge1xyXG4gICAgaXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICBlbGVtZW50LnBhcmVudElkID0gcGFyZW50SWQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRlbE1lbnVMb2dpYyhlOiBNb3VzZUV2ZW50LCBpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghaXRlbVt0aGlzLmRpc2FibGVGaWVsZF0gfHwgaXRlbVt0aGlzLmRpdmlkZXJGaWVsZF0gPT09IGZhbHNlKSB7XHJcbiAgICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSBlLnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcclxuICAgICAgaWYgKFxyXG4gICAgICAgICh0YXJnZXRFbGVtZW50LmNsb3Nlc3QoJ2xpJykgJiYgdGhpcy5vcGVuTW9kZSA9PT0gJ2NsaWNrJykgfHxcclxuICAgICAgICAodGFyZ2V0RWxlbWVudC5jbG9zZXN0KCdsaScpICYmIHRoaXMub3Blbk1vZGUgPT09ICdob3ZlcicpXHJcbiAgICAgICkge1xyXG4gICAgICAgIGlmICh0aGlzLl9vdmVybGF5UmVmICYmIHRoaXMuX29sZEl0ZW0gIT09IGl0ZW0pIHtcclxuICAgICAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcpIHtcclxuICAgICAgICAgIHRoaXMuZGlzcGxheUl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICFpdGVtLnBhcmVudElkICYmXHJcbiAgICAgICAgICAgICAgaXRlbVt0aGlzLnZhbHVlRmllbGRdICE9PSBlbGVtZW50W3RoaXMudmFsdWVGaWVsZF1cclxuICAgICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgICAgZWxlbWVudC5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgaWYgKHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJykge1xyXG4gICAgICAgICAgICB0aGlzLl9pbml0UGFyZW50KGl0ZW0uY2hpbGRyZW4sIGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJyB8fFxyXG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAndmVydGljYWwnXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuX29sZEl0ZW0gIT09IGl0ZW0pIHtcclxuICAgICAgICAgICAgICB0aGlzLl9vcGVuQXNPdmVybGF5KHRhcmdldEVsZW1lbnQuY2xvc2VzdCgnbGknKSwgaXRlbS5jaGlsZHJlbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuX2Nsb3NlT3BlbkNoaWxkKGl0ZW0uY2hpbGRyZW4pO1xyXG5cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnIHx8XHJcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCdcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBpdGVtLmlzT3BlbiA9IHRydWU7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpdGVtLmlzT3BlbiA9ICFpdGVtLmlzT3BlbjtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3JlbW92ZUFjdGl2ZSh0aGlzLmRpc3BsYXlJdGVtcyk7XHJcblxyXG4gICAgICAgIGl0ZW0uaXNBY3RpdmUgPSAhaXRlbS5pc0FjdGl2ZTtcclxuXHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnIHx8XHJcbiAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAndmVydGljYWwnXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMuX29sZEl0ZW0gJiZcclxuICAgICAgICAgICAgdGhpcy5fb2xkSXRlbT8uaXNPcGVuICYmXHJcbiAgICAgICAgICAgIGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSAhPT0gdGhpcy5fb2xkSXRlbVt0aGlzLnZhbHVlRmllbGRdXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5fb2xkSXRlbS5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuX29sZEl0ZW0gPSBpdGVtO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlbkFzT3ZlcmxheSh0YXJnZXRSZWYsIG92ZXJsYXlJdGVtczogYW55W10pOiB2b2lkIHtcclxuICAgIGxldCBwb3NpdGlvbnMgPSBbXTtcclxuICAgIGlmICh0aGlzLm9yaWVudGF0aW9uID09PSAndmVydGljYWwnKSB7XHJcbiAgICAgIGlmICh0aGlzLl9sZXZlbENvdW50ID49IDEpIHtcclxuICAgICAgICBwb3NpdGlvbnMgPSBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcG9zaXRpb25zID0gW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5fbGV2ZWxDb3VudCA+PSAxKSB7XHJcbiAgICAgICAgcG9zaXRpb25zID0gW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwb3NpdGlvbnMgPSBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdib3R0b20nLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fb3ZlcmxheS5jcmVhdGUoe1xyXG4gICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5fb3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLmNsb3NlKCksXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXlcclxuICAgICAgICAucG9zaXRpb24oKVxyXG4gICAgICAgIC5mbGV4aWJsZUNvbm5lY3RlZFRvKHRhcmdldFJlZilcclxuICAgICAgICAud2l0aFBvc2l0aW9ucyhbLi4ucG9zaXRpb25zXSlcclxuICAgICAgICAud2l0aFB1c2goZmFsc2UpLFxyXG4gICAgICBkaXJlY3Rpb246IHRoaXMuX3BsYXRmb3JtLmlzUnRsKCkgPyAncnRsJyA6ICdsdHInLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiBbJ2F4LWFuaW1hdGUtZmFkZUluJywgJ2F4LWFuaW1hdGUtZmFzdGVyJywgJ2F4LW92ZXJsYXktbWVudSddLFxyXG4gICAgICBtYXhIZWlnaHQ6ICd1bnNldCcsXHJcbiAgICAgIGhhc0JhY2tkcm9wOiBmYWxzZSxcclxuICAgICAgYmFja2Ryb3BDbGFzczogWydjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCddLFxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3QgcmVmID0gdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChBWE1lbnVDb21wb25lbnQpKTtcclxuXHJcbiAgICByZWYuaW5zdGFuY2UuaXRlbXMgPSBvdmVybGF5SXRlbXM7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLm9yaWVudGF0aW9uID0gdGhpcy5vcmllbnRhdGlvbjtcclxuXHJcbiAgICByZWYuaW5zdGFuY2Uub3Blbk1vZGUgPSAnaG92ZXInO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5fbGV2ZWxDb3VudCA9IHRoaXMuX2xldmVsQ291bnQgKyAxO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5kaXNhYmxlRmllbGQgPSB0aGlzLmRpc2FibGVGaWVsZDtcclxuXHJcbiAgICByZWYuaW5zdGFuY2UudmlzaWJsZUZpZWxkID0gdGhpcy52aXNpYmxlRmllbGQ7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLmljb25GaWVsZCA9IHRoaXMuaWNvbkZpZWxkO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5kaXZpZGVyRmllbGQgPSB0aGlzLmRpdmlkZXJGaWVsZDtcclxuXHJcbiAgICByZWYub25EZXN0cm95KCgpID0+IHtcclxuICAgICAgcmVmLmluc3RhbmNlPy5fb3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5vdXRzaWRlUG9pbnRlckV2ZW50cygpLnN1YnNjcmliZSgoZSkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZiAmJiB0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB7XHJcbiAgICAgICAgdGhpcy5fY2xvc2UoKTtcclxuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5zY3JvbGwuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9wbGF0Zm9ybS5yZXNpemUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcclxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Nsb3NlKCkge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgIHRoaXMuX29sZEl0ZW0gPSBudWxsO1xyXG4gICAgdGhpcy5kaXNwbGF5SXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICBlbGVtZW50LmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICBlbGVtZW50LmlzQWN0aXZlID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG9uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX292ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUl0ZW1zLmxlbmd0aDsgZWxzZSB0bXBFbXB0eVwiPlxyXG4gICAgPHVsIFtuZ0NsYXNzXT1cIl9nZXREaXJlY3Rpb24oKVwiIFtjbGFzcy5heC1ydGxdPVwicnRsXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInJlY3Vyc2l2ZUxpc3RUbXBsOyBjb250ZXh0OnsgbGlzdDogZGlzcGxheUl0ZW1zIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdWw+XHJcbiAgICA8bmctdGVtcGxhdGUgI3JlY3Vyc2l2ZUxpc3RUbXBsIGxldC1saXN0PVwibGlzdFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGlzdFwiPlxyXG4gICAgICAgICAgICA8bGkgKm5nSWY9XCJpdGVtW3Zpc2libGVGaWVsZF0gIT1mYWxzZVwiIFtjbGFzcy5heC1zdGF0ZS1kaXNhYmxlZF09XCJpdGVtW2Rpc2FibGVGaWVsZF1cIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9vbk1lbnVDbGljaygkZXZlbnQsaXRlbSlcIiAobW91c2VlbnRlcik9XCJfb25NZW51TW91c2VFbnRlcigkZXZlbnQsaXRlbSlcIlxyXG4gICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieydheC1zdGF0ZS1hY3RpdmUgJzogaXRlbS5pc0FjdGl2ZX1cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW1cIiAqbmdJZj1cIml0ZW1UZW1wbGF0ZSA9PSBudWxsIGVsc2UgdG1wSXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW0tcHJlZml4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uICpuZ0lmPVwiaXRlbVtpY29uRmllbGRdXCIgW2NsYXNzXT1cIml0ZW1baWNvbkZpZWxkXVwiPjwvYXgtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tfZ2V0SXRlbURpc3BsYXlUZXh0VGVtcGx0ZShpdGVtKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW0tc3VmZml4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxheC1pY29uICpuZ0lmPVwiIWl0ZW0uaXNMb2FkaW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYXgtaWMtY2hldnJvbic6aXRlbT8uY2hpbGRyZW4/Lmxlbmd0aCA+IDAsJ2F4LW1lbnUtYWN0aXZlLWljb24nOiBpdGVtLmlzT3Blbn1cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9heC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtbG9hZGluZyAqbmdJZj1cIml0ZW0uaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtbG9hZGluZz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLS0tLS0tLS0tLS0tLS0gY2hlY2sgZm9yIGN1c3RvbSAgaXRlbSB0ZW1wbGF0ZSAgLS0tLS0tLS0tLS0tLS0tPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0bXBJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7Y29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8dWwgKm5nSWY9XCJpdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID4gMCAmJiBpdGVtLmlzT3BlbiAmJiFfb3ZlcmxheVJlZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIml0ZW1bZGlzYWJsZUZpZWxkXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWN1cnNpdmVMaXN0VG1wbDsgY29udGV4dDp7IGxpc3Q6IGl0ZW0uY2hpbGRyZW4gfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiYXgtZGl2aWRlclwiICpuZ0lmPVwiaXRlbVt0aGlzLmRpdmlkZXJGaWVsZF1cIj48L2xpPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuPC9uZy1jb250YWluZXI+XHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJpc0xvYWRpbmdcIj5cclxuICAgIDxuZy10ZW1wbGF0ZT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtanVzdGlmeS1jZW50ZXIgYXgtcC00XCI+XHJcbiAgICAgICAgICAgIDxheC1sb2FkaW5nIHRleHQ9XCJ7eyAnbGF5b3V0LmxvYWRpbmcudGV4dCcgfCB0cmFucyB9fVwiPjwvYXgtbG9hZGluZz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICN0bXBFbXB0eT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgPCEtLS0tLS0tLS0tLS0tLS0gY2hlY2sgZm9yIGN1c3RvbSB0ZW1wbGF0ZSAgLS0tLS0tLS0tLS0tLS0tPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlbXB0eVRlbXBsYXRlOyBlbHNlIGVsc2VFbXB0eVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJlbXB0eVRlbXBsYXRlXCI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZWxzZUVtcHR5VGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1saXN0LWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIHt7ICdjb21tb24ubm8tcmVzdWx0LWZvdW5kJyB8IHRyYW5zIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
341
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9tZW51L3NyYy9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb21wb25lbnRzL21lbnUvc3JjL21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUVqQixZQUFZLEdBSWIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7OztBQUVuRDs7OztHQUlHO0FBNEJILE1BQU0sT0FBTyxlQUFnQixTQUFRLGVBQWU7SUF1QmxELFlBQ1UsV0FBdUIsRUFDdkIsR0FBc0IsRUFDdEIsUUFBaUIsRUFDakIsU0FBcUI7UUFFN0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUxoQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQVk7UUFWL0IsUUFBRyxHQUFZLElBQUksVUFBVSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFaEMsZ0JBQVcsR0FBVyxDQUFDLENBQUM7SUFXaEMsQ0FBQztJQXJCRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMs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QUNILElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7OzZHQTlWVSxlQUFlO2lHQUFmLGVBQWUsZ3lCQ2hENUIsNHRHQTJEYzs0RkRYRCxlQUFlO2tCQTNCM0IsU0FBUzsrQkFDRSxTQUFTLFVBR1g7d0JBQ04sVUFBVTt3QkFDVixVQUFVO3dCQUNWLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixPQUFPO3dCQUNQLFVBQVU7d0JBQ1YsV0FBVzt3QkFDWCxTQUFTO3dCQUNULFFBQVE7d0JBQ1IsVUFBVTt3QkFDVixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixjQUFjO3dCQUNkLFVBQVU7d0JBQ1YsYUFBYTt3QkFDYixXQUFXO3FCQUNaLFdBQ1EsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixDQUFDLG1CQUNoQyx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO2dMQUk3QixxQkFBcUI7c0JBRDVCLFlBQVk7dUJBQUMsZUFBZTtnQkFJckIsb0JBQW9CO3NCQUQzQixZQUFZO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5UmVmLCBPdmVybGF5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuXHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIE9uSW5pdCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhCYXNlTWVudU1peGluIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL21peGluJztcclxuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XHJcblxyXG4vKipcclxuICogVGhlIEJ1dHRvbiBpcyBhIGNvbXBvbmVudCB3aGljaCBkZXRlY3RzIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRyaWdnZXJzIGEgY29ycmVzcG9uZGluZyBldmVudFxyXG4gKlxyXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdheC1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGlucHV0czogW1xyXG4gICAgJ2Rpc2FibGVkJyxcclxuICAgICd0YWJJbmRleCcsXHJcbiAgICAndGV4dEZpZWxkJyxcclxuICAgICd2YWx1ZUZpZWxkJyxcclxuICAgICdpdGVtcycsXHJcbiAgICAncGFyZW50SWQnLFxyXG4gICAgJ2ljb25GaWVsZCcsXHJcbiAgICAndG9vbHRpcCcsXHJcbiAgICAnaXNPcGVuJyxcclxuICAgICdpc0FjdGl2ZScsXHJcbiAgICAndmlzaWJsZUZpZWxkJyxcclxuICAgICdkaXNhYmxlRmllbGQnLFxyXG4gICAgJ2hhc0NoaWxkRmllbGQnLFxyXG4gICAgJ2RpdmlkZXJGaWVsZCcsXHJcbiAgICAnb3Blbk1vZGUnLFxyXG4gICAgJ29yaWVudGF0aW9uJyxcclxuICAgICdzaG93TW9kYWwnLFxyXG4gIF0sXHJcbiAgb3V0cHV0czogWydvbkJsdXInLCAnb25Gb2N1cycsICdvbk1lbnVJdGVtQ2xpY2snXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQVhNZW51Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlTWVudU1peGluIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAQ29udGVudENoaWxkKCdlbXB0eVRlbXBsYXRlJylcclxuICBwcml2YXRlIF9jb250ZW50RW1wdHlUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnaXRlbVRlbXBsYXRlJylcclxuICBwcml2YXRlIF9jb250ZW50SXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBwdWJsaWMgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XHJcblxyXG4gIGdldCBlbXB0eVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRFbXB0eVRlbXBsYXRlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGl0ZW1UZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9jb250ZW50SXRlbVRlbXBsYXRlO1xyXG4gIH1cclxuXHJcbiAgcnRsOiBib29sZWFuID0gbmV3IEFYUGxhdGZvcm0oKS5pc1J0bCgpO1xyXG5cclxuICBwcml2YXRlIF9sZXZlbENvdW50OiBudW1iZXIgPSAwO1xyXG5cclxuICBwcml2YXRlIF9vbGRJdGVtOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXHJcbiAgICBwcml2YXRlIF9wbGF0Zm9ybTogQVhQbGF0Zm9ybVxyXG4gICkge1xyXG4gICAgc3VwZXIoX2VsZW1lbnRSZWYsIGNkcik7XHJcbiAgfVxyXG5cclxuICBvbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5vbkluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHN1cGVyLm9uVmlld0luaXQoKTtcclxuICB9XHJcblxyXG4gIF9vbk1lbnVNb3VzZUVudGVyKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xyXG5cclxuICAgIGlmICh0aGlzLmlzTG9hZGluZyB8fCB0YXJnZXRFbGVtZW50LnRhZ05hbWUgPT09ICdVTCcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9wZW5Nb2RlID09PSAnaG92ZXInKSB7XHJcbiAgICAgIHRoaXMuX2hhbmRlbE1lbnVMb2dpYyhlLCBpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgX29uTWVudUNsaWNrKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xyXG5cclxuICAgIGlmICh0aGlzLmlzTG9hZGluZyB8fCB0YXJnZXRFbGVtZW50LnRhZ05hbWUgPT09ICdVTCcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB7XHJcbiAgICAgIHRoaXMuX2hhbmRlbE1lbnVMb2dpYyhlLCBpdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9uTWVudUl0ZW1DbGljay5lbWl0KHtcclxuICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICBpdGVtOiBpdGVtLFxyXG4gICAgICBuYXRpdmVFdmVudDogZSxcclxuICAgIH0pO1xyXG5cclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBfZ2V0RGlyZWN0aW9uKCk6IHN0cmluZyB7XHJcbiAgICBpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnICYmIHRoaXMuX2xldmVsQ291bnQgPT09IDApIHtcclxuICAgICAgcmV0dXJuICdheC1ob3Jpem9udGFsJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5fbGV2ZWxDb3VudCA+IDApIHtcclxuICAgICAgcmV0dXJuICdheC12ZXJ0aWNhbCBheC1zdWJtZW51LXVsJztcclxuICAgIH0gZWxzZSBpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gJ3NpZGVtZW51Jykge1xyXG4gICAgICByZXR1cm4gJ2F4LXNpZGUtbWVudSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gJ2F4LXZlcnRpY2FsJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3JlbW92ZUFjdGl2ZShpdGVtczogYW55KTogdm9pZCB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgICAgaWYgKGVsZW1lbnQ/LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlQWN0aXZlKGVsZW1lbnQuY2hpbGRyZW4pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2Nsb3NlT3BlbkNoaWxkKGl0ZW1zOiBhbnkpOiB2b2lkIHtcclxuICAgIGl0ZW1zLmZvckVhY2goKGVsZW1lbnQpID0+IHtcclxuICAgICAgZWxlbWVudC5pc09wZW4gPSBmYWxzZTtcclxuICAgICAgaWYgKGVsZW1lbnQ/LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5fY2xvc2VPcGVuQ2hpbGQoZWxlbWVudC5jaGlsZHJlbik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaW5pdFBhcmVudChpdGVtczogYW55LCBwYXJlbnRJZDogYW55KTogdm9pZCB7XHJcbiAgICBpdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQucGFyZW50SWQgPSBwYXJlbnRJZDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfaGFuZGVsTWVudUxvZ2ljKGU6IE1vdXNlRXZlbnQsIGl0ZW06IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCFpdGVtW3RoaXMuZGlzYWJsZUZpZWxkXSB8fCBpdGVtW3RoaXMuZGl2aWRlckZpZWxkXSA9PT0gZmFsc2UpIHtcclxuICAgICAgY29uc3QgdGFyZ2V0RWxlbWVudCA9IGUudGFyZ2V0IGFzIEhUTUxEaXZFbGVtZW50O1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKHRhcmdldEVsZW1lbnQuY2xvc2VzdCgnbGknKSAmJiB0aGlzLm9wZW5Nb2RlID09PSAnY2xpY2snKSB8fFxyXG4gICAgICAgICh0YXJnZXRFbGVtZW50LmNsb3Nlc3QoJ2xpJykgJiYgdGhpcy5vcGVuTW9kZSA9PT0gJ2hvdmVyJylcclxuICAgICAgKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX292ZXJsYXlSZWYgJiYgdGhpcy5fb2xkSXRlbSAhPT0gaXRlbSkge1xyXG4gICAgICAgICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2goKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJykge1xyXG4gICAgICAgICAgdGhpcy5kaXNwbGF5SXRlbXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgIWl0ZW0ucGFyZW50SWQgJiZcclxuICAgICAgICAgICAgICBpdGVtW3RoaXMudmFsdWVGaWVsZF0gIT09IGVsZW1lbnRbdGhpcy52YWx1ZUZpZWxkXVxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICBlbGVtZW50LmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0/LmNoaWxkcmVuPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2luaXRQYXJlbnQoaXRlbS5jaGlsZHJlbiwgaXRlbVt0aGlzLnZhbHVlRmllbGRdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnIHx8XHJcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCdcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fb2xkSXRlbSAhPT0gaXRlbSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuX29wZW5Bc092ZXJsYXkodGFyZ2V0RWxlbWVudC5jbG9zZXN0KCdsaScpLCBpdGVtLmNoaWxkcmVuKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fY2xvc2VPcGVuQ2hpbGQoaXRlbS5jaGlsZHJlbik7XHJcblxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgfHxcclxuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbiA9PT0gJ3ZlcnRpY2FsJ1xyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNPcGVuID0gdHJ1ZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNPcGVuID0gIWl0ZW0uaXNPcGVuO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fcmVtb3ZlQWN0aXZlKHRoaXMuZGlzcGxheUl0ZW1zKTtcclxuXHJcbiAgICAgICAgaXRlbS5pc0FjdGl2ZSA9ICFpdGVtLmlzQWN0aXZlO1xyXG5cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uID09PSAnaG9yaXpvbnRhbCcgfHxcclxuICAgICAgICAgIHRoaXMub3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCdcclxuICAgICAgICApIHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5fb2xkSXRlbSAmJlxyXG4gICAgICAgICAgICB0aGlzLl9vbGRJdGVtPy5pc09wZW4gJiZcclxuICAgICAgICAgICAgaXRlbVt0aGlzLnZhbHVlRmllbGRdICE9PSB0aGlzLl9vbGRJdGVtW3RoaXMudmFsdWVGaWVsZF1cclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLl9vbGRJdGVtLmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fb2xkSXRlbSA9IGl0ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9vcGVuQXNPdmVybGF5KHRhcmdldFJlZiwgb3ZlcmxheUl0ZW1zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgbGV0IHBvc2l0aW9ucyA9IFtdO1xyXG4gICAgaWYgKHRoaXMub3JpZW50YXRpb24gPT09ICd2ZXJ0aWNhbCcpIHtcclxuICAgICAgaWYgKHRoaXMuX2xldmVsQ291bnQgPj0gMSkge1xyXG4gICAgICAgIHBvc2l0aW9ucyA9IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2VuZCcsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICdib3R0b20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBwb3NpdGlvbnMgPSBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2NlbnRlcicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF07XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLl9sZXZlbENvdW50ID49IDEpIHtcclxuICAgICAgICBwb3NpdGlvbnMgPSBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdzdGFydCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG9yaWdpblg6ICdlbmQnLFxyXG4gICAgICAgICAgICBvcmlnaW5ZOiAndG9wJyxcclxuICAgICAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHBvc2l0aW9ucyA9IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxyXG4gICAgICAgICAgICBvdmVybGF5WTogJ2JvdHRvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBvcmlnaW5YOiAnZW5kJyxcclxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXHJcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcclxuICAgICAgICAgICAgb3ZlcmxheVk6ICd0b3AnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG9yaWdpblk6ICd0b3AnLFxyXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXHJcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMuY2xvc2UoKSxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheVxyXG4gICAgICAgIC5wb3NpdGlvbigpXHJcbiAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGFyZ2V0UmVmKVxyXG4gICAgICAgIC53aXRoUG9zaXRpb25zKFsuLi5wb3NpdGlvbnNdKVxyXG4gICAgICAgIC53aXRoUHVzaChmYWxzZSksXHJcbiAgICAgIGRpcmVjdGlvbjogdGhpcy5fcGxhdGZvcm0uaXNSdGwoKSA/ICdydGwnIDogJ2x0cicsXHJcbiAgICAgIGRpc3Bvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIHBhbmVsQ2xhc3M6IFsnYXgtYW5pbWF0ZS1mYWRlSW4nLCAnYXgtYW5pbWF0ZS1mYXN0ZXInLCAnYXgtb3ZlcmxheS1tZW51J10sXHJcbiAgICAgIG1heEhlaWdodDogJ3Vuc2V0JyxcclxuICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxyXG4gICAgICBiYWNrZHJvcENsYXNzOiBbJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ10sXHJcbiAgICB9KTtcclxuXHJcbiAgICBjb25zdCByZWYgPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaChuZXcgQ29tcG9uZW50UG9ydGFsKEFYTWVudUNvbXBvbmVudCkpO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5pdGVtcyA9IG92ZXJsYXlJdGVtcztcclxuXHJcbiAgICByZWYuaW5zdGFuY2Uub3JpZW50YXRpb24gPSB0aGlzLm9yaWVudGF0aW9uO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS5vcGVuTW9kZSA9ICdob3Zlcic7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLl9sZXZlbENvdW50ID0gdGhpcy5fbGV2ZWxDb3VudCArIDE7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLmRpc2FibGVGaWVsZCA9IHRoaXMuZGlzYWJsZUZpZWxkO1xyXG5cclxuICAgIHJlZi5pbnN0YW5jZS52aXNpYmxlRmllbGQgPSB0aGlzLnZpc2libGVGaWVsZDtcclxuXHJcbiAgICByZWYuaW5zdGFuY2UuaWNvbkZpZWxkID0gdGhpcy5pY29uRmllbGQ7XHJcblxyXG4gICAgcmVmLmluc3RhbmNlLmRpdmlkZXJGaWVsZCA9IHRoaXMuZGl2aWRlckZpZWxkO1xyXG5cclxuICAgIHJlZi5vbkRlc3Ryb3koKCkgPT4ge1xyXG4gICAgICByZWYuaW5zdGFuY2U/Ll9vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLm91dHNpZGVQb2ludGVyRXZlbnRzKCkuc3Vic2NyaWJlKChlKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLl9vdmVybGF5UmVmICYmIHRoaXMub3Blbk1vZGUgPT09ICdjbGljaycpIHtcclxuICAgICAgICB0aGlzLl9jbG9zZSgpO1xyXG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX3BsYXRmb3JtLnNjcm9sbC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICAgIHRoaXMuX2Nsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX3BsYXRmb3JtLnJlc2l6ZS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5fb3ZlcmxheVJlZikge1xyXG4gICAgICAgIHRoaXMuX2Nsb3NlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xvc2UoKSB7XHJcbiAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpO1xyXG4gICAgdGhpcy5fb2xkSXRlbSA9IG51bGw7XHJcbiAgICB0aGlzLmRpc3BsYXlJdGVtcy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGVsZW1lbnQuaXNPcGVuID0gZmFsc2U7XHJcbiAgICAgIGVsZW1lbnQuaXNBY3RpdmUgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fb3ZlcmxheVJlZj8uZGV0YWNoKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5SXRlbXMubGVuZ3RoOyBlbHNlIHRtcEVtcHR5XCI+XHJcbiAgICA8dWwgW25nQ2xhc3NdPVwiX2dldERpcmVjdGlvbigpXCIgW2NsYXNzLmF4LXJ0bF09XCJydGxcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicmVjdXJzaXZlTGlzdFRtcGw7IGNvbnRleHQ6eyBsaXN0OiBkaXNwbGF5SXRlbXMgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC91bD5cclxuICAgIDxuZy10ZW1wbGF0ZSAjcmVjdXJzaXZlTGlzdFRtcGwgbGV0LWxpc3Q9XCJsaXN0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsaXN0XCI+XHJcbiAgICAgICAgICAgIDxsaSAqbmdJZj1cIml0ZW1bdmlzaWJsZUZpZWxkXSAhPWZhbHNlXCIgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIml0ZW1bZGlzYWJsZUZpZWxkXVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiX29uTWVudUNsaWNrKCRldmVudCxpdGVtKVwiIChtb3VzZWVudGVyKT1cIl9vbk1lbnVNb3VzZUVudGVyKCRldmVudCxpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2F4LXN0YXRlLWFjdGl2ZSAnOiBpdGVtLmlzQWN0aXZlfVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1lbnUtaXRlbVwiICpuZ0lmPVwiaXRlbVRlbXBsYXRlID09IG51bGwgZWxzZSB0bXBJdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF4LW1lbnUtaXRlbS1wcmVmaXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJheC1tZW51LWl0ZW0taWNvblwiICpuZ0lmPVwiaXRlbVtpY29uRmllbGRdXCIgW2NsYXNzXT1cIiBpdGVtW2ljb25GaWVsZF1cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tfZ2V0SXRlbURpc3BsYXlUZXh0VGVtcGx0ZShpdGVtKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJheC1tZW51LWl0ZW0tc3VmZml4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtbWVudS1pdGVtLWljb24gYXgtaWNvbiBheC1tZW51LWl0ZW0taWNvbi1jaGV2cm9uXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2F4LWljb24tY2hldnJvbi1kb3duJzppdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID4gMCwnYXgtbWVudS1hY3RpdmUtaWNvbic6IGl0ZW0uaXNPcGVufVwiICpuZ0lmPVwiIWl0ZW0uaXNMb2FkaW5nXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YXgtbG9hZGluZyAqbmdJZj1cIml0ZW0uaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYXgtbG9hZGluZz5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPCEtLS0tLS0tLS0tLS0tLS0gY2hlY2sgZm9yIGN1c3RvbSAgaXRlbSB0ZW1wbGF0ZSAgLS0tLS0tLS0tLS0tLS0tPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICN0bXBJdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7Y29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW0gfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8dWwgKm5nSWY9XCJpdGVtPy5jaGlsZHJlbj8ubGVuZ3RoID4gMCAmJiBpdGVtLmlzT3BlbiAmJiFfb3ZlcmxheVJlZlwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF4LXN0YXRlLWRpc2FibGVkXT1cIml0ZW1bZGlzYWJsZUZpZWxkXVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJyZWN1cnNpdmVMaXN0VG1wbDsgY29udGV4dDp7IGxpc3Q6IGl0ZW0uY2hpbGRyZW4gfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiYXgtbWVudS1pdGVtLWRpdmlkZXJcIiAqbmdJZj1cIml0ZW1bdGhpcy5kaXZpZGVyRmllbGRdXCI+PC9saT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiaXNMb2FkaW5nXCI+XHJcbiAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWp1c3RpZnktY2VudGVyIGF4LXAtNFwiPlxyXG4gICAgICAgICAgICA8YXgtbG9hZGluZyB0ZXh0PVwie3sgJ2xheW91dC5sb2FkaW5nLnRleHQnIHwgdHJhbnMgfX1cIj48L2F4LWxvYWRpbmc+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdG1wRW1wdHk+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzTG9hZGluZ1wiPlxyXG4gICAgICAgIDwhLS0tLS0tLS0tLS0tLS0tIGNoZWNrIGZvciBjdXN0b20gdGVtcGxhdGUgIC0tLS0tLS0tLS0tLS0tLT5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZW1wdHlUZW1wbGF0ZTsgZWxzZSBlbHNlRW1wdHlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW1wdHlUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2Vsc2VFbXB0eVRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtbGlzdC1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICB7eyAnY29tbW9uLm5vLXJlc3VsdC1mb3VuZCcgfCB0cmFucyB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -15,13 +15,13 @@ const MODULES = [
15
15
  ];
16
16
  export class AXMenuModule {
17
17
  }
18
- AXMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
- AXMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.2", ngImport: i0, type: AXMenuModule, declarations: [AXMenuComponent], imports: [CommonModule, AXDecoratorModule,
18
+ AXMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
19
+ AXMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: AXMenuModule, declarations: [AXMenuComponent], imports: [CommonModule, AXDecoratorModule,
20
20
  AXLoadingModule,
21
21
  AXTranslationModule,
22
22
  OverlayModule], exports: [AXMenuComponent] });
23
- AXMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXMenuModule, imports: [CommonModule, MODULES] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXMenuModule, decorators: [{
23
+ AXMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXMenuModule, imports: [CommonModule, MODULES] });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXMenuModule, decorators: [{
25
25
  type: NgModule,
26
26
  args: [{
27
27
  declarations: [...COMPONENT],
@@ -30,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImpor
30
30
  providers: [],
31
31
  }]
32
32
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9tZW51L3NyYy9tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFckQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNwQyxNQUFNLE9BQU8sR0FBRztJQUNkLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLGFBQWE7Q0FDZCxDQUFDO0FBUUYsTUFBTSxPQUFPLFlBQVk7O3lHQUFaLFlBQVk7MEdBQVosWUFBWSxpQkFkTixlQUFlLGFBVXRCLFlBQVksRUFSdEIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsYUFBYSxhQUxJLGVBQWU7MEdBY3JCLFlBQVksWUFKYixZQUFZLEVBQUssT0FBTzsyRkFJdkIsWUFBWTtrQkFOeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xyXG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcclxuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcblxyXG5jb25zdCBDT01QT05FTlQgPSBbQVhNZW51Q29tcG9uZW50XTtcclxuY29uc3QgTU9EVUxFUyA9IFtcclxuICBBWERlY29yYXRvck1vZHVsZSxcclxuICBBWExvYWRpbmdNb2R1bGUsXHJcbiAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcclxuICBPdmVybGF5TW9kdWxlLFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIC4uLk1PRFVMRVNdLFxyXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxyXG4gIHByb3ZpZGVyczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWE1lbnVNb2R1bGUge31cclxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9tZW51L3NyYy9tZW51Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFFckQsTUFBTSxTQUFTLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUNwQyxNQUFNLE9BQU8sR0FBRztJQUNkLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLGFBQWE7Q0FDZCxDQUFDO0FBUUYsTUFBTSxPQUFPLFlBQVk7OzBHQUFaLFlBQVk7MkdBQVosWUFBWSxpQkFkTixlQUFlLGFBVXRCLFlBQVksRUFSdEIsaUJBQWlCO1FBQ2pCLGVBQWU7UUFDZixtQkFBbUI7UUFDbkIsYUFBYSxhQUxJLGVBQWU7MkdBY3JCLFlBQVksWUFKYixZQUFZLEVBQUssT0FBTzs0RkFJdkIsWUFBWTtrQkFOeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDNUIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQztvQkFDdkIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBWE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xyXG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcclxuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XHJcblxyXG5jb25zdCBDT01QT05FTlQgPSBbQVhNZW51Q29tcG9uZW50XTtcclxuY29uc3QgTU9EVUxFUyA9IFtcclxuICBBWERlY29yYXRvck1vZHVsZSxcclxuICBBWExvYWRpbmdNb2R1bGUsXHJcbiAgQVhUcmFuc2xhdGlvbk1vZHVsZSxcclxuICBPdmVybGF5TW9kdWxlLFxyXG5dO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFsuLi5DT01QT05FTlRdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIC4uLk1PRFVMRVNdLFxyXG4gIGV4cG9ydHM6IFsuLi5DT01QT05FTlRdLFxyXG4gIHByb3ZpZGVyczogW10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBWE1lbnVNb2R1bGUge31cclxuIl19
@@ -90,9 +90,9 @@ export class AXBaseComponent {
90
90
  }
91
91
  }
92
92
  _AXBaseComponent_rtl = new WeakMap(), _AXBaseComponent_elementRef = new WeakMap();
93
- AXBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXBaseComponent, deps: [{ token: Array }], target: i0.ɵɵFactoryTarget.Injectable });
94
- AXBaseComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXBaseComponent });
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.2", ngImport: i0, type: AXBaseComponent, decorators: [{
93
+ AXBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXBaseComponent, deps: [{ token: Array }], target: i0.ɵɵFactoryTarget.Injectable });
94
+ AXBaseComponent.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXBaseComponent });
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: AXBaseComponent, decorators: [{
96
96
  type: Injectable
97
97
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
98
98
  type: Inject,
@@ -107,4 +107,4 @@ export function _BaseComponenetMixin(Base) {
107
107
  }
108
108
  export const BASE_INPUTS = ['rtl'];
109
109
  export const BASE_OUTPUT = [];
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnRzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4vc3JjL2Jhc2UtY29tcG9uZW50cy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFHTCxNQUFNLEVBQ04sVUFBVSxFQUVYLE1BQU0sZUFBZSxDQUFDOztBQXNCdkIsTUFBTSxPQUFPLGVBQWU7SUFpQzFCOztPQUVHO0lBQ0gsWUFBMkIsR0FBRyxJQUFXO1FBbEN6QyxPQUFFLEdBQVcsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFakU7O1dBRUc7UUFDSCxlQUFlO1FBRWYsdUNBQWM7UUFrQmQsOENBQXdCO1FBVXRCLHVCQUFBLElBQUksK0JBQWUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFBLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQTNCRCxJQUFJLEdBQUc7UUFDTCxJQUFJLHVCQUFBLElBQUksNEJBQUs7WUFDWCxPQUFPLHVCQUFBLElBQUksNEJBQUssQ0FBQzs7WUFFakIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hELE1BQU07cUJBQ0gsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQztxQkFDOUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEtBQUssS0FBSyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLEdBQUcsQ0FBQyxLQUFjO1FBQ3BCLHVCQUFBLElBQUksd0JBQVEsS0FBSyxNQUFBLENBQUM7SUFD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Q0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbmplY3RhYmxlLFxyXG4gIEVsZW1lbnRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XHJcblxyXG4vKipcclxuICogQSB0b2tlbiB0aGF0IHNwZWNpZmllcyB0aGUgc2l6ZSBvZiBjb21wb25lbnQuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBBWEVsZW1lbnRTaXplID0gJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCc7XHJcblxyXG5leHBvcnQgdHlwZSBBWENvbXBvbmVudE9wdGlvbkNoYW5naW5nID0geyBuYW1lOiBzdHJpbmc7IHZhbHVlPzogYW55IH07XHJcbmV4cG9ydCB0eXBlIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbmV3VmFsdWU/OiBhbnk7XHJcbiAgb2xkVmFsdWU/OiBhbnk7XHJcbn07XHJcbmV4cG9ydCB0eXBlIEFYQ29tcG9uZW50U2V0T3B0aW9uID0ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB2YWx1ZT86IGFueTtcclxuICBhZnRlckNhbGxiYWNrPzogKG9sZFZhbHVlPzogYW55LCBuZXdWYWx1ZT86IGFueSkgPT4gdm9pZDtcclxuICBiZWZvcmVDYWxsYmFjaz86IChvbGRWYWx1ZT86IGFueSwgbmV3VmFsdWU/OiBhbnkpID0+IHZvaWQ7XHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBWEJhc2VDb21wb25lbnQge1xyXG5cclxuICBpZDogc3RyaW5nID0gYEFYJHtNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBNYXRoLnBvdygxMCwgMTApKX1gO1xyXG5cclxuICAvKipcclxuICAgKiBBIHRva2VuIHRoYXQgc3BlY2lmaWVzIHRoZSBsYXlvdXQgZGlyZWN0aW9uIG9mIGNvbXBvbmVudC5cclxuICAgKi9cclxuICAvL3J0bDogYm9vbGVhbjtcclxuXHJcbiAgI3J0bDogYm9vbGVhbjtcclxuXHJcblxyXG4gIGdldCBydGwoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy4jcnRsKVxyXG4gICAgICByZXR1cm4gdGhpcy4jcnRsO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoJ2F4LXJ0bCcpIHx8XHJcbiAgICAgICAgd2luZG93XHJcbiAgICAgICAgICAuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9nZXRIb3N0RWxlbWVudCgpLCBudWxsKVxyXG4gICAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJ2RpcmVjdGlvbicpID09PSAncnRsJztcclxuICB9XHJcblxyXG4gIHNldCBydGwodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuI3J0bCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcblxyXG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xyXG4gIF9jZHI6IENoYW5nZURldGVjdG9yUmVmO1xyXG5cclxuICBfaXNJbml0ZWQ6IGJvb2xlYW47XHJcbiAgX2lzUmVuZGVyZWQ6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqICBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBcnJheSkgLi4uYXJnczogYW55W10pIHtcclxuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBhcmdzWzBdO1xyXG4gICAgdGhpcy5fY2RyID0gYXJnc1sxXTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5faXNJbml0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5fb25JbnRlcm5hbEluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuX2lzUmVuZGVyZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5fb25JbnRlcm5hbFZpZXdJbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX29uSW50ZXJuYWxEZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBfZ2V0SG9zdEVsZW1lbnQ8VCA9IEhUTUxFbGVtZW50PigpOiBUIHtcclxuICAgIHJldHVybiB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgVDtcclxuICB9XHJcblxyXG4gIF9nZXRJbm5lckVsZW1lbnQ8VCA9IEhUTUxFbGVtZW50PigpOiBUIHtcclxuICAgIHJldHVybiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmZpcnN0RWxlbWVudENoaWxkIGFzIHVua25vd24gYXMgVDtcclxuICB9XHJcblxyXG4gIF9vbkludGVybmFsSW5pdCgpIHtcclxuICAgICh0aGlzLl9nZXRIb3N0RWxlbWVudCgpIGFzIGFueSkuX19heENvbnRleHRfXyA9IHRoaXM7XHJcbiAgICB0aGlzLl9hcHBseVJ0bCgpO1xyXG4gICAgdGhpcy5vbkluaXQoKTtcclxuICB9XHJcblxyXG4gIF9vbkludGVybmFsVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLm9uVmlld0luaXQoKTtcclxuICB9XHJcblxyXG4gIF9vbkludGVybmFsRGVzdHJveSgpIHtcclxuICAgIHRoaXMub25EZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBvbkluaXQoKSB7IH1cclxuXHJcblxyXG4gIG9uVmlld0luaXQoKSB7IH1cclxuXHJcbiAgb25EZXN0cm95KCkgeyB9XHJcblxyXG4gIF9hcHBseVJ0bCgpIHtcclxuICAgIGlmICh0aGlzLnJ0bCkge1xyXG4gICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ2F4LXJ0bCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX29uT3B0aW9uQ2hhbmdpbmcob3B0aW9uOiBBWENvbXBvbmVudE9wdGlvbkNoYW5naW5nKSB7XHJcbiAgICByZXR1cm4gb3B0aW9uPy52YWx1ZTtcclxuICB9XHJcbiAgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCk6IHZvaWQgeyB9XHJcblxyXG4gIF9zZXRPcHRpb24ob3B0aW9uOiBBWENvbXBvbmVudFNldE9wdGlvbikge1xyXG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzW29wdGlvbi5uYW1lXTtcclxuICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5fb25PcHRpb25DaGFuZ2luZyh7XHJcbiAgICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxyXG4gICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICAvL1RPRE8gOiBjaGVjayByZWFsIGNoYW5nZXNcclxuICAgIGlmIChvcHRpb24uYmVmb3JlQ2FsbGJhY2spIG9wdGlvbi5iZWZvcmVDYWxsYmFjayhvbGRWYWx1ZSwgbmV3VmFsdWUpO1xyXG4gICAgaWYgKG9sZFZhbHVlICE9IG5ld1ZhbHVlKSB7XHJcbiAgICAgIHRoaXNbYF8ke29wdGlvbi5uYW1lfWBdID0gb3B0aW9uLnZhbHVlO1xyXG4gICAgICB0aGlzLl9vbk9wdGlvbkNoYW5nZWQoeyBuYW1lOiBvcHRpb24ubmFtZSwgbmV3VmFsdWUsIG9sZFZhbHVlIH0pO1xyXG4gICAgICBjb25zdCBlbWl0dGVyID0gdGhpc1tgJHtvcHRpb24ubmFtZX1DaGFuZ2VgXSBhcyBFdmVudEVtaXR0ZXI8YW55PjtcclxuICAgICAgaWYgKGVtaXR0ZXIpIGVtaXR0ZXIuZW1pdChuZXdWYWx1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uLmFmdGVyQ2FsbGJhY2spIG9wdGlvbi5hZnRlckNhbGxiYWNrKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX0Jhc2VDb21wb25lbmV0TWl4aW48XHJcbiAgVEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+XHJcbj4oQmFzZTogVEJhc2UpIHtcclxuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBCYXNlIHtcclxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG4gICAgfVxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBCQVNFX0lOUFVUUyA9IFsncnRsJ107XHJcbmV4cG9ydCBjb25zdCBCQVNFX09VVFBVVCA9IFtdO1xyXG4iXX0=
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1jb21wb25lbnRzLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4vc3JjL2Jhc2UtY29tcG9uZW50cy5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFHTCxNQUFNLEVBQ04sVUFBVSxFQUVYLE1BQU0sZUFBZSxDQUFDOztBQXNCdkIsTUFBTSxPQUFPLGVBQWU7SUFpQzFCOztPQUVHO0lBQ0gsWUFBMkIsR0FBRyxJQUFXO1FBbEN6QyxPQUFFLEdBQVcsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFakU7O1dBRUc7UUFDSCxlQUFlO1FBRWYsdUNBQWM7UUFrQmQsOENBQXdCO1FBVXRCLHVCQUFBLElBQUksK0JBQWUsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFBLENBQUM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQTNCRCxJQUFJLEdBQUc7UUFDTCxJQUFJLHVCQUFBLElBQUksNEJBQUs7WUFDWCxPQUFPLHVCQUFBLElBQUksNEJBQUssQ0FBQzs7WUFFakIsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ3hELE1BQU07cUJBQ0gsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQztxQkFDOUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLEtBQUssS0FBSyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFJLEdBQUcsQ0FBQyxLQUFjO1FBQ3BCLHVCQUFBLElBQUksd0JBQVEsS0FBSyxNQUFBLENBQUM7SUFD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Q0FBQztLQUNGLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDbkMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbmplY3RhYmxlLFxyXG4gIEVsZW1lbnRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XHJcblxyXG4vKipcclxuICogQSB0b2tlbiB0aGF0IHNwZWNpZmllcyB0aGUgc2l6ZSBvZiBjb21wb25lbnQuXHJcbiAqL1xyXG5leHBvcnQgdHlwZSBBWEVsZW1lbnRTaXplID0gJ3hzJyB8ICdzbScgfCAnbWQnIHwgJ2xnJyB8ICd4bCc7XHJcblxyXG5leHBvcnQgdHlwZSBBWENvbXBvbmVudE9wdGlvbkNoYW5naW5nID0geyBuYW1lOiBzdHJpbmc7IHZhbHVlPzogYW55IH07XHJcbmV4cG9ydCB0eXBlIEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCA9IHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgbmV3VmFsdWU/OiBhbnk7XHJcbiAgb2xkVmFsdWU/OiBhbnk7XHJcbn07XHJcbmV4cG9ydCB0eXBlIEFYQ29tcG9uZW50U2V0T3B0aW9uID0ge1xyXG4gIG5hbWU6IHN0cmluZztcclxuICB2YWx1ZT86IGFueTtcclxuICBhZnRlckNhbGxiYWNrPzogKG9sZFZhbHVlPzogYW55LCBuZXdWYWx1ZT86IGFueSkgPT4gdm9pZDtcclxuICBiZWZvcmVDYWxsYmFjaz86IChvbGRWYWx1ZT86IGFueSwgbmV3VmFsdWU/OiBhbnkpID0+IHZvaWQ7XHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBWEJhc2VDb21wb25lbnQge1xyXG5cclxuICBpZDogc3RyaW5nID0gYEFYJHtNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiBNYXRoLnBvdygxMCwgMTApKX1gO1xyXG5cclxuICAvKipcclxuICAgKiBBIHRva2VuIHRoYXQgc3BlY2lmaWVzIHRoZSBsYXlvdXQgZGlyZWN0aW9uIG9mIGNvbXBvbmVudC5cclxuICAgKi9cclxuICAvL3J0bDogYm9vbGVhbjtcclxuXHJcbiAgI3J0bDogYm9vbGVhbjtcclxuXHJcblxyXG4gIGdldCBydGwoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy4jcnRsKVxyXG4gICAgICByZXR1cm4gdGhpcy4jcnRsO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoJ2F4LXJ0bCcpIHx8XHJcbiAgICAgICAgd2luZG93XHJcbiAgICAgICAgICAuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLl9nZXRIb3N0RWxlbWVudCgpLCBudWxsKVxyXG4gICAgICAgICAgLmdldFByb3BlcnR5VmFsdWUoJ2RpcmVjdGlvbicpID09PSAncnRsJztcclxuICB9XHJcblxyXG4gIHNldCBydGwodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuI3J0bCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcblxyXG4gICNlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xyXG4gIF9jZHI6IENoYW5nZURldGVjdG9yUmVmO1xyXG5cclxuICBfaXNJbml0ZWQ6IGJvb2xlYW47XHJcbiAgX2lzUmVuZGVyZWQ6IGJvb2xlYW47XHJcblxyXG4gIC8qKlxyXG4gICAqICBAaWdub3JlXHJcbiAgICovXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBcnJheSkgLi4uYXJnczogYW55W10pIHtcclxuICAgIHRoaXMuI2VsZW1lbnRSZWYgPSBhcmdzWzBdO1xyXG4gICAgdGhpcy5fY2RyID0gYXJnc1sxXTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5faXNJbml0ZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5fb25JbnRlcm5hbEluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuX2lzUmVuZGVyZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5fb25JbnRlcm5hbFZpZXdJbml0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX29uSW50ZXJuYWxEZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBfZ2V0SG9zdEVsZW1lbnQ8VCA9IEhUTUxFbGVtZW50PigpOiBUIHtcclxuICAgIHJldHVybiB0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgVDtcclxuICB9XHJcblxyXG4gIF9nZXRJbm5lckVsZW1lbnQ8VCA9IEhUTUxFbGVtZW50PigpOiBUIHtcclxuICAgIHJldHVybiB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmZpcnN0RWxlbWVudENoaWxkIGFzIHVua25vd24gYXMgVDtcclxuICB9XHJcblxyXG4gIF9vbkludGVybmFsSW5pdCgpIHtcclxuICAgICh0aGlzLl9nZXRIb3N0RWxlbWVudCgpIGFzIGFueSkuX19heENvbnRleHRfXyA9IHRoaXM7XHJcbiAgICB0aGlzLl9hcHBseVJ0bCgpO1xyXG4gICAgdGhpcy5vbkluaXQoKTtcclxuICB9XHJcblxyXG4gIF9vbkludGVybmFsVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLm9uVmlld0luaXQoKTtcclxuICB9XHJcblxyXG4gIF9vbkludGVybmFsRGVzdHJveSgpIHtcclxuICAgIHRoaXMub25EZXN0cm95KCk7XHJcbiAgfVxyXG5cclxuICBvbkluaXQoKSB7IH1cclxuXHJcblxyXG4gIG9uVmlld0luaXQoKSB7IH1cclxuXHJcbiAgb25EZXN0cm95KCkgeyB9XHJcblxyXG4gIF9hcHBseVJ0bCgpIHtcclxuICAgIGlmICh0aGlzLnJ0bCkge1xyXG4gICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoJ2F4LXJ0bCcpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX29uT3B0aW9uQ2hhbmdpbmcob3B0aW9uOiBBWENvbXBvbmVudE9wdGlvbkNoYW5naW5nKSB7XHJcbiAgICByZXR1cm4gb3B0aW9uPy52YWx1ZTtcclxuICB9XHJcbiAgX29uT3B0aW9uQ2hhbmdlZChvcHRpb246IEFYQ29tcG9uZW50T3B0aW9uQ2hhbmdlZCk6IHZvaWQgeyB9XHJcblxyXG4gIF9zZXRPcHRpb24ob3B0aW9uOiBBWENvbXBvbmVudFNldE9wdGlvbikge1xyXG4gICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzW29wdGlvbi5uYW1lXTtcclxuICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5fb25PcHRpb25DaGFuZ2luZyh7XHJcbiAgICAgIG5hbWU6IG9wdGlvbi5uYW1lLFxyXG4gICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxyXG4gICAgfSk7XHJcbiAgICAvL1RPRE8gOiBjaGVjayByZWFsIGNoYW5nZXNcclxuICAgIGlmIChvcHRpb24uYmVmb3JlQ2FsbGJhY2spIG9wdGlvbi5iZWZvcmVDYWxsYmFjayhvbGRWYWx1ZSwgbmV3VmFsdWUpO1xyXG4gICAgaWYgKG9sZFZhbHVlICE9IG5ld1ZhbHVlKSB7XHJcbiAgICAgIHRoaXNbYF8ke29wdGlvbi5uYW1lfWBdID0gb3B0aW9uLnZhbHVlO1xyXG4gICAgICB0aGlzLl9vbk9wdGlvbkNoYW5nZWQoeyBuYW1lOiBvcHRpb24ubmFtZSwgbmV3VmFsdWUsIG9sZFZhbHVlIH0pO1xyXG4gICAgICBjb25zdCBlbWl0dGVyID0gdGhpc1tgJHtvcHRpb24ubmFtZX1DaGFuZ2VgXSBhcyBFdmVudEVtaXR0ZXI8YW55PjtcclxuICAgICAgaWYgKGVtaXR0ZXIpIGVtaXR0ZXIuZW1pdChuZXdWYWx1ZSk7XHJcbiAgICB9XHJcbiAgICBpZiAob3B0aW9uLmFmdGVyQ2FsbGJhY2spIG9wdGlvbi5hZnRlckNhbGxiYWNrKG9sZFZhbHVlLCBuZXdWYWx1ZSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX0Jhc2VDb21wb25lbmV0TWl4aW48XHJcbiAgVEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+XHJcbj4oQmFzZTogVEJhc2UpIHtcclxuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBCYXNlIHtcclxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG4gICAgfVxyXG4gIH07XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBCQVNFX0lOUFVUUyA9IFsncnRsJ107XHJcbmV4cG9ydCBjb25zdCBCQVNFX09VVFBVVCA9IFtdO1xyXG4iXX0=
@@ -151,8 +151,8 @@ export function _ValueComponenetMixin(Base) {
151
151
  switch (state) {
152
152
  case 'clear':
153
153
  __classPrivateFieldSet(this, _state, 'clear', "f");
154
- if (parent.querySelector('span.ax-error-msg')) {
155
- parent.removeChild(parent.querySelector('span.ax-error-msg'));
154
+ if (parent.querySelector('span.ax-error-message')) {
155
+ parent.removeChild(parent.querySelector('span.ax-error-message'));
156
156
  }
157
157
  label?.classList.remove('ax-state-error');
158
158
  target.classList.remove('ax-state-error', 'ax-state-success');
@@ -167,7 +167,7 @@ export function _ValueComponenetMixin(Base) {
167
167
  if (args[0]) {
168
168
  const span = document.createElement('span');
169
169
  span.innerText = args[0];
170
- span.classList.add('ax-error-msg');
170
+ span.classList.add('ax-error-message');
171
171
  parent.appendChild(span);
172
172
  }
173
173
  label?.classList.add('ax-state-error');
@@ -194,4 +194,4 @@ export const VALUE_INPUTS = [
194
194
  'checked'
195
195
  ];
196
196
  export const VALUE_OUTPUT = ['valueChange', 'onValueChanged'];
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtbWl4aW4uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9taXhpbi9zcmMvdmFsdWUtbWl4aW4uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxxQkFBcUIsR0FDdEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzdDLE1BQU0sVUFBVSxxQkFBcUIsQ0FBNkMsSUFBVzs7SUFFM0YsWUFBTyxLQUFNLFNBQVEsSUFBSTtZQThKdkI7O2NBRUU7WUFDRixZQUFZLEdBQUcsSUFBVztnQkFDeEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBaEtqQjs7O2tCQUdFO2dCQUNGLG1CQUFjLEdBQTJDLElBQUksWUFBWSxFQUE0QixDQUFDO2dCQUV0RyxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO2dCQUd6RCxvQkFBcUIsS0FBSyxFQUFDO2dCQVkzQixxQkFBc0IsSUFBSSxFQUFDO2dCQVMzQix3QkFBYztnQkFTZCw2QkFBOEIsS0FBSyxFQUFDO2dCQU1wQyx5QkFBWTtnQkEwQlosaUJBQXdDLE9BQU8sRUFBQztZQTBGaEQsQ0FBQztZQXRKRDs7Y0FFRTtZQUNGLElBQUksUUFBUTtnQkFDVixPQUFPLHVCQUFBLElBQUksaUJBQVUsQ0FBQztZQUN4QixDQUFDO1lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztnQkFDekIsdUJBQUEsSUFBSSxhQUFhLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFBLENBQUM7WUFDaEQsQ0FBQztZQUdELElBQUksU0FBUztnQkFDWCxPQUFPLHVCQUFBLElBQUksa0JBQVcsQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYztnQkFDMUIsdUJBQUEsSUFBSSxjQUFjLHFCQUFxQixDQUFDLEtB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QUksQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDWCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDOzRCQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7NEJBQ25DLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7eUJBQzFCO3dCQUNELEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7d0JBQ3ZDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7d0JBRXZDLHVCQUFBLElBQUksVUFBVSxPQUFPLE1BQUEsQ0FBQzt3QkFDdEIsTUFBTTtpQkFDVDtnQkFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzNCLENBQUM7U0FDRjs7Ozs7OztXQUFBO0FBQ0gsQ0FBQztBQUdELE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRztJQUMxQixVQUFVO0lBQ1YsV0FBVztJQUNYLE9BQU87SUFDUCxNQUFNO0lBQ04sU0FBUztDQUNWLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgY29lcmNlQm9vbGVhblByb3BlcnR5LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tICcuL2Jhc2UtY29tcG9uZW50cy5jbGFzcyc7XHJcbmltcG9ydCB7IENvbnN0cnVjdG9yIH0gZnJvbSAnLi9jb25zdHJhdGN0b3InO1xyXG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gX1ZhbHVlQ29tcG9uZW5ldE1peGluPFRCYXNlIGV4dGVuZHMgQ29uc3RydWN0b3I8QVhCYXNlQ29tcG9uZW50Pj4oQmFzZTogVEJhc2UpIHtcclxuXHJcbiAgcmV0dXJuIGNsYXNzIGV4dGVuZHMgQmFzZSB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgcHJlc3MgYSBrZXkuXHJcbiAgICAqICBAZXZlbnRcclxuICAgICovXHJcbiAgICBvblZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPEFYVmFsdWVDaGFuZ2VkRXZlbnQ8YW55Pj4oKTtcclxuXHJcbiAgICB2YWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcblxyXG4gICAgI3JlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAqICBJZiBzZXQgdG8gdHJ1ZSwgdXNlciBjYW5ub3QgY2hhbmdlIHRoZSB2YWx1ZSBvZiBjb21wb25lbnQuXHJcbiAgICAqL1xyXG4gICAgZ2V0IHJlYWRvbmx5KCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jcmVhZG9ubHk7XHJcbiAgICB9XHJcbiAgICBzZXQgcmVhZG9ubHkodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgdGhpcy4jcmVhZG9ubHkgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgICNhbGxvd051bGw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgZ2V0IGFsbG93TnVsbCgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuI2FsbG93TnVsbDtcclxuICAgIH1cclxuICAgIHNldCBhbGxvd051bGwodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgICAgdGhpcy4jYWxsb3dOdWxsID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgI25hbWU6IHN0cmluZztcclxuICAgIGdldCBuYW1lKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jbmFtZTtcclxuICAgIH1cclxuICAgIHNldCBuYW1lKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgICAgdGhpcy4jbmFtZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAjaXNVc2VySW50ZXJhY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBnZXQgaXNVc2VySW50ZXJhY3Rpb24oKTogYm9vbGVhbiB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNpc1VzZXJJbnRlcmFjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICAjdmFsdWU6IGFueTtcclxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xyXG4gICAgICByZXR1cm4gdGhpcy5faW50ZXJuYWxHZXRWYWx1ZSgpO1xyXG4gICAgfVxyXG4gICAgc2V0IHZhbHVlKHY6IGFueSkge1xyXG4gICAgICB2ID0gdGhpcy5faW50ZXJuYWxTZXRWYWx1ZSh2KTtcclxuICAgICAgLy9pZiAoIXRoaXMuX2lzSW5pdGVkICkge1xyXG4gICAgICBjb25zdCBvbGQgPSB0aGlzLiN2YWx1ZTtcclxuICAgICAgLy8gVE9ETzogY2hlY2sgcmVhbCBlcXVhbGl0eVxyXG4gICAgICBpZiAodiAhPSBvbGQpIHtcclxuICAgICAgICB0aGlzLiN2YWx1ZSA9IHY7XHJcbiAgICAgICAgdGhpcy5fZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkLCB0aGlzLiN2YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIGlmICh2ID09IG51bGwgfHwgdiA9PSB1bmRlZmluZWQgfHwgdiA9PSAnJyB8fCAoQXJyYXkuaXNBcnJheSh2KSAmJiB2Lmxlbmd0aCA9PSAwKSkge1xyXG4gICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgfSBcclxuICAgICAgICAvLyBlbHNlIHtcclxuICAgICAgICAvLyAgIGlmICh0aGlzLl9pc0luaXRlZCkge1xyXG4gICAgICAgIC8vICAgICB0aGlzLnZhbGlkYXRlKCk7XHJcbiAgICAgICAgLy8gICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuI2lzVXNlckludGVyYWN0aW9uID0gZmFsc2U7XHJcbiAgICAgIC8vfSBcclxuICAgIH1cclxuXHJcbiAgICAjc3RhdGU6ICdjbGVhcicgfCAnc3VjY2VzcycgfCAnZXJyb3InID0gJ2NsZWFyJztcclxuXHJcbiAgICBnZXQgc3RhdGUoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNzdGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICBfZW1pdE9uVmFsdWVDaGFuZ2VkRXZlbnQob2xkVmFsdWU/OiBhbnksIG5ld1ZhbHVlPzogYW55KSB7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXdWYWx1ZSk7XHJcbiAgICAgIHRoaXMub25WYWx1ZUNoYW5nZWQuZW1pdCh7XHJcbiAgICAgICAgY29tcG9uZW50OiB0aGlzLFxyXG4gICAgICAgIHZhbHVlOiBuZXdWYWx1ZSxcclxuICAgICAgICBvbGRWYWx1ZTogb2xkVmFsdWUsXHJcbiAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxyXG4gICAgICAgIGlzVXNlckludGVyYWN0aW9uOiB0aGlzLmlzVXNlckludGVyYWN0aW9uXHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZSwgdGhpcy4jdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIF9pbnRlcm5hbFNldFZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3NldFZhbHVlKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBfaW50ZXJuYWxHZXRWYWx1ZSgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2dldFZhbHVlKHRoaXMuI3ZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBfc2V0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgX2dldFZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIF9zZXRVc2VySW50ZXJhY3Rpb24oKSB7XHJcbiAgICAgIHRoaXMuI2lzVXNlckludGVyYWN0aW9uID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBfb25WYWx1ZUNoYW5nZWQob2xkVmFsdWU6IGFueSwgbmV3VmFsdWU6IGFueSk6IHZvaWQgeyB9XHJcblxyXG4gICAgX29uSW50ZXJuYWxJbml0KCkge1xyXG4gICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnNldEF0dHJpYnV0ZSgnYXgtZm9ybS1pbnB1dCcsICd0cnVlJyk7XHJcbiAgICAgIHN1cGVyLl9vbkludGVybmFsSW5pdCgpO1xyXG4gICAgfVxyXG5cclxuICAgIF9vbkludGVybmFsRGVzdHJveSgpIHtcclxuICAgICAgc3VwZXIub25EZXN0cm95KCk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICB9XHJcblxyXG4gICAgdmFsaWRhdGUoKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgY29uc3QgcnVsZXMgPSBBcnJheS5mcm9tKFxyXG4gICAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkucXVlcnlTZWxlY3RvckFsbCgnYXgtdmFsaWRhdGlvbi1ydWxlJylcclxuICAgICAgKS5maWx0ZXIoKGMpID0+IChjIGFzIGFueSkuX19heENvbnRleHRfXy5lbmFibGVkKTtcclxuICAgICAgLy9cclxuICAgICAgaWYgKCFydWxlcyB8fCBydWxlcy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLl9zZXRTdGF0ZSgnY2xlYXInKTtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgcmVzdWx0OiB0cnVlLCB2YWx1ZTogdGhpcy52YWx1ZSwgbmFtZTogdGhpcy5uYW1lLCBpZDogdGhpcy5pZCB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPGFueT4oKHJlc29sdmUpID0+IHtcclxuICAgICAgICBQcm9taXNlLmFsbChcclxuICAgICAgICAgIHJ1bGVzXHJcbiAgICAgICAgICAgIC5maWx0ZXIoKGMpID0+IHR5cGVvZiAoYyBhcyBhbnkpPy52YWxpZGF0ZSA9PT0gJ2Z1bmN0aW9uJylcclxuICAgICAgICAgICAgLm1hcCgoYykgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiAoYyBhcyBhbnkpLnZhbGlkYXRlKHRoaXMudmFsdWUpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICkudGhlbigoZCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZXJyb3IgPSBkLmZpbmQoKGMpID0+IGMucmVzdWx0ID09PSBmYWxzZSk7XHJcbiAgICAgICAgICBpZiAoZXJyb3IpIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ2Vycm9yJywgZXJyb3IubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IGZhbHNlLCB2YWx1ZTogdGhpcy52YWx1ZSwgbWVzc2FnZTogZXJyb3IubWVzc2FnZSwgbmFtZTogdGhpcy5uYW1lLCBpZDogdGhpcy5pZCB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NldFN0YXRlKCdzdWNjZXNzJyk7XHJcbiAgICAgICAgICAgIHJlc29sdmUoeyByZXN1bHQ6IHRydWUsIHZhbHVlOiB0aGlzLnZhbHVlLCBuYW1lOiB0aGlzLm5hbWUsIGlkOiB0aGlzLmlkIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAgKiAgQGlnbm9yZVxyXG4gICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgIHN1cGVyKC4uLmFyZ3MpO1xyXG4gICAgfVxyXG5cclxuICAgIF9zZXRTdGF0ZShzdGF0ZTogJ2NsZWFyJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicsIC4uLmFyZ3MpIHtcclxuICAgICAgY29uc3QgY29udGFpbmVyID0gdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5jbGFzc0xpc3QuY29udGFpbnMoJ2F4LWVkaXRvci1jb250YWluZXInKSA/XHJcbiAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKSA6XHJcbiAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yKCcuYXgtZWRpdG9yLWNvbnRhaW5lcicpO1xyXG4gICAgICBjb25zdCBmb3JtRmllbGQgPSBjb250YWluZXI/LmNsb3Nlc3QoJy5heC1mb3JtLWZpZWxkJyk7XHJcbiAgICAgIGNvbnN0IGxhYmVsID0gZm9ybUZpZWxkPy5xdWVyeVNlbGVjdG9yKCdheC1sYWJlbCcpIHx8IGZvcm1GaWVsZD8ucXVlcnlTZWxlY3RvcignbGFiZWwnKTtcclxuICAgICAgbGV0IHRhcmdldCA9IGNvbnRhaW5lciB8fCB0aGlzLl9nZXRJbm5lckVsZW1lbnQoKTtcclxuICAgICAgaWYgKHRhcmdldD8ucXVlcnlTZWxlY3RvcignLmF4LWVycm9yLWNvbnRhaW5lcicpKSB7XHJcbiAgICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnF1ZXJ5U2VsZWN0b3IoJy5heC1lcnJvci1jb250YWluZXInKTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwYXJlbnQgPSB0YXJnZXQ/LnBhcmVudEVsZW1lbnQ7XHJcbiAgICAgIGlmICghdGFyZ2V0IHx8ICFwYXJlbnQpXHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgc3dpdGNoIChzdGF0ZSkge1xyXG4gICAgICAgIGNhc2UgJ2NsZWFyJzpcclxuICAgICAgICAgIHRoaXMuI3N0YXRlID0gJ2NsZWFyJztcclxuICAgICAgICAgIGlmIChwYXJlbnQucXVlcnlTZWxlY3Rvcignc3Bhbi5heC1lcnJvci1tc2cnKSkge1xyXG4gICAgICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uYXgtZXJyb3ItbXNnJykhKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxhYmVsPy5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicpO1xyXG4gICAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoJ2F4LXN0YXRlLWVycm9yJywgJ2F4LXN0YXRlLXN1Y2Nlc3MnKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3N1Y2Nlc3MnOlxyXG4gICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtc3VjY2VzcycpO1xyXG4gICAgICAgICAgdGhpcy4jc3RhdGUgPSAnc3VjY2Vzcyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdlcnJvcic6XHJcbiAgICAgICAgICB0aGlzLl9zZXRTdGF0ZSgnY2xlYXInKTtcclxuICAgICAgICAgIGlmIChhcmdzWzBdKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XHJcbiAgICAgICAgICAgIHNwYW4uaW5uZXJUZXh0ID0gYXJnc1swXTtcclxuICAgICAgICAgICAgc3Bhbi5jbGFzc0xpc3QuYWRkKCdheC1lcnJvci1tc2cnKTtcclxuICAgICAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKHNwYW4pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgbGFiZWw/LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLWVycm9yJyk7XHJcbiAgICAgICAgICB0YXJnZXQuY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtZXJyb3InKTtcclxuXHJcbiAgICAgICAgICB0aGlzLiNzdGF0ZSA9ICdlcnJvcic7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IFZBTFVFX0lOUFVUUyA9IFtcclxuICAncmVhZG9ubHknLFxyXG4gICdhbGxvd051bGwnLFxyXG4gICd2YWx1ZScsXHJcbiAgJ25hbWUnLFxyXG4gICdjaGVja2VkJ1xyXG5dO1xyXG5leHBvcnQgY29uc3QgVkFMVUVfT1VUUFVUID0gWyd2YWx1ZUNoYW5nZScsICdvblZhbHVlQ2hhbmdlZCddOyJdfQ==
197
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtbWl4aW4uY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29tcG9uZW50cy9taXhpbi9zcmMvdmFsdWUtbWl4aW4uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxxQkFBcUIsR0FDdEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSzdDLE1BQU0sVUFBVSxxQkFBcUIsQ0FBNkMsSUFBVzs7SUFFM0YsWUFBTyxLQUFNLFNBQVEsSUFBSTtZQThKdkI7O2NBRUU7WUFDRixZQUFZLEdBQUcsSUFBVztnQkFDeEIsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBaEtqQjs7O2tCQUdFO2dCQUNGLG1CQUFjLEdBQTJDLElBQUksWUFBWSxFQUE0QixDQUFDO2dCQUV0RyxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO2dCQUd6RCxvQkFBcUIsS0FBSyxFQUFDO2dCQVkzQixxQkFBc0IsSUFBSSxFQUFDO2dCQVMzQix3QkFBYztnQkFTZCw2QkFBOEIsS0FBSyxFQUFDO2dCQU1wQyx5QkFBWTtnQkEwQlosaUJBQXdDLE9BQU8sRUFBQztZQTBGaEQsQ0FBQztZQXRKRDs7Y0FFRTtZQUNGLElBQUksUUFBUTtnQkFDVixPQUFPLHVCQUFBLElBQUksaUJBQVUsQ0FBQztZQUN4QixDQUFDO1lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBYztnQkFDekIsdUJBQUEsSUFBSSxhQUFhLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxNQUFBLENBQUM7WUFDaEQsQ0FBQztZQUdELElBQUksU0FBUztnQkFDWCxPQUFPLHVCQUFBLElBQUksa0JBQVcsQ0FBQztZQUN6QixDQUFDO1lBQ0QsSUFBSSxTQUFTLENBQUMsS0FBYztnQkFDMUIsdUJBQUEsSUFBSSxjQUFjLHFCQUFxQixDQUFDLEtB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QUksQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDWCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDOzRCQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQzs0QkFDdkMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQzt5QkFDMUI7d0JBQ0QsS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt3QkFDdkMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQzt3QkFFdkMsdUJBQUEsSUFBSSxVQUFVLE9BQU8sTUFBQSxDQUFDO3dCQUN0QixNQUFNO2lCQUNUO2dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0IsQ0FBQztTQUNGOzs7Ozs7O1dBQUE7QUFDSCxDQUFDO0FBR0QsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHO0lBQzFCLFVBQVU7SUFDVixXQUFXO0lBQ1gsT0FBTztJQUNQLE1BQU07SUFDTixTQUFTO0NBQ1YsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBjb2VyY2VCb29sZWFuUHJvcGVydHksXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFYQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1jb21wb25lbnRzLmNsYXNzJztcclxuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cmF0Y3Rvcic7XHJcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBfVmFsdWVDb21wb25lbmV0TWl4aW48VEJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3RvcjxBWEJhc2VDb21wb25lbnQ+PihCYXNlOiBUQmFzZSkge1xyXG5cclxuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBCYXNlIHtcclxuXHJcbiAgICAvKipcclxuICAgICogIEZpcmVzIGVhY2ggdGltZSB0aGUgdXNlciBwcmVzcyBhIGtleS5cclxuICAgICogIEBldmVudFxyXG4gICAgKi9cclxuICAgIG9uVmFsdWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhWYWx1ZUNoYW5nZWRFdmVudDxhbnk+PigpO1xyXG5cclxuICAgIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuXHJcbiAgICAjcmVhZG9ubHk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICogIElmIHNldCB0byB0cnVlLCB1c2VyIGNhbm5vdCBjaGFuZ2UgdGhlIHZhbHVlIG9mIGNvbXBvbmVudC5cclxuICAgICovXHJcbiAgICBnZXQgcmVhZG9ubHkoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNyZWFkb25seTtcclxuICAgIH1cclxuICAgIHNldCByZWFkb25seSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICB0aGlzLiNyZWFkb25seSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgI2FsbG93TnVsbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBnZXQgYWxsb3dOdWxsKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy4jYWxsb3dOdWxsO1xyXG4gICAgfVxyXG4gICAgc2V0IGFsbG93TnVsbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgICB0aGlzLiNhbGxvd051bGwgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAjbmFtZTogc3RyaW5nO1xyXG4gICAgZ2V0IG5hbWUoKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLiNuYW1lO1xyXG4gICAgfVxyXG4gICAgc2V0IG5hbWUodmFsdWU6IHN0cmluZykge1xyXG4gICAgICB0aGlzLiNuYW1lID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgICNpc1VzZXJJbnRlcmFjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIGdldCBpc1VzZXJJbnRlcmFjdGlvbigpOiBib29sZWFuIHtcclxuICAgICAgcmV0dXJuIHRoaXMuI2lzVXNlckludGVyYWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgICN2YWx1ZTogYW55O1xyXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XHJcbiAgICAgIHJldHVybiB0aGlzLl9pbnRlcm5hbEdldFZhbHVlKCk7XHJcbiAgICB9XHJcbiAgICBzZXQgdmFsdWUodjogYW55KSB7XHJcbiAgICAgIHYgPSB0aGlzLl9pbnRlcm5hbFNldFZhbHVlKHYpO1xyXG4gICAgICAvL2lmICghdGhpcy5faXNJbml0ZWQgKSB7XHJcbiAgICAgIGNvbnN0IG9sZCA9IHRoaXMuI3ZhbHVlO1xyXG4gICAgICAvLyBUT0RPOiBjaGVjayByZWFsIGVxdWFsaXR5XHJcbiAgICAgIGlmICh2ICE9IG9sZCkge1xyXG4gICAgICAgIHRoaXMuI3ZhbHVlID0gdjtcclxuICAgICAgICB0aGlzLl9lbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGQsIHRoaXMuI3ZhbHVlKTtcclxuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgaWYgKHYgPT0gbnVsbCB8fCB2ID09IHVuZGVmaW5lZCB8fCB2ID09ICcnIHx8IChBcnJheS5pc0FycmF5KHYpICYmIHYubGVuZ3RoID09IDApKSB7XHJcbiAgICAgICAgICB0aGlzLl9zZXRTdGF0ZSgnY2xlYXInKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC8vIGVsc2Uge1xyXG4gICAgICAgIC8vICAgaWYgKHRoaXMuX2lzSW5pdGVkKSB7XHJcbiAgICAgICAgLy8gICAgIHRoaXMudmFsaWRhdGUoKTtcclxuICAgICAgICAvLyAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy4jaXNVc2VySW50ZXJhY3Rpb24gPSBmYWxzZTtcclxuICAgICAgLy99IFxyXG4gICAgfVxyXG5cclxuICAgICNzdGF0ZTogJ2NsZWFyJyB8ICdzdWNjZXNzJyB8ICdlcnJvcicgPSAnY2xlYXInO1xyXG5cclxuICAgIGdldCBzdGF0ZSgpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuI3N0YXRlO1xyXG4gICAgfVxyXG5cclxuICAgIF9lbWl0T25WYWx1ZUNoYW5nZWRFdmVudChvbGRWYWx1ZT86IGFueSwgbmV3VmFsdWU/OiBhbnkpIHtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcclxuICAgICAgdGhpcy5vblZhbHVlQ2hhbmdlZC5lbWl0KHtcclxuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXHJcbiAgICAgICAgdmFsdWU6IG5ld1ZhbHVlLFxyXG4gICAgICAgIG9sZFZhbHVlOiBvbGRWYWx1ZSxcclxuICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXHJcbiAgICAgICAgaXNVc2VySW50ZXJhY3Rpb246IHRoaXMuaXNVc2VySW50ZXJhY3Rpb25cclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX29uVmFsdWVDaGFuZ2VkKG9sZFZhbHVlLCB0aGlzLiN2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgX2ludGVybmFsU2V0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIF9pbnRlcm5hbEdldFZhbHVlKCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fZ2V0VmFsdWUodGhpcy4jdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIF9zZXRWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBfZ2V0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgX3NldFVzZXJJbnRlcmFjdGlvbigpIHtcclxuICAgICAgdGhpcy4jaXNVc2VySW50ZXJhY3Rpb24gPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIF9vblZhbHVlQ2hhbmdlZChvbGRWYWx1ZTogYW55LCBuZXdWYWx1ZTogYW55KTogdm9pZCB7IH1cclxuXHJcbiAgICBfb25JbnRlcm5hbEluaXQoKSB7XHJcbiAgICAgIHRoaXMuX2dldEhvc3RFbGVtZW50KCkuc2V0QXR0cmlidXRlKCdheC1mb3JtLWlucHV0JywgJ3RydWUnKTtcclxuICAgICAgc3VwZXIuX29uSW50ZXJuYWxJbml0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgX29uSW50ZXJuYWxEZXN0cm95KCkge1xyXG4gICAgICBzdXBlci5vbkRlc3Ryb3koKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIGNsZWFyKCkge1xyXG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICB2YWxpZGF0ZSgpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICBjb25zdCBydWxlcyA9IEFycmF5LmZyb20oXHJcbiAgICAgICAgdGhpcy5fZ2V0SG9zdEVsZW1lbnQoKS5xdWVyeVNlbGVjdG9yQWxsKCdheC12YWxpZGF0aW9uLXJ1bGUnKVxyXG4gICAgICApLmZpbHRlcigoYykgPT4gKGMgYXMgYW55KS5fX2F4Q29udGV4dF9fLmVuYWJsZWQpO1xyXG4gICAgICAvL1xyXG4gICAgICBpZiAoIXJ1bGVzIHx8IHJ1bGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuX3NldFN0YXRlKCdjbGVhcicpO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyByZXN1bHQ6IHRydWUsIHZhbHVlOiB0aGlzLnZhbHVlLCBuYW1lOiB0aGlzLm5hbWUsIGlkOiB0aGlzLmlkIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICAgIFByb21pc2UuYWxsKFxyXG4gICAgICAgICAgcnVsZXNcclxuICAgICAgICAgICAgLmZpbHRlcigoYykgPT4gdHlwZW9mIChjIGFzIGFueSk/LnZhbGlkYXRlID09PSAnZnVuY3Rpb24nKVxyXG4gICAgICAgICAgICAubWFwKChjKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIChjIGFzIGFueSkudmFsaWRhdGUodGhpcy52YWx1ZSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKS50aGVuKChkKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBlcnJvciA9IGQuZmluZCgoYykgPT4gYy5yZXN1bHQgPT09IGZhbHNlKTtcclxuICAgICAgICAgIGlmIChlcnJvcikge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRTdGF0ZSgnZXJyb3InLCBlcnJvci5tZXNzYWdlKTtcclxuICAgICAgICAgICAgcmVzb2x2ZSh7IHJlc3VsdDogZmFsc2UsIHZhbHVlOiB0aGlzLnZhbHVlLCBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLCBuYW1lOiB0aGlzLm5hbWUsIGlkOiB0aGlzLmlkIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ3N1Y2Nlc3MnKTtcclxuICAgICAgICAgICAgcmVzb2x2ZSh7IHJlc3VsdDogdHJ1ZSwgdmFsdWU6IHRoaXMudmFsdWUsIG5hbWU6IHRoaXMubmFtZSwgaWQ6IHRoaXMuaWQgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICAqICBAaWdub3JlXHJcbiAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoLi4uYXJnczogYW55W10pIHtcclxuICAgICAgc3VwZXIoLi4uYXJncyk7XHJcbiAgICB9XHJcblxyXG4gICAgX3NldFN0YXRlKHN0YXRlOiAnY2xlYXInIHwgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJywgLi4uYXJncykge1xyXG4gICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5jb250YWlucygnYXgtZWRpdG9yLWNvbnRhaW5lcicpID9cclxuICAgICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpIDpcclxuICAgICAgICB0aGlzLl9nZXRIb3N0RWxlbWVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5heC1lZGl0b3ItY29udGFpbmVyJyk7XHJcbiAgICAgIGNvbnN0IGZvcm1GaWVsZCA9IGNvbnRhaW5lcj8uY2xvc2VzdCgnLmF4LWZvcm0tZmllbGQnKTtcclxuICAgICAgY29uc3QgbGFiZWwgPSBmb3JtRmllbGQ/LnF1ZXJ5U2VsZWN0b3IoJ2F4LWxhYmVsJykgfHwgZm9ybUZpZWxkPy5xdWVyeVNlbGVjdG9yKCdsYWJlbCcpO1xyXG4gICAgICBsZXQgdGFyZ2V0ID0gY29udGFpbmVyIHx8IHRoaXMuX2dldElubmVyRWxlbWVudCgpO1xyXG4gICAgICBpZiAodGFyZ2V0Py5xdWVyeVNlbGVjdG9yKCcuYXgtZXJyb3ItY29udGFpbmVyJykpIHtcclxuICAgICAgICB0YXJnZXQgPSB0YXJnZXQucXVlcnlTZWxlY3RvcignLmF4LWVycm9yLWNvbnRhaW5lcicpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9IHRhcmdldD8ucGFyZW50RWxlbWVudDtcclxuICAgICAgaWYgKCF0YXJnZXQgfHwgIXBhcmVudClcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICBzd2l0Y2ggKHN0YXRlKSB7XHJcbiAgICAgICAgY2FzZSAnY2xlYXInOlxyXG4gICAgICAgICAgdGhpcy4jc3RhdGUgPSAnY2xlYXInO1xyXG4gICAgICAgICAgaWYgKHBhcmVudC5xdWVyeVNlbGVjdG9yKCdzcGFuLmF4LWVycm9yLW1lc3NhZ2UnKSkge1xyXG4gICAgICAgICAgICBwYXJlbnQucmVtb3ZlQ2hpbGQocGFyZW50LnF1ZXJ5U2VsZWN0b3IoJ3NwYW4uYXgtZXJyb3ItbWVzc2FnZScpISk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBsYWJlbD8uY2xhc3NMaXN0LnJlbW92ZSgnYXgtc3RhdGUtZXJyb3InKTtcclxuICAgICAgICAgIHRhcmdldC5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1lcnJvcicsICdheC1zdGF0ZS1zdWNjZXNzJyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdzdWNjZXNzJzpcclxuICAgICAgICAgIHRoaXMuX3NldFN0YXRlKCdjbGVhcicpO1xyXG4gICAgICAgICAgdGFyZ2V0LmNsYXNzTGlzdC5hZGQoJ2F4LXN0YXRlLXN1Y2Nlc3MnKTtcclxuICAgICAgICAgIHRoaXMuI3N0YXRlID0gJ3N1Y2Nlc3MnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnZXJyb3InOlxyXG4gICAgICAgICAgdGhpcy5fc2V0U3RhdGUoJ2NsZWFyJyk7XHJcbiAgICAgICAgICBpZiAoYXJnc1swXSkge1xyXG4gICAgICAgICAgICBjb25zdCBzcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xyXG4gICAgICAgICAgICBzcGFuLmlubmVyVGV4dCA9IGFyZ3NbMF07XHJcbiAgICAgICAgICAgIHNwYW4uY2xhc3NMaXN0LmFkZCgnYXgtZXJyb3ItbWVzc2FnZScpO1xyXG4gICAgICAgICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoc3Bhbik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBsYWJlbD8uY2xhc3NMaXN0LmFkZCgnYXgtc3RhdGUtZXJyb3InKTtcclxuICAgICAgICAgIHRhcmdldC5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1lcnJvcicpO1xyXG5cclxuICAgICAgICAgIHRoaXMuI3N0YXRlID0gJ2Vycm9yJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5leHBvcnQgY29uc3QgVkFMVUVfSU5QVVRTID0gW1xyXG4gICdyZWFkb25seScsXHJcbiAgJ2FsbG93TnVsbCcsXHJcbiAgJ3ZhbHVlJyxcclxuICAnbmFtZScsXHJcbiAgJ2NoZWNrZWQnXHJcbl07XHJcbmV4cG9ydCBjb25zdCBWQUxVRV9PVVRQVVQgPSBbJ3ZhbHVlQ2hhbmdlJywgJ29uVmFsdWVDaGFuZ2VkJ107Il19