@koobiq/components 18.30.0 → 18.32.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 (254) hide show
  1. package/actions-panel/actions-panel-config.d.ts +2 -0
  2. package/actions-panel/actions-panel.d.ts +3 -57
  3. package/autocomplete/autocomplete-trigger.directive.d.ts +3 -4
  4. package/autocomplete/autocomplete.component.d.ts +1 -0
  5. package/autocomplete/autocomplete.module.d.ts +1 -1
  6. package/button-toggle/button-toggle.module.d.ts +3 -4
  7. package/code-block/code-block-highlight.d.ts +1 -2
  8. package/code-block/code-block.d.ts +57 -10
  9. package/core/common-behaviors/color.d.ts +3 -0
  10. package/core/common-behaviors/common-module.d.ts +16 -3
  11. package/core/common-behaviors/error-state.d.ts +18 -0
  12. package/core/common-behaviors/index.d.ts +1 -1
  13. package/core/form-field/form-field-ref.d.ts +5 -3
  14. package/core/option/_option-theme.scss +24 -2
  15. package/core/option/option.d.ts +2 -2
  16. package/core/public-api.d.ts +1 -0
  17. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +1 -1
  18. package/core/styles/common/_select.scss +10 -24
  19. package/core/styles/theming/_theming.scss +0 -4
  20. package/core/tokens/index.d.ts +1 -0
  21. package/core/tokens/window.d.ts +5 -0
  22. package/core/validation/validation.d.ts +23 -2
  23. package/datepicker/datepicker-input.directive.d.ts +14 -5
  24. package/datepicker/datepicker-input.scss +1 -5
  25. package/datepicker/datepicker-module.d.ts +1 -1
  26. package/datepicker/datepicker-toggle.component.d.ts +22 -0
  27. package/datepicker/datepicker-toggle.scss +6 -0
  28. package/dropdown/dropdown-trigger.directive.d.ts +1 -0
  29. package/ellipsis-center/ellipsis-center.directive.d.ts +7 -1
  30. package/esm2022/actions-panel/actions-panel-config.mjs +1 -1
  31. package/esm2022/actions-panel/actions-panel.mjs +16 -113
  32. package/esm2022/autocomplete/autocomplete-trigger.directive.mjs +9 -13
  33. package/esm2022/autocomplete/autocomplete.component.mjs +10 -2
  34. package/esm2022/autocomplete/autocomplete.module.mjs +5 -11
  35. package/esm2022/breadcrumbs/breadcrumbs.mjs +1 -1
  36. package/esm2022/button-toggle/button-toggle.module.mjs +5 -6
  37. package/esm2022/code-block/code-block-highlight.mjs +8 -12
  38. package/esm2022/code-block/code-block.mjs +60 -18
  39. package/esm2022/core/common-behaviors/color.mjs +4 -1
  40. package/esm2022/core/common-behaviors/common-module.mjs +19 -26
  41. package/esm2022/core/common-behaviors/error-state.mjs +28 -1
  42. package/esm2022/core/common-behaviors/index.mjs +2 -2
  43. package/esm2022/core/form-field/form-field-ref.mjs +3 -4
  44. package/esm2022/core/option/option.mjs +9 -7
  45. package/esm2022/core/public-api.mjs +2 -1
  46. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  47. package/esm2022/core/tokens/index.mjs +2 -0
  48. package/esm2022/core/tokens/window.mjs +19 -0
  49. package/esm2022/core/utils/utils.mjs +2 -1
  50. package/esm2022/core/validation/validation.mjs +21 -2
  51. package/esm2022/core/version.mjs +2 -2
  52. package/esm2022/datepicker/calendar-body.component.mjs +3 -3
  53. package/esm2022/datepicker/calendar-header.component.mjs +3 -3
  54. package/esm2022/datepicker/datepicker-input.directive.mjs +66 -6
  55. package/esm2022/datepicker/datepicker-module.mjs +8 -3
  56. package/esm2022/datepicker/datepicker-toggle.component.mjs +94 -10
  57. package/esm2022/dropdown/dropdown-trigger.directive.mjs +4 -3
  58. package/esm2022/dropdown/dropdown.component.mjs +3 -3
  59. package/esm2022/ellipsis-center/ellipsis-center.directive.mjs +8 -1
  60. package/esm2022/file-upload/multiple-file-upload.component.mjs +2 -2
  61. package/esm2022/filter-bar/filter-bar.mjs +27 -5
  62. package/esm2022/filter-bar/filter-bar.types.mjs +1 -1
  63. package/esm2022/filter-bar/filter-search.mjs +2 -2
  64. package/esm2022/filter-bar/filters.mjs +3 -3
  65. package/esm2022/filter-bar/pipe-add.mjs +2 -2
  66. package/esm2022/filter-bar/pipes/pipe-date.mjs +5 -11
  67. package/esm2022/filter-bar/pipes/pipe-datetime.mjs +5 -11
  68. package/esm2022/filter-bar/pipes/pipe-multi-select.mjs +29 -9
  69. package/esm2022/filter-bar/pipes/pipe-multi-tree-select.mjs +30 -10
  70. package/esm2022/filter-bar/pipes/pipe-select.mjs +2 -2
  71. package/esm2022/filter-bar/pipes/pipe-text.mjs +2 -2
  72. package/esm2022/filter-bar/pipes/pipe-tree-select.mjs +2 -2
  73. package/esm2022/form-field/cleaner.mjs +11 -6
  74. package/esm2022/form-field/error.mjs +20 -0
  75. package/esm2022/form-field/fieldset.mjs +84 -0
  76. package/esm2022/form-field/form-field-control.mjs +2 -2
  77. package/esm2022/form-field/form-field.mjs +247 -74
  78. package/esm2022/form-field/form-field.module.mjs +59 -47
  79. package/esm2022/form-field/hint.mjs +10 -18
  80. package/esm2022/form-field/label.mjs +19 -0
  81. package/esm2022/form-field/password-hint.mjs +6 -5
  82. package/esm2022/form-field/password-toggle.mjs +52 -27
  83. package/esm2022/form-field/prefix.mjs +9 -3
  84. package/esm2022/form-field/public-api.mjs +5 -2
  85. package/esm2022/form-field/reactive-password-hint.mjs +65 -0
  86. package/esm2022/form-field/stepper.mjs +34 -16
  87. package/esm2022/form-field/suffix.mjs +8 -3
  88. package/esm2022/form-field/validate.directive.mjs +16 -19
  89. package/esm2022/icon/icon-button.component.mjs +2 -2
  90. package/esm2022/input/input-number.mjs +7 -2
  91. package/esm2022/input/input.module.mjs +1 -5
  92. package/esm2022/list/list-selection.component.mjs +5 -4
  93. package/esm2022/list/list.component.mjs +2 -2
  94. package/esm2022/modal/modal-util.mjs +2 -1
  95. package/esm2022/navbar/navbar-item.component.mjs +10 -11
  96. package/esm2022/overflow-items/overflow-items.mjs +27 -10
  97. package/esm2022/radio/radio.module.mjs +4 -5
  98. package/esm2022/scrollbar/scrollbar.component.mjs +14 -11
  99. package/esm2022/scrollbar/scrollbar.directive.mjs +2 -1
  100. package/esm2022/select/select.component.mjs +39 -18
  101. package/esm2022/sidepanel/sidepanel.module.mjs +1 -5
  102. package/esm2022/splitter/splitter.component.mjs +5 -3
  103. package/esm2022/tabs/paginated-tab-header.mjs +6 -2
  104. package/esm2022/tabs/tabs.module.mjs +1 -5
  105. package/esm2022/tags/tag-list.component.mjs +2 -2
  106. package/esm2022/textarea/textarea.component.mjs +7 -6
  107. package/esm2022/textarea/textarea.module.mjs +4 -5
  108. package/esm2022/timezone/timezone-option.component.mjs +2 -2
  109. package/esm2022/timezone/timezone-select.component.mjs +6 -4
  110. package/esm2022/toast/toast-animations.mjs +2 -2
  111. package/esm2022/toast/toast.component.mjs +3 -3
  112. package/esm2022/toggle/toggle.component.mjs +3 -3
  113. package/esm2022/toggle/toggle.module.mjs +4 -5
  114. package/esm2022/top-bar/top-bar.mjs +2 -2
  115. package/esm2022/tree/padding.directive.mjs +8 -6
  116. package/esm2022/tree/toggle.mjs +2 -2
  117. package/esm2022/tree/tree-option.component.mjs +5 -4
  118. package/esm2022/tree/tree-selection.component.mjs +2 -2
  119. package/esm2022/tree/tree.mjs +2 -2
  120. package/esm2022/tree-select/tree-select.component.mjs +48 -24
  121. package/fesm2022/koobiq-components-actions-panel.mjs +16 -112
  122. package/fesm2022/koobiq-components-actions-panel.mjs.map +1 -1
  123. package/fesm2022/koobiq-components-autocomplete.mjs +21 -24
  124. package/fesm2022/koobiq-components-autocomplete.mjs.map +1 -1
  125. package/fesm2022/koobiq-components-breadcrumbs.mjs +1 -1
  126. package/fesm2022/koobiq-components-breadcrumbs.mjs.map +1 -1
  127. package/fesm2022/koobiq-components-button-toggle.mjs +5 -5
  128. package/fesm2022/koobiq-components-button-toggle.mjs.map +1 -1
  129. package/fesm2022/koobiq-components-code-block.mjs +65 -28
  130. package/fesm2022/koobiq-components-code-block.mjs.map +1 -1
  131. package/fesm2022/koobiq-components-core.mjs +99 -39
  132. package/fesm2022/koobiq-components-core.mjs.map +1 -1
  133. package/fesm2022/koobiq-components-datepicker.mjs +162 -14
  134. package/fesm2022/koobiq-components-datepicker.mjs.map +1 -1
  135. package/fesm2022/koobiq-components-dropdown.mjs +5 -4
  136. package/fesm2022/koobiq-components-dropdown.mjs.map +1 -1
  137. package/fesm2022/koobiq-components-ellipsis-center.mjs +7 -0
  138. package/fesm2022/koobiq-components-ellipsis-center.mjs.map +1 -1
  139. package/fesm2022/koobiq-components-file-upload.mjs +1 -1
  140. package/fesm2022/koobiq-components-file-upload.mjs.map +1 -1
  141. package/fesm2022/koobiq-components-filter-bar.mjs +95 -46
  142. package/fesm2022/koobiq-components-filter-bar.mjs.map +1 -1
  143. package/fesm2022/koobiq-components-form-field.mjs +610 -219
  144. package/fesm2022/koobiq-components-form-field.mjs.map +1 -1
  145. package/fesm2022/koobiq-components-icon.mjs +2 -2
  146. package/fesm2022/koobiq-components-icon.mjs.map +1 -1
  147. package/fesm2022/koobiq-components-input.mjs +7 -5
  148. package/fesm2022/koobiq-components-input.mjs.map +1 -1
  149. package/fesm2022/koobiq-components-list.mjs +6 -5
  150. package/fesm2022/koobiq-components-list.mjs.map +1 -1
  151. package/fesm2022/koobiq-components-modal.mjs +1 -0
  152. package/fesm2022/koobiq-components-modal.mjs.map +1 -1
  153. package/fesm2022/koobiq-components-navbar.mjs +9 -10
  154. package/fesm2022/koobiq-components-navbar.mjs.map +1 -1
  155. package/fesm2022/koobiq-components-overflow-items.mjs +26 -9
  156. package/fesm2022/koobiq-components-overflow-items.mjs.map +1 -1
  157. package/fesm2022/koobiq-components-radio.mjs +4 -4
  158. package/fesm2022/koobiq-components-radio.mjs.map +1 -1
  159. package/fesm2022/koobiq-components-scrollbar.mjs +14 -10
  160. package/fesm2022/koobiq-components-scrollbar.mjs.map +1 -1
  161. package/fesm2022/koobiq-components-select.mjs +39 -18
  162. package/fesm2022/koobiq-components-select.mjs.map +1 -1
  163. package/fesm2022/koobiq-components-sidepanel.mjs +1 -4
  164. package/fesm2022/koobiq-components-sidepanel.mjs.map +1 -1
  165. package/fesm2022/koobiq-components-splitter.mjs +4 -2
  166. package/fesm2022/koobiq-components-splitter.mjs.map +1 -1
  167. package/fesm2022/koobiq-components-tabs.mjs +5 -5
  168. package/fesm2022/koobiq-components-tabs.mjs.map +1 -1
  169. package/fesm2022/koobiq-components-tags.mjs +2 -2
  170. package/fesm2022/koobiq-components-tags.mjs.map +1 -1
  171. package/fesm2022/koobiq-components-textarea.mjs +9 -8
  172. package/fesm2022/koobiq-components-textarea.mjs.map +1 -1
  173. package/fesm2022/koobiq-components-timezone.mjs +7 -5
  174. package/fesm2022/koobiq-components-timezone.mjs.map +1 -1
  175. package/fesm2022/koobiq-components-toast.mjs +3 -3
  176. package/fesm2022/koobiq-components-toast.mjs.map +1 -1
  177. package/fesm2022/koobiq-components-toggle.mjs +6 -6
  178. package/fesm2022/koobiq-components-toggle.mjs.map +1 -1
  179. package/fesm2022/koobiq-components-top-bar.mjs +2 -2
  180. package/fesm2022/koobiq-components-top-bar.mjs.map +1 -1
  181. package/fesm2022/koobiq-components-tree-select.mjs +48 -24
  182. package/fesm2022/koobiq-components-tree-select.mjs.map +1 -1
  183. package/fesm2022/koobiq-components-tree.mjs +17 -14
  184. package/fesm2022/koobiq-components-tree.mjs.map +1 -1
  185. package/file-upload/multiple-file-upload.component.d.ts +1 -1
  186. package/filter-bar/filter-bar.d.ts +7 -1
  187. package/filter-bar/filter-bar.types.d.ts +5 -0
  188. package/filter-bar/pipes/pipe-multi-select.d.ts +5 -1
  189. package/filter-bar/pipes/pipe-multi-tree-select.d.ts +5 -1
  190. package/form-field/_fiedset-theme.scss +13 -0
  191. package/form-field/_form-field-theme.scss +29 -13
  192. package/form-field/_hint-theme.scss +21 -22
  193. package/form-field/cleaner.d.ts +5 -1
  194. package/form-field/cleaner.scss +1 -4
  195. package/form-field/error.d.ts +8 -0
  196. package/form-field/fieldset-tokens.scss +5 -0
  197. package/form-field/fieldset.d.ts +27 -0
  198. package/form-field/fieldset.scss +93 -0
  199. package/form-field/form-field-control.d.ts +1 -1
  200. package/form-field/form-field-tokens.scss +13 -3
  201. package/form-field/form-field.d.ts +210 -22
  202. package/form-field/form-field.module.d.ts +14 -12
  203. package/form-field/form-field.scss +58 -78
  204. package/form-field/hint.d.ts +5 -1
  205. package/form-field/hint.scss +3 -5
  206. package/form-field/label.d.ts +6 -0
  207. package/form-field/password-hint.d.ts +1 -1
  208. package/form-field/password-toggle.d.ts +25 -11
  209. package/form-field/password-toggle.scss +1 -2
  210. package/form-field/prefix.d.ts +2 -1
  211. package/form-field/public-api.d.ts +4 -1
  212. package/form-field/reactive-password-hint.d.ts +19 -0
  213. package/form-field/stepper.d.ts +20 -8
  214. package/form-field/stepper.scss +12 -11
  215. package/form-field/suffix.d.ts +2 -1
  216. package/form-field/validate.directive.d.ts +10 -12
  217. package/icon/_icon-button-theme.scss +67 -85
  218. package/input/input-tokens.scss +2 -2
  219. package/input/input.module.d.ts +3 -4
  220. package/input/input.scss +1 -2
  221. package/list/_list-theme.scss +24 -2
  222. package/list/list-tokens.scss +5 -0
  223. package/navbar/navbar-item.component.d.ts +3 -1
  224. package/overflow-items/overflow-items.d.ts +12 -5
  225. package/package.json +6 -6
  226. package/prebuilt-themes/dark-theme.css +1 -1
  227. package/prebuilt-themes/light-theme.css +1 -1
  228. package/prebuilt-themes/theme.css +1 -1
  229. package/radio/radio.module.d.ts +1 -2
  230. package/schematics/ng-add/index.js +5 -5
  231. package/scrollbar/scrollbar.component.d.ts +1 -0
  232. package/select/select-tokens.scss +5 -4
  233. package/select/select.component.d.ts +12 -3
  234. package/sidepanel/sidepanel.module.d.ts +5 -6
  235. package/splitter/splitter.component.d.ts +1 -0
  236. package/tabs/paginated-tab-header.d.ts +1 -0
  237. package/tabs/tabs.module.d.ts +5 -6
  238. package/tags/tag-list.scss +8 -4
  239. package/textarea/textarea.component.d.ts +1 -0
  240. package/textarea/textarea.module.d.ts +2 -3
  241. package/timepicker/timepicker.scss +1 -1
  242. package/toast/toast.component.scss +2 -0
  243. package/toggle/_toggle-theme.scss +10 -2
  244. package/toggle/toggle-tokens.scss +7 -1
  245. package/toggle/toggle.module.d.ts +1 -2
  246. package/toggle/toggle.scss +6 -6
  247. package/top-bar/top-bar.scss +48 -32
  248. package/tree/_tree-theme.scss +30 -7
  249. package/tree/padding.directive.d.ts +1 -1
  250. package/tree/tree-option.scss +5 -2
  251. package/tree/tree-tokens.scss +5 -0
  252. package/tree-select/tree-select.component.d.ts +10 -1
  253. package/esm2022/form-field/form-field-errors.mjs +0 -7
  254. package/form-field/form-field-errors.d.ts +0 -2
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-restricted-globals */
1
2
  import { CdkScrollable } from '@angular/cdk/overlay';
2
3
  import { Directive, Inject, Input, NgZone } from '@angular/core';
3
4
  import { OverlayScrollbars } from 'overlayscrollbars';
@@ -100,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
100
101
  }], defer: [{
101
102
  type: Input
102
103
  }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvc2Nyb2xsYmFyL3Njcm9sbGJhci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLG9CQUFvQixFQUErRCxNQUFNLG1CQUFtQixDQUFDOzs7QUFPdEgsTUFBTSxXQUFXLEdBQUcsR0FBVSxFQUFFO0lBQzVCLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDaEMsNkJBQTZCO1FBQzdCLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUV0QixPQUFPLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFJLE1BQWMsQ0FBQztJQUNuQixJQUFJLEtBQWEsQ0FBQztJQUVsQixNQUFNLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFeEcsTUFBTSxhQUFhLEdBQUcsT0FBTyxtQkFBbUIsS0FBSyxVQUFVLENBQUM7SUFDaEUsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUM7SUFDMUUsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUM7SUFDeEUsTUFBTSxLQUFLLEdBQUcsR0FBRyxFQUFF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Ozs0RkFBckIscUJBQXFCO2tCQUxqQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixjQUFjLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQ2xDOzswQkE0Q1EsTUFBTTsyQkFBQyxvQkFBb0I7eUNBcEM1QixPQUFPO3NCQURWLEtBQUs7Z0JBaUJGLE1BQU07c0JBRFQsS0FBSztnQkFlTixLQUFLO3NCQURKLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtTY3JvbGxhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3QsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheVNjcm9sbGJhcnMgfSBmcm9tICdvdmVybGF5c2Nyb2xsYmFycyc7XG5pbXBvcnQgeyBLQlFfU0NST0xMQkFSX0NPTkZJRywgS2JxU2Nyb2xsYmFyRXZlbnRzLCBLYnFTY3JvbGxiYXJPcHRpb25zLCBLYnFTY3JvbGxiYXJUYXJnZXQgfSBmcm9tICcuL3Njcm9sbGJhci50eXBlcyc7XG5cbnR5cGUgRGVmZXIgPSBbXG4gICAgcmVxdWVzdERlZmVyOiAoY2FsbGJhY2s6ICgpID0+IGFueSwgb3B0aW9ucz86IGJvb2xlYW4gfCBJZGxlUmVxdWVzdE9wdGlvbnMpID0+IHZvaWQsXG4gICAgY2FuY2VsRGVmZXI6ICgpID0+IHZvaWRcbl07XG5cbmNvbnN0IGNyZWF0ZURlZmVyID0gKCk6IERlZmVyID0+IHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgLy8gbW9jayBzc3IgY2FsbHMgd2l0aCBcIm5vb3BcIlxuICAgICAgICBjb25zdCBub29wID0gKCkgPT4ge307XG5cbiAgICAgICAgcmV0dXJuIFtub29wLCBub29wXTtcbiAgICB9XG5cbiAgICBsZXQgaWRsZUlkOiBudW1iZXI7XG4gICAgbGV0IHJhZklkOiBudW1iZXI7XG5cbiAgICBjb25zdCB7IHJlcXVlc3RJZGxlQ2FsbGJhY2ssIHJlcXVlc3RBbmltYXRpb25GcmFtZSwgY2FuY2VsQW5pbWF0aW9uRnJhbWUsIGNhbmNlbElkbGVDYWxsYmFjayB9ID0gd2luZG93O1xuXG4gICAgY29uc3QgaWRsZVN1cHBvcnRlZCA9IHR5cGVvZiByZXF1ZXN0SWRsZUNhbGxiYWNrID09PSAnZnVuY3Rpb24nO1xuICAgIGNvbnN0IHJJZGxlID0gaWRsZVN1cHBvcnRlZCA/IHJlcXVlc3RJZGxlQ2FsbGJhY2sgOiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU7XG4gICAgY29uc3QgY0lkbGUgPSBpZGxlU3VwcG9ydGVkID8gY2FuY2VsSWRsZUNhbGxiYWNrIDogY2FuY2VsQW5pbWF0aW9uRnJhbWU7XG4gICAgY29uc3QgY2xlYXIgPSAoKSA9PiB7XG4gICAgICAgIGNJZGxlKGlkbGVJZCk7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJhZklkKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICAgKGNhbGxiYWNrLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgICBjbGVhcigpO1xuICAgICAgICAgICAgaWRsZUlkID0gcklkbGUoXG4gICAgICAgICAgICAgICAgaWRsZVN1cHBvcnRlZFxuICAgICAgICAgICAgICAgICAgICA/ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW5zaWRlIGlkbGUgaXRzIGJlc3QgcHJhY3RpY2UgdG8gdXNlIHJBRiB0byBjaGFuZ2UgRE9NIGZvciBiZXN0IHBlcmZvcm1hbmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJhZklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNhbGxiYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDogY2FsbGJhY2ssXG4gICAgICAgICAgICAgICAgdHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnID8gb3B0aW9ucyA6IHsgdGltZW91dDogMjIzMyB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBjbGVhclxuXG4gICAgXTtcbn07XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgZm9yIGFkZGluZyBgb3ZlcmxheXNjcm9sbGJhcnNgIHRvIGFuIGVsZW1lbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdba2JxU2Nyb2xsYmFyXScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtDZGtTY3JvbGxhYmxlXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFTY3JvbGxiYXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVxdWVzdERlZmVyOiBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVEZWZlcj5bMF07XG4gICAgcHJpdmF0ZSBjYW5jZWxEZWZlcjogUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlRGVmZXI+WzFdO1xuXG4gICAgcHJpdmF0ZSBfb3B0aW9uczogS2JxU2Nyb2xsYmFyT3B0aW9ucztcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IG9wdGlvbnModmFsdWU6IEticVNjcm9sbGJhck9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuXG4gICAgICAgIGlmIChPdmVybGF5U2Nyb2xsYmFycy52YWxpZCh0aGlzLnNjcm9sbGJhckluc3RhbmNlKSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxiYXJJbnN0YW5jZS5vcHRpb25zKHZhbHVlIHx8IHt9LCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTY3JvbGxiYXIgYmVoYXZpb3IgY3VzdG9taXphdGlvbiBvYmplY3QgKi9cbiAgICBnZXQgb3B0aW9ucygpOiBLYnFTY3JvbGxiYXJPcHRpb25zIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZXZlbnRzPzogS2JxU2Nyb2xsYmFyRXZlbnRzO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgZXZlbnRzKHZhbHVlOiBLYnFTY3JvbGxiYXJFdmVudHMpIHtcbiAgICAgICAgdGhpcy5fZXZlbnRzID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKE92ZXJsYXlTY3JvbGxiYXJzLnZhbGlkKHRoaXMuc2Nyb2xsYmFySW5zdGFuY2UpKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbGJhckluc3RhbmNlLm9uKHZhbHVlIHx8IHt9LCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBldmVudHMoKTogS2JxU2Nyb2xsYmFyRXZlbnRzIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50cztcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0byBkZWZlciB0aGUgaW5pdGlhbGl6YXRpb24gdG8gYSBwb2ludCBpbiB0aW1lIHdoZW4gdGhlIGJyb3dzZXIgaXMgaWRsZS4gKG9yIHRvIHRoZSBuZXh0IGZyYW1lIGlmIGB3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFja2AgaXMgbm90IHN1cHBvcnRlZCkgKi9cbiAgICBASW5wdXQoKVxuICAgIGRlZmVyPzogYm9vbGVhbiB8IElkbGVSZXF1ZXN0T3B0aW9ucztcblxuICAgIHNjcm9sbGJhckluc3RhbmNlPzogT3ZlcmxheVNjcm9sbGJhcnM7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChLQlFfU0NST0xMQkFSX0NPTkZJRykgcHJpdmF0ZSBzY3JvbGxiYXJDb25maWc/OiBLYnFTY3JvbGxiYXJPcHRpb25zXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IFtyZXF1ZXN0RGVmZXIsIGNhbmNlbERlZmVyXSA9IGNyZWF0ZURlZmVyKCk7XG5cbiAgICAgICAgdGhpcy5yZXF1ZXN0RGVmZXIgPSByZXF1ZXN0RGVmZXI7XG4gICAgICAgIHRoaXMuY2FuY2VsRGVmZXIgPSBjYW5jZWxEZWZlcjtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKHRhcmdldDogS2JxU2Nyb2xsYmFyVGFyZ2V0KSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluaXQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxiYXJJbnN0YW5jZSA9IE92ZXJsYXlTY3JvbGxiYXJzKFxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyB8fCB0aGlzLnNjcm9sbGJhckNvbmZpZyB8fCB7fSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ldmVudHMgfHwge31cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZGVmZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3REZWZlcihpbml0LCB0aGlzLmRlZmVyKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaW5pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jYW5jZWxEZWZlcigpO1xuICAgIH1cbn1cbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvc2Nyb2xsYmFyL3Njcm9sbGJhci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMENBQTBDO0FBQzFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBK0QsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBT3RILE1BQU0sV0FBVyxHQUFHLEdBQVUsRUFBRTtJQUM1QixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsRUFBRSxDQUFDO1FBQ2hDLDZCQUE2QjtRQUM3QixNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFdEIsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFjLENBQUM7SUFDbkIsSUFBSSxLQUFhLENBQUM7SUFFbEIsTUFBTSxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLEdBQUcsTUFBTSxDQUFDO0lBRXhHLE1BQU0sYUFBYSxHQUFHLE9BQU8sbUJBQW1CLEtBQUssVUFBVSxDQUFDO0lBQ2hFLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDO0lBQzFFLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDO0lBQ3hFLE1BQU0sS0FBSyxH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SEEzQ3ZCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsY0FBYyxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUNsQzs7MEJBNENRLE1BQU07MkJBQUMsb0JBQW9CO3lDQXBDNUIsT0FBTztzQkFEVixLQUFLO2dCQWlCRixNQUFNO3NCQURULEtBQUs7Z0JBZU4sS0FBSztzQkFESixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1nbG9iYWxzICovXG5pbXBvcnQgeyBDZGtTY3JvbGxhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbmplY3QsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheVNjcm9sbGJhcnMgfSBmcm9tICdvdmVybGF5c2Nyb2xsYmFycyc7XG5pbXBvcnQgeyBLQlFfU0NST0xMQkFSX0NPTkZJRywgS2JxU2Nyb2xsYmFyRXZlbnRzLCBLYnFTY3JvbGxiYXJPcHRpb25zLCBLYnFTY3JvbGxiYXJUYXJnZXQgfSBmcm9tICcuL3Njcm9sbGJhci50eXBlcyc7XG5cbnR5cGUgRGVmZXIgPSBbXG4gICAgcmVxdWVzdERlZmVyOiAoY2FsbGJhY2s6ICgpID0+IGFueSwgb3B0aW9ucz86IGJvb2xlYW4gfCBJZGxlUmVxdWVzdE9wdGlvbnMpID0+IHZvaWQsXG4gICAgY2FuY2VsRGVmZXI6ICgpID0+IHZvaWRcbl07XG5cbmNvbnN0IGNyZWF0ZURlZmVyID0gKCk6IERlZmVyID0+IHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgLy8gbW9jayBzc3IgY2FsbHMgd2l0aCBcIm5vb3BcIlxuICAgICAgICBjb25zdCBub29wID0gKCkgPT4ge307XG5cbiAgICAgICAgcmV0dXJuIFtub29wLCBub29wXTtcbiAgICB9XG5cbiAgICBsZXQgaWRsZUlkOiBudW1iZXI7XG4gICAgbGV0IHJhZklkOiBudW1iZXI7XG5cbiAgICBjb25zdCB7IHJlcXVlc3RJZGxlQ2FsbGJhY2ssIHJlcXVlc3RBbmltYXRpb25GcmFtZSwgY2FuY2VsQW5pbWF0aW9uRnJhbWUsIGNhbmNlbElkbGVDYWxsYmFjayB9ID0gd2luZG93O1xuXG4gICAgY29uc3QgaWRsZVN1cHBvcnRlZCA9IHR5cGVvZiByZXF1ZXN0SWRsZUNhbGxiYWNrID09PSAnZnVuY3Rpb24nO1xuICAgIGNvbnN0IHJJZGxlID0gaWRsZVN1cHBvcnRlZCA/IHJlcXVlc3RJZGxlQ2FsbGJhY2sgOiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU7XG4gICAgY29uc3QgY0lkbGUgPSBpZGxlU3VwcG9ydGVkID8gY2FuY2VsSWRsZUNhbGxiYWNrIDogY2FuY2VsQW5pbWF0aW9uRnJhbWU7XG4gICAgY29uc3QgY2xlYXIgPSAoKSA9PiB7XG4gICAgICAgIGNJZGxlKGlkbGVJZCk7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHJhZklkKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIFtcbiAgICAgICAgKGNhbGxiYWNrLCBvcHRpb25zKSA9PiB7XG4gICAgICAgICAgICBjbGVhcigpO1xuICAgICAgICAgICAgaWRsZUlkID0gcklkbGUoXG4gICAgICAgICAgICAgICAgaWRsZVN1cHBvcnRlZFxuICAgICAgICAgICAgICAgICAgICA/ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW5zaWRlIGlkbGUgaXRzIGJlc3QgcHJhY3RpY2UgdG8gdXNlIHJBRiB0byBjaGFuZ2UgRE9NIGZvciBiZXN0IHBlcmZvcm1hbmNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJhZklkID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNhbGxiYWNrKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDogY2FsbGJhY2ssXG4gICAgICAgICAgICAgICAgdHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnID8gb3B0aW9ucyA6IHsgdGltZW91dDogMjIzMyB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBjbGVhclxuXG4gICAgXTtcbn07XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgZm9yIGFkZGluZyBgb3ZlcmxheXNjcm9sbGJhcnNgIHRvIGFuIGVsZW1lbnQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdba2JxU2Nyb2xsYmFyXScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtDZGtTY3JvbGxhYmxlXVxufSlcbmV4cG9ydCBjbGFzcyBLYnFTY3JvbGxiYXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgcmVxdWVzdERlZmVyOiBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVEZWZlcj5bMF07XG4gICAgcHJpdmF0ZSBjYW5jZWxEZWZlcjogUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlRGVmZXI+WzFdO1xuXG4gICAgcHJpdmF0ZSBfb3B0aW9uczogS2JxU2Nyb2xsYmFyT3B0aW9ucztcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IG9wdGlvbnModmFsdWU6IEticVNjcm9sbGJhck9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IHZhbHVlO1xuXG4gICAgICAgIGlmIChPdmVybGF5U2Nyb2xsYmFycy52YWxpZCh0aGlzLnNjcm9sbGJhckluc3RhbmNlKSkge1xuICAgICAgICAgICAgdGhpcy5zY3JvbGxiYXJJbnN0YW5jZS5vcHRpb25zKHZhbHVlIHx8IHt9LCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBTY3JvbGxiYXIgYmVoYXZpb3IgY3VzdG9taXphdGlvbiBvYmplY3QgKi9cbiAgICBnZXQgb3B0aW9ucygpOiBLYnFTY3JvbGxiYXJPcHRpb25zIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZXZlbnRzPzogS2JxU2Nyb2xsYmFyRXZlbnRzO1xuXG4gICAgQElucHV0KClcbiAgICBzZXQgZXZlbnRzKHZhbHVlOiBLYnFTY3JvbGxiYXJFdmVudHMpIHtcbiAgICAgICAgdGhpcy5fZXZlbnRzID0gdmFsdWU7XG5cbiAgICAgICAgaWYgKE92ZXJsYXlTY3JvbGxiYXJzLnZhbGlkKHRoaXMuc2Nyb2xsYmFySW5zdGFuY2UpKSB7XG4gICAgICAgICAgICB0aGlzLnNjcm9sbGJhckluc3RhbmNlLm9uKHZhbHVlIHx8IHt9LCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBldmVudHMoKTogS2JxU2Nyb2xsYmFyRXZlbnRzIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V2ZW50cztcbiAgICB9XG5cbiAgICAvKiogV2hldGhlciB0byBkZWZlciB0aGUgaW5pdGlhbGl6YXRpb24gdG8gYSBwb2ludCBpbiB0aW1lIHdoZW4gdGhlIGJyb3dzZXIgaXMgaWRsZS4gKG9yIHRvIHRoZSBuZXh0IGZyYW1lIGlmIGB3aW5kb3cucmVxdWVzdElkbGVDYWxsYmFja2AgaXMgbm90IHN1cHBvcnRlZCkgKi9cbiAgICBASW5wdXQoKVxuICAgIGRlZmVyPzogYm9vbGVhbiB8IElkbGVSZXF1ZXN0T3B0aW9ucztcblxuICAgIHNjcm9sbGJhckluc3RhbmNlPzogT3ZlcmxheVNjcm9sbGJhcnM7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgQEluamVjdChLQlFfU0NST0xMQkFSX0NPTkZJRykgcHJpdmF0ZSBzY3JvbGxiYXJDb25maWc/OiBLYnFTY3JvbGxiYXJPcHRpb25zXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IFtyZXF1ZXN0RGVmZXIsIGNhbmNlbERlZmVyXSA9IGNyZWF0ZURlZmVyKCk7XG5cbiAgICAgICAgdGhpcy5yZXF1ZXN0RGVmZXIgPSByZXF1ZXN0RGVmZXI7XG4gICAgICAgIHRoaXMuY2FuY2VsRGVmZXIgPSBjYW5jZWxEZWZlcjtcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKHRhcmdldDogS2JxU2Nyb2xsYmFyVGFyZ2V0KSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGluaXQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxiYXJJbnN0YW5jZSA9IE92ZXJsYXlTY3JvbGxiYXJzKFxuICAgICAgICAgICAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3B0aW9ucyB8fCB0aGlzLnNjcm9sbGJhckNvbmZpZyB8fCB7fSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ldmVudHMgfHwge31cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZGVmZXIpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlcXVlc3REZWZlcihpbml0LCB0aGlzLmRlZmVyKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaW5pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jYW5jZWxEZWZlcigpO1xuICAgIH1cbn1cbiJdfQ==