@wavemaker/app-ng-runtime 11.14.1-rc.6311 → 11.14.2-1.245

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 (407) hide show
  1. package/components/advanced/carousel/bundles/index.umd.js +15 -1
  2. package/components/advanced/carousel/carousel.directive.d.ts +1 -0
  3. package/components/advanced/carousel/esm2022/carousel.directive.mjs +16 -2
  4. package/components/advanced/carousel/fesm2022/index.mjs +15 -1
  5. package/components/advanced/carousel/fesm2022/index.mjs.map +1 -1
  6. package/components/advanced/login/bundles/index.umd.js +24 -3
  7. package/components/advanced/login/esm2022/login.component.mjs +25 -4
  8. package/components/advanced/login/fesm2022/index.mjs +24 -3
  9. package/components/advanced/login/fesm2022/index.mjs.map +1 -1
  10. package/components/advanced/login/login.component.d.ts +5 -2
  11. package/components/base/bundles/index.umd.js +323 -28
  12. package/components/base/directives/show-in-device.directive.d.ts +2 -1
  13. package/components/base/esm2022/directives/show-in-device.directive.mjs +22 -4
  14. package/components/base/esm2022/pipes/custom-pipes.mjs +1 -1
  15. package/components/base/esm2022/utils/widget-utils.mjs +3 -3
  16. package/components/base/esm2022/widgets/common/base/base-container.component.mjs +27 -1
  17. package/components/base/esm2022/widgets/common/base/base-field-validations.mjs +18 -1
  18. package/components/base/esm2022/widgets/common/base/base.component.mjs +68 -7
  19. package/components/base/esm2022/widgets/common/base/custom-widget-container.directive.mjs +9 -1
  20. package/components/base/esm2022/widgets/common/base/dataset-aware-nav.component.mjs +44 -11
  21. package/components/base/esm2022/widgets/common/base/partial-container.directive.mjs +20 -1
  22. package/components/base/esm2022/widgets/common/item-template/item-template.directive.mjs +26 -1
  23. package/components/base/esm2022/widgets/common/lazy-load/lazy-load.directive.mjs +44 -4
  24. package/components/base/esm2022/widgets/common/partial-param/partial-param.directive.mjs +16 -1
  25. package/components/base/esm2022/widgets/common/pull-to-refresh/pull-to-refresh.mjs +22 -1
  26. package/components/base/esm2022/widgets/framework/property-change-handler.mjs +7 -2
  27. package/components/base/esm2022/widgets/framework/widget-proxy-provider.mjs +5 -3
  28. package/components/base/esm2022/widgets/framework/widget-registry.mjs +6 -3
  29. package/components/base/fesm2022/index.mjs +319 -26
  30. package/components/base/fesm2022/index.mjs.map +1 -1
  31. package/components/base/widgets/common/base/base-container.component.d.ts +3 -2
  32. package/components/base/widgets/common/base/base-field-validations.d.ts +1 -0
  33. package/components/base/widgets/common/base/custom-widget-container.directive.d.ts +3 -2
  34. package/components/base/widgets/common/base/dataset-aware-nav.component.d.ts +6 -2
  35. package/components/base/widgets/common/base/partial-container.directive.d.ts +3 -2
  36. package/components/base/widgets/common/item-template/item-template.directive.d.ts +3 -2
  37. package/components/base/widgets/common/lazy-load/lazy-load.directive.d.ts +1 -1
  38. package/components/base/widgets/common/partial-param/partial-param.directive.d.ts +3 -2
  39. package/components/base/widgets/common/pull-to-refresh/pull-to-refresh.d.ts +3 -2
  40. package/components/basic/anchor/bundles/index.umd.js +13 -1
  41. package/components/basic/anchor/esm2022/anchor.component.mjs +14 -2
  42. package/components/basic/anchor/fesm2022/index.mjs +13 -1
  43. package/components/basic/anchor/fesm2022/index.mjs.map +1 -1
  44. package/components/basic/html/bundles/index.umd.js +13 -1
  45. package/components/basic/html/esm2022/html.directive.mjs +14 -2
  46. package/components/basic/html/fesm2022/index.mjs +13 -1
  47. package/components/basic/html/fesm2022/index.mjs.map +1 -1
  48. package/components/basic/label/bundles/index.umd.js +17 -1
  49. package/components/basic/label/esm2022/label.directive.mjs +18 -2
  50. package/components/basic/label/fesm2022/index.mjs +17 -1
  51. package/components/basic/label/fesm2022/index.mjs.map +1 -1
  52. package/components/basic/label/label.directive.d.ts +3 -2
  53. package/components/basic/progress/progress-circle/bundles/index.umd.js +10 -0
  54. package/components/basic/progress/progress-circle/esm2022/progress-circle.component.mjs +11 -1
  55. package/components/basic/progress/progress-circle/fesm2022/index.mjs +10 -0
  56. package/components/basic/progress/progress-circle/fesm2022/index.mjs.map +1 -1
  57. package/components/basic/progress/progress-circle/progress-circle.component.d.ts +3 -2
  58. package/components/basic/search/bundles/index.umd.js +40 -12
  59. package/components/basic/search/esm2022/scrollable.directive.mjs +11 -2
  60. package/components/basic/search/esm2022/search.component.mjs +31 -12
  61. package/components/basic/search/fesm2022/index.mjs +40 -12
  62. package/components/basic/search/fesm2022/index.mjs.map +1 -1
  63. package/components/basic/search/scrollable.directive.d.ts +4 -2
  64. package/components/basic/search/search.component.d.ts +3 -2
  65. package/components/basic/spinner/bundles/index.umd.js +9 -1
  66. package/components/basic/spinner/esm2022/spinner.component.mjs +10 -2
  67. package/components/basic/spinner/fesm2022/index.mjs +9 -1
  68. package/components/basic/spinner/fesm2022/index.mjs.map +1 -1
  69. package/components/basic/spinner/spinner.component.d.ts +4 -2
  70. package/components/chart/bundles/index.umd.js +21 -3
  71. package/components/chart/esm2022/chart.component.mjs +22 -4
  72. package/components/chart/fesm2022/index.mjs +21 -3
  73. package/components/chart/fesm2022/index.mjs.map +1 -1
  74. package/components/containers/accordion/accordion-pane/accordion-pane.component.d.ts +3 -2
  75. package/components/containers/accordion/accordion.directive.d.ts +5 -2
  76. package/components/containers/accordion/bundles/index.umd.js +49 -2
  77. package/components/containers/accordion/esm2022/accordion-pane/accordion-pane.component.mjs +10 -1
  78. package/components/containers/accordion/esm2022/accordion.directive.mjs +41 -3
  79. package/components/containers/accordion/fesm2022/index.mjs +49 -2
  80. package/components/containers/accordion/fesm2022/index.mjs.map +1 -1
  81. package/components/containers/panel/bundles/index.umd.js +13 -0
  82. package/components/containers/panel/esm2022/panel.component.mjs +14 -1
  83. package/components/containers/panel/fesm2022/index.mjs +13 -0
  84. package/components/containers/panel/fesm2022/index.mjs.map +1 -1
  85. package/components/containers/panel/panel.component.d.ts +3 -2
  86. package/components/containers/tabs/bundles/index.umd.js +54 -2
  87. package/components/containers/tabs/esm2022/tab-pane/tab-pane.component.mjs +10 -1
  88. package/components/containers/tabs/esm2022/tabs.component.mjs +46 -3
  89. package/components/containers/tabs/fesm2022/index.mjs +54 -2
  90. package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
  91. package/components/containers/tabs/tab-pane/tab-pane.component.d.ts +3 -2
  92. package/components/containers/tabs/tabs.component.d.ts +5 -2
  93. package/components/containers/wizard/bundles/index.umd.js +47 -3
  94. package/components/containers/wizard/esm2022/wizard-step/wizard-step.component.mjs +16 -3
  95. package/components/containers/wizard/esm2022/wizard.component.mjs +33 -2
  96. package/components/containers/wizard/fesm2022/index.mjs +47 -3
  97. package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
  98. package/components/containers/wizard/wizard-step/wizard-step.component.d.ts +3 -2
  99. package/components/containers/wizard/wizard.component.d.ts +4 -2
  100. package/components/data/card/bundles/index.umd.js +17 -1
  101. package/components/data/card/card-content/card-content.component.d.ts +3 -2
  102. package/components/data/card/card.component.d.ts +4 -2
  103. package/components/data/card/esm2022/card-content/card-content.component.mjs +6 -1
  104. package/components/data/card/esm2022/card.component.mjs +13 -2
  105. package/components/data/card/fesm2022/index.mjs +17 -1
  106. package/components/data/card/fesm2022/index.mjs.map +1 -1
  107. package/components/data/form/bundles/index.umd.js +92 -0
  108. package/components/data/form/esm2022/form-action/form-action.directive.mjs +7 -1
  109. package/components/data/form/esm2022/form-field/form-field.directive.mjs +28 -1
  110. package/components/data/form/esm2022/form-widget.directive.mjs +8 -1
  111. package/components/data/form/esm2022/form.component.mjs +27 -1
  112. package/components/data/form/esm2022/live-actions/live-actions.directive.mjs +7 -1
  113. package/components/data/form/esm2022/live-filter/live-filter.directive.mjs +12 -1
  114. package/components/data/form/esm2022/live-form/live-form.directive.mjs +10 -1
  115. package/components/data/form/fesm2022/index.mjs +92 -0
  116. package/components/data/form/fesm2022/index.mjs.map +1 -1
  117. package/components/data/form/form-action/form-action.directive.d.ts +3 -2
  118. package/components/data/form/form-field/form-field.directive.d.ts +3 -2
  119. package/components/data/form/form-widget.directive.d.ts +3 -2
  120. package/components/data/form/live-actions/live-actions.directive.d.ts +3 -1
  121. package/components/data/form/live-filter/live-filter.directive.d.ts +3 -1
  122. package/components/data/form/live-form/live-form.directive.d.ts +3 -1
  123. package/components/data/list/bundles/index.umd.js +180 -17
  124. package/components/data/list/esm2022/list-item.directive.mjs +95 -11
  125. package/components/data/list/esm2022/list.component.mjs +87 -8
  126. package/components/data/list/fesm2022/index.mjs +180 -17
  127. package/components/data/list/fesm2022/index.mjs.map +1 -1
  128. package/components/data/list/list-item.directive.d.ts +7 -2
  129. package/components/data/list/list.component.d.ts +3 -0
  130. package/components/data/live-table/bundles/index.umd.js +13 -1
  131. package/components/data/live-table/esm2022/live-table.component.mjs +14 -2
  132. package/components/data/live-table/fesm2022/index.mjs +13 -1
  133. package/components/data/live-table/fesm2022/index.mjs.map +1 -1
  134. package/components/data/live-table/live-table.component.d.ts +4 -2
  135. package/components/data/pagination/bundles/index.umd.js +57 -4
  136. package/components/data/pagination/esm2022/pagination.component.mjs +58 -5
  137. package/components/data/pagination/fesm2022/index.mjs +57 -4
  138. package/components/data/pagination/fesm2022/index.mjs.map +1 -1
  139. package/components/data/pagination/pagination.component.d.ts +4 -2
  140. package/components/data/table/bundles/index.umd.js +311 -12
  141. package/components/data/table/esm2022/table-action/table-action.directive.mjs +8 -1
  142. package/components/data/table/esm2022/table-column/table-column.directive.mjs +107 -3
  143. package/components/data/table/esm2022/table-column-group/table-column-group.directive.mjs +9 -1
  144. package/components/data/table/esm2022/table-cud.directive.mjs +8 -2
  145. package/components/data/table/esm2022/table-filter.directive.mjs +12 -2
  146. package/components/data/table/esm2022/table-row/table-row.directive.mjs +8 -1
  147. package/components/data/table/esm2022/table-row-action/table-row-action.directive.mjs +8 -1
  148. package/components/data/table/esm2022/table.component.mjs +159 -9
  149. package/components/data/table/fesm2022/index.mjs +311 -12
  150. package/components/data/table/fesm2022/index.mjs.map +1 -1
  151. package/components/data/table/table-action/table-action.directive.d.ts +3 -2
  152. package/components/data/table/table-column/table-column.directive.d.ts +3 -2
  153. package/components/data/table/table-column-group/table-column-group.directive.d.ts +3 -2
  154. package/components/data/table/table-cud.directive.d.ts +3 -1
  155. package/components/data/table/table-filter.directive.d.ts +3 -1
  156. package/components/data/table/table-row/table-row.directive.d.ts +3 -2
  157. package/components/data/table/table-row-action/table-row-action.directive.d.ts +3 -2
  158. package/components/data/table/table.component.d.ts +2 -2
  159. package/components/dialogs/alert-dialog/alert-dialog.component.d.ts +3 -2
  160. package/components/dialogs/alert-dialog/bundles/index.umd.js +5 -0
  161. package/components/dialogs/alert-dialog/esm2022/alert-dialog.component.mjs +6 -1
  162. package/components/dialogs/alert-dialog/fesm2022/index.mjs +5 -0
  163. package/components/dialogs/alert-dialog/fesm2022/index.mjs.map +1 -1
  164. package/components/dialogs/confirm-dialog/bundles/index.umd.js +5 -0
  165. package/components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +3 -2
  166. package/components/dialogs/confirm-dialog/esm2022/confirm-dialog.component.mjs +6 -1
  167. package/components/dialogs/confirm-dialog/fesm2022/index.mjs +5 -0
  168. package/components/dialogs/confirm-dialog/fesm2022/index.mjs.map +1 -1
  169. package/components/dialogs/default/bundles/index.umd.js +15 -2
  170. package/components/dialogs/default/dialog-body/dialog-body.directive.d.ts +4 -2
  171. package/components/dialogs/default/esm2022/dialog-body/dialog-body.directive.mjs +16 -3
  172. package/components/dialogs/default/fesm2022/index.mjs +15 -2
  173. package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
  174. package/components/dialogs/design-dialog/bundles/index.umd.js +7 -0
  175. package/components/dialogs/design-dialog/dialog.component.d.ts +3 -2
  176. package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -1
  177. package/components/dialogs/design-dialog/fesm2022/index.mjs +7 -0
  178. package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
  179. package/components/dialogs/iframe-dialog/bundles/index.umd.js +5 -0
  180. package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +6 -1
  181. package/components/dialogs/iframe-dialog/fesm2022/index.mjs +5 -0
  182. package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
  183. package/components/dialogs/iframe-dialog/iframe-dialog.component.d.ts +3 -2
  184. package/components/dialogs/partial-dialog/bundles/index.umd.js +23 -3
  185. package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +24 -4
  186. package/components/dialogs/partial-dialog/fesm2022/index.mjs +23 -3
  187. package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
  188. package/components/dialogs/partial-dialog/partial-dialog.component.d.ts +4 -2
  189. package/components/input/base-form/base-form.component.d.ts +4 -2
  190. package/components/input/base-form/bundles/index.umd.js +16 -2
  191. package/components/input/base-form/esm2022/base-form.component.mjs +17 -3
  192. package/components/input/base-form/fesm2022/index.mjs +16 -2
  193. package/components/input/base-form/fesm2022/index.mjs.map +1 -1
  194. package/components/input/base-form-custom/base-form-custom.component.d.ts +3 -2
  195. package/components/input/base-form-custom/bundles/index.umd.js +13 -2
  196. package/components/input/base-form-custom/esm2022/base-form-custom.component.mjs +14 -3
  197. package/components/input/base-form-custom/fesm2022/index.mjs +13 -2
  198. package/components/input/base-form-custom/fesm2022/index.mjs.map +1 -1
  199. package/components/input/checkbox/bundles/index.umd.js +7 -0
  200. package/components/input/checkbox/checkbox.component.d.ts +3 -2
  201. package/components/input/checkbox/esm2022/checkbox.component.mjs +8 -1
  202. package/components/input/checkbox/fesm2022/index.mjs +7 -0
  203. package/components/input/checkbox/fesm2022/index.mjs.map +1 -1
  204. package/components/input/checkboxset/bundles/index.umd.js +18 -2
  205. package/components/input/checkboxset/checkboxset.component.d.ts +4 -2
  206. package/components/input/checkboxset/esm2022/checkboxset.component.mjs +19 -3
  207. package/components/input/checkboxset/fesm2022/index.mjs +18 -2
  208. package/components/input/checkboxset/fesm2022/index.mjs.map +1 -1
  209. package/components/input/chips/bundles/index.umd.js +45 -5
  210. package/components/input/chips/chips.component.d.ts +3 -2
  211. package/components/input/chips/esm2022/chips.component.mjs +46 -6
  212. package/components/input/chips/fesm2022/index.mjs +45 -5
  213. package/components/input/chips/fesm2022/index.mjs.map +1 -1
  214. package/components/input/color-picker/bundles/index.umd.js +8 -0
  215. package/components/input/color-picker/color-picker.component.d.ts +3 -2
  216. package/components/input/color-picker/esm2022/color-picker.component.mjs +9 -1
  217. package/components/input/color-picker/fesm2022/index.mjs +8 -0
  218. package/components/input/color-picker/fesm2022/index.mjs.map +1 -1
  219. package/components/input/composite/bundles/index.umd.js +10 -1
  220. package/components/input/composite/composite.directive.d.ts +3 -2
  221. package/components/input/composite/esm2022/composite.directive.mjs +11 -2
  222. package/components/input/composite/fesm2022/index.mjs +10 -1
  223. package/components/input/composite/fesm2022/index.mjs.map +1 -1
  224. package/components/input/currency/bundles/index.umd.js +7 -0
  225. package/components/input/currency/currency.component.d.ts +3 -2
  226. package/components/input/currency/esm2022/currency.component.mjs +8 -1
  227. package/components/input/currency/fesm2022/index.mjs +7 -0
  228. package/components/input/currency/fesm2022/index.mjs.map +1 -1
  229. package/components/input/dataset-aware-form/bundles/index.umd.js +26 -2
  230. package/components/input/dataset-aware-form/esm2022/dataset-aware-form.component.mjs +27 -3
  231. package/components/input/dataset-aware-form/fesm2022/index.mjs +26 -2
  232. package/components/input/dataset-aware-form/fesm2022/index.mjs.map +1 -1
  233. package/components/input/epoch/date/bundles/index.umd.js +22 -0
  234. package/components/input/epoch/date/date.component.d.ts +1 -0
  235. package/components/input/epoch/date/esm2022/date.component.mjs +23 -1
  236. package/components/input/epoch/date/fesm2022/index.mjs +22 -0
  237. package/components/input/epoch/date/fesm2022/index.mjs.map +1 -1
  238. package/components/input/file-upload/bundles/index.umd.js +25 -8
  239. package/components/input/file-upload/esm2022/file-upload.component.mjs +26 -9
  240. package/components/input/file-upload/fesm2022/index.mjs +25 -8
  241. package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
  242. package/components/input/file-upload/file-upload.component.d.ts +3 -0
  243. package/components/input/number/bundles/index.umd.js +8 -0
  244. package/components/input/number/esm2022/number.component.mjs +9 -1
  245. package/components/input/number/fesm2022/index.mjs +8 -0
  246. package/components/input/number/fesm2022/index.mjs.map +1 -1
  247. package/components/input/number/number.component.d.ts +3 -2
  248. package/components/input/radioset/bundles/index.umd.js +18 -2
  249. package/components/input/radioset/esm2022/radioset.component.mjs +19 -3
  250. package/components/input/radioset/fesm2022/index.mjs +18 -2
  251. package/components/input/radioset/fesm2022/index.mjs.map +1 -1
  252. package/components/input/radioset/radioset.component.d.ts +4 -2
  253. package/components/input/rating/bundles/index.umd.js +10 -0
  254. package/components/input/rating/esm2022/rating.component.mjs +11 -1
  255. package/components/input/rating/fesm2022/index.mjs +10 -0
  256. package/components/input/rating/fesm2022/index.mjs.map +1 -1
  257. package/components/input/rating/rating.component.d.ts +3 -2
  258. package/components/input/select/bundles/index.umd.js +6 -0
  259. package/components/input/select/esm2022/select.component.mjs +7 -1
  260. package/components/input/select/fesm2022/index.mjs +6 -0
  261. package/components/input/select/fesm2022/index.mjs.map +1 -1
  262. package/components/input/select/select.component.d.ts +3 -2
  263. package/components/input/slider/bundles/index.umd.js +10 -0
  264. package/components/input/slider/esm2022/slider.component.mjs +11 -1
  265. package/components/input/slider/fesm2022/index.mjs +10 -0
  266. package/components/input/slider/fesm2022/index.mjs.map +1 -1
  267. package/components/input/slider/slider.component.d.ts +3 -2
  268. package/components/input/switch/bundles/index.umd.js +22 -2
  269. package/components/input/switch/esm2022/switch.component.mjs +23 -3
  270. package/components/input/switch/fesm2022/index.mjs +22 -2
  271. package/components/input/switch/fesm2022/index.mjs.map +1 -1
  272. package/components/input/switch/switch.component.d.ts +3 -2
  273. package/components/input/text/bundles/index.umd.js +36 -0
  274. package/components/input/text/esm2022/input-calendar/input-calendar.component.mjs +8 -1
  275. package/components/input/text/esm2022/input-color/input-color.component.mjs +8 -1
  276. package/components/input/text/esm2022/input-email/input-email.component.mjs +8 -1
  277. package/components/input/text/esm2022/input-number/input-number.component.mjs +8 -1
  278. package/components/input/text/esm2022/input-text/input-text.component.mjs +9 -1
  279. package/components/input/text/fesm2022/index.mjs +36 -0
  280. package/components/input/text/fesm2022/index.mjs.map +1 -1
  281. package/components/input/text/input-calendar/input-calendar.component.d.ts +3 -2
  282. package/components/input/text/input-color/input-color.component.d.ts +3 -2
  283. package/components/input/text/input-email/input-email.component.d.ts +3 -2
  284. package/components/input/text/input-number/input-number.component.d.ts +3 -2
  285. package/components/input/text/input-text/input-text.component.d.ts +3 -2
  286. package/components/input/textarea/bundles/index.umd.js +7 -0
  287. package/components/input/textarea/esm2022/textarea.component.mjs +8 -1
  288. package/components/input/textarea/fesm2022/index.mjs +7 -0
  289. package/components/input/textarea/fesm2022/index.mjs.map +1 -1
  290. package/components/input/textarea/textarea.component.d.ts +3 -2
  291. package/components/navigation/menu/bundles/index.umd.js +55 -6
  292. package/components/navigation/menu/esm2022/menu-adapator.component.mjs +17 -3
  293. package/components/navigation/menu/esm2022/menu.component.mjs +10 -3
  294. package/components/navigation/menu/esm2022/nav/nav-item/nav-item.directive.mjs +6 -1
  295. package/components/navigation/menu/esm2022/nav/nav.component.mjs +11 -1
  296. package/components/navigation/menu/esm2022/nav/navigation-control.directive.mjs +16 -3
  297. package/components/navigation/menu/fesm2022/index.mjs +55 -6
  298. package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
  299. package/components/navigation/menu/menu-adapator.component.d.ts +4 -2
  300. package/components/navigation/menu/nav/nav-item/nav-item.directive.d.ts +3 -2
  301. package/components/navigation/menu/nav/nav.component.d.ts +3 -2
  302. package/components/navigation/menu/nav/navigation-control.directive.d.ts +4 -2
  303. package/components/navigation/navbar/bundles/index.umd.js +5 -0
  304. package/components/navigation/navbar/esm2022/navbar.component.mjs +6 -1
  305. package/components/navigation/navbar/fesm2022/index.mjs +5 -0
  306. package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
  307. package/components/navigation/navbar/navbar.component.d.ts +3 -2
  308. package/components/navigation/popover/bundles/index.umd.js +65 -13
  309. package/components/navigation/popover/esm2022/popover.component.mjs +63 -11
  310. package/components/navigation/popover/fesm2022/index.mjs +62 -10
  311. package/components/navigation/popover/fesm2022/index.mjs.map +1 -1
  312. package/components/navigation/popover/popover.component.d.ts +11 -3
  313. package/components/page/default/bundles/index.umd.js +20 -2
  314. package/components/page/default/esm2022/layout.directive.mjs +9 -1
  315. package/components/page/default/esm2022/page-content/page-content.component.mjs +13 -3
  316. package/components/page/default/fesm2022/index.mjs +20 -2
  317. package/components/page/default/fesm2022/index.mjs.map +1 -1
  318. package/components/page/default/layout.directive.d.ts +3 -2
  319. package/components/page/default/page-content/page-content.component.d.ts +3 -2
  320. package/components/page/left-panel/bundles/index.umd.js +16 -0
  321. package/components/page/left-panel/esm2022/left-panel.directive.mjs +17 -1
  322. package/components/page/left-panel/fesm2022/index.mjs +16 -0
  323. package/components/page/left-panel/fesm2022/index.mjs.map +1 -1
  324. package/components/page/left-panel/left-panel.directive.d.ts +3 -2
  325. package/components/page/top-nav/bundles/index.umd.js +2 -1
  326. package/components/page/top-nav/esm2022/top-nav.props.mjs +3 -2
  327. package/components/page/top-nav/fesm2022/index.mjs +2 -1
  328. package/components/page/top-nav/fesm2022/index.mjs.map +1 -1
  329. package/components/prefab/bundles/index.umd.js +4 -0
  330. package/components/prefab/esm2022/prefab.directive.mjs +5 -1
  331. package/components/prefab/fesm2022/index.mjs +4 -0
  332. package/components/prefab/fesm2022/index.mjs.map +1 -1
  333. package/core/bundles/index.umd.js +391 -94
  334. package/core/esm2022/public_api.mjs +3 -3
  335. package/core/esm2022/services/viewport.service.mjs +24 -10
  336. package/core/esm2022/types/types.mjs +1 -1
  337. package/core/esm2022/utils/dom.mjs +18 -2
  338. package/core/esm2022/utils/event-notifier.mjs +5 -2
  339. package/core/esm2022/utils/lru-cache.mjs +16 -2
  340. package/core/esm2022/utils/utils.mjs +6 -2
  341. package/core/esm2022/utils/watcher.mjs +323 -81
  342. package/core/fesm2022/index.mjs +390 -96
  343. package/core/fesm2022/index.mjs.map +1 -1
  344. package/core/public_api.d.ts +2 -2
  345. package/core/services/viewport.service.d.ts +5 -2
  346. package/core/types/types.d.ts +1 -0
  347. package/core/utils/lru-cache.d.ts +6 -0
  348. package/core/utils/utils.d.ts +1 -0
  349. package/core/utils/watcher.d.ts +26 -5
  350. package/http/bundles/index.umd.js +31 -1
  351. package/http/esm2022/http.service.mjs +32 -2
  352. package/http/fesm2022/index.mjs +31 -1
  353. package/http/fesm2022/index.mjs.map +1 -1
  354. package/http/http.service.d.ts +6 -2
  355. package/npm-shrinkwrap.json +2 -2
  356. package/oAuth/bundles/index.umd.js +9 -0
  357. package/oAuth/esm2022/oAuth.service.mjs +10 -1
  358. package/oAuth/fesm2022/index.mjs +9 -0
  359. package/oAuth/fesm2022/index.mjs.map +1 -1
  360. package/oAuth/oAuth.service.d.ts +3 -1
  361. package/package-lock.json +2 -2
  362. package/package.json +1 -1
  363. package/runtime/base/bundles/index.umd.js +364 -30
  364. package/runtime/base/components/app-component/app.component.d.ts +4 -0
  365. package/runtime/base/components/prefab-preview.component.d.ts +5 -2
  366. package/runtime/base/directives/accessroles.directive.d.ts +4 -3
  367. package/runtime/base/directives/prefab.directive.d.ts +3 -2
  368. package/runtime/base/esm2022/components/app-component/app.component.mjs +40 -9
  369. package/runtime/base/esm2022/components/base-custom-widget.component.mjs +33 -2
  370. package/runtime/base/esm2022/components/base-layout.component.mjs +7 -1
  371. package/runtime/base/esm2022/components/base-page.component.mjs +36 -3
  372. package/runtime/base/esm2022/components/base-partial.component.mjs +37 -3
  373. package/runtime/base/esm2022/components/base-prefab.component.mjs +32 -3
  374. package/runtime/base/esm2022/components/base-spa-page.component.mjs +37 -3
  375. package/runtime/base/esm2022/components/prefab-preview.component.mjs +23 -4
  376. package/runtime/base/esm2022/directives/accessroles.directive.mjs +11 -2
  377. package/runtime/base/esm2022/directives/prefab.directive.mjs +9 -1
  378. package/runtime/base/esm2022/services/app.manager.service.mjs +37 -10
  379. package/runtime/base/esm2022/services/app.service.mjs +34 -2
  380. package/runtime/base/esm2022/services/dynamic-component-ref-provider.service.mjs +4 -1
  381. package/runtime/base/esm2022/services/pipe-provider.service.mjs +7 -4
  382. package/runtime/base/esm2022/services/spinner.service.mjs +15 -1
  383. package/runtime/base/esm2022/util/fragment-monitor.mjs +23 -2
  384. package/runtime/base/fesm2022/index.mjs +365 -31
  385. package/runtime/base/fesm2022/index.mjs.map +1 -1
  386. package/runtime/base/services/app.manager.service.d.ts +6 -1
  387. package/runtime/base/services/app.service.d.ts +12 -2
  388. package/runtime/base/services/dynamic-component-ref-provider.service.d.ts +2 -1
  389. package/runtime/base/services/spinner.service.d.ts +3 -1
  390. package/runtime/base/util/fragment-monitor.d.ts +6 -0
  391. package/runtime/dynamic/bundles/index.umd.js +5 -0
  392. package/runtime/dynamic/esm2022/app/components/page-wrapper.component.mjs +6 -1
  393. package/runtime/dynamic/fesm2022/index.mjs +5 -0
  394. package/runtime/dynamic/fesm2022/index.mjs.map +1 -1
  395. package/scripts/datatable/datatable.js +100 -14
  396. package/security/bundles/index.umd.js +41 -2
  397. package/security/esm2022/security.service.mjs +42 -3
  398. package/security/fesm2022/index.mjs +41 -2
  399. package/security/fesm2022/index.mjs.map +1 -1
  400. package/security/security.service.d.ts +5 -2
  401. package/variables/bundles/index.umd.js +50 -6
  402. package/variables/esm2022/manager/action/notification-action.manager.mjs +18 -3
  403. package/variables/esm2022/manager/variable/base-variable.manager.mjs +15 -2
  404. package/variables/esm2022/manager/variable/web-socket-variable.manager.mjs +13 -3
  405. package/variables/esm2022/service/variables.service.mjs +8 -2
  406. package/variables/fesm2022/index.mjs +50 -6
  407. package/variables/fesm2022/index.mjs.map +1 -1
@@ -7,8 +7,8 @@ export { appendNode, insertBefore, insertAfter, removeNode, removeClass, addClas
7
7
  export * from './enums/enums';
8
8
  export * from './utils/event-notifier';
9
9
  export { $parseExpr, $parseEvent, registerFnByExpr, setPipeProvider, getFnByExpr, getFnForBindExpr, getFnForEventExpr } from './utils/expression-parser';
10
- export { isDefined, isObject, toBoolean, isIE, isAndroid, isAndroidTablet, isIphone, isIpod, isIpad, isIos, isSafari, isLargeTabletLandscape, isLargeTabletPortrait, isMobile, getAndroidVersion, isKitkatDevice, encodeUrl, encodeUrlParams, initCaps, spaceSeparate, replaceAt, periodSeparate, prettifyLabel, deHyphenate, prettifyLabels, isInsecureContentRequest, stringStartsWith, getEvaluatedExprValue, isImageFile, isAudioFile, isVideoFile, isValidWebURL, getResourceURL, triggerFn, hasOffsetStr, getFormattedDate, getDateObj, addEventListenerOnElement, getClonedObject, getFiles, generateGUId, validateAccessRoles, getValidJSON, xmlToJson, findValueOf, extractType, isNumberType, isEmptyObject, scrollToElement, isElementInViewport, isPageable, replace, isDateTimeType, getValidDateObject, getNativeDateObject, getBlob, isEqualWithFields, loadStyleSheet, loadStyleSheets, loadScript, loadScripts, _WM_APP_PROJECT, setSessionStorageItem, getSessionStorageItem, noop, convertToBlob, AppConstants, openLink, fetchContent, toPromise, retryIfFails, getAbortableDefer, createCSSRule, getUrlParams, getMomentLocaleObject, getRouteNameFromLink, isAppleProduct, defer, executePromiseChain, isDataSourceEqual, validateDataSourceCtx, processFilterExpBindNode, extendProto, removeExtraSlashes, getDisplayDateTimeFormat, addForIdAttributes, adjustContainerPosition, adjustContainerRightEdges, setTranslation3dPosition, getWebkitTraslationMatrix, closePopover, detectChanges, triggerItemAction, getDatasourceFromExpr, extractCurrentItemExpr, findRootContainer, VALIDATOR, transformFileURI, appendScriptToHead, getAppSetting, setListClass, findParent, getNavClass, getSheetPositionClass } from './utils/utils';
11
- export { FIRST_TIME_WATCH, isFirstTimeChange, debounce, muteWatchers, unMuteWatchers, $watch, $unwatch, setNgZone, setAppRef, isChangeFromWatch, resetChangeFromWatch, $invokeWatchers, $appDigest } from './utils/watcher';
10
+ export { isDefined, isObject, toBoolean, isIE, isAndroid, isAndroidTablet, isIphone, isIpod, isIpad, isIos, isSafari, isLargeTabletLandscape, isLargeTabletPortrait, isMobile, getAndroidVersion, isKitkatDevice, encodeUrl, encodeUrlParams, initCaps, spaceSeparate, replaceAt, periodSeparate, prettifyLabel, deHyphenate, prettifyLabels, isInsecureContentRequest, stringStartsWith, getEvaluatedExprValue, isImageFile, isAudioFile, isVideoFile, isValidImageUrl, isValidWebURL, getResourceURL, triggerFn, hasOffsetStr, getFormattedDate, getDateObj, addEventListenerOnElement, getClonedObject, getFiles, generateGUId, validateAccessRoles, getValidJSON, xmlToJson, findValueOf, extractType, isNumberType, isEmptyObject, scrollToElement, isElementInViewport, isPageable, replace, isDateTimeType, getValidDateObject, getNativeDateObject, getBlob, isEqualWithFields, loadStyleSheet, loadStyleSheets, loadScript, loadScripts, _WM_APP_PROJECT, setSessionStorageItem, getSessionStorageItem, noop, convertToBlob, AppConstants, openLink, fetchContent, toPromise, retryIfFails, getAbortableDefer, createCSSRule, getUrlParams, getMomentLocaleObject, getRouteNameFromLink, isAppleProduct, defer, executePromiseChain, isDataSourceEqual, validateDataSourceCtx, processFilterExpBindNode, extendProto, removeExtraSlashes, getDisplayDateTimeFormat, addForIdAttributes, adjustContainerPosition, adjustContainerRightEdges, setTranslation3dPosition, getWebkitTraslationMatrix, closePopover, detectChanges, triggerItemAction, getDatasourceFromExpr, extractCurrentItemExpr, findRootContainer, VALIDATOR, transformFileURI, appendScriptToHead, getAppSetting, setListClass, findParent, getNavClass, getSheetPositionClass } from './utils/utils';
11
+ export { FIRST_TIME_WATCH, isFirstTimeChange, debounce, muteWatchers, unMuteWatchers, $watch, $unwatch, $unwatchAll, $unwatchAllByScope, setNgZone, setAppRef, isChangeFromWatch, resetChangeFromWatch, $invokeWatchers, $appDigest } from './utils/watcher';
12
12
  export * from './utils/id-generator';
13
13
  export * from './types/types';
14
14
  export { Viewport } from './services/viewport.service';
@@ -23,4 +23,4 @@ export { StatePersistence } from './services/state-persistence.service';
23
23
  export { PaginationService } from './services/pagination.service';
24
24
  export * from './utils/wm-project-properties';
25
25
  export * from './utils/lru-cache';
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsT0FBTyxFQUNILFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFVBQVUsRUFDVixXQUFXLEVBQ1gsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsTUFBTSxFQUNOLGFBQWEsRUFDYixXQUFXLEVBQ1gsT0FBTyxFQUNQLE9BQU8sRUFDUCxVQUFVLEVBQ1YsYUFBYSxFQUNiLFdBQVcsRUFDZCxNQUFNLGFBQWEsQ0FBQztBQUNyQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLE9BQU8sRUFFSCxVQUFVLEVBQ1YsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBRUgsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxlQUFlLEVBQ2YsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLFNBQVMsRUFDVCxlQUFlLEVBQ2YsUUFBUSxFQUNSLGFBQWEsRUFDYixTQUFTLEVBQ1QsY0FBYyxFQUNkLGFBQWEsRUFDYixXQUFXLEVBQ1gsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGFBQWEsRUFDYixjQUFjLEVBQ2QsU0FBUyxFQUNULFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsVUFBVSxFQUNWLHlCQUF5QixFQUN6QixlQUFlLEVBQ2YsUUFBUSxFQUNSLFlBQVksRUFDWixtQkFBbUIsRUFDbkIsWUFBWSxFQUNaLFNBQVMsRUFDVCxXQUFXLEVBQ1gsV0FBVyxFQUNYLFlBQVksRUFDWixhQUFhLEVBQ2IsZUFBZSxFQUNmLG1CQUFtQixFQUNuQixVQUFVLEVBQ1YsT0FBTyxFQUNQLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLE9BQU8sRUFDUCxpQkFBaUIsRUFDakIsY0FBYyxFQUNkLGVBQWUsRUFDZixVQUFVLEVBQ1YsV0FBVyxFQUNYLGVBQWUsRUFDZixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLElBQUksRUFDSixhQUFhLEVBQ2IsWUFBWSxFQUNaLFFBQVEsRUFDUixZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLFlBQVksRUFDWixxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxLQUFLLEVBQ0wsbUJBQW1CLEVBQ25CLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsd0JBQXdCLEVBQ3hCLFdBQVcsRUFDWCxrQkFBa0IsRUFDbEIsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLHdCQUF3QixFQUN4Qix5QkFBeUIsRUFDekIsWUFBWSxFQUNaLGFBQWEsRUFDYixpQkFBaUIsRUFDakIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsYUFBYSxFQUNiLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLHFCQUFxQixFQUN4QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsWUFBWSxFQUNaLGNBQWMsRUFDZCxNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsVUFBVSxFQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvYnVpbGQtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvY3VycmVuY3ktY29uc3RhbnRzJztcbmV4cG9ydCB7XG4gICAgYXBwZW5kTm9kZSxcbiAgICBpbnNlcnRCZWZvcmUsXG4gICAgaW5zZXJ0QWZ0ZXIsXG4gICAgcmVtb3ZlTm9kZSxcbiAgICByZW1vdmVDbGFzcyxcbiAgICBhZGRDbGFzcyxcbiAgICBzd2l0Y2hDbGFzcyxcbiAgICB0b2dnbGVDbGFzcyxcbiAgICBzZXRDU1MsXG4gICAgc2V0Q1NTRnJvbU9iaixcbiAgICBzZXRQcm9wZXJ0eSxcbiAgICBzZXRBdHRyLFxuICAgIHNldEh0bWwsXG4gICAgcmVtb3ZlQXR0cixcbiAgICBjcmVhdGVFbGVtZW50LFxuICAgIHRvRGltZW5zaW9uXG59IGZyb20gJy4vdXRpbHMvZG9tJztcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMvZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9ldmVudC1ub3RpZmllcic7XG5leHBvcnQge1xuICAgIFBhcnNlRXhwclJlc3VsdCxcbiAgICAkcGFyc2VFeHByLFxuICAgICRwYXJzZUV2ZW50LFxuICAgIHJlZ2lzdGVyRm5CeUV4cHIsXG4gICAgc2V0UGlwZVByb3ZpZGVyLFxuICAgIGdldEZuQnlFeHByLFxuICAgIGdldEZuRm9yQmluZEV4cHIsXG4gICAgZ2V0Rm5Gb3JFdmVudEV4cHJcbn0gZnJvbSAnLi91dGlscy9leHByZXNzaW9uLXBhcnNlcic7XG5leHBvcnQge1xuICAgIEVWRU5UX0xJRkUsXG4gICAgaXNEZWZpbmVkLFxuICAgIGlzT2JqZWN0LFxuICAgIHRvQm9vbGVhbixcbiAgICBpc0lFLFxuICAgIGlzQW5kcm9pZCxcbiAgICBpc0FuZHJvaWRUYWJsZXQsXG4gICAgaXNJcGhvbmUsXG4gICAgaXNJcG9kLFxuICAgIGlzSXBhZCxcbiAgICBpc0lvcyxcbiAgICBpc1NhZmFyaSxcbiAgICBpc0xhcmdlVGFibGV0TGFuZHNjYXBlLFxuICAgIGlzTGFyZ2VUYWJsZXRQb3J0cmFpdCxcbiAgICBpc01vYmlsZSxcbiAgICBnZXRBbmRyb2lkVmVyc2lvbixcbiAgICBpc0tpdGthdERldmljZSxcbiAgICBlbmNvZGVVcmwsXG4gICAgZW5jb2RlVXJsUGFyYW1zLFxuICAgIGluaXRDYXBzLFxuICAgIHNwYWNlU2VwYXJhdGUsXG4gICAgcmVwbGFjZUF0LFxuICAgIHBlcmlvZFNlcGFyYXRlLFxuICAgIHByZXR0aWZ5TGFiZWwsXG4gICAgZGVIeXBoZW5hdGUsXG4gICAgcHJldHRpZnlMYWJlbHMsXG4gICAgaXNJbnNlY3VyZUNvbnRlbnRSZXF1ZXN0LFxuICAgIHN0cmluZ1N0YXJ0c1dpdGgsXG4gICAgZ2V0RXZhbHVhdGVkRXhwclZhbHVlLFxuICAgIGlzSW1hZ2VGaWxlLFxuICAgIGlzQXVkaW9GaWxlLFxuICAgIGlzVmlkZW9GaWxlLFxuICAgIGlzVmFsaWRXZWJVUkwsXG4gICAgZ2V0UmVzb3VyY2VVUkwsXG4gICAgdHJpZ2dlckZuLFxuICAgIGhhc09mZnNldFN0cixcbiAgICBnZXRGb3JtYXR0ZWREYXRlLFxuICAgIGdldERhdGVPYmosXG4gICAgYWRkRXZlbnRMaXN0ZW5lck9uRWxlbWVudCxcbiAgICBnZXRDbG9uZWRPYmplY3QsXG4gICAgZ2V0RmlsZXMsXG4gICAgZ2VuZXJhdGVHVUlkLFxuICAgIHZhbGlkYXRlQWNjZXNzUm9sZXMsXG4gICAgZ2V0VmFsaWRKU09OLFxuICAgIHhtbFRvSnNvbixcbiAgICBmaW5kVmFsdWVPZixcbiAgICBleHRyYWN0VHlwZSxcbiAgICBpc051bWJlclR5cGUsXG4gICAgaXNFbXB0eU9iamVjdCxcbiAgICBzY3JvbGxUb0VsZW1lbnQsXG4gICAgaXNFbGVtZW50SW5WaWV3cG9ydCxcbiAgICBpc1BhZ2VhYmxlLFxuICAgIHJlcGxhY2UsXG4gICAgaXNEYXRlVGltZVR5cGUsXG4gICAgZ2V0VmFsaWREYXRlT2JqZWN0LFxuICAgIGdldE5hdGl2ZURhdGVPYmplY3QsXG4gICAgZ2V0QmxvYixcbiAgICBpc0VxdWFsV2l0aEZpZWxkcyxcbiAgICBsb2FkU3R5bGVTaGVldCxcbiAgICBsb2FkU3R5bGVTaGVldHMsXG4gICAgbG9hZFNjcmlwdCxcbiAgICBsb2FkU2NyaXB0cyxcbiAgICBfV01fQVBQX1BST0pFQ1QsXG4gICAgc2V0U2Vzc2lvblN0b3JhZ2VJdGVtLFxuICAgIGdldFNlc3Npb25TdG9yYWdlSXRlbSxcbiAgICBub29wLFxuICAgIGNvbnZlcnRUb0Jsb2IsXG4gICAgQXBwQ29uc3RhbnRzLFxuICAgIG9wZW5MaW5rLFxuICAgIGZldGNoQ29udGVudCxcbiAgICB0b1Byb21pc2UsXG4gICAgcmV0cnlJZkZhaWxzLFxuICAgIGdldEFib3J0YWJsZURlZmVyLFxuICAgIGNyZWF0ZUNTU1J1bGUsXG4gICAgZ2V0VXJsUGFyYW1zLFxuICAgIGdldE1vbWVudExvY2FsZU9iamVjdCxcbiAgICBnZXRSb3V0ZU5hbWVGcm9tTGluayxcbiAgICBpc0FwcGxlUHJvZHVjdCxcbiAgICBkZWZlcixcbiAgICBleGVjdXRlUHJvbWlzZUNoYWluLFxuICAgIGlzRGF0YVNvdXJjZUVxdWFsLFxuICAgIHZhbGlkYXRlRGF0YVNvdXJjZUN0eCxcbiAgICBwcm9jZXNzRmlsdGVyRXhwQmluZE5vZGUsXG4gICAgZXh0ZW5kUHJvdG8sXG4gICAgcmVtb3ZlRXh0cmFTbGFzaGVzLFxuICAgIGdldERpc3BsYXlEYXRlVGltZUZvcm1hdCxcbiAgICBhZGRGb3JJZEF0dHJpYnV0ZXMsXG4gICAgYWRqdXN0Q29udGFpbmVyUG9zaXRpb24sXG4gICAgYWRqdXN0Q29udGFpbmVyUmlnaHRFZGdlcyxcbiAgICBzZXRUcmFuc2xhdGlvbjNkUG9zaXRpb24sXG4gICAgZ2V0V2Via2l0VHJhc2xhdGlvbk1hdHJpeCxcbiAgICBjbG9zZVBvcG92ZXIsXG4gICAgZGV0ZWN0Q2hhbmdlcyxcbiAgICB0cmlnZ2VySXRlbUFjdGlvbixcbiAgICBnZXREYXRhc291cmNlRnJvbUV4cHIsXG4gICAgZXh0cmFjdEN1cnJlbnRJdGVtRXhwcixcbiAgICBmaW5kUm9vdENvbnRhaW5lcixcbiAgICBWQUxJREFUT1IsXG4gICAgdHJhbnNmb3JtRmlsZVVSSSxcbiAgICBhcHBlbmRTY3JpcHRUb0hlYWQsXG4gICAgZ2V0QXBwU2V0dGluZyxcbiAgICBzZXRMaXN0Q2xhc3MsXG4gICAgZmluZFBhcmVudCxcbiAgICBnZXROYXZDbGFzcyxcbiAgICBnZXRTaGVldFBvc2l0aW9uQ2xhc3Ncbn0gZnJvbSAnLi91dGlscy91dGlscyc7XG5leHBvcnQge1xuICAgIEZJUlNUX1RJTUVfV0FUQ0gsXG4gICAgaXNGaXJzdFRpbWVDaGFuZ2UsXG4gICAgZGVib3VuY2UsXG4gICAgbXV0ZVdhdGNoZXJzLFxuICAgIHVuTXV0ZVdhdGNoZXJzLFxuICAgICR3YXRjaCxcbiAgICAkdW53YXRjaCxcbiAgICBzZXROZ1pvbmUsXG4gICAgc2V0QXBwUmVmLFxuICAgIGlzQ2hhbmdlRnJvbVdhdGNoLFxuICAgIHJlc2V0Q2hhbmdlRnJvbVdhdGNoLFxuICAgICRpbnZva2VXYXRjaGVycyxcbiAgICAkYXBwRGlnZXN0XG59IGZyb20gJy4vdXRpbHMvd2F0Y2hlcic7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2lkLWdlbmVyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL3R5cGVzJztcbmV4cG9ydCB7IFZpZXdwb3J0LCBWaWV3cG9ydEV2ZW50IH0gZnJvbSAnLi9zZXJ2aWNlcy92aWV3cG9ydC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY29uc3RhbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3V0aWxzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9maWVsZC10eXBlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9maWVsZC13aWRnZXQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3NjcmlwdC1sb2FkZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL3VzZXItY3VzdG9tLXBpcGUtbWFuYWdlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY3VzdG9tLWljb25zLWxvYWRlci5zZXJ2aWNlJztcbmV4cG9ydCB7IFN0YXRlUGVyc2lzdGVuY2UgfSBmcm9tICcuL3NlcnZpY2VzL3N0YXRlLXBlcnNpc3RlbmNlLnNlcnZpY2UnO1xuZXhwb3J0IHsgUGFnaW5hdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BhZ2luYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL3dtLXByb2plY3QtcHJvcGVydGllcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2xydS1jYWNoZSc7XG4iXX0=
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsT0FBTyxFQUNILFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFVBQVUsRUFDVixXQUFXLEVBQ1gsUUFBUSxFQUNSLFdBQVcsRUFDWCxXQUFXLEVBQ1gsTUFBTSxFQUNOLGFBQWEsRUFDYixXQUFXLEVBQ1gsT0FBTyxFQUNQLE9BQU8sRUFDUCxVQUFVLEVBQ1YsYUFBYSxFQUNiLFdBQVcsRUFDZCxNQUFNLGFBQWEsQ0FBQztBQUNyQixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLE9BQU8sRUFFSCxVQUFVLEVBQ1YsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixlQUFlLEVBQ2YsV0FBVyxFQUNYLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDcEIsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEVBRUgsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsRUFDVCxlQUFlLEVBQ2YsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLFNBQVMsRUFDVCxlQUFlLEVBQ2YsUUFBUSxFQUNSLGFBQWEsRUFDYixTQUFTLEVBQ1QsY0FBYyxFQUNkLGFBQWEsRUFDYixXQUFXLEVBQ1gsY0FBYyxFQUNkLHdCQUF3QixFQUN4QixnQkFBZ0IsRUFDaEIscUJBQXFCLEVBQ3JCLFdBQVcsRUFDWCxXQUFXLEVBQ1gsV0FBVyxFQUNYLGVBQWUsRUFDZixhQUFhLEVBQ2IsY0FBYyxFQUNkLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVix5QkFBeUIsRUFDekIsZUFBZSxFQUNmLFFBQVEsRUFDUixZQUFZLEVBQ1osbUJBQW1CLEVBQ25CLFlBQVksRUFDWixTQUFTLEVBQ1QsV0FBVyxFQUNYLFdBQVcsRUFDWCxZQUFZLEVBQ1osYUFBYSxFQUNiLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLE9BQU8sRUFDUCxjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFdBQVcsRUFDWCxlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLHFCQUFxQixFQUNyQixJQUFJLEVBQ0osYUFBYSxFQUNiLFlBQVksRUFDWixRQUFRLEVBQ1IsWUFBWSxFQUNaLFNBQVMsRUFDVCxZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixZQUFZLEVBQ1oscUJBQXFCLEVBQ3JCLG9CQUFvQixFQUNwQixjQUFjLEVBQ2QsS0FBSyxFQUNMLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIscUJBQXFCLEVBQ3JCLHdCQUF3QixFQUN4QixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLHdCQUF3QixFQUN4QixrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6Qix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLFlBQVksRUFDWixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxxQkFBcUIsRUFDeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsUUFBUSxFQUNSLFlBQVksRUFDWixjQUFjLEVBQ2QsTUFBTSxFQUNOLFFBQVEsRUFDUixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixlQUFlLEVBQ2YsVUFBVSxFQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFpQixNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb3JlXG4gKi9cbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvYnVpbGQtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvY3VycmVuY3ktY29uc3RhbnRzJztcbmV4cG9ydCB7XG4gICAgYXBwZW5kTm9kZSxcbiAgICBpbnNlcnRCZWZvcmUsXG4gICAgaW5zZXJ0QWZ0ZXIsXG4gICAgcmVtb3ZlTm9kZSxcbiAgICByZW1vdmVDbGFzcyxcbiAgICBhZGRDbGFzcyxcbiAgICBzd2l0Y2hDbGFzcyxcbiAgICB0b2dnbGVDbGFzcyxcbiAgICBzZXRDU1MsXG4gICAgc2V0Q1NTRnJvbU9iaixcbiAgICBzZXRQcm9wZXJ0eSxcbiAgICBzZXRBdHRyLFxuICAgIHNldEh0bWwsXG4gICAgcmVtb3ZlQXR0cixcbiAgICBjcmVhdGVFbGVtZW50LFxuICAgIHRvRGltZW5zaW9uXG59IGZyb20gJy4vdXRpbHMvZG9tJztcbmV4cG9ydCAqIGZyb20gJy4vZW51bXMvZW51bXMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9ldmVudC1ub3RpZmllcic7XG5leHBvcnQge1xuICAgIFBhcnNlRXhwclJlc3VsdCxcbiAgICAkcGFyc2VFeHByLFxuICAgICRwYXJzZUV2ZW50LFxuICAgIHJlZ2lzdGVyRm5CeUV4cHIsXG4gICAgc2V0UGlwZVByb3ZpZGVyLFxuICAgIGdldEZuQnlFeHByLFxuICAgIGdldEZuRm9yQmluZEV4cHIsXG4gICAgZ2V0Rm5Gb3JFdmVudEV4cHJcbn0gZnJvbSAnLi91dGlscy9leHByZXNzaW9uLXBhcnNlcic7XG5leHBvcnQge1xuICAgIEVWRU5UX0xJRkUsXG4gICAgaXNEZWZpbmVkLFxuICAgIGlzT2JqZWN0LFxuICAgIHRvQm9vbGVhbixcbiAgICBpc0lFLFxuICAgIGlzQW5kcm9pZCxcbiAgICBpc0FuZHJvaWRUYWJsZXQsXG4gICAgaXNJcGhvbmUsXG4gICAgaXNJcG9kLFxuICAgIGlzSXBhZCxcbiAgICBpc0lvcyxcbiAgICBpc1NhZmFyaSxcbiAgICBpc0xhcmdlVGFibGV0TGFuZHNjYXBlLFxuICAgIGlzTGFyZ2VUYWJsZXRQb3J0cmFpdCxcbiAgICBpc01vYmlsZSxcbiAgICBnZXRBbmRyb2lkVmVyc2lvbixcbiAgICBpc0tpdGthdERldmljZSxcbiAgICBlbmNvZGVVcmwsXG4gICAgZW5jb2RlVXJsUGFyYW1zLFxuICAgIGluaXRDYXBzLFxuICAgIHNwYWNlU2VwYXJhdGUsXG4gICAgcmVwbGFjZUF0LFxuICAgIHBlcmlvZFNlcGFyYXRlLFxuICAgIHByZXR0aWZ5TGFiZWwsXG4gICAgZGVIeXBoZW5hdGUsXG4gICAgcHJldHRpZnlMYWJlbHMsXG4gICAgaXNJbnNlY3VyZUNvbnRlbnRSZXF1ZXN0LFxuICAgIHN0cmluZ1N0YXJ0c1dpdGgsXG4gICAgZ2V0RXZhbHVhdGVkRXhwclZhbHVlLFxuICAgIGlzSW1hZ2VGaWxlLFxuICAgIGlzQXVkaW9GaWxlLFxuICAgIGlzVmlkZW9GaWxlLFxuICAgIGlzVmFsaWRJbWFnZVVybCxcbiAgICBpc1ZhbGlkV2ViVVJMLFxuICAgIGdldFJlc291cmNlVVJMLFxuICAgIHRyaWdnZXJGbixcbiAgICBoYXNPZmZzZXRTdHIsXG4gICAgZ2V0Rm9ybWF0dGVkRGF0ZSxcbiAgICBnZXREYXRlT2JqLFxuICAgIGFkZEV2ZW50TGlzdGVuZXJPbkVsZW1lbnQsXG4gICAgZ2V0Q2xvbmVkT2JqZWN0LFxuICAgIGdldEZpbGVzLFxuICAgIGdlbmVyYXRlR1VJZCxcbiAgICB2YWxpZGF0ZUFjY2Vzc1JvbGVzLFxuICAgIGdldFZhbGlkSlNPTixcbiAgICB4bWxUb0pzb24sXG4gICAgZmluZFZhbHVlT2YsXG4gICAgZXh0cmFjdFR5cGUsXG4gICAgaXNOdW1iZXJUeXBlLFxuICAgIGlzRW1wdHlPYmplY3QsXG4gICAgc2Nyb2xsVG9FbGVtZW50LFxuICAgIGlzRWxlbWVudEluVmlld3BvcnQsXG4gICAgaXNQYWdlYWJsZSxcbiAgICByZXBsYWNlLFxuICAgIGlzRGF0ZVRpbWVUeXBlLFxuICAgIGdldFZhbGlkRGF0ZU9iamVjdCxcbiAgICBnZXROYXRpdmVEYXRlT2JqZWN0LFxuICAgIGdldEJsb2IsXG4gICAgaXNFcXVhbFdpdGhGaWVsZHMsXG4gICAgbG9hZFN0eWxlU2hlZXQsXG4gICAgbG9hZFN0eWxlU2hlZXRzLFxuICAgIGxvYWRTY3JpcHQsXG4gICAgbG9hZFNjcmlwdHMsXG4gICAgX1dNX0FQUF9QUk9KRUNULFxuICAgIHNldFNlc3Npb25TdG9yYWdlSXRlbSxcbiAgICBnZXRTZXNzaW9uU3RvcmFnZUl0ZW0sXG4gICAgbm9vcCxcbiAgICBjb252ZXJ0VG9CbG9iLFxuICAgIEFwcENvbnN0YW50cyxcbiAgICBvcGVuTGluayxcbiAgICBmZXRjaENvbnRlbnQsXG4gICAgdG9Qcm9taXNlLFxuICAgIHJldHJ5SWZGYWlscyxcbiAgICBnZXRBYm9ydGFibGVEZWZlcixcbiAgICBjcmVhdGVDU1NSdWxlLFxuICAgIGdldFVybFBhcmFtcyxcbiAgICBnZXRNb21lbnRMb2NhbGVPYmplY3QsXG4gICAgZ2V0Um91dGVOYW1lRnJvbUxpbmssXG4gICAgaXNBcHBsZVByb2R1Y3QsXG4gICAgZGVmZXIsXG4gICAgZXhlY3V0ZVByb21pc2VDaGFpbixcbiAgICBpc0RhdGFTb3VyY2VFcXVhbCxcbiAgICB2YWxpZGF0ZURhdGFTb3VyY2VDdHgsXG4gICAgcHJvY2Vzc0ZpbHRlckV4cEJpbmROb2RlLFxuICAgIGV4dGVuZFByb3RvLFxuICAgIHJlbW92ZUV4dHJhU2xhc2hlcyxcbiAgICBnZXREaXNwbGF5RGF0ZVRpbWVGb3JtYXQsXG4gICAgYWRkRm9ySWRBdHRyaWJ1dGVzLFxuICAgIGFkanVzdENvbnRhaW5lclBvc2l0aW9uLFxuICAgIGFkanVzdENvbnRhaW5lclJpZ2h0RWRnZXMsXG4gICAgc2V0VHJhbnNsYXRpb24zZFBvc2l0aW9uLFxuICAgIGdldFdlYmtpdFRyYXNsYXRpb25NYXRyaXgsXG4gICAgY2xvc2VQb3BvdmVyLFxuICAgIGRldGVjdENoYW5nZXMsXG4gICAgdHJpZ2dlckl0ZW1BY3Rpb24sXG4gICAgZ2V0RGF0YXNvdXJjZUZyb21FeHByLFxuICAgIGV4dHJhY3RDdXJyZW50SXRlbUV4cHIsXG4gICAgZmluZFJvb3RDb250YWluZXIsXG4gICAgVkFMSURBVE9SLFxuICAgIHRyYW5zZm9ybUZpbGVVUkksXG4gICAgYXBwZW5kU2NyaXB0VG9IZWFkLFxuICAgIGdldEFwcFNldHRpbmcsXG4gICAgc2V0TGlzdENsYXNzLFxuICAgIGZpbmRQYXJlbnQsXG4gICAgZ2V0TmF2Q2xhc3MsXG4gICAgZ2V0U2hlZXRQb3NpdGlvbkNsYXNzXG59IGZyb20gJy4vdXRpbHMvdXRpbHMnO1xuZXhwb3J0IHtcbiAgICBGSVJTVF9USU1FX1dBVENILFxuICAgIGlzRmlyc3RUaW1lQ2hhbmdlLFxuICAgIGRlYm91bmNlLFxuICAgIG11dGVXYXRjaGVycyxcbiAgICB1bk11dGVXYXRjaGVycyxcbiAgICAkd2F0Y2gsXG4gICAgJHVud2F0Y2gsXG4gICAgJHVud2F0Y2hBbGwsXG4gICAgJHVud2F0Y2hBbGxCeVNjb3BlLFxuICAgIHNldE5nWm9uZSxcbiAgICBzZXRBcHBSZWYsXG4gICAgaXNDaGFuZ2VGcm9tV2F0Y2gsXG4gICAgcmVzZXRDaGFuZ2VGcm9tV2F0Y2gsXG4gICAgJGludm9rZVdhdGNoZXJzLFxuICAgICRhcHBEaWdlc3Rcbn0gZnJvbSAnLi91dGlscy93YXRjaGVyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvaWQtZ2VuZXJhdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMvdHlwZXMnO1xuZXhwb3J0IHsgVmlld3BvcnQsIFZpZXdwb3J0RXZlbnQgfSBmcm9tICcuL3NlcnZpY2VzL3ZpZXdwb3J0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jb25zdGFudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvdXRpbHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2ZpZWxkLXR5cGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2ZpZWxkLXdpZGdldC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvc2NyaXB0LWxvYWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvdXNlci1jdXN0b20tcGlwZS1tYW5hZ2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jdXN0b20taWNvbnMtbG9hZGVyLnNlcnZpY2UnO1xuZXhwb3J0IHsgU3RhdGVQZXJzaXN0ZW5jZSB9IGZyb20gJy4vc2VydmljZXMvc3RhdGUtcGVyc2lzdGVuY2Uuc2VydmljZSc7XG5leHBvcnQgeyBQYWdpbmF0aW9uU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcGFnaW5hdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvd20tcHJvamVjdC1wcm9wZXJ0aWVzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMvbHJ1LWNhY2hlJztcbiJdfQ==
@@ -18,9 +18,11 @@ export class Viewport {
18
18
  this.isTabletType = false;
19
19
  this._eventNotifier = new EventNotifier(true);
20
20
  this.setScreenType();
21
- window.addEventListener("resize" /* ViewportEvent.RESIZE */, this.resizeFn.bind(this));
22
- const query = window.matchMedia('(orientation: portrait)');
23
- if (query.matches) {
21
+ // MEMORY LEAK FIX: Store bound function reference for proper removal
22
+ this.boundResizeFn = this.resizeFn.bind(this);
23
+ window.addEventListener("resize" /* ViewportEvent.RESIZE */, this.boundResizeFn);
24
+ this.mediaQuery = window.matchMedia('(orientation: portrait)');
25
+ if (this.mediaQuery.matches) {
24
26
  this.orientation.isPortrait = true;
25
27
  }
26
28
  else {
@@ -28,8 +30,10 @@ export class Viewport {
28
30
  }
29
31
  // Add a media query change listener
30
32
  // addEventListener is not supported ios browser
31
- if (query.addEventListener) {
32
- query.addEventListener('change', $event => this.orientationChange($event, !$event.matches));
33
+ if (this.mediaQuery.addEventListener) {
34
+ // MEMORY LEAK FIX: Store bound function reference for proper removal
35
+ this.boundOrientationChange = ($event) => this.orientationChange($event, !$event.matches);
36
+ this.mediaQuery.addEventListener('change', this.boundOrientationChange);
33
37
  }
34
38
  }
35
39
  update(selectedViewPort) {
@@ -56,14 +60,14 @@ export class Viewport {
56
60
  return this._eventNotifier.subscribe(eventName, callback);
57
61
  }
58
62
  notify(eventName, ...data) {
59
- this._eventNotifier.notify.apply(this._eventNotifier, arguments);
63
+ this._eventNotifier.notify(eventName, ...data);
60
64
  }
61
65
  setScreenType() {
62
66
  const $el = document.querySelector('.wm-app');
63
67
  this.screenWidth = $el.clientWidth;
64
68
  this.screenHeight = $el.clientHeight;
65
- var minValue = this.screenWidth < this.screenHeight ? this.screenWidth : this.screenHeight;
66
- var maxValue = this.screenWidth > this.screenHeight ? this.screenWidth : this.screenHeight;
69
+ // const minValue = this.screenWidth < this.screenHeight ? this.screenWidth : this.screenHeight;
70
+ // const maxValue = this.screenWidth > this.screenHeight ? this.screenWidth : this.screenHeight;
67
71
  this.isTabletType = false;
68
72
  this.isMobileType = false;
69
73
  if (get(this.selectedViewPort, 'deviceCategory')) {
@@ -95,7 +99,17 @@ export class Viewport {
95
99
  }
96
100
  ngOnDestroy() {
97
101
  this._eventNotifier.destroy();
98
- window.removeEventListener('resize', this.resizeFn);
102
+ // MEMORY LEAK FIX: Remove resize event listener using stored bound function reference
103
+ if (this.boundResizeFn) {
104
+ window.removeEventListener('resize', this.boundResizeFn);
105
+ this.boundResizeFn = null;
106
+ }
107
+ // MEMORY LEAK FIX: Remove media query orientation change listener
108
+ if (this.mediaQuery && this.boundOrientationChange && this.mediaQuery.removeEventListener) {
109
+ this.mediaQuery.removeEventListener('change', this.boundOrientationChange);
110
+ this.boundOrientationChange = null;
111
+ }
112
+ this.mediaQuery = null;
99
113
  }
100
114
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Viewport, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
101
115
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: Viewport, providedIn: 'root' }); }
@@ -104,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
104
118
  type: Injectable,
105
119
  args: [{ providedIn: 'root' }]
106
120
  }], ctorParameters: () => [] });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NlcnZpY2VzL3ZpZXdwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7QUFFOUIsSUFBSSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFDL0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDNUIsSUFBSSwwQkFBMEIsR0FBRyxJQUFJLENBQUM7QUFRdEMsTUFBTSxPQUFPLGdCQUFnQjtDQUc1QjtBQVFELE1BQU0sT0FBTyxRQUFRO0lBYWpCO1FBWk8sZ0JBQVcsR0FBRztZQUNqQixVQUFVLEVBQUUsS0FBSztZQUNqQixXQUFXLEVBQUUsS0FBSztTQUNyQixDQUFDO1FBQ0ssaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsbUJBQWMsR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQU01QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFFckIsTUFBTSxDQUFDLGdCQUFnQixzQ0FBdUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUV4RSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDM0QsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFV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QkFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxJQUFJLDZCQUFxQixDQUFDO2dCQUMvQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUM3QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN4RCxDQUFDOytHQXJHUSxRQUFRO21IQUFSLFFBQVEsY0FESSxNQUFNOzs0RkFDbEIsUUFBUTtrQkFEcEIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0V2ZW50Tm90aWZpZXJ9IGZyb20gJy4uL3V0aWxzL2V2ZW50LW5vdGlmaWVyJztcbmltcG9ydCB7aXNBbmRyb2lkLCBpc0FuZHJvaWRUYWJsZXQsIGlzSW9zfSBmcm9tICcuLi91dGlscy91dGlscyc7XG5pbXBvcnQge2dldH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5sZXQgTUlOSU1VTV9NT0JJTEVfV0lEVEggPSA0ODA7XG5sZXQgTUlOSU1VTV9UQUJfV0lEVEggPSA3Njg7XG5sZXQgTUlOSU1VTV9MQVJHRV9TQ1JFRU5fV0lEVEggPSAxMjAwO1xuXG5jb25zdCBlbnVtIFNDUkVFTl9UWVBFIHtcbiAgICBNT0JJTEUsXG4gICAgVEFCTEVULFxuICAgIExBUkdFX1NDUkVFTl9ERVZJQ0VTXG59XG5cbmV4cG9ydCBjbGFzcyBJVmlld3BvcnRTZXJ2aWNlIHtcbiAgICBub3RpZnk6IChldmVudG5hbWU6IFZpZXdwb3J0RXZlbnQsIG9wdGlvbnM/OiBBcnJheTxhbnk+KSA9PiB2b2lkO1xuICAgIHN1YnNjcmliZTogKGV2ZW50bmFtZTogVmlld3BvcnRFdmVudCwgY2FsbGJhY2s6IChkYXRhOiBhbnkpID0+IHZvaWQpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIFZpZXdwb3J0RXZlbnQge1xuICAgIE9SSUVOVEFUSU9OX0NIQU5HRSA9ICdvcmllbnRhdGlvbmNoYW5nZScsXG4gICAgUkVTSVpFID0gJ3Jlc2l6ZSdcbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgVmlld3BvcnQgaW1wbGVtZW50cyBJVmlld3BvcnRTZXJ2aWNlLCBPbkRlc3Ryb3kge1xuICAgIHB1YmxpYyBvcmllbnRhdGlvbiA9IHtcbiAgICAgICAgaXNQb3J0cmFpdDogZmFsc2UsXG4gICAgICAgIGlzTGFuZHNjYXBlOiBmYWxzZVxuICAgIH07XG4gICAgcHVibGljIGlzTW9iaWxlVHlwZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBpc1RhYmxldFR5cGUgPSBmYWxzZTtcbiAgICBwcml2YXRlIHR5cGU7XG4gICAgcHVibGljIF9ldmVudE5vdGlmaWVyID0gbmV3IEV2ZW50Tm90aWZpZXIodHJ1ZSk7XG4gICAgcHJpdmF0ZSBzY3JlZW5XaWR0aDtcbiAgICBwcml2YXRlIHNjcmVlbkhlaWdodDtcbiAgICBwcml2YXRlIHNlbGVjdGVkVmlld1BvcnQ6IGFueTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNldFNjcmVlblR5cGUoKTtcblxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihWaWV3cG9ydEV2ZW50LlJFU0laRSwgdGhpcy5yZXNpemVGbi5iaW5kKHRoaXMpKTtcblxuICAgICAgICBjb25zdCBxdWVyeSA9IHdpbmRvdy5tYXRjaE1lZGlhKCcob3JpZW50YXRpb246IHBvcnRyYWl0KScpO1xuICAgICAgICBpZiAocXVlcnkubWF0Y2hlcykge1xuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbi5pc1BvcnRyYWl0ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb24uaXNMYW5kc2NhcGUgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQWRkIGEgbWVkaWEgcXVlcnkgY2hhbmdlIGxpc3RlbmVyXG4gICAgICAgIC8vIGFkZEV2ZW50TGlzdGVuZXIgaXMgbm90IHN1cHBvcnRlZCBpb3MgYnJvd3NlclxuICAgICAgICBpZiAocXVlcnkuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgcXVlcnkuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgJGV2ZW50ID0+IHRoaXMub3JpZW50YXRpb25DaGFuZ2UoJGV2ZW50LCAhJGV2ZW50Lm1hdGNoZXMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZShzZWxlY3RlZFZpZXdQb3J0OiBPYmplY3QpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFZpZXdQb3J0ID0gc2VsZWN0ZWRWaWV3UG9ydDtcbiAgICAgICAgdGhpcy5zZXRTY3JlZW5UeXBlKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcmllbnRhdGlvbkNoYW5nZSgkZXZlbnQsIGlzTGFuZHNjYXBlKSB7XG4gICAgICAgIGlmIChpc0xhbmRzY2FwZSAhPT0gdGhpcy5vcmllbnRhdGlvbi5pc0xhbmRzY2FwZSkge1xuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbi5pc1BvcnRyYWl0ID0gIWlzTGFuZHNjYXBlO1xuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbi5pc0xhbmRzY2FwZSA9IGlzTGFuZHNjYXBlO1xuICAgICAgICAgICAgdGhpcy5ub3RpZnkoVmlld3BvcnRFdmVudC5PUklFTlRBVElPTl9DSEFOR0UsIHsgJGV2ZW50LCBkYXRhOiB7aXNQb3J0cmFpdDogIWlzTGFuZHNjYXBlLCBpc0xhbmRzY2FwZTogaXNMYW5kc2NhcGV9IH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNpemVGbigkZXZlbnQpIHtcbiAgICAgICAgY29uc3QgJGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLndtLWFwcCcpO1xuICAgICAgICBpZiAoISRlbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0U2NyZWVuVHlwZSgpO1xuICAgICAgICB0aGlzLm9yaWVudGF0aW9uQ2hhbmdlKCRldmVudCwgdGhpcy5zY3JlZW5XaWR0aCA+PSB0aGlzLnNjcmVlbkhlaWdodCk7XG4gICAgICAgIHRoaXMubm90aWZ5KFZpZXdwb3J0RXZlbnQuUkVTSVpFLCB7JGV2ZW50LCBkYXRhOiB7c2NyZWVuV2lkdGg6IHRoaXMuc2NyZWVuV2lkdGgsIHNjcmVlbkhlaWdodDogdGhpcy5zY3JlZW5IZWlnaHR9fSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrOiAoZGF0YTogYW55KSA9PiB2b2lkKTogKCkgPT4gdm9pZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ldmVudE5vdGlmaWVyLnN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbm90aWZ5KGV2ZW50TmFtZTogc3RyaW5nLCAuLi5kYXRhOiBBcnJheTxhbnk+KSB7XG4gICAgICAgIHRoaXMuX2V2ZW50Tm90aWZpZXIubm90aWZ5LmFwcGx5KHRoaXMuX2V2ZW50Tm90aWZpZXIsIGFyZ3VtZW50cyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTY3JlZW5UeXBlKCkge1xuICAgICAgICBjb25zdCAkZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud20tYXBwJyk7XG4gICAgICAgIHRoaXMuc2NyZWVuV2lkdGggPSAkZWwuY2xpZW50V2lkdGg7XG4gICAgICAgIHRoaXMuc2NyZWVuSGVpZ2h0ID0gJGVsLmNsaWVudEhlaWdodDtcblxuICAgICAgICB2YXIgbWluVmFsdWUgPSB0aGlzLnNjcmVlbldpZHRoIDwgdGhpcy5zY3JlZW5IZWlnaHQgPyB0aGlzLnNjcmVlbldpZHRoIDogdGhpcy5zY3JlZW5IZWlnaHQ7XG4gICAgICAgIHZhciBtYXhWYWx1ZSA9IHRoaXMuc2NyZWVuV2lkdGggPiB0aGlzLnNjcmVlbkhlaWdodCA/IHRoaXMuc2NyZWVuV2lkdGggOiB0aGlzLnNjcmVlbkhlaWdodDtcblxuICAgICAgICB0aGlzLmlzVGFibGV0VHlwZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzTW9iaWxlVHlwZSA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChnZXQodGhpcy5zZWxlY3RlZFZpZXdQb3J0LCAnZGV2aWNlQ2F0ZWdvcnknKSkge1xuICAgICAgICAgICAgY29uc3QgZGV2aWNlQ2F0ZWdvcnkgPSB0aGlzLnNlbGVjdGVkVmlld1BvcnQuZGV2aWNlQ2F0ZWdvcnk7XG4gICAgICAgICAgICBpZiAoZGV2aWNlQ2F0ZWdvcnkgPT09ICdUYWInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1RhYmxldFR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChkZXZpY2VDYXRlZ29yeSA9PT0gJ1NtYXJ0cGhvbmUnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZVR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgIE1JTklNVU1fTU9CSUxFX1dJRFRIID0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tc2NyZWVuLXhzJykpIHx8IDQ4MDtcbiAgICAgICAgICAgICBNSU5JTVVNX1RBQl9XSURUSCA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNjcmVlbi1zbScpKSB8fCA3Njg7XG4gICAgICAgICAgICAgTUlOSU1VTV9MQVJHRV9TQ1JFRU5fV0lEVEggPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1zY3JlZW4tbGcnKSkgfHwgMTIwMDtcbiAgICAgICAgICAgIGlmICh0aGlzLnNjcmVlbldpZHRoID49IE1JTklNVU1fTEFSR0VfU0NSRUVOX1dJRFRIKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1RhYmxldFR5cGUgPSBpc0FuZHJvaWQoKSB8fCBpc0lvcygpIHx8IGlzQW5kcm9pZFRhYmxldCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNNb2JpbGVUeXBlID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2NyZWVuV2lkdGggPj0gTUlOSU1VTV9UQUJfV0lEVEgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGUgPSBTQ1JFRU5fVFlQRS5UQUJMRVQ7XG4gICAgICAgICAgICAgICAgdGhpcy5pc1RhYmxldFR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnR5cGUgPSBTQ1JFRU5fVFlQRS5NT0JJTEU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZVR5cGUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX2V2ZW50Tm90aWZpZXIuZGVzdHJveSgpO1xuICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5yZXNpemVGbik7XG4gICAgfVxufVxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3BvcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL3NlcnZpY2VzL3ZpZXdwb3J0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDdEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLFdBQVcsQ0FBQzs7QUFFOUIsSUFBSSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFDL0IsSUFBSSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFDNUIsSUFBSSwwQkFBMEIsR0FBRyxJQUFJLENBQUM7QUFRdEMsTUFBTSxPQUFPLGdCQUFnQjtDQUc1QjtBQVFELE1BQU0sT0FBTyxRQUFRO0lBZ0JqQjtRQWZPLGdCQUFXLEdBQUc7WUFDakIsVUFBVSxFQUFFLEtBQUs7WUFDakIsV0FBVyxFQUFFLEtBQUs7U0FDckIsQ0FBQztRQUNLLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG1CQUFjLEdBQUcsSUFBSSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFTNUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxnQkFBZ0Isc0NBQXVCLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsQ0FBQztR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SSxDQUFDLElBQUksNkJBQXFCLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQzdCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRTlCLHNGQUFzRjtRQUN0RixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM5QixDQUFDO1FBRUQsa0VBQWtFO1FBQ2xFLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsc0JBQXNCLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3hGLElBQUksQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1lBQzNFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7UUFDdkMsQ0FBQztRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7K0dBeEhRLFFBQVE7bUhBQVIsUUFBUSxjQURJLE1BQU07OzRGQUNsQixRQUFRO2tCQURwQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RXZlbnROb3RpZmllcn0gZnJvbSAnLi4vdXRpbHMvZXZlbnQtbm90aWZpZXInO1xuaW1wb3J0IHtpc0FuZHJvaWQsIGlzQW5kcm9pZFRhYmxldCwgaXNJb3N9IGZyb20gJy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7Z2V0fSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmxldCBNSU5JTVVNX01PQklMRV9XSURUSCA9IDQ4MDtcbmxldCBNSU5JTVVNX1RBQl9XSURUSCA9IDc2ODtcbmxldCBNSU5JTVVNX0xBUkdFX1NDUkVFTl9XSURUSCA9IDEyMDA7XG5cbmNvbnN0IGVudW0gU0NSRUVOX1RZUEUge1xuICAgIE1PQklMRSxcbiAgICBUQUJMRVQsXG4gICAgTEFSR0VfU0NSRUVOX0RFVklDRVNcbn1cblxuZXhwb3J0IGNsYXNzIElWaWV3cG9ydFNlcnZpY2Uge1xuICAgIG5vdGlmeTogKGV2ZW50bmFtZTogVmlld3BvcnRFdmVudCwgb3B0aW9ucz86IEFycmF5PGFueT4pID0+IHZvaWQ7XG4gICAgc3Vic2NyaWJlOiAoZXZlbnRuYW1lOiBWaWV3cG9ydEV2ZW50LCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IGVudW0gVmlld3BvcnRFdmVudCB7XG4gICAgT1JJRU5UQVRJT05fQ0hBTkdFID0gJ29yaWVudGF0aW9uY2hhbmdlJyxcbiAgICBSRVNJWkUgPSAncmVzaXplJ1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBWaWV3cG9ydCBpbXBsZW1lbnRzIElWaWV3cG9ydFNlcnZpY2UsIE9uRGVzdHJveSB7XG4gICAgcHVibGljIG9yaWVudGF0aW9uID0ge1xuICAgICAgICBpc1BvcnRyYWl0OiBmYWxzZSxcbiAgICAgICAgaXNMYW5kc2NhcGU6IGZhbHNlXG4gICAgfTtcbiAgICBwdWJsaWMgaXNNb2JpbGVUeXBlID0gZmFsc2U7XG4gICAgcHVibGljIGlzVGFibGV0VHlwZSA9IGZhbHNlO1xuICAgIHByaXZhdGUgdHlwZTtcbiAgICBwdWJsaWMgX2V2ZW50Tm90aWZpZXIgPSBuZXcgRXZlbnROb3RpZmllcih0cnVlKTtcbiAgICBwcml2YXRlIHNjcmVlbldpZHRoO1xuICAgIHByaXZhdGUgc2NyZWVuSGVpZ2h0O1xuICAgIHByaXZhdGUgc2VsZWN0ZWRWaWV3UG9ydDogYW55O1xuICAgIHByaXZhdGUgYm91bmRSZXNpemVGbjogKGV2ZW50OiBFdmVudCkgPT4gdm9pZDsgLy8gTUVNT1JZIExFQUsgRklYOiBTdG9yZSBib3VuZCBmdW5jdGlvblxuICAgIHByaXZhdGUgbWVkaWFRdWVyeTogTWVkaWFRdWVyeUxpc3Q7IC8vIE1FTU9SWSBMRUFLIEZJWDogU3RvcmUgbWVkaWEgcXVlcnkgcmVmZXJlbmNlIGZvciBjbGVhbnVwXG4gICAgcHJpdmF0ZSBib3VuZE9yaWVudGF0aW9uQ2hhbmdlOiAoZXZlbnQ6IE1lZGlhUXVlcnlMaXN0RXZlbnQpID0+IHZvaWQ7IC8vIE1FTU9SWSBMRUFLIEZJWDogU3RvcmUgYm91bmQgZnVuY3Rpb25cblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNldFNjcmVlblR5cGUoKTtcblxuICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IFN0b3JlIGJvdW5kIGZ1bmN0aW9uIHJlZmVyZW5jZSBmb3IgcHJvcGVyIHJlbW92YWxcbiAgICAgICAgdGhpcy5ib3VuZFJlc2l6ZUZuID0gdGhpcy5yZXNpemVGbi5iaW5kKHRoaXMpO1xuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihWaWV3cG9ydEV2ZW50LlJFU0laRSwgdGhpcy5ib3VuZFJlc2l6ZUZuKTtcblxuICAgICAgICB0aGlzLm1lZGlhUXVlcnkgPSB3aW5kb3cubWF0Y2hNZWRpYSgnKG9yaWVudGF0aW9uOiBwb3J0cmFpdCknKTtcbiAgICAgICAgaWYgKHRoaXMubWVkaWFRdWVyeS5tYXRjaGVzKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLmlzUG9ydHJhaXQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbi5pc0xhbmRzY2FwZSA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGQgYSBtZWRpYSBxdWVyeSBjaGFuZ2UgbGlzdGVuZXJcbiAgICAgICAgLy8gYWRkRXZlbnRMaXN0ZW5lciBpcyBub3Qgc3VwcG9ydGVkIGlvcyBicm93c2VyXG4gICAgICAgIGlmICh0aGlzLm1lZGlhUXVlcnkuYWRkRXZlbnRMaXN0ZW5lcikge1xuICAgICAgICAgICAgLy8gTUVNT1JZIExFQUsgRklYOiBTdG9yZSBib3VuZCBmdW5jdGlvbiByZWZlcmVuY2UgZm9yIHByb3BlciByZW1vdmFsXG4gICAgICAgICAgICB0aGlzLmJvdW5kT3JpZW50YXRpb25DaGFuZ2UgPSAoJGV2ZW50KSA9PiB0aGlzLm9yaWVudGF0aW9uQ2hhbmdlKCRldmVudCwgISRldmVudC5tYXRjaGVzKTtcbiAgICAgICAgICAgIHRoaXMubWVkaWFRdWVyeS5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmJvdW5kT3JpZW50YXRpb25DaGFuZ2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdXBkYXRlKHNlbGVjdGVkVmlld1BvcnQ6IG9iamVjdCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkVmlld1BvcnQgPSBzZWxlY3RlZFZpZXdQb3J0O1xuICAgICAgICB0aGlzLnNldFNjcmVlblR5cGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9yaWVudGF0aW9uQ2hhbmdlKCRldmVudCwgaXNMYW5kc2NhcGUpIHtcbiAgICAgICAgaWYgKGlzTGFuZHNjYXBlICE9PSB0aGlzLm9yaWVudGF0aW9uLmlzTGFuZHNjYXBlKSB7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLmlzUG9ydHJhaXQgPSAhaXNMYW5kc2NhcGU7XG4gICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uLmlzTGFuZHNjYXBlID0gaXNMYW5kc2NhcGU7XG4gICAgICAgICAgICB0aGlzLm5vdGlmeShWaWV3cG9ydEV2ZW50Lk9SSUVOVEFUSU9OX0NIQU5HRSwgeyAkZXZlbnQsIGRhdGE6IHtpc1BvcnRyYWl0OiAhaXNMYW5kc2NhcGUsIGlzTGFuZHNjYXBlOiBpc0xhbmRzY2FwZX0gfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2l6ZUZuKCRldmVudCkge1xuICAgICAgICBjb25zdCAkZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcud20tYXBwJyk7XG4gICAgICAgIGlmICghJGVsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRTY3JlZW5UeXBlKCk7XG4gICAgICAgIHRoaXMub3JpZW50YXRpb25DaGFuZ2UoJGV2ZW50LCB0aGlzLnNjcmVlbldpZHRoID49IHRoaXMuc2NyZWVuSGVpZ2h0KTtcbiAgICAgICAgdGhpcy5ub3RpZnkoVmlld3BvcnRFdmVudC5SRVNJWkUsIHskZXZlbnQsIGRhdGE6IHtzY3JlZW5XaWR0aDogdGhpcy5zY3JlZW5XaWR0aCwgc2NyZWVuSGVpZ2h0OiB0aGlzLnNjcmVlbkhlaWdodH19KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3Vic2NyaWJlKGV2ZW50TmFtZTogc3RyaW5nLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCk6ICgpID0+IHZvaWQge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXZlbnROb3RpZmllci5zdWJzY3JpYmUoZXZlbnROYW1lLCBjYWxsYmFjayk7XG4gICAgfVxuXG4gICAgcHVibGljIG5vdGlmeShldmVudE5hbWU6IHN0cmluZywgLi4uZGF0YTogQXJyYXk8YW55Pikge1xuICAgICAgICB0aGlzLl9ldmVudE5vdGlmaWVyLm5vdGlmeShldmVudE5hbWUsIC4uLmRhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2NyZWVuVHlwZSgpIHtcbiAgICAgICAgY29uc3QgJGVsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLndtLWFwcCcpO1xuICAgICAgICB0aGlzLnNjcmVlbldpZHRoID0gJGVsLmNsaWVudFdpZHRoO1xuICAgICAgICB0aGlzLnNjcmVlbkhlaWdodCA9ICRlbC5jbGllbnRIZWlnaHQ7XG5cbiAgICAgICAgLy8gY29uc3QgbWluVmFsdWUgPSB0aGlzLnNjcmVlbldpZHRoIDwgdGhpcy5zY3JlZW5IZWlnaHQgPyB0aGlzLnNjcmVlbldpZHRoIDogdGhpcy5zY3JlZW5IZWlnaHQ7XG4gICAgICAgIC8vIGNvbnN0IG1heFZhbHVlID0gdGhpcy5zY3JlZW5XaWR0aCA+IHRoaXMuc2NyZWVuSGVpZ2h0ID8gdGhpcy5zY3JlZW5XaWR0aCA6IHRoaXMuc2NyZWVuSGVpZ2h0O1xuXG4gICAgICAgIHRoaXMuaXNUYWJsZXRUeXBlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaXNNb2JpbGVUeXBlID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKGdldCh0aGlzLnNlbGVjdGVkVmlld1BvcnQsICdkZXZpY2VDYXRlZ29yeScpKSB7XG4gICAgICAgICAgICBjb25zdCBkZXZpY2VDYXRlZ29yeSA9ICh0aGlzLnNlbGVjdGVkVmlld1BvcnQgYXMgYW55KS5kZXZpY2VDYXRlZ29yeTtcbiAgICAgICAgICAgIGlmIChkZXZpY2VDYXRlZ29yeSA9PT0gJ1RhYicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVGFibGV0VHlwZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGRldmljZUNhdGVnb3J5ID09PSAnU21hcnRwaG9uZScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlVHlwZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgTUlOSU1VTV9NT0JJTEVfV0lEVEggPSBwYXJzZUludChnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1zY3JlZW4teHMnKSkgfHwgNDgwO1xuICAgICAgICAgICAgIE1JTklNVU1fVEFCX1dJRFRIID0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoJy0tc2NyZWVuLXNtJykpIHx8IDc2ODtcbiAgICAgICAgICAgICBNSU5JTVVNX0xBUkdFX1NDUkVFTl9XSURUSCA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5nZXRQcm9wZXJ0eVZhbHVlKCctLXNjcmVlbi1sZycpKSB8fCAxMjAwO1xuICAgICAgICAgICAgaWYgKHRoaXMuc2NyZWVuV2lkdGggPj0gTUlOSU1VTV9MQVJHRV9TQ1JFRU5fV0lEVEgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVGFibGV0VHlwZSA9IGlzQW5kcm9pZCgpIHx8IGlzSW9zKCkgfHwgaXNBbmRyb2lkVGFibGV0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc01vYmlsZVR5cGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zY3JlZW5XaWR0aCA+PSBNSU5JTVVNX1RBQl9XSURUSCkge1xuICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9IFNDUkVFTl9UWVBFLlRBQkxFVDtcbiAgICAgICAgICAgICAgICB0aGlzLmlzVGFibGV0VHlwZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9IFNDUkVFTl9UWVBFLk1PQklMRTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzTW9iaWxlVHlwZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5fZXZlbnROb3RpZmllci5kZXN0cm95KCk7XG4gICAgICAgIFxuICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IFJlbW92ZSByZXNpemUgZXZlbnQgbGlzdGVuZXIgdXNpbmcgc3RvcmVkIGJvdW5kIGZ1bmN0aW9uIHJlZmVyZW5jZVxuICAgICAgICBpZiAodGhpcy5ib3VuZFJlc2l6ZUZuKSB7XG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdGhpcy5ib3VuZFJlc2l6ZUZuKTtcbiAgICAgICAgICAgIHRoaXMuYm91bmRSZXNpemVGbiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IFJlbW92ZSBtZWRpYSBxdWVyeSBvcmllbnRhdGlvbiBjaGFuZ2UgbGlzdGVuZXJcbiAgICAgICAgaWYgKHRoaXMubWVkaWFRdWVyeSAmJiB0aGlzLmJvdW5kT3JpZW50YXRpb25DaGFuZ2UgJiYgdGhpcy5tZWRpYVF1ZXJ5LnJlbW92ZUV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMubWVkaWFRdWVyeS5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLmJvdW5kT3JpZW50YXRpb25DaGFuZ2UpO1xuICAgICAgICAgICAgdGhpcy5ib3VuZE9yaWVudGF0aW9uQ2hhbmdlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1lZGlhUXVlcnkgPSBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -78,4 +78,4 @@ export class PartialRefProvider {
78
78
  }
79
79
  export class CustomWidgetRefProvider {
80
80
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy90eXBlcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLGlEQUFJLENBQUE7SUFDSixxREFBTSxDQUFBO0lBQ04sdURBQU8sQ0FBQTtJQUNQLHFEQUFNLENBQUE7QUFDVixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEI7QUFFRCxNQUFNLE9BQU8sV0FBVztDQUV2QjtBQUVELElBQUssU0EwQ0o7QUExQ0QsV0FBSyxTQUFTO0lBQ1YseUNBQTRCLENBQUE7SUFDNUIsMkNBQThCLENBQUE7SUFDOUIsMkNBQThCLENBQUE7SUFDOUIsMkNBQThCLENBQUE7SUFDOUIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsd0NBQTJCLENBQUE7SUFDM0IsMkNBQThCLENBQUE7SUFDOUIsMERBQTZDLENBQUE7SUFDN0MsdUNBQTBCLENBQUE7SUFDMUIsdUNBQTBCLENBQUE7SUFDMUIsb0RBQXVDLENBQUE7SUFDdkMsb0VBQXVELENBQUE7SUFDdkQsOENBQWlDLENBQUE7SUFDakMsbUNBQXNCLENBQUE7SUFDdEIsMkRBQThDLENBQUE7SUFDOUMsb0VBQXVELENBQUE7SUFDdkQsc0RBQXlDLENBQUE7SUFDekMsNENBQStCLENBQUE7SUFDL0Isa0NBQXFCLENBQUE7SUFDckIsaUNBQW9CLENBQUE7SUFDcEIsb0RBQXVDLENBQUE7SUFDdkMsOENBQWlDLENBQUE7SUFDakMsd0NBQTJCLENBQUE7SUFDM0IsNERBQStDLENBQUE7SUFDL0MsdUNBQTBCLENBQUE7SUFDMUIsNkNBQWdDLENBQUE7SUFDaEMsb0RBQXVDLENBQUE7SUFDdkMsb0RBQXVDLENBQUE7SUFDdkMsMERBQTZDLENBQUE7SUFDN0MsMERBQTZDLENBQUE7SUFDN0MsNERBQStDLENBQUE7SUFDL0Msb0RBQXVDLENBQUE7SUFDdkMsaUNBQW9CLENBQUE7SUFDcEIsaUNBQW9CLENBQUE7SUFDcEIsdUNBQTBCLENBQUE7SUFDMUIsbURBQXNDLENBQUE7SUFDdEMsb0RBQXVDLENBQUE7SUFDdkMsOEJBQWlCLENBQUE7SUFDakIsNkNBQWdDLENBQUE7QUFDcEMsQ0FBQyxFQTFDSSxTQUFTLEtBQVQsU0FBUyxRQTBDYjtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixTQUFTO0NBQ1osQ0FBQztBQUVGLE1BQU0sT0FBZ0IsR0FBRztDQStDeEI7QUFHRCxNQUFNLE9BQWdCLHFCQUFxQjtDQWlCMUM7QUFFRCxNQUFNLE9BQWdCLG1CQUFtQjtDQW1CeEM7QUFFRCxNQUFNLE9BQWdCLG1CQUFtQjtDQWtCeEM7QUFFRCxNQUFNLE9BQWdCLHNCQUFzQjtDQWdCM0M7QUFFRCxNQUFNLE9BQWdCLHNCQUFzQjtDQU8zQztBQUNELE1BQU0sT0FBZ0IsMkJBQTJCO0NBRWhEO0FBVUQsTUFBTSxPQUFnQix5QkFBeUI7Q0FLOUM7QUFFRCxNQUFNLE9BQWdCLFdBQVc7Q0FNaEM7QUFFRCxNQUFNLE9BQWdCLDJCQUEyQjtDQUVoRDtBQUVELE1BQU0sT0FBZ0Isa0JBQWtCO0NBRXZDO0FBRUQsTUFBTSxPQUFnQix1QkFBdUI7Q0FFNUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDb21wb25lbnRUeXBlIHtcbiAgICBQQUdFLFxuICAgIFBSRUZBQixcbiAgICBQQVJUSUFMLFxuICAgIFdJREdFVFxufVxuXG5leHBvcnQgY2xhc3MgSURhdGFTb3VyY2Uge1xuICAgIGV4ZWN1dGU6IChvcGVyYXRpb246IE9wZXJhdGlvbiwgb3B0aW9ucz86IGFueSkgPT4gYm9vbGVhbiB8IHN0cmluZyB8IFByb21pc2U8YW55Pjtcbn1cblxuZW51bSBPcGVyYXRpb24ge1xuICAgIExJU1RfUkVDT1JEUyA9ICdsaXN0UmVjb3JkcycsXG4gICAgVVBEQVRFX1JFQ09SRCA9ICd1cGRhdGVSZWNvcmQnLFxuICAgIElOU0VSVF9SRUNPUkQgPSAnaW5zZXJ0UmVjb3JkJyxcbiAgICBERUxFVEVfUkVDT1JEID0gJ2RlbGV0ZVJlY29yZCcsXG4gICAgSU5WT0tFID0gJ2ludm9rZScsXG4gICAgVVBEQVRFID0gJ3VwZGF0ZScsXG4gICAgTk9USUZZID0gJ25vdGlmeScsXG4gICAgSVNfQVBJX0FXQVJFID0gJ2lzQXBpQXdhcmUnLFxuICAgIFNVUFBPUlRTX0NSVUQgPSAnc3VwcG9ydHNDUlVEJyxcbiAgICBTVVBQT1JUU19ESVNUSU5DVF9BUEkgPSAnc3VwcG9ydHNEaXN0aW5jdEFQSScsXG4gICAgSVNfUEFHRUFCTEUgPSAnaXNQYWdlYWJsZScsXG4gICAgSVNfU09SVEFCTEUgPSAnaXNTb3J0YWJsZScsXG4gICAgR0VUX09QRVJBVElPTl9UWVBFID0gJ2dldE9wZXJhdGlvblR5cGUnLFxuICAgIEdFVF9SRUxBVEVEX1BSSU1BUllfS0VZUyA9ICdnZXRSZWxhdGVkVGFibGVQcmltYXJ5S2V5cycsXG4gICAgR0VUX0VOVElUWV9OQU1FID0gJ2dldEVudGl0eU5hbWUnLFxuICAgIFNFVF9JTlBVVCA9ICdzZXRpbnB1dCcsXG4gICAgR0VUX1JFTEFURURfVEFCTEVfREFUQSA9ICdnZXRSZWxhdGVkVGFibGVEYXRhJyxcbiAgICBHRVRfRElTVElOQ1RfREFUQV9CWV9GSUVMRFMgPSAnZ2V0RGlzdGluY3REYXRhQnlGaWVsZHMnLFxuICAgIEdFVF9BR0dSRUdBVEVEX0RBVEEgPSAnZ2V0QWdncmVnYXRlZERhdGEnLFxuICAgIEdFVF9NQVRDSF9NT0RFID0gJ2dldE1hdGNoTW9kZScsXG4gICAgRE9XTkxPQUQgPSAnZG93bmxvYWQnLFxuICAgIEdFVF9OQU1FID0gJ2dldE5hbWUnLFxuICAgIEdFVF9QUk9QRVJUSUVTX01BUCA9ICdnZXRQcm9wZXJ0aWVzTWFwJyxcbiAgICBHRVRfUFJJTUFSWV9LRVkgPSAnZ2V0UHJpbWFyeUtleScsXG4gICAgR0VUX0JMT0JfVVJMID0gJ2dldEJsb2JVUkwnLFxuICAgIFNVUFBPUlRTX1NFUlZFUl9GSUxURVIgPSAnc3VwcG9ydHNTZXJ2ZXJGaWx0ZXInLFxuICAgIEdFVF9PUFRJT05TID0gJ2dldE9wdGlvbnMnLFxuICAgIFNFQVJDSF9SRUNPUkRTID0gJ3NlYXJjaFJlY29yZHMnLFxuICAgIEdFVF9SRVFVRVNUX1BBUkFNUyA9ICdnZXRSZXF1ZXN0UGFyYW1zJyxcbiAgICBHRVRfUEFHSU5HX09QVElPTlMgPSAnZ2V0UGFnaW5nT3B0aW9ucycsXG4gICAgRkVUQ0hfRElTVElOQ1RfVkFMVUVTID0gJ2ZldGNoRGlzdGluY3RWYWx1ZXMnLFxuICAgIEdFVF9VTklRVUVfSURFTlRJRklFUiA9ICdnZXRVbmlxdWVJZGVudGlmaWVyJyxcbiAgICBHRVRfQ09OVEVYVF9JREVOVElGSUVSID0gJ2dldENvbnRleHRJZGVudGlmaWVyJyxcbiAgICBJU19VUERBVEVfUkVRVUlSRUQgPSAnaXNVcGRhdGVSZXF1aXJlZCcsXG4gICAgQUREX0lURU0gPSAnYWRkSXRlbScsXG4gICAgU0VUX0lURU0gPSAnc2V0SXRlbScsXG4gICAgUkVNT1ZFX0lURU0gPSAncmVtb3ZlSXRlbScsXG4gICAgSVNfQk9VTkRfVE9fTE9DQUxFID0gJ2lzQm91bmRUb0xvY2FsZScsXG4gICAgR0VUX0RFRkFVTFRfTE9DQUxFID0gJ2dldERlZmF1bHRMb2NhbGUnLFxuICAgIENBTkNFTCA9ICdjYW5jZWwnLFxuICAgIFNFVF9QQUdJTkFUSU9OID0gJ3NldFBhZ2luYXRpb24nXG59XG5cbmV4cG9ydCBjb25zdCBEYXRhU291cmNlID0ge1xuICAgIE9wZXJhdGlvblxufTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFwcCB7XG4gICAgYXBwTG9jYWxlOiBhbnk7XG4gICAgVmFyaWFibGVzOiBhbnk7XG4gICAgQWN0aW9uczogYW55O1xuICAgIG9uQXBwVmFyaWFibGVzUmVhZHk6IEZ1bmN0aW9uO1xuICAgIG9uU2Vzc2lvblRpbWVvdXQ6IEZ1bmN0aW9uO1xuICAgIG9uQmVmb3JlQXBwUmVhZHk6IEZ1bmN0aW9uO1xuICAgIG9uUGFnZVJlYWR5OiBGdW5jdGlvbjtcbiAgICBvbkJlZm9yZVBhZ2VMZWF2ZTogRnVuY3Rpb247XG4gICAgb25CZWZvcmVTZXJ2aWNlQ2FsbDogRnVuY3Rpb247XG4gICAgb25TZXJ2aWNlU3VjY2VzczogRnVuY3Rpb247XG4gICAgb25TZXJ2aWNlRXJyb3I6IEZ1bmN0aW9uO1xuICAgIHByb2plY3ROYW1lOiBzdHJpbmc7XG4gICAgaXNQcmVmYWJUeXBlOiBib29sZWFuO1xuICAgIGlzQXBwbGljYXRpb25UeXBlOiBib29sZWFuO1xuICAgIHNldHdpZGdldExvY2FsZTogRnVuY3Rpb247XG4gICAgc2V0TW9kZTogRnVuY3Rpb247XG4gICAgaXNUYWJsZXRBcHBsaWNhdGlvblR5cGU6IGJvb2xlYW47XG4gICAgaXNUZW1wbGF0ZUJ1bmRsZVR5cGU6IGJvb2xlYW47XG4gICAgY2hhbmdlTG9jYWxlOiBGdW5jdGlvbjtcbiAgICBnZXRTZWxlY3RlZExvY2FsZTogRnVuY3Rpb247XG4gICAgc2V0VGltZXpvbmU6IEZ1bmN0aW9uO1xuICAgIHJlbG9hZDogRnVuY3Rpb247XG4gICAgb240MDE6IEZ1bmN0aW9uO1xuICAgIG5vdGlmeUFwcDogRnVuY3Rpb247XG4gICAgaW1wb3J0TW9kdWxlOiBGdW5jdGlvbjtcbiAgICBnZXREZXBlbmRlbmN5OiBGdW5jdGlvbjtcbiAgICBuZXR3b3JrU3RhdHVzOiBhbnk7XG4gICAgbm90aWZ5OiAoZXZlbnROYW1lOiBzdHJpbmcsIGRhdGE/OiBhbnkpID0+IHZvaWQ7XG4gICAgZGVwbG95ZWRVcmw6IHN0cmluZztcbiAgICBjdXN0b21VcmxTY2hlbWU6IHN0cmluZztcbiAgICBzZWxlY3RlZFZpZXdQb3J0OiBPYmplY3Q7XG4gICAgc3Vic2NyaWJlOiAoZXZlbnROYW1lLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkgPT4gKCkgPT4gdm9pZDtcbiAgICBkeW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmOiBhbnk7XG4gICAgY2xlYXJQYWdlQ2FjaGU6IChwYWdlTmFtZT86IHN0cmluZykgPT4gdm9pZDtcbiAgICBpc1ByaXNtOiBib29sZWFuO1xuXG4gICAgYWN0aXZlUGFnZU5hbWU6IHN0cmluZztcbiAgICBhY3RpdmVQYWdlOiBhbnk7XG4gICAgUGFnZTogYW55O1xuICAgIGFjdGl2ZVBhZ2VMb2FkVGltZTogbnVtYmVyO1xuICAgIGxhbmRpbmdQYWdlTmFtZTogc3RyaW5nO1xuICAgIGxhc3RBY3RpdmVQYWdlTmFtZTogc3RyaW5nO1xuICAgIGRldmljZUNhdGVnb3J5OiBzdHJpbmc7XG5cbiAgICBhY3RpdmVMYXlvdXROYW1lOiBzdHJpbmc7XG4gICAgbGF5b3V0UGFnZXM6IHN0cmluZ1tdO1xufVxuXG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERpYWxvZ1NlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCByZWdpc3RlcihuYW1lOiBzdHJpbmcsIGRpYWxvZ1JlZjogYW55LCBzY29wZTogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZGVSZWdpc3RlcihuYW1lOiBzdHJpbmcsIHNjb3BlOiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBvcGVuKG5hbWU6IHN0cmluZywgc2NvcGU/OiBhbnksIGluaXRTdGF0ZT86IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IGNsb3NlKG5hbWU6IHN0cmluZywgc2NvcGU/OiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzaG93QXBwQ29uZmlybURpYWxvZyhpbml0U3RhdGU/OiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBjbG9zZUFwcENvbmZpcm1EaWFsb2coKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0QXBwQ29uZmlybURpYWxvZygpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRBcHBDb25maXJtRGlhbG9nKGRpYWxvZ05hbWU6IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IGNsb3NlQWxsRGlhbG9nczogRnVuY3Rpb247XG4gICAgcHVibGljIGFic3RyYWN0IGFkZFRvT3BlbmVkRGlhbG9ncyhyZWY6IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldExhc3RPcGVuZWREaWFsb2coKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVtb3ZlRnJvbU9wZW5lZERpYWxvZ3MocmVmOiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRPcGVuZWREaWFsb2dzKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGFkZFRvQ2xvc2VkRGlhbG9ncyhyZWY6IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IHJlbW92ZUZyb21DbG9zZWREaWFsb2dzKHJlZjogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGlhbG9nUmVmRnJvbUNsb3NlZERpYWxvZ3MoKTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0SHR0cFNlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZW5kKG9wdGlvbnM6IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IHNldExvY2FsZShsb2NhbGUpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRMb2NhbGUoKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0SGVhZGVyKGVycm9yLCBoZWFkZXJLZXkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBpc1BsYXRmb3JtU2Vzc2lvblRpbWVvdXQoZXJyb3IpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBwb3N0KHVybCwgZGF0YSwgb3B0aW9ucyk7XG4gICAgcHVibGljIGFic3RyYWN0IHB1dCh1cmwsIGRhdGEsIG9wdGlvbnMpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBwYXRjaCh1cmwsIGRhdGEsIG9wdGlvbnMpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBkZWxldGUodXJsLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgaGVhZCh1cmwsIG9wdGlvbnMpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBqc29ucCh1cmwsIG9wdGlvbnMpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCB1cGxvYWQodXJsLCBkYXRhLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVnaXN0ZXJPblNlc3Npb25UaW1lb3V0KGNhbGxiYWNrKTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgb240MDEoKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcHVzaFRvU2Vzc2lvbkZhaWx1cmVRdWV1ZShjYWxsYmFjayk7XG4gICAgcHVibGljIGFic3RyYWN0IGV4ZWN1dGVTZXNzaW9uRmFpbHVyZVJlcXVlc3RzKCk7XG4gICAgcHVibGljIGFic3RyYWN0IHNlbmRDYWxsQXNPYnNlcnZhYmxlKG9wdGlvbnM6IGFueSwgcGFyYW1zPzogYW55KTogYW55O1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RJMThuU2VydmljZSB7XG4gICAgcHVibGljIGFic3RyYWN0IGdldFNlbGVjdGVkTG9jYWxlKCk6IHN0cmluZztcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0RGVmYXVsdFN1cHBvcnRlZExvY2FsZSgpOiBzdHJpbmc7XG4gICAgcHVibGljIGFic3RyYWN0IGdldEFwcExvY2FsZSgpOiBhbnk7XG4gICAgcHVibGljIGFic3RyYWN0IHNldFNlbGVjdGVkTG9jYWxlKGxvY2FsZSk7XG4gICAgcHVibGljIGFic3RyYWN0IGxvYWREZWZhdWx0TG9jYWxlKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldExvY2FsaXplZE1lc3NhZ2UobWVzc2FnZSwgLi4uYXJncyk7XG4gICAgcHVibGljIGFic3RyYWN0IGluaXRDYWxlbmRhckxvY2FsZSgpOiBQcm9taXNlPGFueT47XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvYWRBcHBMb2NhbGVCdW5kbGUoKTtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbG9hZE1vbWVudExvY2FsZUJ1bmRsZShsb2NhbGVMYW5nKTtcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgbG9hZExvY2FsZUJ1bmRsZXMobG9jYWxlTGFuZyk7XG4gICAgcHVibGljIGFic3RyYWN0IHNldFRpbWV6b25lKGxvY2FsZSwgY29tcEluc3RhbmNlPyk7XG4gICAgcHVibGljIGFic3RyYWN0IHNldFRpbWV6b25lRWFybHkoKTogUHJvbWlzZTxhbnk+O1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRGb3JtYXRzQnlMb2NhbGUoKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0VGltZXpvbmUoY29tcEluc3RhbmNlPyk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldFByZWZhYkxvY2FsZUJ1bmRsZShwcmVmYWJOYW1lOiBzdHJpbmcpOiBhbnk7XG4gICAgcHVibGljIGFic3RyYWN0IHNldHdpZGdldExvY2FsZShsb2NhbGUpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXR3aWRnZXRMb2NhbGUoKTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VG9hc3RlclNlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzdWNjZXNzKHRpdGxlOiBzdHJpbmcsIGRlc2M6IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IGVycm9yKHRpdGxlOiBzdHJpbmcsIGRlc2M6IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IGluZm8odGl0bGU6IHN0cmluZywgZGVzYzogc3RyaW5nKTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgd2Fybih0aXRsZTogc3RyaW5nLCBkZXNjOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzaG93KFxuICAgICAgICB0eXBlOiBzdHJpbmcsXG4gICAgICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgICAgIGRlc2M6IHN0cmluZyxcbiAgICAgICAgdGltZW91dDogbnVtYmVyLFxuICAgICAgICBib2R5T3V0cHV0VHlwZTogc3RyaW5nLFxuICAgICAgICBvbkNsaWNrSGFuZGxlcjogRnVuY3Rpb24sXG4gICAgICAgIG9uSGlkZUNhbGxiYWNrOiBGdW5jdGlvblxuICAgICk7XG4gICAgcHVibGljIGFic3RyYWN0IGhpZGUodG9hc3Rlck9iajogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2hvd0N1c3RvbShwYWdlTmFtZTogc3RyaW5nLCBvcHRpb25zPzogYW55KTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0U3Bpbm5lclNlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRNZXNzYWdlU291cmNlKCk7XG4gICAgcHVibGljIGFic3RyYWN0IHNob3dDb250ZXh0U3Bpbm5lcihzcGlubmVyQ29udGV4dDogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmcsIGlkOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzaG93QXBwU3Bpbm5lcihtc2c6IHN0cmluZywgaWQ6IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IGhpZGVDb250ZXh0U3Bpbm5lcihjdHg6IHN0cmluZywgaWQ6IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IHNob3cobWVzc2FnZTogc3RyaW5nLCBpZD86IHN0cmluZywgc3Bpbm5lckNsYXNzPzogc3RyaW5nLCBzcGlubmVyQ29udGV4dD86IHN0cmluZywgdmFyaWFibGVTY29wZUlkPzogc3RyaW5nKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgaGlkZShpZDogc3RyaW5nKTtcbn1cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVc2VyRGVmaW5lZEV4ZWN1dGlvbkNvbnRleHQge1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmF2aWdhdGlvbk9wdGlvbnMge1xuICAgICRldmVudD86IGFueTtcbiAgICBwYWdlTmFtZT86IHN0cmluZztcbiAgICB0cmFuc2l0aW9uPzogc3RyaW5nO1xuICAgIHVybFBhcmFtcz86IGFueTtcbiAgICB2aWV3TmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0TmF2aWdhdGlvblNlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRQYWdlVHJhbnNpdGlvbigpOiBzdHJpbmc7XG4gICAgcHVibGljIGFic3RyYWN0IGdvVG9QYWdlKHBhZ2VOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IE5hdmlnYXRpb25PcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ29Ub1ByZXZpb3VzKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGdvVG9WaWV3KHZpZXdOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IE5hdmlnYXRpb25PcHRpb25zLCB2YXJpYWJsZTogYW55KTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFwcERlZmF1bHRzIHtcbiAgICBwdWJsaWMgZGF0ZUZvcm1hdDtcbiAgICBwdWJsaWMgdGltZUZvcm1hdDtcbiAgICBwdWJsaWMgZGF0ZVRpbWVGb3JtYXQ7XG4gICAgcHVibGljIGN1cnJlbmN5Q29kZTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2V0Rm9ybWF0cyhmb3JtYXRzOiBhbnkpO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRHluYW1pY0NvbXBvbmVudFJlZlByb3ZpZGVyIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0Q29tcG9uZW50RmFjdG9yeVJlZihzZWxlY3Rvcjogc3RyaW5nLCBtYXJrdXA6IHN0cmluZywgb3B0aW9ucz86IGFueSk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQYXJ0aWFsUmVmUHJvdmlkZXIge1xuICAgIGFic3RyYWN0IGdldENvbXBvbmVudEZhY3RvcnlSZWYocGFydGlhbE5hbWU6IHN0cmluZywgY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZSwgb3B0aW9ucz86IGFueSk6IFByb21pc2U8YW55Pjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEN1c3RvbVdpZGdldFJlZlByb3ZpZGVyIHtcbiAgICBhYnN0cmFjdCBnZXRDb21wb25lbnRGYWN0b3J5UmVmKGN1c3RvbVdpZGdldE5hbWU6IHN0cmluZywgY29tcG9uZW50VHlwZTogQ29tcG9uZW50VHlwZSwgb3B0aW9ucz86IGFueSk6IFByb21pc2U8YW55Pjtcbn1cbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy90eXBlcy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3JCLGlEQUFJLENBQUE7SUFDSixxREFBTSxDQUFBO0lBQ04sdURBQU8sQ0FBQTtJQUNQLHFEQUFNLENBQUE7QUFDVixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEI7QUFFRCxNQUFNLE9BQU8sV0FBVztDQUV2QjtBQUVELElBQUssU0EwQ0o7QUExQ0QsV0FBSyxTQUFTO0lBQ1YseUNBQTRCLENBQUE7SUFDNUIsMkNBQThCLENBQUE7SUFDOUIsMkNBQThCLENBQUE7SUFDOUIsMkNBQThCLENBQUE7SUFDOUIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsOEJBQWlCLENBQUE7SUFDakIsd0NBQTJCLENBQUE7SUFDM0IsMkNBQThCLENBQUE7SUFDOUIsMERBQTZDLENBQUE7SUFDN0MsdUNBQTBCLENBQUE7SUFDMUIsdUNBQTBCLENBQUE7SUFDMUIsb0RBQXVDLENBQUE7SUFDdkMsb0VBQXVELENBQUE7SUFDdkQsOENBQWlDLENBQUE7SUFDakMsbUNBQXNCLENBQUE7SUFDdEIsMkRBQThDLENBQUE7SUFDOUMsb0VBQXVELENBQUE7SUFDdkQsc0RBQXlDLENBQUE7SUFDekMsNENBQStCLENBQUE7SUFDL0Isa0NBQXFCLENBQUE7SUFDckIsaUNBQW9CLENBQUE7SUFDcEIsb0RBQXVDLENBQUE7SUFDdkMsOENBQWlDLENBQUE7SUFDakMsd0NBQTJCLENBQUE7SUFDM0IsNERBQStDLENBQUE7SUFDL0MsdUNBQTBCLENBQUE7SUFDMUIsNkNBQWdDLENBQUE7SUFDaEMsb0RBQXVDLENBQUE7SUFDdkMsb0RBQXVDLENBQUE7SUFDdkMsMERBQTZDLENBQUE7SUFDN0MsMERBQTZDLENBQUE7SUFDN0MsNERBQStDLENBQUE7SUFDL0Msb0RBQXVDLENBQUE7SUFDdkMsaUNBQW9CLENBQUE7SUFDcEIsaUNBQW9CLENBQUE7SUFDcEIsdUNBQTBCLENBQUE7SUFDMUIsbURBQXNDLENBQUE7SUFDdEMsb0RBQXVDLENBQUE7SUFDdkMsOEJBQWlCLENBQUE7SUFDakIsNkNBQWdDLENBQUE7QUFDcEMsQ0FBQyxFQTFDSSxTQUFTLEtBQVQsU0FBUyxRQTBDYjtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN0QixTQUFTO0NBQ1osQ0FBQztBQUVGLE1BQU0sT0FBZ0IsR0FBRztDQWdEeEI7QUFHRCxNQUFNLE9BQWdCLHFCQUFxQjtDQWlCMUM7QUFFRCxNQUFNLE9BQWdCLG1CQUFtQjtDQW1CeEM7QUFFRCxNQUFNLE9BQWdCLG1CQUFtQjtDQWtCeEM7QUFFRCxNQUFNLE9BQWdCLHNCQUFzQjtDQWdCM0M7QUFFRCxNQUFNLE9BQWdCLHNCQUFzQjtDQU8zQztBQUNELE1BQU0sT0FBZ0IsMkJBQTJCO0NBRWhEO0FBVUQsTUFBTSxPQUFnQix5QkFBeUI7Q0FLOUM7QUFFRCxNQUFNLE9BQWdCLFdBQVc7Q0FNaEM7QUFFRCxNQUFNLE9BQWdCLDJCQUEyQjtDQUVoRDtBQUVELE1BQU0sT0FBZ0Isa0JBQWtCO0NBRXZDO0FBRUQsTUFBTSxPQUFnQix1QkFBdUI7Q0FFNUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDb21wb25lbnRUeXBlIHtcbiAgICBQQUdFLFxuICAgIFBSRUZBQixcbiAgICBQQVJUSUFMLFxuICAgIFdJREdFVFxufVxuXG5leHBvcnQgY2xhc3MgSURhdGFTb3VyY2Uge1xuICAgIGV4ZWN1dGU6IChvcGVyYXRpb246IE9wZXJhdGlvbiwgb3B0aW9ucz86IGFueSkgPT4gYm9vbGVhbiB8IHN0cmluZyB8IFByb21pc2U8YW55Pjtcbn1cblxuZW51bSBPcGVyYXRpb24ge1xuICAgIExJU1RfUkVDT1JEUyA9ICdsaXN0UmVjb3JkcycsXG4gICAgVVBEQVRFX1JFQ09SRCA9ICd1cGRhdGVSZWNvcmQnLFxuICAgIElOU0VSVF9SRUNPUkQgPSAnaW5zZXJ0UmVjb3JkJyxcbiAgICBERUxFVEVfUkVDT1JEID0gJ2RlbGV0ZVJlY29yZCcsXG4gICAgSU5WT0tFID0gJ2ludm9rZScsXG4gICAgVVBEQVRFID0gJ3VwZGF0ZScsXG4gICAgTk9USUZZID0gJ25vdGlmeScsXG4gICAgSVNfQVBJX0FXQVJFID0gJ2lzQXBpQXdhcmUnLFxuICAgIFNVUFBPUlRTX0NSVUQgPSAnc3VwcG9ydHNDUlVEJyxcbiAgICBTVVBQT1JUU19ESVNUSU5DVF9BUEkgPSAnc3VwcG9ydHNEaXN0aW5jdEFQSScsXG4gICAgSVNfUEFHRUFCTEUgPSAnaXNQYWdlYWJsZScsXG4gICAgSVNfU09SVEFCTEUgPSAnaXNTb3J0YWJsZScsXG4gICAgR0VUX09QRVJBVElPTl9UWVBFID0gJ2dldE9wZXJhdGlvblR5cGUnLFxuICAgIEdFVF9SRUxBVEVEX1BSSU1BUllfS0VZUyA9ICdnZXRSZWxhdGVkVGFibGVQcmltYXJ5S2V5cycsXG4gICAgR0VUX0VOVElUWV9OQU1FID0gJ2dldEVudGl0eU5hbWUnLFxuICAgIFNFVF9JTlBVVCA9ICdzZXRpbnB1dCcsXG4gICAgR0VUX1JFTEFURURfVEFCTEVfREFUQSA9ICdnZXRSZWxhdGVkVGFibGVEYXRhJyxcbiAgICBHRVRfRElTVElOQ1RfREFUQV9CWV9GSUVMRFMgPSAnZ2V0RGlzdGluY3REYXRhQnlGaWVsZHMnLFxuICAgIEdFVF9BR0dSRUdBVEVEX0RBVEEgPSAnZ2V0QWdncmVnYXRlZERhdGEnLFxuICAgIEdFVF9NQVRDSF9NT0RFID0gJ2dldE1hdGNoTW9kZScsXG4gICAgRE9XTkxPQUQgPSAnZG93bmxvYWQnLFxuICAgIEdFVF9OQU1FID0gJ2dldE5hbWUnLFxuICAgIEdFVF9QUk9QRVJUSUVTX01BUCA9ICdnZXRQcm9wZXJ0aWVzTWFwJyxcbiAgICBHRVRfUFJJTUFSWV9LRVkgPSAnZ2V0UHJpbWFyeUtleScsXG4gICAgR0VUX0JMT0JfVVJMID0gJ2dldEJsb2JVUkwnLFxuICAgIFNVUFBPUlRTX1NFUlZFUl9GSUxURVIgPSAnc3VwcG9ydHNTZXJ2ZXJGaWx0ZXInLFxuICAgIEdFVF9PUFRJT05TID0gJ2dldE9wdGlvbnMnLFxuICAgIFNFQVJDSF9SRUNPUkRTID0gJ3NlYXJjaFJlY29yZHMnLFxuICAgIEdFVF9SRVFVRVNUX1BBUkFNUyA9ICdnZXRSZXF1ZXN0UGFyYW1zJyxcbiAgICBHRVRfUEFHSU5HX09QVElPTlMgPSAnZ2V0UGFnaW5nT3B0aW9ucycsXG4gICAgRkVUQ0hfRElTVElOQ1RfVkFMVUVTID0gJ2ZldGNoRGlzdGluY3RWYWx1ZXMnLFxuICAgIEdFVF9VTklRVUVfSURFTlRJRklFUiA9ICdnZXRVbmlxdWVJZGVudGlmaWVyJyxcbiAgICBHRVRfQ09OVEVYVF9JREVOVElGSUVSID0gJ2dldENvbnRleHRJZGVudGlmaWVyJyxcbiAgICBJU19VUERBVEVfUkVRVUlSRUQgPSAnaXNVcGRhdGVSZXF1aXJlZCcsXG4gICAgQUREX0lURU0gPSAnYWRkSXRlbScsXG4gICAgU0VUX0lURU0gPSAnc2V0SXRlbScsXG4gICAgUkVNT1ZFX0lURU0gPSAncmVtb3ZlSXRlbScsXG4gICAgSVNfQk9VTkRfVE9fTE9DQUxFID0gJ2lzQm91bmRUb0xvY2FsZScsXG4gICAgR0VUX0RFRkFVTFRfTE9DQUxFID0gJ2dldERlZmF1bHRMb2NhbGUnLFxuICAgIENBTkNFTCA9ICdjYW5jZWwnLFxuICAgIFNFVF9QQUdJTkFUSU9OID0gJ3NldFBhZ2luYXRpb24nXG59XG5cbmV4cG9ydCBjb25zdCBEYXRhU291cmNlID0ge1xuICAgIE9wZXJhdGlvblxufTtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFwcCB7XG4gICAgYXBwTG9jYWxlOiBhbnk7XG4gICAgVmFyaWFibGVzOiBhbnk7XG4gICAgQWN0aW9uczogYW55O1xuICAgIG9uQXBwVmFyaWFibGVzUmVhZHk6IEZ1bmN0aW9uO1xuICAgIG9uU2Vzc2lvblRpbWVvdXQ6IEZ1bmN0aW9uO1xuICAgIG9uQmVmb3JlQXBwUmVhZHk6IEZ1bmN0aW9uO1xuICAgIG9uUGFnZVJlYWR5OiBGdW5jdGlvbjtcbiAgICBvbkJlZm9yZVBhZ2VMZWF2ZTogRnVuY3Rpb247XG4gICAgb25CZWZvcmVTZXJ2aWNlQ2FsbDogRnVuY3Rpb247XG4gICAgb25TZXJ2aWNlU3VjY2VzczogRnVuY3Rpb247XG4gICAgb25TZXJ2aWNlRXJyb3I6IEZ1bmN0aW9uO1xuICAgIHByb2plY3ROYW1lOiBzdHJpbmc7XG4gICAgaXNQcmVmYWJUeXBlOiBib29sZWFuO1xuICAgIGlzQXBwbGljYXRpb25UeXBlOiBib29sZWFuO1xuICAgIHNldHdpZGdldExvY2FsZTogRnVuY3Rpb247XG4gICAgc2V0TW9kZTogRnVuY3Rpb247XG4gICAgaXNUYWJsZXRBcHBsaWNhdGlvblR5cGU6IGJvb2xlYW47XG4gICAgaXNUZW1wbGF0ZUJ1bmRsZVR5cGU6IGJvb2xlYW47XG4gICAgY2hhbmdlTG9jYWxlOiBGdW5jdGlvbjtcbiAgICBnZXRTZWxlY3RlZExvY2FsZTogRnVuY3Rpb247XG4gICAgc2V0VGltZXpvbmU6IEZ1bmN0aW9uO1xuICAgIHJlbG9hZDogRnVuY3Rpb247XG4gICAgb240MDE6IEZ1bmN0aW9uO1xuICAgIG5vdGlmeUFwcDogRnVuY3Rpb247XG4gICAgaW1wb3J0TW9kdWxlOiBGdW5jdGlvbjtcbiAgICBnZXREZXBlbmRlbmN5OiBGdW5jdGlvbjtcbiAgICBuZXR3b3JrU3RhdHVzOiBhbnk7XG4gICAgbm90aWZ5OiAoZXZlbnROYW1lOiBzdHJpbmcsIGRhdGE/OiBhbnkpID0+IHZvaWQ7XG4gICAgZGVwbG95ZWRVcmw6IHN0cmluZztcbiAgICBjdXN0b21VcmxTY2hlbWU6IHN0cmluZztcbiAgICBzZWxlY3RlZFZpZXdQb3J0OiBPYmplY3Q7XG4gICAgc3Vic2NyaWJlOiAoZXZlbnROYW1lLCBjYWxsYmFjazogKGRhdGE6IGFueSkgPT4gdm9pZCkgPT4gKCkgPT4gdm9pZDtcbiAgICBkeW5hbWljQ29tcG9uZW50Q29udGFpbmVyUmVmOiBhbnk7XG4gICAgY2xlYXJQYWdlQ2FjaGU6IChwYWdlTmFtZT86IHN0cmluZykgPT4gdm9pZDtcbiAgICBpc1ByaXNtOiBib29sZWFuO1xuICAgIGhhc093bk9iamVjdFByb3BlcnR5OiAob2JqOiBhbnksIHByb3A6IHN0cmluZykgPT4gYm9vbGVhbjtcblxuICAgIGFjdGl2ZVBhZ2VOYW1lOiBzdHJpbmc7XG4gICAgYWN0aXZlUGFnZTogYW55O1xuICAgIFBhZ2U6IGFueTtcbiAgICBhY3RpdmVQYWdlTG9hZFRpbWU6IG51bWJlcjtcbiAgICBsYW5kaW5nUGFnZU5hbWU6IHN0cmluZztcbiAgICBsYXN0QWN0aXZlUGFnZU5hbWU6IHN0cmluZztcbiAgICBkZXZpY2VDYXRlZ29yeTogc3RyaW5nO1xuXG4gICAgYWN0aXZlTGF5b3V0TmFtZTogc3RyaW5nO1xuICAgIGxheW91dFBhZ2VzOiBzdHJpbmdbXTtcbn1cblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3REaWFsb2dTZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVnaXN0ZXIobmFtZTogc3RyaW5nLCBkaWFsb2dSZWY6IGFueSwgc2NvcGU6IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IGRlUmVnaXN0ZXIobmFtZTogc3RyaW5nLCBzY29wZTogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgb3BlbihuYW1lOiBzdHJpbmcsIHNjb3BlPzogYW55LCBpbml0U3RhdGU/OiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBjbG9zZShuYW1lOiBzdHJpbmcsIHNjb3BlPzogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2hvd0FwcENvbmZpcm1EaWFsb2coaW5pdFN0YXRlPzogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgY2xvc2VBcHBDb25maXJtRGlhbG9nKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldEFwcENvbmZpcm1EaWFsb2coKTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2V0QXBwQ29uZmlybURpYWxvZyhkaWFsb2dOYW1lOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBjbG9zZUFsbERpYWxvZ3M6IEZ1bmN0aW9uO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBhZGRUb09wZW5lZERpYWxvZ3MocmVmOiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRMYXN0T3BlbmVkRGlhbG9nKCk7XG4gICAgcHVibGljIGFic3RyYWN0IHJlbW92ZUZyb21PcGVuZWREaWFsb2dzKHJlZjogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0T3BlbmVkRGlhbG9ncygpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBhZGRUb0Nsb3NlZERpYWxvZ3MocmVmOiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCByZW1vdmVGcm9tQ2xvc2VkRGlhbG9ncyhyZWY6IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldERpYWxvZ1JlZkZyb21DbG9zZWREaWFsb2dzKCk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEh0dHBTZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2VuZChvcHRpb25zOiBhbnkpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRMb2NhbGUobG9jYWxlKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0TG9jYWxlKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldEhlYWRlcihlcnJvciwgaGVhZGVyS2V5KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgaXNQbGF0Zm9ybVNlc3Npb25UaW1lb3V0KGVycm9yKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0KHVybDogc3RyaW5nLCBvcHRpb25zPzogYW55KTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcG9zdCh1cmwsIGRhdGEsIG9wdGlvbnMpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBwdXQodXJsLCBkYXRhLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcGF0Y2godXJsLCBkYXRhLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZGVsZXRlKHVybCwgb3B0aW9ucyk7XG4gICAgcHVibGljIGFic3RyYWN0IGhlYWQodXJsLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QganNvbnAodXJsLCBvcHRpb25zKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgdXBsb2FkKHVybCwgZGF0YSwgb3B0aW9ucyk7XG4gICAgcHVibGljIGFic3RyYWN0IHJlZ2lzdGVyT25TZXNzaW9uVGltZW91dChjYWxsYmFjayk7XG4gICAgcHVibGljIGFic3RyYWN0IG9uNDAxKCk7XG4gICAgcHVibGljIGFic3RyYWN0IHB1c2hUb1Nlc3Npb25GYWlsdXJlUXVldWUoY2FsbGJhY2spO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBleGVjdXRlU2Vzc2lvbkZhaWx1cmVSZXF1ZXN0cygpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZW5kQ2FsbEFzT2JzZXJ2YWJsZShvcHRpb25zOiBhbnksIHBhcmFtcz86IGFueSk6IGFueTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0STE4blNlcnZpY2Uge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRTZWxlY3RlZExvY2FsZSgpOiBzdHJpbmc7XG4gICAgcHVibGljIGFic3RyYWN0IGdldERlZmF1bHRTdXBwb3J0ZWRMb2NhbGUoKTogc3RyaW5nO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRBcHBMb2NhbGUoKTogYW55O1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRTZWxlY3RlZExvY2FsZShsb2NhbGUpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBsb2FkRGVmYXVsdExvY2FsZSgpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRMb2NhbGl6ZWRNZXNzYWdlKG1lc3NhZ2UsIC4uLmFyZ3MpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBpbml0Q2FsZW5kYXJMb2NhbGUoKTogUHJvbWlzZTxhbnk+O1xuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBsb2FkQXBwTG9jYWxlQnVuZGxlKCk7XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvYWRNb21lbnRMb2NhbGVCdW5kbGUobG9jYWxlTGFuZyk7XG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGxvYWRMb2NhbGVCdW5kbGVzKGxvY2FsZUxhbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRUaW1lem9uZShsb2NhbGUsIGNvbXBJbnN0YW5jZT8pO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXRUaW1lem9uZUVhcmx5KCk6IFByb21pc2U8YW55PjtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0Rm9ybWF0c0J5TG9jYWxlKCk7XG4gICAgcHVibGljIGFic3RyYWN0IGdldFRpbWV6b25lKGNvbXBJbnN0YW5jZT8pO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRQcmVmYWJMb2NhbGVCdW5kbGUocHJlZmFiTmFtZTogc3RyaW5nKTogYW55O1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzZXR3aWRnZXRMb2NhbGUobG9jYWxlKTtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0d2lkZ2V0TG9jYWxlKCk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRvYXN0ZXJTZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc3VjY2Vzcyh0aXRsZTogc3RyaW5nLCBkZXNjOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBlcnJvcih0aXRsZTogc3RyaW5nLCBkZXNjOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBpbmZvKHRpdGxlOiBzdHJpbmcsIGRlc2M6IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IHdhcm4odGl0bGU6IHN0cmluZywgZGVzYzogc3RyaW5nKTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2hvdyhcbiAgICAgICAgdHlwZTogc3RyaW5nLFxuICAgICAgICB0aXRsZTogc3RyaW5nLFxuICAgICAgICBkZXNjOiBzdHJpbmcsXG4gICAgICAgIHRpbWVvdXQ6IG51bWJlcixcbiAgICAgICAgYm9keU91dHB1dFR5cGU6IHN0cmluZyxcbiAgICAgICAgb25DbGlja0hhbmRsZXI6IEZ1bmN0aW9uLFxuICAgICAgICBvbkhpZGVDYWxsYmFjazogRnVuY3Rpb25cbiAgICApO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBoaWRlKHRvYXN0ZXJPYmo6IGFueSk7XG4gICAgcHVibGljIGFic3RyYWN0IHNob3dDdXN0b20ocGFnZU5hbWU6IHN0cmluZywgb3B0aW9ucz86IGFueSk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFNwaW5uZXJTZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0TWVzc2FnZVNvdXJjZSgpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzaG93Q29udGV4dFNwaW5uZXIoc3Bpbm5lckNvbnRleHQ6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nLCBpZDogc3RyaW5nKTtcbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2hvd0FwcFNwaW5uZXIobXNnOiBzdHJpbmcsIGlkOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBoaWRlQ29udGV4dFNwaW5uZXIoY3R4OiBzdHJpbmcsIGlkOiBzdHJpbmcpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBzaG93KG1lc3NhZ2U6IHN0cmluZywgaWQ/OiBzdHJpbmcsIHNwaW5uZXJDbGFzcz86IHN0cmluZywgc3Bpbm5lckNvbnRleHQ/OiBzdHJpbmcsIHZhcmlhYmxlU2NvcGVJZD86IHN0cmluZyk7XG4gICAgcHVibGljIGFic3RyYWN0IGhpZGUoaWQ6IHN0cmluZyk7XG59XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVXNlckRlZmluZWRFeGVjdXRpb25Db250ZXh0IHtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25PcHRpb25zIHtcbiAgICAkZXZlbnQ/OiBhbnk7XG4gICAgcGFnZU5hbWU/OiBzdHJpbmc7XG4gICAgdHJhbnNpdGlvbj86IHN0cmluZztcbiAgICB1cmxQYXJhbXM/OiBhbnk7XG4gICAgdmlld05hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdE5hdmlnYXRpb25TZXJ2aWNlIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0UGFnZVRyYW5zaXRpb24oKTogc3RyaW5nO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnb1RvUGFnZShwYWdlTmFtZTogc3RyaW5nLCBvcHRpb25zOiBOYXZpZ2F0aW9uT3B0aW9ucyk7XG4gICAgcHVibGljIGFic3RyYWN0IGdvVG9QcmV2aW91cygpO1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnb1RvVmlldyh2aWV3TmFtZTogc3RyaW5nLCBvcHRpb25zOiBOYXZpZ2F0aW9uT3B0aW9ucywgdmFyaWFibGU6IGFueSk7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBcHBEZWZhdWx0cyB7XG4gICAgcHVibGljIGRhdGVGb3JtYXQ7XG4gICAgcHVibGljIHRpbWVGb3JtYXQ7XG4gICAgcHVibGljIGRhdGVUaW1lRm9ybWF0O1xuICAgIHB1YmxpYyBjdXJyZW5jeUNvZGU7XG4gICAgcHVibGljIGFic3RyYWN0IHNldEZvcm1hdHMoZm9ybWF0czogYW55KTtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIER5bmFtaWNDb21wb25lbnRSZWZQcm92aWRlciB7XG4gICAgcHVibGljIGFic3RyYWN0IGdldENvbXBvbmVudEZhY3RvcnlSZWYoc2VsZWN0b3I6IHN0cmluZywgbWFya3VwOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFydGlhbFJlZlByb3ZpZGVyIHtcbiAgICBhYnN0cmFjdCBnZXRDb21wb25lbnRGYWN0b3J5UmVmKHBhcnRpYWxOYW1lOiBzdHJpbmcsIGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGUsIG9wdGlvbnM/OiBhbnkpOiBQcm9taXNlPGFueT47XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDdXN0b21XaWRnZXRSZWZQcm92aWRlciB7XG4gICAgYWJzdHJhY3QgZ2V0Q29tcG9uZW50RmFjdG9yeVJlZihjdXN0b21XaWRnZXROYW1lOiBzdHJpbmcsIGNvbXBvbmVudFR5cGU6IENvbXBvbmVudFR5cGUsIG9wdGlvbnM/OiBhbnkpOiBQcm9taXNlPGFueT47XG59XG4iXX0=
@@ -73,7 +73,23 @@ export const setProperty = (node, propName, val, sync) => {
73
73
  sync ? task() : invokeLater(task);
74
74
  };
75
75
  export const setAttr = (node, attrName, val, sync) => {
76
- const task = () => node instanceof Element && node.setAttribute(attrName, val);
76
+ const task = () => {
77
+ if (node instanceof Element) {
78
+ // Handle tabindex specifically - ensure it's a valid string representation
79
+ if (attrName === 'tabindex') {
80
+ // Convert to string, handling 0, null, undefined, and NaN
81
+ if (val === null || val === undefined || (typeof val === 'number' && isNaN(val))) {
82
+ node.removeAttribute(attrName);
83
+ }
84
+ else {
85
+ node.setAttribute(attrName, String(val));
86
+ }
87
+ }
88
+ else {
89
+ node.setAttribute(attrName, val);
90
+ }
91
+ }
92
+ };
77
93
  sync ? task() : invokeLater(task);
78
94
  };
79
95
  export const setHtml = (node, html, sync) => {
@@ -102,4 +118,4 @@ export const toDimension = (v) => {
102
118
  }
103
119
  return v;
104
120
  };
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvdXRpbHMvZG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztBQUMxQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFckIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLEVBQUU7SUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ04sU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUIsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFpQixFQUFFLE1BQW1CLEVBQUUsSUFBYyxFQUFFLEVBQUU7SUFDakYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBaUIsRUFBRSxHQUFnQixFQUFFLElBQWMsRUFBRSxFQUFFO0lBQ2hGLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxJQUFJLENB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R0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsRCxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsUUFBZ0IsRUFBRSxLQUFVLEVBQUUsSUFBYyxFQUFlLEVBQUU7SUFDdkYsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU5QyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEMsT0FBTyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLG9FQUFvRTtBQUNwRSw2QkFBNkI7QUFDN0IsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBa0IsRUFBRSxFQUFFO0lBQzlDLGFBQWE7SUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1YsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0ICRSQUYgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lO1xuY29uc3QgJFJBRlF1ZXVlID0gW107XG5cbmNvbnN0IGludm9rZUxhdGVyID0gZm4gPT4ge1xuICAgIGlmICghJFJBRlF1ZXVlLmxlbmd0aCkge1xuICAgICAgICAkUkFGKCgpID0+IHtcbiAgICAgICAgICAgICRSQUZRdWV1ZS5mb3JFYWNoKGYgPT4gZigpKTtcbiAgICAgICAgICAgICRSQUZRdWV1ZS5sZW5ndGggPSAwO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgJFJBRlF1ZXVlLnB1c2goZm4pO1xufTtcblxuZXhwb3J0IGNvbnN0IGFwcGVuZE5vZGUgPSAobm9kZTogSFRNTEVsZW1lbnQsIHBhcmVudDogSFRNTEVsZW1lbnQsIHN5bmM/OiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgdGFzayA9ICgpID0+IHBhcmVudC5hcHBlbmRDaGlsZChub2RlKTtcbiAgICBzeW5jID8gdGFzaygpIDogaW52b2tlTGF0ZXIodGFzayk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0QmVmb3JlID0gKG5vZGU6IEhUTUxFbGVtZW50LCByZWY6IEhUTUxFbGVtZW50LCBzeW5jPzogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHRhc2sgPSAoKSA9PiByZWYucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUobm9kZSwgcmVmKTtcbiAgICBzeW5jID8gdGFzaygpIDogaW52b2tlTGF0ZXIodGFzayk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0QWZ0ZXIgPSAobm9kZTogSFRNTEVsZW1lbnQsIHJlZjogSFRNTEVsZW1lbnQsIHN5bmM/OiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgdGFzayA9ICgpID0+IHJlZi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShub2RlLCByZWYubmV4dFNpYmxpbmcpO1xuICAgIHN5bmMgPyB0YXNrKCkgOiBpbnZva2VMYXRlcih0YXNrKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVOb2RlID0gKG5vZGU6IEhUTUxFbGVtZW50LCBzeW5jPzogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHRhc2sgPSAoKSA9PiBub2RlLnJlbW92ZSgpO1xuICAgIHN5bmMgPyB0YXNrKCkgOiBpbnZva2VMYXRlcih0YXNrKTtcbn07XG5cbmV4cG9ydCBjb25zdCByZW1vdmVDbGFzcyA9IChub2RlOiBIVE1MRWxlbWVudCwgb3Y6IHN0cmluZywgc3luYz86IGJvb2xlYW4pID0+IHtcbiAgICBvdiA9IG92IHx8ICcnO1xuICAgIGNvbnN0IHRhc2sgPSBjID0+IG5vZGUuY2xhc3NMaXN0LnJlbW92ZShjKTtcbiAgICBvdi5zcGxpdCgnICcpLmZvckVhY2goYyA9PiB7XG4gICAgICAgIGlmIChjLmxlbmd0aCkge1xuICAgICAgICAgICAgc3luYyA/IHRhc2soYykgOiBpbnZva2VMYXRlcigoKSA9PiB0YXNrKGMpKTtcbiAgICAgICAgfVxuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGFkZENsYXNzID0gKG5vZGU6IEhUTUxFbGVtZW50LCBudjogc3RyaW5nLCBzeW5jPzogYm9vbGVhbikgPT4ge1xuICAgIG52ID0gbnYgfHwgJyc7XG4gICAgY29uc3QgdGFzayA9IGMgPT4gbm9kZS5jbGFzc0xpc3QuYWRkKGMpO1xuICAgIG52LnNwbGl0KCcgJykuZm9yRWFjaChjID0+IHtcbiAgICAgICAgaWYgKGMubGVuZ3RoKSB7XG4gICAgICAgICAgICBzeW5jID8gdGFzayhjKSA6IGludm9rZUxhdGVyKCgpID0+IHRhc2soYykpO1xuICAgICAgICB9XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc3dpdGNoQ2xhc3MgPSAobm9kZTogSFRNTEVsZW1lbnQsIHRvQWRkOiBzdHJpbmcgPSAnJywgdG9SZW1vdmU6IHN0cmluZyA9ICcnLCBzeW5jPzogYm9vbGVhbikgPT4ge1xuICAgIC8vIEFmdGVyIE5HMTUgdXBncmFkZSBuZy1pbnZhbGlkIGNsYXNzIGlzIGFkZGVkIGV2ZW4gdGhlIGZpZWxkIGlzIHZhbGlkLCBzbyB3ZSBhcmUgcmVtb3ZpbmcgdGhlIG5nLWludmFsaWQgbWFudWFsbHlcbiAgICBjb25zdCBpc05nVW50b3VjaGVkVmFsaWQgPSBub2RlLmNsYXNzTGlzdC5jb250YWlucygnbmctdW50b3VjaGVkJykgJiYgbm9kZS5jbGFzc0xpc3QuY29udGFpbnMoJ25nLXZhbGlkJyk7XG4gICAgaWYoaXNOZ1VudG91Y2hlZFZhbGlkICYmIHRvQWRkLmluY2x1ZGVzKCduZy11bnRvdWNoZWQnKSAmJiB0b0FkZC5pbmNsdWRlcygnbmctaW52YWxpZCcpKSB7XG4gICAgICAgIHRvQWRkID0gdG9BZGQucmVwbGFjZSgnbmctaW52YWxpZCcsICcnKTtcbiAgICB9XG4gICAgcmVtb3ZlQ2xhc3Mobm9kZSwgdG9SZW1vdmUsIHN5bmMpO1xuICAgIGFkZENsYXNzKG5vZGUsIHRvQWRkLCBzeW5jKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0b2dnbGVDbGFzcyA9IChub2RlOiBIVE1MRWxlbWVudCwgY2xzOiBzdHJpbmcsIGNvbmRpdGlvbjogYm9vbGVhbiwgc3luYz86IGJvb2xlYW4pID0+IHtcbiAgICBpZiAoY29uZGl0aW9uKSB7XG4gICAgICAgIGFkZENsYXNzKG5vZGUsIGNscywgc3luYyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmVtb3ZlQ2xhc3Mobm9kZSwgY2xzLCBzeW5jKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0Q1NTID0gKG5vZGU6IEhUTUxFbGVtZW50LCBjc3NOYW1lOiBzdHJpbmcsIHZhbD86IHN0cmluZyB8IG51bWJlciwgc3luYz86IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCB0YXNrID0gKCkgPT4gbm9kZS5zdHlsZVtjc3NOYW1lXSA9IHZhbDtcbiAgICBzeW5jID8gdGFzaygpIDogaW52b2tlTGF0ZXIodGFzayk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0Q1NTRnJvbU9iaiA9IChub2RlOiBIVE1MRWxlbWVudCwgY3NzT2JqOiBhbnksIHN5bmM/OiBib29sZWFuKSA9PiB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGNzc09iaiB8fCB7fSk7XG4gICAga2V5cy5mb3JFYWNoKGtleSA9PiBzZXRDU1Mobm9kZSwga2V5LCBjc3NPYmpba2V5XSwgc3luYykpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldFByb3BlcnR5ID0gKG5vZGU6IEhUTUxFbGVtZW50LCBwcm9wTmFtZTogc3RyaW5nLCB2YWw6IGFueSwgc3luYz86IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCB0YXNrID0gKCkgPT4gbm9kZVtwcm9wTmFtZV0gPSB2YWw7XG4gICAgc3luYyA/IHRhc2soKSA6IGludm9rZUxhdGVyKHRhc2spO1xufTtcblxuZXhwb3J0IGNvbnN0IHNldEF0dHIgPSAobm9kZTogSFRNTEVsZW1lbnQsIGF0dHJOYW1lOiBzdHJpbmcsIHZhbDogYW55LCBzeW5jPzogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHRhc2sgPSAoKSA9PiBub2RlIGluc3RhbmNlb2YgRWxlbWVudCAmJiBub2RlLnNldEF0dHJpYnV0ZShhdHRyTmFtZSwgdmFsKTtcbiAgICBzeW5jID8gdGFzaygpIDogaW52b2tlTGF0ZXIodGFzayk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0SHRtbCA9IChub2RlOiBIVE1MRWxlbWVudCwgaHRtbDogc3RyaW5nLCBzeW5jPzogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHRhc2sgPSAoKSA9PiBub2RlLmlubmVySFRNTCA9IGh0bWw7XG4gICAgc3luYyA/IHRhc2soKSA6IGludm9rZUxhdGVyKHRhc2spO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUF0dHIgPSAobm9kZTogSFRNTEVsZW1lbnQsIGF0dHJOYW1lOiBzdHJpbmcsIHN5bmM/OiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgdGFzayA9ICgpID0+IG5vZGUucmVtb3ZlQXR0cmlidXRlKGF0dHJOYW1lKTtcbiAgICBzeW5jID8gdGFzaygpIDogaW52b2tlTGF0ZXIodGFzayk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRWxlbWVudCA9IChub2RlVHlwZTogc3RyaW5nLCBhdHRyczogYW55LCBzeW5jPzogYm9vbGVhbik6IEhUTUxFbGVtZW50ID0+IHtcbiAgICBjb25zdCBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChub2RlVHlwZSk7XG5cbiAgICBpZiAoYXR0cnMpIHtcbiAgICAgICAgT2JqZWN0LmtleXMoYXR0cnMpLmZvckVhY2goYXR0ck5hbWUgPT4ge1xuICAgICAgICAgICAgc2V0QXR0cihub2RlLCBhdHRyTmFtZSwgYXR0cnNbYXR0ck5hbWVdLCBzeW5jKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBub2RlO1xufTtcblxuLy8gZm9yIHdpZHRoIGFuZCBoZWlnaHQgaWYgYSBudW1lcmljIHZhbHVlIGlzIHNwZWNpZmllZCByZXR1cm4gaW4gcHhcbi8vIGVsc2UgcmV0dXJuIHRoZSBzYW1lIHZhbHVlXG5leHBvcnQgY29uc3QgdG9EaW1lbnNpb24gPSAodjogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlmICh2ID09ICt2KSB7XG4gICAgICAgIHJldHVybiBgJHt2fXB4YDtcbiAgICB9XG4gICAgcmV0dXJuIHY7XG59O1xuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvdXRpbHMvZG9tLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQztBQUMxQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7QUFFckIsTUFBTSxXQUFXLEdBQUcsRUFBRSxDQUFDLEVBQUU7SUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ04sU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUIsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFpQixFQUFFLE1BQW1CLEVBQUUsSUFBYyxFQUFFLEVBQUU7SUFDakYsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsSUFBaUIsRUFBRSxHQUFnQixFQUFFLElBQWMsRUFBRSxFQUFFO0lBQ2hGLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxRCxJQUFJLENB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RUYsb0VBQW9FO0FBQ3BFLDZCQUE2QjtBQUM3QixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFrQixFQUFFLEVBQUU7SUFDOUMsYUFBYTtJQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDVixPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUM7SUFDcEIsQ0FBQztJQUNELE9BQU8sQ0FBQyxDQUFDO0FBQ2IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgJFJBRiA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU7XG5jb25zdCAkUkFGUXVldWUgPSBbXTtcblxuY29uc3QgaW52b2tlTGF0ZXIgPSBmbiA9PiB7XG4gICAgaWYgKCEkUkFGUXVldWUubGVuZ3RoKSB7XG4gICAgICAgICRSQUYoKCkgPT4ge1xuICAgICAgICAgICAgJFJBRlF1ZXVlLmZvckVhY2goZiA9PiBmKCkpO1xuICAgICAgICAgICAgJFJBRlF1ZXVlLmxlbmd0aCA9IDA7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAkUkFGUXVldWUucHVzaChmbik7XG59O1xuXG5leHBvcnQgY29uc3QgYXBwZW5kTm9kZSA9IChub2RlOiBIVE1MRWxlbWVudCwgcGFyZW50OiBIVE1MRWxlbWVudCwgc3luYz86IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCB0YXNrID0gKCkgPT4gcGFyZW50LmFwcGVuZENoaWxkKG5vZGUpO1xuICAgIHN5bmMgPyB0YXNrKCkgOiBpbnZva2VMYXRlcih0YXNrKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRCZWZvcmUgPSAobm9kZTogSFRNTEVsZW1lbnQsIHJlZjogSFRNTEVsZW1lbnQsIHN5bmM/OiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgdGFzayA9ICgpID0+IHJlZi5wYXJlbnROb2RlLmluc2VydEJlZm9yZShub2RlLCByZWYpO1xuICAgIHN5bmMgPyB0YXNrKCkgOiBpbnZva2VMYXRlcih0YXNrKTtcbn07XG5cbmV4cG9ydCBjb25zdCBpbnNlcnRBZnRlciA9IChub2RlOiBIVE1MRWxlbWVudCwgcmVmOiBIVE1MRWxlbWVudCwgc3luYz86IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCB0YXNrID0gKCkgPT4gcmVmLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKG5vZGUsIHJlZi5uZXh0U2libGluZyk7XG4gICAgc3luYyA/IHRhc2soKSA6IGludm9rZUxhdGVyKHRhc2spO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZU5vZGUgPSAobm9kZTogSFRNTEVsZW1lbnQsIHN5bmM/OiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgdGFzayA9ICgpID0+IG5vZGUucmVtb3ZlKCk7XG4gICAgc3luYyA/IHRhc2soKSA6IGludm9rZUxhdGVyKHRhc2spO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUNsYXNzID0gKG5vZGU6IEhUTUxFbGVtZW50LCBvdjogc3RyaW5nLCBzeW5jPzogYm9vbGVhbikgPT4ge1xuICAgIG92ID0gb3YgfHwgJyc7XG4gICAgY29uc3QgdGFzayA9IGMgPT4gbm9kZS5jbGFzc0xpc3QucmVtb3ZlKGMpO1xuICAgIG92LnNwbGl0KCcgJykuZm9yRWFjaChjID0+IHtcbiAgICAgICAgaWYgKGMubGVuZ3RoKSB7XG4gICAgICAgICAgICBzeW5jID8gdGFzayhjKSA6IGludm9rZUxhdGVyKCgpID0+IHRhc2soYykpO1xuICAgICAgICB9XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkQ2xhc3MgPSAobm9kZTogSFRNTEVsZW1lbnQsIG52OiBzdHJpbmcsIHN5bmM/OiBib29sZWFuKSA9PiB7XG4gICAgbnYgPSBudiB8fCAnJztcbiAgICBjb25zdCB0YXNrID0gYyA9PiBub2RlLmNsYXNzTGlzdC5hZGQoYyk7XG4gICAgbnYuc3BsaXQoJyAnKS5mb3JFYWNoKGMgPT4ge1xuICAgICAgICBpZiAoYy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHN5bmMgPyB0YXNrKGMpIDogaW52b2tlTGF0ZXIoKCkgPT4gdGFzayhjKSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzd2l0Y2hDbGFzcyA9IChub2RlOiBIVE1MRWxlbWVudCwgdG9BZGQ6IHN0cmluZyA9ICcnLCB0b1JlbW92ZTogc3RyaW5nID0gJycsIHN5bmM/OiBib29sZWFuKSA9PiB7XG4gICAgLy8gQWZ0ZXIgTkcxNSB1cGdyYWRlIG5nLWludmFsaWQgY2xhc3MgaXMgYWRkZWQgZXZlbiB0aGUgZmllbGQgaXMgdmFsaWQsIHNvIHdlIGFyZSByZW1vdmluZyB0aGUgbmctaW52YWxpZCBtYW51YWxseVxuICAgIGNvbnN0IGlzTmdVbnRvdWNoZWRWYWxpZCA9IG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy11bnRvdWNoZWQnKSAmJiBub2RlLmNsYXNzTGlzdC5jb250YWlucygnbmctdmFsaWQnKTtcbiAgICBpZihpc05nVW50b3VjaGVkVmFsaWQgJiYgdG9BZGQuaW5jbHVkZXMoJ25nLXVudG91Y2hlZCcpICYmIHRvQWRkLmluY2x1ZGVzKCduZy1pbnZhbGlkJykpIHtcbiAgICAgICAgdG9BZGQgPSB0b0FkZC5yZXBsYWNlKCduZy1pbnZhbGlkJywgJycpO1xuICAgIH1cbiAgICByZW1vdmVDbGFzcyhub2RlLCB0b1JlbW92ZSwgc3luYyk7XG4gICAgYWRkQ2xhc3Mobm9kZSwgdG9BZGQsIHN5bmMpO1xufTtcblxuZXhwb3J0IGNvbnN0IHRvZ2dsZUNsYXNzID0gKG5vZGU6IEhUTUxFbGVtZW50LCBjbHM6IHN0cmluZywgY29uZGl0aW9uOiBib29sZWFuLCBzeW5jPzogYm9vbGVhbikgPT4ge1xuICAgIGlmIChjb25kaXRpb24pIHtcbiAgICAgICAgYWRkQ2xhc3Mobm9kZSwgY2xzLCBzeW5jKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZW1vdmVDbGFzcyhub2RlLCBjbHMsIHN5bmMpO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBzZXRDU1MgPSAobm9kZTogSFRNTEVsZW1lbnQsIGNzc05hbWU6IHN0cmluZywgdmFsPzogc3RyaW5nIHwgbnVtYmVyLCBzeW5jPzogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHRhc2sgPSAoKSA9PiBub2RlLnN0eWxlW2Nzc05hbWVdID0gdmFsO1xuICAgIHN5bmMgPyB0YXNrKCkgOiBpbnZva2VMYXRlcih0YXNrKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXRDU1NGcm9tT2JqID0gKG5vZGU6IEhUTUxFbGVtZW50LCBjc3NPYmo6IGFueSwgc3luYz86IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoY3NzT2JqIHx8IHt9KTtcbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHNldENTUyhub2RlLCBrZXksIGNzc09ialtrZXldLCBzeW5jKSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0UHJvcGVydHkgPSAobm9kZTogSFRNTEVsZW1lbnQsIHByb3BOYW1lOiBzdHJpbmcsIHZhbDogYW55LCBzeW5jPzogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHRhc2sgPSAoKSA9PiBub2RlW3Byb3BOYW1lXSA9IHZhbDtcbiAgICBzeW5jID8gdGFzaygpIDogaW52b2tlTGF0ZXIodGFzayk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0QXR0ciA9IChub2RlOiBIVE1MRWxlbWVudCwgYXR0ck5hbWU6IHN0cmluZywgdmFsOiBhbnksIHN5bmM/OiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgdGFzayA9ICgpID0+IHtcbiAgICAgICAgaWYgKG5vZGUgaW5zdGFuY2VvZiBFbGVtZW50KSB7XG4gICAgICAgICAgICAvLyBIYW5kbGUgdGFiaW5kZXggc3BlY2lmaWNhbGx5IC0gZW5zdXJlIGl0J3MgYSB2YWxpZCBzdHJpbmcgcmVwcmVzZW50YXRpb25cbiAgICAgICAgICAgIGlmIChhdHRyTmFtZSA9PT0gJ3RhYmluZGV4Jykge1xuICAgICAgICAgICAgICAgIC8vIENvbnZlcnQgdG8gc3RyaW5nLCBoYW5kbGluZyAwLCBudWxsLCB1bmRlZmluZWQsIGFuZCBOYU5cbiAgICAgICAgICAgICAgICBpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkIHx8ICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJyAmJiBpc05hTih2YWwpKSkge1xuICAgICAgICAgICAgICAgICAgICBub2RlLnJlbW92ZUF0dHJpYnV0ZShhdHRyTmFtZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoYXR0ck5hbWUsIFN0cmluZyh2YWwpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5vZGUuc2V0QXR0cmlidXRlKGF0dHJOYW1lLCB2YWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcbiAgICBzeW5jID8gdGFzaygpIDogaW52b2tlTGF0ZXIodGFzayk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2V0SHRtbCA9IChub2RlOiBIVE1MRWxlbWVudCwgaHRtbDogc3RyaW5nLCBzeW5jPzogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHRhc2sgPSAoKSA9PiBub2RlLmlubmVySFRNTCA9IGh0bWw7XG4gICAgc3luYyA/IHRhc2soKSA6IGludm9rZUxhdGVyKHRhc2spO1xufTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZUF0dHIgPSAobm9kZTogSFRNTEVsZW1lbnQsIGF0dHJOYW1lOiBzdHJpbmcsIHN5bmM/OiBib29sZWFuKSA9PiB7XG4gICAgY29uc3QgdGFzayA9ICgpID0+IG5vZGUucmVtb3ZlQXR0cmlidXRlKGF0dHJOYW1lKTtcbiAgICBzeW5jID8gdGFzaygpIDogaW52b2tlTGF0ZXIodGFzayk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRWxlbWVudCA9IChub2RlVHlwZTogc3RyaW5nLCBhdHRyczogYW55LCBzeW5jPzogYm9vbGVhbik6IEhUTUxFbGVtZW50ID0+IHtcbiAgICBjb25zdCBub2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChub2RlVHlwZSk7XG5cbiAgICBpZiAoYXR0cnMpIHtcbiAgICAgICAgT2JqZWN0LmtleXMoYXR0cnMpLmZvckVhY2goYXR0ck5hbWUgPT4ge1xuICAgICAgICAgICAgc2V0QXR0cihub2RlLCBhdHRyTmFtZSwgYXR0cnNbYXR0ck5hbWVdLCBzeW5jKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBub2RlO1xufTtcblxuLy8gZm9yIHdpZHRoIGFuZCBoZWlnaHQgaWYgYSBudW1lcmljIHZhbHVlIGlzIHNwZWNpZmllZCByZXR1cm4gaW4gcHhcbi8vIGVsc2UgcmV0dXJuIHRoZSBzYW1lIHZhbHVlXG5leHBvcnQgY29uc3QgdG9EaW1lbnNpb24gPSAodjogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlmICh2ID09ICt2KSB7XG4gICAgICAgIHJldHVybiBgJHt2fXB4YDtcbiAgICB9XG4gICAgcmV0dXJuIHY7XG59O1xuIl19
@@ -61,7 +61,10 @@ export class EventNotifier {
61
61
  return noop;
62
62
  }
63
63
  destroy() {
64
- this._subject.complete();
64
+ this._subject.next(null); // optional
65
+ this._subject.complete(); // clears all observers
66
+ this._isInitialized = false;
67
+ this._eventsBeforeInit = [];
65
68
  }
66
69
  }
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbm90aWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy91dGlscy9ldmVudC1ub3RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXpDLE1BQU0sT0FBTyxhQUFhO0lBTXRCLFlBQVksS0FBSyxHQUFHLElBQUk7UUFKaEIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBRzNCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxTQUFpQixFQUFFLEdBQUcsSUFBZ0I7UUFDaEQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLElBQUk7YUFDYixDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hCLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxJQUFJO2FBQ2IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxTQUFTLENBQUMsU0FBUyxFQUFFLFFBQXVDO1FBQy9ELElBQUksYUFBYSxDQUFDO1FBQ2xCLElBQUksU0FBUyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUTtpQkFDeEIsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksS0FBSyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN2RCxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLE9BQU8sR0FBRyxFQUFFO2dCQUNSLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxDQUFDLENBQUM7UUFDTixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgaXNPYmplY3QsIG5vb3AgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEV2ZW50Tm90aWZpZXIge1xuXG4gICAgcHJpdmF0ZSBfc3ViamVjdCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBfaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2V2ZW50c0JlZm9yZUluaXQgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0ID0gdHJ1ZSkge1xuICAgICAgICBpZiAoc3RhcnQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgZXZlbnQgY2FuIGJlIGZpcmVkLCBidXQgd2lsbCBiZSBzZW50IHRvIHN1YnNjcmliZXJzIG9ubHkgYWZ0ZXIgZXhjaGFuZ2UgaXMgc3RhcnRlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqL1xuICAgIHB1YmxpYyBub3RpZnkoZXZlbnROYW1lOiBzdHJpbmcsIC4uLmRhdGE6IEFycmF5PGFueT4pIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzSW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YmplY3QubmV4dCh7XG4gICAgICAgICAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICAgICAgICAgIGRhdGE6IGRhdGFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZXZlbnRzQmVmb3JlSW5pdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBldmVudE5hbWUsXG4gICAgICAgICAgICAgICAgZGF0YTogZGF0YVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzdGFydHMgdGhlIGV4Y2hhbmdlIGFuZCBzZW5kIHRoZSBwZW5kaW5nIGV2ZW50cyB0byBzdWJzY3JpYmVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhcnQoKSB7XG4gICAgICAgIGlmICghdGhpcy5faXNJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9ldmVudHNCZWZvcmVJbml0LmZvckVhY2goKGV2ZW50KSA9PiB0aGlzLl9zdWJqZWN0Lm5leHQoZXZlbnQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHVwb24gc3Vic2NyaXB0aW9uLCBtZXRob2QgdG8gY2FuY2VsIHN1YnNjcmlwdGlvbiBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudE5hbWVcbiAgICAgKiBAcGFyYW0geyhkYXRhOiBhbnkpID0+IHZvaWR9IGNhbGxiYWNrXG4gICAgICogQHJldHVybnMgeygpID0+IHZvaWR9XG4gICAgICovXG4gICAgcHVibGljIHN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrOiAoLi4uZGF0YTogQXJyYXk8YW55PikgPT4gdm9pZCk6ICgpID0+IHZvaWQge1xuICAgICAgICBsZXQgZXZlbnRMaXN0ZW5lcjtcbiAgICAgICAgaWYgKGV2ZW50TmFtZSAmJiBjYWxsYmFjaykge1xuICAgICAgICAgICAgZXZlbnRMaXN0ZW5lciA9IHRoaXMuX3N1YmplY3RcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChldmVudCAmJiBpc09iamVjdChldmVudCkgJiYgZXZlbnQubmFtZSA9PT0gZXZlbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjay5hcHBseSh1bmRlZmluZWQsIGV2ZW50LmRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGV2ZW50TGlzdGVuZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vb3A7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YmplY3QuY29tcGxldGUoKTtcbiAgICB9XG59XG4iXX0=
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtbm90aWZpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy91dGlscy9ldmVudC1ub3RpZmllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXpDLE1BQU0sT0FBTyxhQUFhO0lBTXRCLFlBQVksS0FBSyxHQUFHLElBQUk7UUFKaEIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDekIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsc0JBQWlCLEdBQUcsRUFBRSxDQUFDO1FBRzNCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxTQUFpQixFQUFFLEdBQUcsSUFBZ0I7UUFDaEQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2YsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxFQUFFLElBQUk7YUFDYixDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ3hCLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxJQUFJO2FBQ2IsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxTQUFTLENBQUMsU0FBUyxFQUFFLFFBQXVDO1FBQy9ELElBQUksYUFBYSxDQUFDO1FBQ2xCLElBQUksU0FBUyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3hCLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUTtpQkFDeEIsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQ3RCLElBQUksS0FBSyxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUN2RCxRQUFRLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzFDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLE9BQU8sR0FBRyxFQUFFO2dCQUNSLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxDQUFDLENBQUM7UUFDTixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLE9BQU87UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLFdBQVc7UUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFFLHVCQUF1QjtRQUNsRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgaXNPYmplY3QsIG5vb3AgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIEV2ZW50Tm90aWZpZXIge1xuXG4gICAgcHJpdmF0ZSBfc3ViamVjdCA9IG5ldyBTdWJqZWN0KCk7XG4gICAgcHJpdmF0ZSBfaXNJbml0aWFsaXplZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgX2V2ZW50c0JlZm9yZUluaXQgPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHN0YXJ0ID0gdHJ1ZSkge1xuICAgICAgICBpZiAoc3RhcnQpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgZXZlbnQgY2FuIGJlIGZpcmVkLCBidXQgd2lsbCBiZSBzZW50IHRvIHN1YnNjcmliZXJzIG9ubHkgYWZ0ZXIgZXhjaGFuZ2UgaXMgc3RhcnRlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAgICAgKiBAcGFyYW0gZGF0YVxuICAgICAqL1xuICAgIHB1YmxpYyBub3RpZnkoZXZlbnROYW1lOiBzdHJpbmcsIC4uLmRhdGE6IEFycmF5PGFueT4pIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzSW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3N1YmplY3QubmV4dCh7XG4gICAgICAgICAgICAgICAgbmFtZTogZXZlbnROYW1lLFxuICAgICAgICAgICAgICAgIGRhdGE6IGRhdGFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fZXZlbnRzQmVmb3JlSW5pdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBldmVudE5hbWUsXG4gICAgICAgICAgICAgICAgZGF0YTogZGF0YVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBzdGFydHMgdGhlIGV4Y2hhbmdlIGFuZCBzZW5kIHRoZSBwZW5kaW5nIGV2ZW50cyB0byBzdWJzY3JpYmVycy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhcnQoKSB7XG4gICAgICAgIGlmICghdGhpcy5faXNJbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLl9ldmVudHNCZWZvcmVJbml0LmZvckVhY2goKGV2ZW50KSA9PiB0aGlzLl9zdWJqZWN0Lm5leHQoZXZlbnQpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHVwb24gc3Vic2NyaXB0aW9uLCBtZXRob2QgdG8gY2FuY2VsIHN1YnNjcmlwdGlvbiBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBldmVudE5hbWVcbiAgICAgKiBAcGFyYW0geyhkYXRhOiBhbnkpID0+IHZvaWR9IGNhbGxiYWNrXG4gICAgICogQHJldHVybnMgeygpID0+IHZvaWR9XG4gICAgICovXG4gICAgcHVibGljIHN1YnNjcmliZShldmVudE5hbWUsIGNhbGxiYWNrOiAoLi4uZGF0YTogQXJyYXk8YW55PikgPT4gdm9pZCk6ICgpID0+IHZvaWQge1xuICAgICAgICBsZXQgZXZlbnRMaXN0ZW5lcjtcbiAgICAgICAgaWYgKGV2ZW50TmFtZSAmJiBjYWxsYmFjaykge1xuICAgICAgICAgICAgZXZlbnRMaXN0ZW5lciA9IHRoaXMuX3N1YmplY3RcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChldmVudCAmJiBpc09iamVjdChldmVudCkgJiYgZXZlbnQubmFtZSA9PT0gZXZlbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjay5hcHBseSh1bmRlZmluZWQsIGV2ZW50LmRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGV2ZW50TGlzdGVuZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vb3A7XG4gICAgfVxuXG4gICAgcHVibGljIGRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YmplY3QubmV4dChudWxsKTsgIC8vIG9wdGlvbmFsXG4gICAgICAgIHRoaXMuX3N1YmplY3QuY29tcGxldGUoKTsgIC8vIGNsZWFycyBhbGwgb2JzZXJ2ZXJzXG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5fZXZlbnRzQmVmb3JlSW5pdCA9IFtdO1xuICAgIH0gICAgXG59XG4iXX0=
@@ -6,13 +6,15 @@ export class LRUCache {
6
6
  this.onEvict = onEvict;
7
7
  this.cache = new Map();
8
8
  this.evictQueue = [''];
9
+ this.evictionIntervalId = null; // MEMORY LEAK FIX: Store interval ID for cleanup
9
10
  this.evictQueue.shift();
10
11
  if (this.maxAge > 0) {
11
12
  if (this.maxAge <= 30) {
12
13
  console.warn(`Cache age ${this.maxAge}s is very less. Keep it atleast 30s.`);
13
14
  }
14
15
  this.maxAge = this.maxAge * 1000;
15
- setInterval(() => {
16
+ // MEMORY LEAK FIX: Store interval ID for cleanup
17
+ this.evictionIntervalId = window.setInterval(() => {
16
18
  const max = Date.now() - this.maxAge;
17
19
  const expiredData = this.evictQueue.filter(k => {
18
20
  return this.cache.get(k).lastAccessedTime <= max;
@@ -77,5 +79,17 @@ export class LRUCache {
77
79
  clear() {
78
80
  this.evict(this.evictQueue.length);
79
81
  }
82
+ /**
83
+ * MEMORY LEAK FIX: Destroy the cache and clear the eviction interval
84
+ * Call this method when the cache is no longer needed to prevent memory leaks
85
+ */
86
+ destroy() {
87
+ // CRITICAL FIX: Clear the eviction interval to prevent memory leaks
88
+ if (this.evictionIntervalId !== null) {
89
+ clearInterval(this.evictionIntervalId);
90
+ this.evictionIntervalId = null;
91
+ }
92
+ this.clear();
93
+ }
80
94
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHJ1LWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvdXRpbHMvbHJ1LWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFPaEMsTUFBTSxPQUFPLFFBQVE7SUFJakIsWUFDWSxVQUFVLEdBQUcsRUFDYixTQUFTLEVBQUUsRUFDWCxPQUEwQztRQUYxQyxZQUFPLEdBQVAsT0FBTyxDQUFNO1FBQ2IsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUNYLFlBQU8sR0FBUCxPQUFPLENBQW1DO1FBTjlDLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUN6QyxlQUFVLEdBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQU01QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLElBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsTUFBTSxzQ0FBc0MsQ0FBQyxDQUFDO1lBQ2pGLENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1lBQ2pDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ3JDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO29CQUMzQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLEdBQUcsQ0FBQztnQkFDckQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwQixDQUFDO0lBQ1QsQ0FBQztJQUVPLGVBQWUsQ0FBQyxHQUFXO1FBQy9CLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVPLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQztRQUNuQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUM7SUFFTSxJQUFJO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxHQUFHLENBQUMsR0FBVyxFQUFFLFdBQWM7UUFDbEMsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHO1lBQ2YsUUFBUSxFQUFFLFdBQVc7WUFDckIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtTQUMvQixDQUFDO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFXO1FBQ2xCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZDLElBQUksVUFBVSxFQUFFLENBQUM7WUFDYixVQUFVLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUIsT0FBTyxVQUFVLENBQUMsUUFBUSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQVc7UUFDckIsSUFBRyxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM1QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUQsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLElBQUk7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aXNOaWx9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuaW50ZXJmYWNlIENhY2hlZERhdGE8VD4ge1xuICAgIGluc3RhbmNlOiBUO1xuICAgIGxhc3RBY2Nlc3NlZFRpbWU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIExSVUNhY2hlPFQ+IHtcbiAgICBwcml2YXRlIGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIENhY2hlZERhdGE8VD4+KCk7XG4gICAgcHJpdmF0ZSBldmljdFF1ZXVlOiBbc3RyaW5nXSA9IFsnJ107XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBtYXhTaXplID0gMTAwLFxuICAgICAgICBwcml2YXRlIG1heEFnZSA9IDYwLFxuICAgICAgICBwcml2YXRlIG9uRXZpY3Q/OiAoKGtleTogc3RyaW5nLCB2YWx1ZTogVCkgPT4gYW55KSkge1xuICAgICAgICAgICAgdGhpcy5ldmljdFF1ZXVlLnNoaWZ0KCk7XG4gICAgICAgICAgICBpZih0aGlzLm1heEFnZSA+IDApIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXhBZ2UgPD0gMzApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBDYWNoZSBhZ2UgJHt0aGlzLm1heEFnZX1zIGlzIHZlcnkgbGVzcy4gS2VlcCBpdCBhdGxlYXN0IDMwcy5gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5tYXhBZ2UgPSB0aGlzLm1heEFnZSAqIDEwMDA7XG4gICAgICAgICAgICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXggPSBEYXRlLm5vdygpIC0gdGhpcy5tYXhBZ2U7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4cGlyZWREYXRhID0gdGhpcy5ldmljdFF1ZXVlLmZpbHRlcihrID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNhY2hlLmdldChrKS5sYXN0QWNjZXNzZWRUaW1lIDw9IG1heDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXZpY3QoZXhwaXJlZERhdGEubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICB9LCB0aGlzLm1heEFnZSk7XG4gICAgICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUb0V2aWN0UXVldWUoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmV2aWN0UXVldWUuZmluZEluZGV4KGsgPT4gKGsgPT09IGtleSkpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5ldmljdFF1ZXVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ldmljdFF1ZXVlLnB1c2goa2V5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV2aWN0KGNvdW50ID0gMSk6IHZvaWQge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlKHRoaXMuZXZpY3RRdWV1ZVswXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMga2V5cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGUua2V5cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQoa2V5OiBzdHJpbmcsIGRhdGFUb0NhY2hlOiBUKTogdm9pZCB7XG4gICAgICAgIGlmIChpc05pbChkYXRhVG9DYWNoZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjYWNoZWREYXRhID0ge1xuICAgICAgICAgICAgaW5zdGFuY2U6IGRhdGFUb0NhY2hlLFxuICAgICAgICAgICAgbGFzdEFjY2Vzc2VkVGltZTogRGF0ZS5ub3coKVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNhY2hlLnNldChrZXksIGNhY2hlZERhdGEpO1xuICAgICAgICB0aGlzLmFkZFRvRXZpY3RRdWV1ZShrZXkpO1xuICAgICAgICB0aGlzLmV2aWN0KHRoaXMuZXZpY3RRdWV1ZS5sZW5ndGggLSB0aGlzLm1heFNpemUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBUIHtcbiAgICAgICAgY29uc3QgY2FjaGVkRGF0YSA9IHRoaXMuY2FjaGUuZ2V0KGtleSk7XG4gICAgICAgIGlmIChjYWNoZWREYXRhKSB7XG4gICAgICAgICAgICBjYWNoZWREYXRhLmxhc3RBY2Nlc3NlZFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgdGhpcy5hZGRUb0V2aWN0UXVldWUoa2V5KTtcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWREYXRhLmluc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGUoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgaWYoa2V5ICYmIHRoaXMuY2FjaGUuaGFzKGtleSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhY2hlZERhdGEgPSB0aGlzLmNhY2hlLmdldChrZXkpO1xuICAgICAgICAgICAgdGhpcy5jYWNoZS5kZWxldGUoa2V5KTtcbiAgICAgICAgICAgIHRoaXMub25FdmljdCAmJiB0aGlzLm9uRXZpY3Qoa2V5LCBjYWNoZWREYXRhLmluc3RhbmNlKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ldmljdFF1ZXVlLmZpbmRJbmRleChrID0+IChrID09PSBrZXkpKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ldmljdFF1ZXVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlLmhhcyhrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaXplKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2aWN0UXVldWUubGVuZ3RoO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5ldmljdCh0aGlzLmV2aWN0UXVldWUubGVuZ3RoKTtcbiAgICB9XG59XG4iXX0=
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHJ1LWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvdXRpbHMvbHJ1LWNhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFPaEMsTUFBTSxPQUFPLFFBQVE7SUFLakIsWUFDWSxVQUFVLEdBQUcsRUFDYixTQUFTLEVBQUUsRUFDWCxPQUEwQztRQUYxQyxZQUFPLEdBQVAsT0FBTyxDQUFNO1FBQ2IsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUNYLFlBQU8sR0FBUCxPQUFPLENBQW1DO1FBUDlDLFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBeUIsQ0FBQztRQUN6QyxlQUFVLEdBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1Qix1QkFBa0IsR0FBa0IsSUFBSSxDQUFDLENBQUMsaURBQWlEO1FBTTNGLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDeEIsSUFBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxNQUFNLHNDQUFzQyxDQUFDLENBQUM7WUFDakYsQ0FBQztZQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFDakMsaURBQWlEO1lBQ2pELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDOUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ3JDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxF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QUcsQ0FBQyxDQUFDLENBQUM7WUFDMUQsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVNLEdBQUcsQ0FBQyxHQUFXO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVNLElBQUk7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxLQUFLO1FBQ1IsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxPQUFPO1FBQ1Ysb0VBQW9FO1FBQ3BFLElBQUksSUFBSSxDQUFDLGtCQUFrQixLQUFLLElBQUksRUFBRSxDQUFDO1lBQ25DLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ25DLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc05pbH0gZnJvbSBcImxvZGFzaC1lc1wiO1xuXG5pbnRlcmZhY2UgQ2FjaGVkRGF0YTxUPiB7XG4gICAgaW5zdGFuY2U6IFQ7XG4gICAgbGFzdEFjY2Vzc2VkVGltZTogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgTFJVQ2FjaGU8VD4ge1xuICAgIHByaXZhdGUgY2FjaGUgPSBuZXcgTWFwPHN0cmluZywgQ2FjaGVkRGF0YTxUPj4oKTtcbiAgICBwcml2YXRlIGV2aWN0UXVldWU6IFtzdHJpbmddID0gWycnXTtcbiAgICBwcml2YXRlIGV2aWN0aW9uSW50ZXJ2YWxJZDogbnVtYmVyIHwgbnVsbCA9IG51bGw7IC8vIE1FTU9SWSBMRUFLIEZJWDogU3RvcmUgaW50ZXJ2YWwgSUQgZm9yIGNsZWFudXBcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG1heFNpemUgPSAxMDAsXG4gICAgICAgIHByaXZhdGUgbWF4QWdlID0gNjAsXG4gICAgICAgIHByaXZhdGUgb25FdmljdD86ICgoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKSA9PiBhbnkpKSB7XG4gICAgICAgICAgICB0aGlzLmV2aWN0UXVldWUuc2hpZnQoKTtcbiAgICAgICAgICAgIGlmKHRoaXMubWF4QWdlID4gMCkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLm1heEFnZSA8PSAzMCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYENhY2hlIGFnZSAke3RoaXMubWF4QWdlfXMgaXMgdmVyeSBsZXNzLiBLZWVwIGl0IGF0bGVhc3QgMzBzLmApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm1heEFnZSA9IHRoaXMubWF4QWdlICogMTAwMDtcbiAgICAgICAgICAgICAgICAvLyBNRU1PUlkgTEVBSyBGSVg6IFN0b3JlIGludGVydmFsIElEIGZvciBjbGVhbnVwXG4gICAgICAgICAgICAgICAgdGhpcy5ldmljdGlvbkludGVydmFsSWQgPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtYXggPSBEYXRlLm5vdygpIC0gdGhpcy5tYXhBZ2U7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGV4cGlyZWREYXRhID0gdGhpcy5ldmljdFF1ZXVlLmZpbHRlcihrID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNhY2hlLmdldChrKS5sYXN0QWNjZXNzZWRUaW1lIDw9IG1heDtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXZpY3QoZXhwaXJlZERhdGEubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICB9LCB0aGlzLm1heEFnZSk7XG4gICAgICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRUb0V2aWN0UXVldWUoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmV2aWN0UXVldWUuZmluZEluZGV4KGsgPT4gKGsgPT09IGtleSkpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy5ldmljdFF1ZXVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ldmljdFF1ZXVlLnB1c2goa2V5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV2aWN0KGNvdW50ID0gMSk6IHZvaWQge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlKHRoaXMuZXZpY3RRdWV1ZVswXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMga2V5cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGUua2V5cygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQoa2V5OiBzdHJpbmcsIGRhdGFUb0NhY2hlOiBUKTogdm9pZCB7XG4gICAgICAgIGlmIChpc05pbChkYXRhVG9DYWNoZSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjYWNoZWREYXRhID0ge1xuICAgICAgICAgICAgaW5zdGFuY2U6IGRhdGFUb0NhY2hlLFxuICAgICAgICAgICAgbGFzdEFjY2Vzc2VkVGltZTogRGF0ZS5ub3coKVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmNhY2hlLnNldChrZXksIGNhY2hlZERhdGEpO1xuICAgICAgICB0aGlzLmFkZFRvRXZpY3RRdWV1ZShrZXkpO1xuICAgICAgICB0aGlzLmV2aWN0KHRoaXMuZXZpY3RRdWV1ZS5sZW5ndGggLSB0aGlzLm1heFNpemUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBUIHtcbiAgICAgICAgY29uc3QgY2FjaGVkRGF0YSA9IHRoaXMuY2FjaGUuZ2V0KGtleSk7XG4gICAgICAgIGlmIChjYWNoZWREYXRhKSB7XG4gICAgICAgICAgICBjYWNoZWREYXRhLmxhc3RBY2Nlc3NlZFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgdGhpcy5hZGRUb0V2aWN0UXVldWUoa2V5KTtcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWREYXRhLmluc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBkZWxldGUoa2V5OiBzdHJpbmcpIHtcbiAgICAgICAgaWYoa2V5ICYmIHRoaXMuY2FjaGUuaGFzKGtleSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhY2hlZERhdGEgPSB0aGlzLmNhY2hlLmdldChrZXkpO1xuICAgICAgICAgICAgdGhpcy5jYWNoZS5kZWxldGUoa2V5KTtcbiAgICAgICAgICAgIHRoaXMub25FdmljdCAmJiB0aGlzLm9uRXZpY3Qoa2V5LCBjYWNoZWREYXRhLmluc3RhbmNlKTtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5ldmljdFF1ZXVlLmZpbmRJbmRleChrID0+IChrID09PSBrZXkpKTtcbiAgICAgICAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ldmljdFF1ZXVlLnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgaGFzKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhY2hlLmhhcyhrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzaXplKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmV2aWN0UXVldWUubGVuZ3RoO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5ldmljdCh0aGlzLmV2aWN0UXVldWUubGVuZ3RoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNRU1PUlkgTEVBSyBGSVg6IERlc3Ryb3kgdGhlIGNhY2hlIGFuZCBjbGVhciB0aGUgZXZpY3Rpb24gaW50ZXJ2YWxcbiAgICAgKiBDYWxsIHRoaXMgbWV0aG9kIHdoZW4gdGhlIGNhY2hlIGlzIG5vIGxvbmdlciBuZWVkZWQgdG8gcHJldmVudCBtZW1vcnkgbGVha3NcbiAgICAgKi9cbiAgICBwdWJsaWMgZGVzdHJveSgpIHtcbiAgICAgICAgLy8gQ1JJVElDQUwgRklYOiBDbGVhciB0aGUgZXZpY3Rpb24gaW50ZXJ2YWwgdG8gcHJldmVudCBtZW1vcnkgbGVha3NcbiAgICAgICAgaWYgKHRoaXMuZXZpY3Rpb25JbnRlcnZhbElkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMuZXZpY3Rpb25JbnRlcnZhbElkKTtcbiAgICAgICAgICAgIHRoaXMuZXZpY3Rpb25JbnRlcnZhbElkID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNsZWFyKCk7XG4gICAgfVxufVxuIl19