@tetacom/ng-components 1.4.4 → 1.4.5

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 (320) hide show
  1. package/assets/icons.svg +54 -0
  2. package/component/avatar/avatar/avatar.component.d.ts +1 -1
  3. package/component/button/button/button.component.d.ts +1 -1
  4. package/component/date-picker/base-calendar.d.ts +1 -1
  5. package/component/date-picker/base-picker.d.ts +1 -1
  6. package/component/date-picker/date-picker/date-calendar/date-calendar.component.d.ts +1 -1
  7. package/component/date-picker/date-picker/date-picker.component.d.ts +1 -1
  8. package/component/date-picker/date-range/date-range.component.d.ts +1 -1
  9. package/component/date-picker/date-range/range-calendar/range-calendar.component.d.ts +1 -1
  10. package/component/date-picker/day-picker/day-item/day-item.component.d.ts +1 -1
  11. package/component/date-picker/day-picker/day-picker.component.d.ts +4 -4
  12. package/component/date-picker/month-picker/month-picker.component.d.ts +2 -2
  13. package/component/date-picker/public-api.d.ts +2 -2
  14. package/component/date-picker/year-picker/year-picker.component.d.ts +3 -3
  15. package/component/filter/boolean-filter/boolean-filter.component.d.ts +3 -3
  16. package/component/message/model/message.d.ts +1 -1
  17. package/component/switch/switch/switch.component.d.ts +1 -1
  18. package/component/table/table-row/table-row.component.d.ts +2 -2
  19. package/component/tree/tree/tree.component.d.ts +1 -1
  20. package/docs/avatarDocs.mdx +78 -72
  21. package/docs/datePickerDocs.mdx +3 -3
  22. package/docs/dateRangeDocs.mdx +3 -3
  23. package/docs/delimiterDocs.mdx +78 -78
  24. package/docs/dropdownDocs.mdx +143 -123
  25. package/docs/expandCardlDocs.mdx +49 -45
  26. package/docs/expandPanelDocs.mdx +104 -92
  27. package/docs/fileAreaDocs.mdx +64 -59
  28. package/docs/inputDocs.mdx +70 -67
  29. package/docs/listDocs.mdx +14 -8
  30. package/docs/messageDocs.mdx +47 -34
  31. package/docs/progressBarDocs.mdx +65 -51
  32. package/docs/propertyGridDocs.mdx +173 -115
  33. package/docs/radioDocs.mdx +92 -80
  34. package/docs/resizePanelDocs.mdx +79 -67
  35. package/docs/selectDocs.mdx +262 -220
  36. package/docs/switchDocs.mdx +86 -73
  37. package/docs/tagDocs.mdx +17 -11
  38. package/docs/toggleDocs.mdx +42 -36
  39. package/docs/toolbarDocs.mdx +14 -8
  40. package/docs/treeDocs.mdx +108 -89
  41. package/esm2022/common/contract/teta-content-ref.mjs +1 -1
  42. package/esm2022/common/enum/align.enum.mjs +1 -1
  43. package/esm2022/common/enum/vertical-align.enum.mjs +1 -1
  44. package/esm2022/common/service/dynamic-component.service.mjs +1 -1
  45. package/esm2022/common/util/array-util.mjs +5 -7
  46. package/esm2022/common/util/dom-util.mjs +2 -3
  47. package/esm2022/common/util/position-util.mjs +6 -14
  48. package/esm2022/component/accordion/accordion-content.directive.mjs +2 -2
  49. package/esm2022/component/accordion/public-api.mjs +1 -1
  50. package/esm2022/component/autocomplete/autocomplete/autocomplete.component.mjs +2 -3
  51. package/esm2022/component/autocomplete/public-api.mjs +1 -1
  52. package/esm2022/component/avatar/avatar/avatar.component.mjs +4 -5
  53. package/esm2022/component/avatar/model/avatar-color.enum.mjs +1 -1
  54. package/esm2022/component/avatar/public-api.mjs +1 -1
  55. package/esm2022/component/button/button/button.component.mjs +2 -2
  56. package/esm2022/component/button/public-api.mjs +1 -1
  57. package/esm2022/component/chart-3d/chart3d/chart3d.component.mjs +11 -24
  58. package/esm2022/component/chart-3d/model/chart-3d-options.mjs +1 -1
  59. package/esm2022/component/chart-3d/public-api.mjs +1 -1
  60. package/esm2022/component/checkbox/checkbox/checkbox.component.mjs +3 -3
  61. package/esm2022/component/checkbox/public-api.mjs +1 -1
  62. package/esm2022/component/date-picker/base-calendar.mjs +7 -14
  63. package/esm2022/component/date-picker/base-picker.mjs +3 -2
  64. package/esm2022/component/date-picker/date-picker/date-calendar/date-calendar.component.mjs +4 -11
  65. package/esm2022/component/date-picker/date-picker/date-picker.component.mjs +5 -6
  66. package/esm2022/component/date-picker/date-range/date-range.component.mjs +6 -14
  67. package/esm2022/component/date-picker/date-range/range-calendar/range-calendar.component.mjs +4 -4
  68. package/esm2022/component/date-picker/day-picker/day-item/day-item.component.mjs +5 -6
  69. package/esm2022/component/date-picker/day-picker/day-picker.component.mjs +9 -9
  70. package/esm2022/component/date-picker/model/date-picker-mode.enum.mjs +1 -1
  71. package/esm2022/component/date-picker/model/from-to.model.mjs +1 -1
  72. package/esm2022/component/date-picker/model/min-max-date.model.mjs +1 -1
  73. package/esm2022/component/date-picker/month-picker/month-picker.component.mjs +4 -4
  74. package/esm2022/component/date-picker/public-api.mjs +3 -3
  75. package/esm2022/component/date-picker/year-picker/scroll-to-selected-year.directive.mjs +3 -3
  76. package/esm2022/component/date-picker/year-picker/year-picker.component.mjs +9 -7
  77. package/esm2022/component/delimiter/delimiter/delimiter.component.mjs +2 -2
  78. package/esm2022/component/delimiter/public-api.mjs +1 -1
  79. package/esm2022/component/divider/divider/divider.component.mjs +4 -4
  80. package/esm2022/component/divider/public-api.mjs +1 -1
  81. package/esm2022/component/dropdown/dropdown/dropdown.component.mjs +2 -3
  82. package/esm2022/component/dropdown/dropdown-base.mjs +11 -22
  83. package/esm2022/component/dropdown/dropdown-content.directive.mjs +2 -2
  84. package/esm2022/component/dropdown/dropdown-head.directive.mjs +2 -2
  85. package/esm2022/component/dropdown/dropdown.directive.mjs +4 -5
  86. package/esm2022/component/dropdown/public-api.mjs +1 -1
  87. package/esm2022/component/dynamic-component/popup-content/popup-content.component.mjs +4 -10
  88. package/esm2022/component/dynamic-component/public-api.mjs +1 -1
  89. package/esm2022/component/expand-card/expand-card/expand-card.component.mjs +4 -5
  90. package/esm2022/component/expand-card/expand-item/expand-item.component.mjs +4 -4
  91. package/esm2022/component/expand-card/public-api.mjs +1 -1
  92. package/esm2022/component/expand-panel/expand-panel/expand-panel.component.mjs +4 -9
  93. package/esm2022/component/expand-panel/expand-panel-content.directive.mjs +1 -1
  94. package/esm2022/component/expand-panel/expand-panel-head.directive.mjs +1 -1
  95. package/esm2022/component/expand-panel/public-api.mjs +1 -1
  96. package/esm2022/component/file-upload/file-item/file-item.component.mjs +1 -1
  97. package/esm2022/component/file-upload/file-upload-area/file-upload-area.component.mjs +3 -8
  98. package/esm2022/component/file-upload/public-api.mjs +1 -1
  99. package/esm2022/component/filter/base/filter-base.mjs +1 -1
  100. package/esm2022/component/filter/base/filter-component-base.mjs +1 -1
  101. package/esm2022/component/filter/boolean-filter/boolean-filter.component.mjs +5 -11
  102. package/esm2022/component/filter/contarct/boolean-filter.mjs +1 -1
  103. package/esm2022/component/filter/contarct/date-filter-value.mjs +3 -3
  104. package/esm2022/component/filter/contarct/date-filter.mjs +1 -1
  105. package/esm2022/component/filter/contarct/filter-component-map.mjs +2 -4
  106. package/esm2022/component/filter/contarct/filter-item.mjs +2 -2
  107. package/esm2022/component/filter/contarct/filter-state.mjs +1 -1
  108. package/esm2022/component/filter/contarct/list-filter.mjs +1 -1
  109. package/esm2022/component/filter/contarct/numeric-filter.mjs +1 -1
  110. package/esm2022/component/filter/contarct/sort-param.mjs +1 -1
  111. package/esm2022/component/filter/contarct/string-filter.mjs +1 -1
  112. package/esm2022/component/filter/date-filter/date-filter.component.mjs +3 -8
  113. package/esm2022/component/filter/enum/list-filter-type.enum.mjs +1 -1
  114. package/esm2022/component/filter/filter-host/filter-host.component.mjs +2 -3
  115. package/esm2022/component/filter/list-filter/list-filter.component.mjs +5 -14
  116. package/esm2022/component/filter/numeric-filter/numeric-filter.component.mjs +3 -8
  117. package/esm2022/component/filter/public-api.mjs +1 -1
  118. package/esm2022/component/filter/string-filter/string-filter.component.mjs +4 -9
  119. package/esm2022/component/icon/icon/icon.component.mjs +3 -3
  120. package/esm2022/component/icon/icon-file/icon-file.component.mjs +2 -3
  121. package/esm2022/component/icon/icon-sprite.directive.mjs +2 -2
  122. package/esm2022/component/icon/icon.service.mjs +5 -6
  123. package/esm2022/component/icon/public-api.mjs +1 -1
  124. package/esm2022/component/input/color-input/color-input.component.mjs +3 -3
  125. package/esm2022/component/input/form-group-title/form-group-title.component.mjs +2 -2
  126. package/esm2022/component/input/input/input.component.mjs +4 -4
  127. package/esm2022/component/input/public-api.mjs +1 -1
  128. package/esm2022/component/input/text-field/text-field.component.mjs +3 -9
  129. package/esm2022/component/message/message/message.component.mjs +3 -7
  130. package/esm2022/component/message/message-host/message-host.component.mjs +5 -9
  131. package/esm2022/component/message/message.service.mjs +2 -2
  132. package/esm2022/component/message/model/message.mjs +2 -2
  133. package/esm2022/component/message/public-api.mjs +1 -1
  134. package/esm2022/component/modal/dialog/dialog.component.mjs +3 -8
  135. package/esm2022/component/modal/dialog.service.mjs +1 -1
  136. package/esm2022/component/modal/modal-container/modal-container.component.mjs +4 -11
  137. package/esm2022/component/modal/modal.module.mjs +4 -12
  138. package/esm2022/component/modal/modal.service.mjs +1 -1
  139. package/esm2022/component/modal/model/current-modal.mjs +1 -1
  140. package/esm2022/component/modal/model/i-modal-result.mjs +1 -1
  141. package/esm2022/component/modal/model/modal-instance.mjs +1 -1
  142. package/esm2022/component/pager/model/pager-state.mjs +3 -2
  143. package/esm2022/component/pager/pager/pager.component.mjs +1 -1
  144. package/esm2022/component/pager/public-api.mjs +1 -1
  145. package/esm2022/component/pager/util/pager-util.mjs +1 -1
  146. package/esm2022/component/panel/panel/panel.component.mjs +4 -10
  147. package/esm2022/component/panel/public-api.mjs +1 -1
  148. package/esm2022/component/progress-bar/progress-bar/progress-bar.component.mjs +5 -6
  149. package/esm2022/component/progress-bar/public-api.mjs +1 -1
  150. package/esm2022/component/property-grid/property-grid/property-grid-group/property-grid-group.component.mjs +4 -4
  151. package/esm2022/component/property-grid/property-grid/property-grid-item/property-grid-item.component.mjs +7 -8
  152. package/esm2022/component/property-grid/property-grid/property-grid-item-description.directive.mjs +2 -2
  153. package/esm2022/component/property-grid/property-grid/property-grid.component.mjs +6 -11
  154. package/esm2022/component/property-grid/property-grid.module.mjs +1 -1
  155. package/esm2022/component/radio/public-api.mjs +1 -1
  156. package/esm2022/component/radio/radio/radio.component.mjs +7 -11
  157. package/esm2022/component/radio/radio-button/radio-button.component.mjs +3 -3
  158. package/esm2022/component/resize-panel/public-api.mjs +1 -1
  159. package/esm2022/component/resize-panel/resize-panel/resize-panel.component.mjs +5 -10
  160. package/esm2022/component/select/public-api.mjs +1 -1
  161. package/esm2022/component/select/select/select.component.mjs +10 -18
  162. package/esm2022/component/select/select-option.directive.mjs +2 -2
  163. package/esm2022/component/select/select-value.directive.mjs +2 -2
  164. package/esm2022/component/sidebar/public-api.mjs +1 -1
  165. package/esm2022/component/sidebar/sidebar/sidebar.component.mjs +6 -12
  166. package/esm2022/component/sidebar/sidebar-position.enum.mjs +1 -1
  167. package/esm2022/component/switch/public-api.mjs +1 -1
  168. package/esm2022/component/switch/switch/switch.component.mjs +4 -7
  169. package/esm2022/component/switch/switch-button/switch-button.component.mjs +2 -3
  170. package/esm2022/component/switch/switch.service.mjs +2 -2
  171. package/esm2022/component/table/base/cell-component-base.mjs +10 -22
  172. package/esm2022/component/table/base/detail-component-base.mjs +1 -1
  173. package/esm2022/component/table/base/head-cell-component-base.mjs +2 -2
  174. package/esm2022/component/table/cell/cell.component.mjs +4 -4
  175. package/esm2022/component/table/cell-host/cell-host.component.mjs +1 -1
  176. package/esm2022/component/table/contract/cell-components-map.mjs +2 -4
  177. package/esm2022/component/table/contract/column-reorder-event.mjs +1 -1
  178. package/esm2022/component/table/contract/sort-event.mjs +1 -1
  179. package/esm2022/component/table/contract/table-column.mjs +3 -3
  180. package/esm2022/component/table/default/boolean-cell/boolean-cell.component.mjs +4 -8
  181. package/esm2022/component/table/default/date-cell/date-cell.component.mjs +4 -9
  182. package/esm2022/component/table/default/date-time-cell/date-time-cell.component.mjs +4 -9
  183. package/esm2022/component/table/default/default-head-cell/default-head-cell.component.mjs +5 -6
  184. package/esm2022/component/table/default/list-cell/list-cell.component.mjs +7 -13
  185. package/esm2022/component/table/default/numeric-cell/numeric-cell.component.mjs +4 -9
  186. package/esm2022/component/table/default/string-cell/string-cell.component.mjs +4 -8
  187. package/esm2022/component/table/enum/edit-event.enum.mjs +1 -1
  188. package/esm2022/component/table/enum/edit-type.enum.mjs +1 -1
  189. package/esm2022/component/table/enum/select-type.enum.mjs +1 -1
  190. package/esm2022/component/table/head-cell-dropdown/head-cell-dropdown.component.mjs +4 -11
  191. package/esm2022/component/table/head-cell-host/head-cell-host.component.mjs +3 -4
  192. package/esm2022/component/table/public-api.mjs +1 -1
  193. package/esm2022/component/table/selection-cell/selection-cell.component.mjs +4 -6
  194. package/esm2022/component/table/selection-head-cell/selection-head-cell.component.mjs +5 -7
  195. package/esm2022/component/table/service/table.service.mjs +35 -52
  196. package/esm2022/component/table/table/table.component.mjs +12 -24
  197. package/esm2022/component/table/table-body/table-body.component.mjs +15 -21
  198. package/esm2022/component/table/table-head/filter-dropdown-tab/filter-dropdown-tab.component.mjs +5 -6
  199. package/esm2022/component/table/table-head/main-dropdown-tab/main-dropdown-tab.component.mjs +4 -5
  200. package/esm2022/component/table/table-head/table-head.component.mjs +10 -10
  201. package/esm2022/component/table/table-head/visibility-dropdown-tab/visibility-dropdown-tab.component.mjs +12 -12
  202. package/esm2022/component/table/table-head-group/table-head-group.component.mjs +7 -12
  203. package/esm2022/component/table/table-row/table-row.component.mjs +3 -3
  204. package/esm2022/component/table/util/state-util.mjs +13 -25
  205. package/esm2022/component/table/util/table-util.mjs +15 -9
  206. package/esm2022/component/tabs/public-api.mjs +1 -1
  207. package/esm2022/component/tabs/tab-content.directive.mjs +2 -2
  208. package/esm2022/component/tabs/tab-title.directive.mjs +2 -2
  209. package/esm2022/component/theme-switch/public-api.mjs +1 -1
  210. package/esm2022/component/toggle/public-api.mjs +1 -1
  211. package/esm2022/component/toggle/toggle/toggle.component.mjs +3 -3
  212. package/esm2022/component/toolbar/public-api.mjs +1 -1
  213. package/esm2022/component/toolbar/toolbar/toolbar.component.mjs +2 -2
  214. package/esm2022/component/tree/public-api.mjs +1 -1
  215. package/esm2022/component/tree/tree/tree.component.mjs +6 -6
  216. package/esm2022/component/tree/tree-item/tree-item.component.mjs +9 -20
  217. package/esm2022/component/tree/tree-item-toggle/tree-item-toggle.component.mjs +5 -6
  218. package/esm2022/component/tree/tree.service.mjs +1 -1
  219. package/esm2022/directive/auto-position/auto-position.directive.mjs +3 -3
  220. package/esm2022/directive/auto-position/public-api.mjs +1 -1
  221. package/esm2022/directive/click-outside/click-outside.directive.mjs +2 -2
  222. package/esm2022/directive/click-outside/public-api.mjs +1 -1
  223. package/esm2022/directive/context-menu/context-menu.directive.mjs +4 -8
  224. package/esm2022/directive/context-menu/public-api.mjs +1 -1
  225. package/esm2022/directive/disable-control/disable-control.directive.mjs +1 -1
  226. package/esm2022/directive/disable-control/public-api.mjs +1 -1
  227. package/esm2022/directive/drag-drop/drag-container.directive.mjs +8 -10
  228. package/esm2022/directive/drag-drop/drag-drop.service.mjs +14 -11
  229. package/esm2022/directive/drag-drop/drag-placeholder.directive.mjs +2 -2
  230. package/esm2022/directive/drag-drop/drag-preview.directive.mjs +2 -2
  231. package/esm2022/directive/drag-drop/drag.directive.mjs +4 -7
  232. package/esm2022/directive/drag-drop/model/drag-container-instance.mjs +1 -1
  233. package/esm2022/directive/drag-drop/model/drag-instance.mjs +1 -1
  234. package/esm2022/directive/drag-drop/model/drag-process.mjs +1 -1
  235. package/esm2022/directive/drag-drop/model/drag-selection.mjs +1 -1
  236. package/esm2022/directive/drag-drop/model/drop-event.mjs +1 -1
  237. package/esm2022/directive/drag-drop/model/drop-target.mjs +1 -1
  238. package/esm2022/directive/drag-sort/drag-sort-container.directive.mjs +2 -3
  239. package/esm2022/directive/drag-sort/drag-sort-item.directive.mjs +4 -10
  240. package/esm2022/directive/drag-sort/public-api.mjs +1 -1
  241. package/esm2022/directive/dynamic-content-base.directive.mjs +3 -3
  242. package/esm2022/directive/highlight/highlight.directive.mjs +4 -5
  243. package/esm2022/directive/highlight/public-api.mjs +1 -1
  244. package/esm2022/directive/hint/hint.directive.mjs +5 -14
  245. package/esm2022/directive/hint/public-api.mjs +1 -1
  246. package/esm2022/directive/let/let.directive.mjs +2 -2
  247. package/esm2022/directive/let/public-api.mjs +1 -1
  248. package/esm2022/directive/loader/loader.directive.mjs +3 -3
  249. package/esm2022/directive/loader/public-api.mjs +1 -1
  250. package/esm2022/directive/no-autofill/no-autofill.directive.mjs +1 -1
  251. package/esm2022/directive/no-autofill/public-api.mjs +1 -1
  252. package/esm2022/directive/only-number/public-api.mjs +1 -1
  253. package/esm2022/directive/resize-drag/public-api.mjs +1 -1
  254. package/esm2022/directive/resize-drag/resize-drag.directive.mjs +2 -2
  255. package/esm2022/directive/scroll-into-view/public-api.mjs +1 -1
  256. package/esm2022/directive/scroll-into-view/scroll-into-view.directive.mjs +3 -3
  257. package/esm2022/directive/scrollable/public-api.mjs +1 -1
  258. package/esm2022/directive/scrollable/scrollable/scrollable.component.mjs +6 -13
  259. package/esm2022/directive/scrollable/scrollable.directive.mjs +2 -2
  260. package/esm2022/directive/teta-template/public-api.mjs +1 -1
  261. package/esm2022/directive/teta-template/teta-template.directive.mjs +2 -2
  262. package/esm2022/directive/tooltip/public-api.mjs +1 -1
  263. package/esm2022/directive/tooltip/tooltip.directive.mjs +3 -4
  264. package/esm2022/index.mjs +1 -1
  265. package/esm2022/locale/en.mjs +2 -10
  266. package/esm2022/locale/ru.mjs +2 -10
  267. package/esm2022/locale/teta-config.service.mjs +2 -2
  268. package/esm2022/locale/teta-localisation.mjs +1 -1
  269. package/esm2022/observable/public-api.mjs +1 -1
  270. package/esm2022/observable/zone-observable.mjs +4 -4
  271. package/esm2022/pipe/date-pipe/teta-date.pipe.mjs +2 -2
  272. package/esm2022/pipe/number-pipe/number.pipe.mjs +2 -2
  273. package/esm2022/pipe/number-pipe/public-api.mjs +1 -1
  274. package/esm2022/pipe/util/number-helper.mjs +1 -1
  275. package/esm2022/util/bool-or-func.mjs +1 -1
  276. package/esm2022/util/date-util.mjs +2 -4
  277. package/esm2022/util/export-dom-image.mjs +1 -1
  278. package/esm2022/util/forms-util.mjs +6 -17
  279. package/esm2022/util/string-util.mjs +1 -3
  280. package/fesm2022/tetacom-ng-components.mjs +438 -801
  281. package/fesm2022/tetacom-ng-components.mjs.map +1 -1
  282. package/locale/teta-localisation.d.ts +1 -14
  283. package/package.json +1 -1
  284. package/style/assembly-library.scss +41 -41
  285. package/style/assembly-presets.scss +4 -4
  286. package/style/assembly.scss +3 -3
  287. package/style/border.scss +2 -2
  288. package/style/color.scss +2 -3
  289. package/style/datepicker.scss +9 -10
  290. package/style/divider.scss +2 -1
  291. package/style/drag.scss +1 -1
  292. package/style/dropdown.scss +4 -5
  293. package/style/font.scss +2 -2
  294. package/style/hint.scss +3 -3
  295. package/style/input.scss +14 -9
  296. package/style/layout.scss +8 -8
  297. package/style/list.scss +2 -2
  298. package/style/loader.scss +1 -1
  299. package/style/message.scss +3 -3
  300. package/style/navigation.scss +6 -6
  301. package/style/presets/color-presets.scss +2 -2
  302. package/style/presets/view-types.scss +1 -1
  303. package/style/progress.scss +3 -2
  304. package/style/radio.scss +2 -4
  305. package/style/reset.scss +3 -1
  306. package/style/resize-panel.scss +12 -6
  307. package/style/scroll.scss +1 -1
  308. package/style/select.scss +5 -4
  309. package/style/shadow.scss +3 -3
  310. package/style/sidebar.scss +2 -2
  311. package/style/sizing.scss +1 -1
  312. package/style/skeleton.scss +3 -4
  313. package/style/spacing.scss +1 -1
  314. package/style/switch.scss +2 -3
  315. package/style/tag.scss +8 -8
  316. package/style/toggle.scss +3 -6
  317. package/style/toolbar.scss +3 -3
  318. package/style/tooltip.scss +5 -4
  319. package/style/tree.scss +2 -2
  320. package/style/util/font-util.scss +1 -1
@@ -20,23 +20,16 @@ export class DateCalendarComponent extends BaseCalendar {
20
20
  .pipe(takeWhile(() => this.alive), filter(([currentYear, currentMonth]) => currentMonth !== null && currentYear !== null), map(([year, month, minMax]) => {
21
21
  return this.generateCalendar(dayjs(new Date(this.selectedDate)).locale('ru', { weekStart: 1 }), year, month, minMax);
22
22
  }))
23
- .subscribe(_ => {
23
+ .subscribe((_) => {
24
24
  this.calendar = _;
25
25
  });
26
26
  }
27
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DateCalendarComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
28
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: DateCalendarComponent, isStandalone: true, selector: "teta-date-calendar", inputs: { selectedDate: "selectedDate", open: "open", locale: "locale", viewType: "viewType", min: "min", isDateNull: "isDateNull", max: "max" }, outputs: { setDate: "setDate" }, usesInheritance: true, ngImport: i0, template: "@if ({currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async}; as data) {\n <div\n class=\"datepicker-content overflow-y-auto\"\n >\n @if (data.selectedPicker==='day') {\n <div class=\"padding-h-3 padding-v-2\" (wheel)=\"scrollMonth($event,data.currentMonth,data.currentYear)\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 \">\n <button [class]=\"'datepicker_'+viewType \" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('month')\"> {{getMothName(data.currentMonth)}}</button>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [viewType]=\"viewType\" (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar\"></teta-day-picker>\n </div>\n </div>\n }\n @if (data.selectedPicker==='month') {\n <teta-month-picker [localeMoths]=\"locale.months\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n }\n @if (data.selectedPicker==='year') {\n <teta-year-picker [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n }\n </div>\n}\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: DayPickerComponent, selector: "teta-day-picker", inputs: ["date", "calendar", "viewType", "range", "min", "max", "locale", "hoveredDate"], outputs: ["hoveredDateChange", "selectDate"] }, { kind: "component", type: MonthPickerComponent, selector: "teta-month-picker", inputs: ["selectedMonth", "viewType", "currentYear", "localeMoths"], outputs: ["selectMonth", "changeYear"] }, { kind: "component", type: YearPickerComponent, selector: "teta-year-picker", inputs: ["selectedYear", "viewType", "minMax", "locale"], outputs: ["selectYear"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
28
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: DateCalendarComponent, isStandalone: true, selector: "teta-date-calendar", inputs: { selectedDate: "selectedDate", open: "open", locale: "locale", viewType: "viewType", min: "min", isDateNull: "isDateNull", max: "max" }, outputs: { setDate: "setDate" }, usesInheritance: true, ngImport: i0, template: "@if ({currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async}; as data) {\n<div class=\"datepicker-content overflow-y-auto\">\n @if (data.selectedPicker==='day') {\n <div class=\"padding-h-3 padding-v-2\" (wheel)=\"scrollMonth($event, data.currentMonth, data.currentYear)\">\n <div class=\"row align-center justify-content-between\">\n <teta-button\n [class]=\"'change-month-button datepicker_' + viewType\"\n [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth - 1, data.currentYear)\"\n palette=\"text\"\n view=\"ghost\"\n >\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2\">\n <button\n [class]=\"'datepicker_' + viewType\"\n teta-button\n view=\"ghost\"\n palette=\"text\"\n (click)=\"selectPicker('month')\"\n >\n {{ getMothName(data.currentMonth) }}\n </button>\n <button\n [class]=\"'datepicker_' + viewType\"\n teta-button\n view=\"ghost\"\n palette=\"text\"\n (click)=\"selectPicker('year')\"\n >\n {{ data.currentYear }}\n </button>\n </div>\n <teta-button\n [square]=\"true\"\n [class]=\"'change-month-button datepicker_' + viewType\"\n (click)=\"changeMonth(data.currentMonth + 1, data.currentYear)\"\n palette=\"text\"\n view=\"ghost\"\n >\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker\n [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\"\n [locale]=\"locale\"\n [calendar]=\"calendar\"\n ></teta-day-picker>\n </div>\n </div>\n } @if (data.selectedPicker==='month') {\n <teta-month-picker\n [localeMoths]=\"locale.months\"\n [currentYear]=\"data.currentYear\"\n (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\"\n [viewType]=\"viewType\"\n (selectMonth)=\"selectMonth($event)\"\n ></teta-month-picker>\n } @if (data.selectedPicker==='year') {\n <teta-year-picker\n [locale]=\"locale\"\n [viewType]=\"viewType\"\n (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"\n ></teta-year-picker>\n }\n</div>\n}\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[teta-button], teta-button", inputs: ["palette", "class", "view", "square", "viewType", "size"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "component", type: DayPickerComponent, selector: "teta-day-picker", inputs: ["date", "calendar", "viewType", "range", "min", "max", "locale", "hoveredDate"], outputs: ["hoveredDateChange", "selectDate"] }, { kind: "component", type: MonthPickerComponent, selector: "teta-month-picker", inputs: ["selectedMonth", "viewType", "currentYear", "localeMoths"], outputs: ["selectMonth", "changeYear"] }, { kind: "component", type: YearPickerComponent, selector: "teta-year-picker", inputs: ["selectedYear", "viewType", "minMax", "locale"], outputs: ["selectYear"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
29
29
  }
30
30
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DateCalendarComponent, decorators: [{
31
31
  type: Component,
32
- args: [{ selector: 'teta-date-calendar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
33
- ButtonComponent,
34
- IconComponent,
35
- DayPickerComponent,
36
- MonthPickerComponent,
37
- YearPickerComponent,
38
- AsyncPipe,
39
- ], template: "@if ({currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async}; as data) {\n <div\n class=\"datepicker-content overflow-y-auto\"\n >\n @if (data.selectedPicker==='day') {\n <div class=\"padding-h-3 padding-v-2\" (wheel)=\"scrollMonth($event,data.currentMonth,data.currentYear)\">\n <div class=\"row align-center justify-content-between\">\n <teta-button [class]=\"'change-month-button datepicker_'+viewType\" [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth-1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2 \">\n <button [class]=\"'datepicker_'+viewType \" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('month')\"> {{getMothName(data.currentMonth)}}</button>\n <button [class]=\"'datepicker_'+viewType\" teta-button view=\"ghost\" palette=\"text\"\n (click)=\"selectPicker('year')\">{{data.currentYear}}</button>\n </div>\n <teta-button [square]=\"true\" [class]=\"'change-month-button datepicker_'+viewType\"\n (click)=\"changeMonth(data.currentMonth+1,data.currentYear)\"\n palette=\"text\"\n view=\"ghost\">\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker [viewType]=\"viewType\" (selectDate)=\"selectDate($event)\" [locale]=\"locale\"\n [calendar]=\"calendar\"></teta-day-picker>\n </div>\n </div>\n }\n @if (data.selectedPicker==='month') {\n <teta-month-picker [localeMoths]=\"locale.months\" [currentYear]=\"data.currentYear\" (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\" [viewType]=\"viewType\"\n (selectMonth)=\"selectMonth($event)\"></teta-month-picker>\n }\n @if (data.selectedPicker==='year') {\n <teta-year-picker [locale]=\"locale\" [viewType]=\"viewType\" (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"></teta-year-picker>\n }\n </div>\n}\n\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"] }]
32
+ args: [{ selector: 'teta-date-calendar', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ButtonComponent, IconComponent, DayPickerComponent, MonthPickerComponent, YearPickerComponent, AsyncPipe], template: "@if ({currentMonth:currentMonth|async,currentYear:currentYear|async,selectedPicker:selectedPicker|async}; as data) {\n<div class=\"datepicker-content overflow-y-auto\">\n @if (data.selectedPicker==='day') {\n <div class=\"padding-h-3 padding-v-2\" (wheel)=\"scrollMonth($event, data.currentMonth, data.currentYear)\">\n <div class=\"row align-center justify-content-between\">\n <teta-button\n [class]=\"'change-month-button datepicker_' + viewType\"\n [square]=\"true\"\n (click)=\"changeMonth(data.currentMonth - 1, data.currentYear)\"\n palette=\"text\"\n view=\"ghost\"\n >\n <teta-icon name=\"arrowLeftKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n <div class=\"row gap-4 font-button-2\">\n <button\n [class]=\"'datepicker_' + viewType\"\n teta-button\n view=\"ghost\"\n palette=\"text\"\n (click)=\"selectPicker('month')\"\n >\n {{ getMothName(data.currentMonth) }}\n </button>\n <button\n [class]=\"'datepicker_' + viewType\"\n teta-button\n view=\"ghost\"\n palette=\"text\"\n (click)=\"selectPicker('year')\"\n >\n {{ data.currentYear }}\n </button>\n </div>\n <teta-button\n [square]=\"true\"\n [class]=\"'change-month-button datepicker_' + viewType\"\n (click)=\"changeMonth(data.currentMonth + 1, data.currentYear)\"\n palette=\"text\"\n view=\"ghost\"\n >\n <teta-icon name=\"arrowRightKey\" [palette]=\"'text'\"></teta-icon>\n </teta-button>\n </div>\n <div>\n <teta-day-picker\n [viewType]=\"viewType\"\n (selectDate)=\"selectDate($event)\"\n [locale]=\"locale\"\n [calendar]=\"calendar\"\n ></teta-day-picker>\n </div>\n </div>\n } @if (data.selectedPicker==='month') {\n <teta-month-picker\n [localeMoths]=\"locale.months\"\n [currentYear]=\"data.currentYear\"\n (changeYear)=\"setYear($event)\"\n [selectedMonth]=\"data.currentMonth\"\n [viewType]=\"viewType\"\n (selectMonth)=\"selectMonth($event)\"\n ></teta-month-picker>\n } @if (data.selectedPicker==='year') {\n <teta-year-picker\n [locale]=\"locale\"\n [viewType]=\"viewType\"\n (selectYear)=\"selectYear($event)\"\n [selectedYear]=\"data.currentYear\"\n ></teta-year-picker>\n }\n</div>\n}\n", styles: [".change-month-button{-webkit-user-select:none;user-select:none}\n"] }]
40
33
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { selectedDate: [{
41
34
  type: Input
42
35
  }], open: [{
@@ -54,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
54
47
  }], setDate: [{
55
48
  type: Output
56
49
  }] } });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtY2FsZW5kYXIvZGF0ZS1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtY2FsZW5kYXIvZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQWlCMUUsTUFBTSxPQUFPLHFCQUNYLFNBQVEsWUFBWTtJQVlwQixZQUFxQixJQUF1QjtRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFETyxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQVZuQyxpQkFBWSxHQUEyQixJQUFJLElBQUksRUFBRSxDQUFDO1FBT2pELFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUMxRCxhQUFRLEdBQWUsRUFBRSxDQUFDO1FBSS9CLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUQsSUFBSSxDQUNILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQzNCLE1BQU0sQ0FDSixDQUFDLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FDOUIsWUFBWSxLQUFLLElBQUksSUFBSSxXQUFXLEtBQUssSUFBSSxDQUNoRCxFQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQzVCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUMxQixLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUNqRSxJQUFJLEVBQ0osS0FBSyxFQUNMLE1BQU0sQ0FDUCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0g7YUFDQSxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDYixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBbENVLHFCQUFxQjtrR0FBckIscUJBQXFCLHdSQ3ZDbEMsdXZFQTRDQSwySERiUSxlQUFlLGlKQUNmLGFBQWEsb0dBQ2Isa0JBQWtCLG9NQUNsQixvQkFBb0IsMktBQ3BCLG1CQUFtQiwySUFDbkIsU0FBUzs7MkZBR0oscUJBQXFCO2tCQWZqQyxTQUFTOytCQUNJLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUDt3QkFDTCxlQUFlO3dCQUNmLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsU0FBUztxQkFDWjtzRkFLTSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL21vZGVsL3ZpZXctdHlwZS5tb2RlbCc7XG5pbXBvcnQgeyBCYXNlQ2FsZW5kYXIgfSBmcm9tICcuLi8uLi9iYXNlLWNhbGVuZGFyJztcbmltcG9ydCB7IERheU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF5LW1vZGVsJztcbmltcG9ydCB7VGV0YUxvY2FsaXNhdGlvbn0gZnJvbSBcIi4uLy4uLy4uLy4uL2xvY2FsZS90ZXRhLWxvY2FsaXNhdGlvblwiO1xuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFllYXJQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi95ZWFyLXBpY2tlci95ZWFyLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9udGhQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb250aC1waWNrZXIvbW9udGgtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXlQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9kYXktcGlja2VyL2RheS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pY29uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYnV0dG9uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0ZXRhLWRhdGUtY2FsZW5kYXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRlLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIEJ1dHRvbkNvbXBvbmVudCxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgRGF5UGlja2VyQ29tcG9uZW50LFxuICAgICAgICBNb250aFBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgWWVhclBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgQXN5bmNQaXBlLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVDYWxlbmRhckNvbXBvbmVudFxuICBleHRlbmRzIEJhc2VDYWxlbmRhclxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgQElucHV0KCkgc2VsZWN0ZWREYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyID0gbmV3IERhdGUoKTtcbiAgQElucHV0KCkgb3BlbjogYm9vbGVhbjtcbiAgQElucHV0KCkgbG9jYWxlOlRldGFMb2NhbGlzYXRpb25cbiAgQElucHV0KCkgdmlld1R5cGU6IHZpZXdUeXBlO1xuICBASW5wdXQoKSBtaW46IERhdGUgfCBzdHJpbmcgfCBudW1iZXI7XG4gIEBJbnB1dCgpIGlzRGF0ZU51bGw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG1heDogRGF0ZSB8IHN0cmluZyB8IG51bWJlcjtcbiAgQE91dHB1dCgpIHNldERhdGU6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgcHVibGljIGNhbGVuZGFyOiBEYXlNb2RlbFtdID0gW107XG5cbiAgY29uc3RydWN0b3Iob3ZlcnJpZGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihfY2RyKTtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmN1cnJlbnRZZWFyLCB0aGlzLmN1cnJlbnRNb250aCwgdGhpcy5taW5NYXhdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmFsaXZlKSxcbiAgICAgICAgZmlsdGVyKFxuICAgICAgICAgIChbY3VycmVudFllYXIsIGN1cnJlbnRNb250aF0pID0+XG4gICAgICAgICAgICBjdXJyZW50TW9udGggIT09IG51bGwgJiYgY3VycmVudFllYXIgIT09IG51bGxcbiAgICAgICAgKSxcbiAgICAgICAgbWFwKChbeWVhciwgbW9udGgsIG1pbk1heF0pID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZUNhbGVuZGFyKFxuICAgICAgICAgICAgZGF5anMobmV3IERhdGUodGhpcy5zZWxlY3RlZERhdGUpKS5sb2NhbGUoJ3J1JywgeyB3ZWVrU3RhcnQ6IDEgfSksXG4gICAgICAgICAgICB5ZWFyLFxuICAgICAgICAgICAgbW9udGgsXG4gICAgICAgICAgICBtaW5NYXhcbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZShfID0+IHtcbiAgICAgICAgdGhpcy5jYWxlbmRhciA9IF87XG4gICAgICB9KTtcbiAgfVxuXG59XG4iLCJAaWYgKHtjdXJyZW50TW9udGg6Y3VycmVudE1vbnRofGFzeW5jLGN1cnJlbnRZZWFyOmN1cnJlbnRZZWFyfGFzeW5jLHNlbGVjdGVkUGlja2VyOnNlbGVjdGVkUGlja2VyfGFzeW5jfTsgYXMgZGF0YSkge1xuICA8ZGl2XG4gICAgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRlbnQgb3ZlcmZsb3cteS1hdXRvXCJcbiAgICA+XG4gICAgQGlmIChkYXRhLnNlbGVjdGVkUGlja2VyPT09J2RheScpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJwYWRkaW5nLWgtMyBwYWRkaW5nLXYtMlwiICh3aGVlbCk9XCJzY3JvbGxNb250aCgkZXZlbnQsZGF0YS5jdXJyZW50TW9udGgsZGF0YS5jdXJyZW50WWVhcilcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhbGlnbi1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cbiAgICAgICAgICA8dGV0YS1idXR0b24gW2NsYXNzXT1cIidjaGFuZ2UtbW9udGgtYnV0dG9uIGRhdGVwaWNrZXJfJyt2aWV3VHlwZVwiIFtzcXVhcmVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2hhbmdlTW9udGgoZGF0YS5jdXJyZW50TW9udGgtMSxkYXRhLmN1cnJlbnRZZWFyKVwiXG4gICAgICAgICAgICBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgICAgICB2aWV3PVwiZ2hvc3RcIj5cbiAgICAgICAgICAgIDx0ZXRhLWljb24gbmFtZT1cImFycm93TGVmdEtleVwiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICAgIDwvdGV0YS1idXR0b24+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnYXAtNCBmb250LWJ1dHRvbi0yIFwiPlxuICAgICAgICAgICAgPGJ1dHRvbiBbY2xhc3NdPVwiJ2RhdGVwaWNrZXJfJyt2aWV3VHlwZSBcIiB0ZXRhLWJ1dHRvbiB2aWV3PVwiZ2hvc3RcIiBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGlja2VyKCdtb250aCcpXCI+IHt7Z2V0TW90aE5hbWUoZGF0YS5jdXJyZW50TW9udGgpfX08L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b24gW2NsYXNzXT1cIidkYXRlcGlja2VyXycrdmlld1R5cGVcIiB0ZXRhLWJ1dHRvbiB2aWV3PVwiZ2hvc3RcIiBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGlja2VyKCd5ZWFyJylcIj57e2RhdGEuY3VycmVudFllYXJ9fTwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDx0ZXRhLWJ1dHRvbiBbc3F1YXJlXT1cInRydWVcIiBbY2xhc3NdPVwiJ2NoYW5nZS1tb250aC1idXR0b24gZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjaGFuZ2VNb250aChkYXRhLmN1cnJlbnRNb250aCsxLGRhdGEuY3VycmVudFllYXIpXCJcbiAgICAgICAgICAgIHBhbGV0dGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIHZpZXc9XCJnaG9zdFwiPlxuICAgICAgICAgICAgPHRldGEtaWNvbiBuYW1lPVwiYXJyb3dSaWdodEtleVwiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICAgIDwvdGV0YS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDx0ZXRhLWRheS1waWNrZXIgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCIgKHNlbGVjdERhdGUpPVwic2VsZWN0RGF0ZSgkZXZlbnQpXCIgW2xvY2FsZV09XCJsb2NhbGVcIlxuICAgICAgICAgIFtjYWxlbmRhcl09XCJjYWxlbmRhclwiPjwvdGV0YS1kYXktcGlja2VyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgICBAaWYgKGRhdGEuc2VsZWN0ZWRQaWNrZXI9PT0nbW9udGgnKSB7XG4gICAgICA8dGV0YS1tb250aC1waWNrZXIgW2xvY2FsZU1vdGhzXT1cImxvY2FsZS5tb250aHNcIiBbY3VycmVudFllYXJdPVwiZGF0YS5jdXJyZW50WWVhclwiIChjaGFuZ2VZZWFyKT1cInNldFllYXIoJGV2ZW50KVwiXG4gICAgICAgIFtzZWxlY3RlZE1vbnRoXT1cImRhdGEuY3VycmVudE1vbnRoXCIgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCJcbiAgICAgIChzZWxlY3RNb250aCk9XCJzZWxlY3RNb250aCgkZXZlbnQpXCI+PC90ZXRhLW1vbnRoLXBpY2tlcj5cbiAgICB9XG4gICAgQGlmIChkYXRhLnNlbGVjdGVkUGlja2VyPT09J3llYXInKSB7XG4gICAgICA8dGV0YS15ZWFyLXBpY2tlciBbbG9jYWxlXT1cImxvY2FsZVwiIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiIChzZWxlY3RZZWFyKT1cInNlbGVjdFllYXIoJGV2ZW50KVwiXG4gICAgICBbc2VsZWN0ZWRZZWFyXT1cImRhdGEuY3VycmVudFllYXJcIj48L3RldGEteWVhci1waWNrZXI+XG4gICAgfVxuICA8L2Rpdj5cbn1cblxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtY2FsZW5kYXIvZGF0ZS1jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtY2FsZW5kYXIvZGF0ZS1jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBR25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQVUxRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsWUFBWTtJQVdyRCxZQUFxQixJQUF1QjtRQUMxQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFETyxTQUFJLEdBQUosSUFBSSxDQUFtQjtRQVZuQyxpQkFBWSxHQUEyQixJQUFJLElBQUksRUFBRSxDQUFDO1FBT2pELFlBQU8sR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUMxRCxhQUFRLEdBQWUsRUFBRSxDQUFDO1FBSS9CLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUQsSUFBSSxDQUNILFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQzNCLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLEtBQUssSUFBSSxJQUFJLFdBQVcsS0FBSyxJQUFJLENBQUMsRUFDdEYsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQzFCLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQ2pFLElBQUksRUFDSixLQUFLLEVBQ0wsTUFBTSxDQUNQLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzhHQTdCVSxxQkFBcUI7a0dBQXJCLHFCQUFxQix3UkNqQ2xDLDY0RUF3RUEsMkhEekNZLGVBQWUsaUpBQUUsYUFBYSxvR0FBRSxrQkFBa0Isb01BQUUsb0JBQW9CLDJLQUFFLG1CQUFtQiwySUFBRSxTQUFTOzsyRkFFdkcscUJBQXFCO2tCQVJqQyxTQUFTOytCQUNFLG9CQUFvQixtQkFHYix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxDQUFDO3NGQUcxRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgdGFrZVdoaWxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29tbW9uL21vZGVsL3ZpZXctdHlwZS5tb2RlbCc7XG5pbXBvcnQgeyBCYXNlQ2FsZW5kYXIgfSBmcm9tICcuLi8uLi9iYXNlLWNhbGVuZGFyJztcbmltcG9ydCB7IERheU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGF5LW1vZGVsJztcbmltcG9ydCB7IFRldGFMb2NhbGlzYXRpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9sb2NhbGUvdGV0YS1sb2NhbGlzYXRpb24nO1xuaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFllYXJQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi95ZWFyLXBpY2tlci95ZWFyLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9udGhQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9tb250aC1waWNrZXIvbW9udGgtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXlQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9kYXktcGlja2VyL2RheS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9pY29uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYnV0dG9uL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGV0YS1kYXRlLWNhbGVuZGFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLWNhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQnV0dG9uQ29tcG9uZW50LCBJY29uQ29tcG9uZW50LCBEYXlQaWNrZXJDb21wb25lbnQsIE1vbnRoUGlja2VyQ29tcG9uZW50LCBZZWFyUGlja2VyQ29tcG9uZW50LCBBc3luY1BpcGVdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlQ2FsZW5kYXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ2FsZW5kYXIgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIHNlbGVjdGVkRGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlciA9IG5ldyBEYXRlKCk7XG4gIEBJbnB1dCgpIG9wZW46IGJvb2xlYW47XG4gIEBJbnB1dCgpIGxvY2FsZTogVGV0YUxvY2FsaXNhdGlvbjtcbiAgQElucHV0KCkgdmlld1R5cGU6IHZpZXdUeXBlO1xuICBASW5wdXQoKSBtaW46IERhdGUgfCBzdHJpbmcgfCBudW1iZXI7XG4gIEBJbnB1dCgpIGlzRGF0ZU51bGw6IGJvb2xlYW47XG4gIEBJbnB1dCgpIG1heDogRGF0ZSB8IHN0cmluZyB8IG51bWJlcjtcbiAgQE91dHB1dCgpIHNldERhdGU6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgcHVibGljIGNhbGVuZGFyOiBEYXlNb2RlbFtdID0gW107XG5cbiAgY29uc3RydWN0b3Iob3ZlcnJpZGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBzdXBlcihfY2RyKTtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLmN1cnJlbnRZZWFyLCB0aGlzLmN1cnJlbnRNb250aCwgdGhpcy5taW5NYXhdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VXaGlsZSgoKSA9PiB0aGlzLmFsaXZlKSxcbiAgICAgICAgZmlsdGVyKChbY3VycmVudFllYXIsIGN1cnJlbnRNb250aF0pID0+IGN1cnJlbnRNb250aCAhPT0gbnVsbCAmJiBjdXJyZW50WWVhciAhPT0gbnVsbCksXG4gICAgICAgIG1hcCgoW3llYXIsIG1vbnRoLCBtaW5NYXhdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZ2VuZXJhdGVDYWxlbmRhcihcbiAgICAgICAgICAgIGRheWpzKG5ldyBEYXRlKHRoaXMuc2VsZWN0ZWREYXRlKSkubG9jYWxlKCdydScsIHsgd2Vla1N0YXJ0OiAxIH0pLFxuICAgICAgICAgICAgeWVhcixcbiAgICAgICAgICAgIG1vbnRoLFxuICAgICAgICAgICAgbWluTWF4XG4gICAgICAgICAgKTtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgICAgdGhpcy5jYWxlbmRhciA9IF87XG4gICAgICB9KTtcbiAgfVxufVxuIiwiQGlmICh7Y3VycmVudE1vbnRoOmN1cnJlbnRNb250aHxhc3luYyxjdXJyZW50WWVhcjpjdXJyZW50WWVhcnxhc3luYyxzZWxlY3RlZFBpY2tlcjpzZWxlY3RlZFBpY2tlcnxhc3luY307IGFzIGRhdGEpIHtcbjxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRlbnQgb3ZlcmZsb3cteS1hdXRvXCI+XG4gIEBpZiAoZGF0YS5zZWxlY3RlZFBpY2tlcj09PSdkYXknKSB7XG4gIDxkaXYgY2xhc3M9XCJwYWRkaW5nLWgtMyBwYWRkaW5nLXYtMlwiICh3aGVlbCk9XCJzY3JvbGxNb250aCgkZXZlbnQsIGRhdGEuY3VycmVudE1vbnRoLCBkYXRhLmN1cnJlbnRZZWFyKVwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24tY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICA8dGV0YS1idXR0b25cbiAgICAgICAgW2NsYXNzXT1cIidjaGFuZ2UtbW9udGgtYnV0dG9uIGRhdGVwaWNrZXJfJyArIHZpZXdUeXBlXCJcbiAgICAgICAgW3NxdWFyZV09XCJ0cnVlXCJcbiAgICAgICAgKGNsaWNrKT1cImNoYW5nZU1vbnRoKGRhdGEuY3VycmVudE1vbnRoIC0gMSwgZGF0YS5jdXJyZW50WWVhcilcIlxuICAgICAgICBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgIHZpZXc9XCJnaG9zdFwiXG4gICAgICA+XG4gICAgICAgIDx0ZXRhLWljb24gbmFtZT1cImFycm93TGVmdEtleVwiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgPC90ZXRhLWJ1dHRvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZ2FwLTQgZm9udC1idXR0b24tMlwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgW2NsYXNzXT1cIidkYXRlcGlja2VyXycgKyB2aWV3VHlwZVwiXG4gICAgICAgICAgdGV0YS1idXR0b25cbiAgICAgICAgICB2aWV3PVwiZ2hvc3RcIlxuICAgICAgICAgIHBhbGV0dGU9XCJ0ZXh0XCJcbiAgICAgICAgICAoY2xpY2spPVwic2VsZWN0UGlja2VyKCdtb250aCcpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGdldE1vdGhOYW1lKGRhdGEuY3VycmVudE1vbnRoKSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtjbGFzc109XCInZGF0ZXBpY2tlcl8nICsgdmlld1R5cGVcIlxuICAgICAgICAgIHRldGEtYnV0dG9uXG4gICAgICAgICAgdmlldz1cImdob3N0XCJcbiAgICAgICAgICBwYWxldHRlPVwidGV4dFwiXG4gICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFBpY2tlcigneWVhcicpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGRhdGEuY3VycmVudFllYXIgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDx0ZXRhLWJ1dHRvblxuICAgICAgICBbc3F1YXJlXT1cInRydWVcIlxuICAgICAgICBbY2xhc3NdPVwiJ2NoYW5nZS1tb250aC1idXR0b24gZGF0ZXBpY2tlcl8nICsgdmlld1R5cGVcIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlTW9udGgoZGF0YS5jdXJyZW50TW9udGggKyAxLCBkYXRhLmN1cnJlbnRZZWFyKVwiXG4gICAgICAgIHBhbGV0dGU9XCJ0ZXh0XCJcbiAgICAgICAgdmlldz1cImdob3N0XCJcbiAgICAgID5cbiAgICAgICAgPHRldGEtaWNvbiBuYW1lPVwiYXJyb3dSaWdodEtleVwiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgPC90ZXRhLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PlxuICAgICAgPHRldGEtZGF5LXBpY2tlclxuICAgICAgICBbdmlld1R5cGVdPVwidmlld1R5cGVcIlxuICAgICAgICAoc2VsZWN0RGF0ZSk9XCJzZWxlY3REYXRlKCRldmVudClcIlxuICAgICAgICBbbG9jYWxlXT1cImxvY2FsZVwiXG4gICAgICAgIFtjYWxlbmRhcl09XCJjYWxlbmRhclwiXG4gICAgICA+PC90ZXRhLWRheS1waWNrZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICB9IEBpZiAoZGF0YS5zZWxlY3RlZFBpY2tlcj09PSdtb250aCcpIHtcbiAgPHRldGEtbW9udGgtcGlja2VyXG4gICAgW2xvY2FsZU1vdGhzXT1cImxvY2FsZS5tb250aHNcIlxuICAgIFtjdXJyZW50WWVhcl09XCJkYXRhLmN1cnJlbnRZZWFyXCJcbiAgICAoY2hhbmdlWWVhcik9XCJzZXRZZWFyKCRldmVudClcIlxuICAgIFtzZWxlY3RlZE1vbnRoXT1cImRhdGEuY3VycmVudE1vbnRoXCJcbiAgICBbdmlld1R5cGVdPVwidmlld1R5cGVcIlxuICAgIChzZWxlY3RNb250aCk9XCJzZWxlY3RNb250aCgkZXZlbnQpXCJcbiAgPjwvdGV0YS1tb250aC1waWNrZXI+XG4gIH0gQGlmIChkYXRhLnNlbGVjdGVkUGlja2VyPT09J3llYXInKSB7XG4gIDx0ZXRhLXllYXItcGlja2VyXG4gICAgW2xvY2FsZV09XCJsb2NhbGVcIlxuICAgIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiXG4gICAgKHNlbGVjdFllYXIpPVwic2VsZWN0WWVhcigkZXZlbnQpXCJcbiAgICBbc2VsZWN0ZWRZZWFyXT1cImRhdGEuY3VycmVudFllYXJcIlxuICA+PC90ZXRhLXllYXItcGlja2VyPlxuICB9XG48L2Rpdj5cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { DatePipe, NgClass, AsyncPipe } from '@angular/common';
2
2
  import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, forwardRef, HostBinding, Input, Output, ViewChild, } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
4
- import { maskitoDateOptionsGenerator, maskitoDateTimeOptionsGenerator, } from '@maskito/kit';
4
+ import { maskitoDateOptionsGenerator, maskitoDateTimeOptionsGenerator } from '@maskito/kit';
5
5
  import dayjs from 'dayjs';
6
6
  import { lastValueFrom, ReplaySubject, take } from 'rxjs';
7
7
  import { Align } from '../../../common/enum/align.enum';
@@ -130,8 +130,7 @@ export class DatePickerComponent extends BasePicker {
130
130
  this.selectedDate.next(date);
131
131
  }
132
132
  }
133
- onChange(date) {
134
- }
133
+ onChange(date) { }
135
134
  registerOnChange(fn) {
136
135
  this.onChange = fn;
137
136
  }
@@ -156,7 +155,7 @@ export class DatePickerComponent extends BasePicker {
156
155
  this.prepareInput(false);
157
156
  }
158
157
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DatePickerComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.DatePipe }, { token: i2.TetaConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: DatePickerComponent, isStandalone: true, selector: "teta-date-picker", inputs: { date: "date", showTime: "showTime", minDate: "minDate", maxDate: "maxDate", invalid: "invalid", disabled: "disabled", align: "align", verticalAlign: "verticalAlign", viewType: "viewType", appendToBody: "appendToBody", backdrop: "backdrop", allowNull: "allowNull", firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minYearDate: "minYearDate", maxYearDate: "maxYearDate" }, outputs: { selectDate: "selectDate" }, host: { properties: { "class.datepicker": "this.classDatepicker", "class.datepicker-time": "this.dateTimeClass", "tabindex": "this.tabindex" } }, providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR, DatePipe], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ({\n selectedDate:selectedDate | async\n }; as data) {\n <teta-dropdown\n class='row row_auto'\n [appendToBody]='appendToBody'\n [backdrop]='backdrop'\n [open]='open'\n (openChange)='openChange($event)'\n [viewType]='viewType'\n [disabled]='disabled'\n [verticalAlign]='verticalAlign'\n [align]='align'\n [autoCloseIgnore]=\"['esc', 'inside','enter']\">\n <div tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_'+viewType\"\n [ngClass]=\"{'datepicker-head_invalid':invalid,'datepicker-head_disabled':disabled}\">\n <teta-input class='row row_auto flex'>\n <div [class]=\"'row_auto row datepicker_'+viewType\">\n <div class='row row_auto position-relative font-body-3 align-center'>\n <input [ngClass]=\"{'color-text-90':!disabled}\"\n [disabled]='disabled' #input style='z-index: 1'\n class='row_auto border-0'\n (keydown)='checkEnter($event)'\n [(ngModel)]='inputText'\n (ngModelChange)='changeInput($event)'\n [maskito]='maskitoOptions'>\n @if (data.selectedDate||allowNull) {\n <div (click)='input.focus()' class='position-absolute color-text-10'\n style='cursor: text;user-select: none'>{{placeholder}}</div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent\n (click)='$event.preventDefault()'>\n <teta-date-calendar [isDateNull]='date===null'\n [open]='open'\n [max]='maxDate'\n [min]='minDate'\n (setDate)='changeSelectedDate($event)'\n [selectedDate]='data.selectedDate'\n [viewType]='viewType' [locale]='locale|async'></teta-date-calendar>\n </div>\n </teta-dropdown>\n }\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MaskitoModule }, { kind: "directive", type: i4.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i4.MaskitoCVA, selector: "input[maskito], textarea[maskito]", inputs: ["maskito"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "component", type: DateCalendarComponent, selector: "teta-date-calendar", inputs: ["selectedDate", "open", "locale", "viewType", "min", "isDateNull", "max"], outputs: ["setDate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
158
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: DatePickerComponent, isStandalone: true, selector: "teta-date-picker", inputs: { date: "date", showTime: "showTime", minDate: "minDate", maxDate: "maxDate", invalid: "invalid", disabled: "disabled", align: "align", verticalAlign: "verticalAlign", viewType: "viewType", appendToBody: "appendToBody", backdrop: "backdrop", allowNull: "allowNull", firstDayOfWeek: "firstDayOfWeek", disabledDates: "disabledDates", disabledPeriods: "disabledPeriods", disabledDays: "disabledDays", minYearDate: "minYearDate", maxYearDate: "maxYearDate" }, outputs: { selectDate: "selectDate" }, host: { properties: { "class.datepicker": "this.classDatepicker", "class.datepicker-time": "this.dateTimeClass", "tabindex": "this.tabindex" } }, providers: [DATE_PICKER_CONTROL_VALUE_ACCESSOR, DatePipe], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if ({ selectedDate:selectedDate | async }; as data) {\n<teta-dropdown\n class=\"row row_auto\"\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\"\n [open]=\"open\"\n (openChange)=\"openChange($event)\"\n [viewType]=\"viewType\"\n [disabled]=\"disabled\"\n [verticalAlign]=\"verticalAlign\"\n [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside', 'enter']\"\n>\n <div\n tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_' + viewType\"\n [ngClass]=\"{ 'datepicker-head_invalid': invalid, 'datepicker-head_disabled': disabled }\"\n >\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_' + viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input\n [ngClass]=\"{ 'color-text-90': !disabled }\"\n [disabled]=\"disabled\"\n #input\n style=\"z-index: 1\"\n class=\"row_auto border-0\"\n (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\"\n />\n @if (data.selectedDate||allowNull) {\n <div (click)=\"input.focus()\" class=\"position-absolute color-text-10\" style=\"cursor: text; user-select: none\">\n {{ placeholder }}\n </div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent (click)=\"$event.preventDefault()\">\n <teta-date-calendar\n [isDateNull]=\"date === null\"\n [open]=\"open\"\n [max]=\"maxDate\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event)\"\n [selectedDate]=\"data.selectedDate\"\n [viewType]=\"viewType\"\n [locale]=\"locale | async\"\n ></teta-date-calendar>\n </div>\n</teta-dropdown>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MaskitoModule }, { kind: "directive", type: i4.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i4.MaskitoCVA, selector: "input[maskito], textarea[maskito]", inputs: ["maskito"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "component", type: DateCalendarComponent, selector: "teta-date-calendar", inputs: ["selectedDate", "open", "locale", "viewType", "min", "isDateNull", "max"], outputs: ["setDate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
160
159
  }
161
160
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DatePickerComponent, decorators: [{
162
161
  type: Component,
@@ -171,7 +170,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
171
170
  DropdownContentDirective,
172
171
  DateCalendarComponent,
173
172
  AsyncPipe,
174
- ], template: "@if ({\n selectedDate:selectedDate | async\n }; as data) {\n <teta-dropdown\n class='row row_auto'\n [appendToBody]='appendToBody'\n [backdrop]='backdrop'\n [open]='open'\n (openChange)='openChange($event)'\n [viewType]='viewType'\n [disabled]='disabled'\n [verticalAlign]='verticalAlign'\n [align]='align'\n [autoCloseIgnore]=\"['esc', 'inside','enter']\">\n <div tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_'+viewType\"\n [ngClass]=\"{'datepicker-head_invalid':invalid,'datepicker-head_disabled':disabled}\">\n <teta-input class='row row_auto flex'>\n <div [class]=\"'row_auto row datepicker_'+viewType\">\n <div class='row row_auto position-relative font-body-3 align-center'>\n <input [ngClass]=\"{'color-text-90':!disabled}\"\n [disabled]='disabled' #input style='z-index: 1'\n class='row_auto border-0'\n (keydown)='checkEnter($event)'\n [(ngModel)]='inputText'\n (ngModelChange)='changeInput($event)'\n [maskito]='maskitoOptions'>\n @if (data.selectedDate||allowNull) {\n <div (click)='input.focus()' class='position-absolute color-text-10'\n style='cursor: text;user-select: none'>{{placeholder}}</div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent\n (click)='$event.preventDefault()'>\n <teta-date-calendar [isDateNull]='date===null'\n [open]='open'\n [max]='maxDate'\n [min]='minDate'\n (setDate)='changeSelectedDate($event)'\n [selectedDate]='data.selectedDate'\n [viewType]='viewType' [locale]='locale|async'></teta-date-calendar>\n </div>\n </teta-dropdown>\n }\n" }]
173
+ ], template: "@if ({ selectedDate:selectedDate | async }; as data) {\n<teta-dropdown\n class=\"row row_auto\"\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\"\n [open]=\"open\"\n (openChange)=\"openChange($event)\"\n [viewType]=\"viewType\"\n [disabled]=\"disabled\"\n [verticalAlign]=\"verticalAlign\"\n [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside', 'enter']\"\n>\n <div\n tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_' + viewType\"\n [ngClass]=\"{ 'datepicker-head_invalid': invalid, 'datepicker-head_disabled': disabled }\"\n >\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_' + viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input\n [ngClass]=\"{ 'color-text-90': !disabled }\"\n [disabled]=\"disabled\"\n #input\n style=\"z-index: 1\"\n class=\"row_auto border-0\"\n (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\"\n />\n @if (data.selectedDate||allowNull) {\n <div (click)=\"input.focus()\" class=\"position-absolute color-text-10\" style=\"cursor: text; user-select: none\">\n {{ placeholder }}\n </div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent (click)=\"$event.preventDefault()\">\n <teta-date-calendar\n [isDateNull]=\"date === null\"\n [open]=\"open\"\n [max]=\"maxDate\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event)\"\n [selectedDate]=\"data.selectedDate\"\n [viewType]=\"viewType\"\n [locale]=\"locale | async\"\n ></teta-date-calendar>\n </div>\n</teta-dropdown>\n}\n" }]
175
174
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.DatePipe }, { type: i2.TetaConfigService }], propDecorators: { date: [{
176
175
  type: Input
177
176
  }], showTime: [{
@@ -223,4 +222,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
223
222
  type: HostBinding,
224
223
  args: ['tabindex']
225
224
  }] } });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQ0wsMkJBQTJCLEVBQzNCLCtCQUErQixHQUNoQyxNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFDLGFBQWEsRUFBYyxhQUFhLEVBQUUsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRXBFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3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cUJBQXFCO3dCQUNyQixTQUFTO3FCQUNaO3NLQU1NLElBQUk7c0JBQVosS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFYyxLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ1IsVUFBVTtzQkFBbkIsTUFBTTtnQkFJMkMsZUFBZTtzQkFBaEUsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBQ1csYUFBYTtzQkFBdEQsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBR00sUUFBUTtzQkFBakQsV0FBVzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUsIE5nQ2xhc3MsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsIE9uQ2hhbmdlcyxcbiAgT25Jbml0LFxuICBPdXRwdXQsIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgbWFza2l0b0RhdGVPcHRpb25zR2VuZXJhdG9yLFxuICBtYXNraXRvRGF0ZVRpbWVPcHRpb25zR2VuZXJhdG9yLFxufSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB7bGFzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgdGFrZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFsaWduIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vYWxpZ24uZW51bSc7XG5pbXBvcnQgeyBWZXJ0aWNhbEFsaWduIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2VudW0vdmVydGljYWwtYWxpZ24uZW51bSc7XG5pbXBvcnQgeyB2aWV3VHlwZSB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9tb2RlbC92aWV3LXR5cGUubW9kZWwnO1xuaW1wb3J0IHsgQmFzZVBpY2tlciB9IGZyb20gJy4uL2Jhc2UtcGlja2VyJztcbmltcG9ydCB7IERhdGVQZXJpb2QgfSBmcm9tICcuLi9tb2RlbC9kYXRlLXBlcmlvZCc7XG5pbXBvcnQgeyBUZXRhQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2xvY2FsZS90ZXRhLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7VGV0YUxvY2FsaXNhdGlvbn0gZnJvbSBcIi4uLy4uLy4uL2xvY2FsZS90ZXRhLWxvY2FsaXNhdGlvblwiO1xuaW1wb3J0IHsgRGF0ZUNhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLWNhbGVuZGFyL2RhdGUtY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFza2l0b01vZHVsZSB9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnB1dC9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25IZWFkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZHJvcGRvd24vZHJvcGRvd24taGVhZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9kcm9wZG93bi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgREFURV9QSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVBpY2tlckNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0ZXRhLWRhdGUtcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbREFURV9QSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUiwgRGF0ZVBpcGVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBEcm9wZG93bkNvbXBvbmVudCxcbiAgICAgICAgRHJvcGRvd25IZWFkRGlyZWN0aXZlLFxuICAgICAgICBOZ0NsYXNzLFxuICAgICAgICBJbnB1dENvbXBvbmVudCxcbiAgICAgICAgRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hc2tpdG9Nb2R1bGUsXG4gICAgICAgIEljb25Db21wb25lbnQsXG4gICAgICAgIERyb3Bkb3duQ29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgRGF0ZUNhbGVuZGFyQ29tcG9uZW50LFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudFxuICBleHRlbmRzIEJhc2VQaWNrZXJcbiAgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLE9uQ2hhbmdlc1xue1xuICBASW5wdXQoKSBkYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyID0gbnVsbDtcbiAgcHVibGljIGxvY2FsZTogT2JzZXJ2YWJsZTxUZXRhTG9jYWxpc2F0aW9uPjtcbiAgQElucHV0KCkgc2hvd1RpbWUgPSBmYWxzZTtcbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlciA9IG51bGw7XG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGUgfCBzdHJpbmcgfCBudW1iZXIgPSBudWxsO1xuICBASW5wdXQoKSBpbnZhbGlkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFsaWduOiBBbGlnbiA9IEFsaWduLmxlZnQ7XG4gIEBJbnB1dCgpIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmF1dG87XG4gIEBJbnB1dCgpIHZpZXdUeXBlOiB2aWV3VHlwZSA9ICdyb3VuZGVkJztcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBiYWNrZHJvcCA9IGZhbHNlO1xuICBASW5wdXQoKSBhbGxvd051bGwgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrID0gMTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXRlczogRGF0ZVtdO1xuICBASW5wdXQoKSBkaXNhYmxlZFBlcmlvZHM6IERhdGVQZXJpb2RbXTtcbiAgQElucHV0KCkgZGlzYWJsZWREYXlzOiBudW1iZXJbXTtcbiAgQElucHV0KCkgbWluWWVhckRhdGU6IERhdGU7XG4gIEBJbnB1dCgpIG1heFllYXJEYXRlOiBEYXRlO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JykgaW5wdXQ6IEVsZW1lbnRSZWY7XG4gIEBPdXRwdXQoKSBzZWxlY3REYXRlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IFJlcGxheVN1YmplY3Q8RGF0ZSB8IHN0cmluZyB8IG51bWJlcj4gPVxuICAgIG5ldyBSZXBsYXlTdWJqZWN0PERhdGUgfCBzdHJpbmcgfCBudW1iZXI+KDEpO1xuICBwdWJsaWMgbWFzayA9ICcnO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRhdGVwaWNrZXInKSBwcml2YXRlIHJlYWRvbmx5IGNsYXNzRGF0ZXBpY2tlciA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGF0ZXBpY2tlci10aW1lJykgZ2V0IGRhdGVUaW1lQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1RpbWU7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCd0YWJpbmRleCcpIHByaXZhdGUgcmVhZG9ubHkgdGFiaW5kZXggPSAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG92ZXJyaWRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIG92ZXJyaWRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG92ZXJyaWRlIGRhdGVQaXBlOiBEYXRlUGlwZSxcbiAgICBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IFRldGFDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyLCBkYXRlUGlwZSk7XG4gICAgdGhpcy5sb2NhbGUgPSB0aGlzLmxvY2FsZVNlcnZpY2UubG9jYWxlO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRhdGUpIHtcbiAgICAgIHRoaXMuc2V0RGF0ZSh0aGlzLmFsbG93TnVsbCA/IG51bGwgOiBuZXcgRGF0ZSgpKTtcbiAgICAgIHRoaXMuZGF0ZSA9IHRoaXMuYWxsb3dOdWxsID8gbnVsbCA6IG5ldyBEYXRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0RGF0ZShuZXcgRGF0ZSh0aGlzLmRhdGUpKTtcbiAgICB9XG4gICAgdGhpcy5wcmVwYXJlSW5wdXQodHJ1ZSk7XG4gIH1cblxuICBhc3luYyBwcmVwYXJlSW5wdXQoaXNGaXJzdFJlbmRlcj86Ym9vbGVhbikge1xuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsZS5waXBlKHRha2UoMSkpKTtcbiAgICBjb25zdCBzdHIgPSB0aGlzLmRhdGUgPyB0aGlzLmdldExvY2FsZVN0cmluZyh0aGlzLmRhdGUpIDogJyc7XG4gICAgbGV0IG9wdGlvbjtcbiAgICBjb25zdCBzZXRNaW5NYXggPSAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5taW5EYXRlJiYhaXNGaXJzdFJlbmRlcikge1xuICAgICAgICBvcHRpb24ubWluID0gZGF5anMobmV3IERhdGUodGhpcy5taW5EYXRlKSkuc3RhcnRPZignZGF5Jyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5tYXhEYXRlJiYhaXNGaXJzdFJlbmRlcikge1xuICAgICAgICBvcHRpb24ubWF4ID0gZGF5anMobmV3IERhdGUodGhpcy5tYXhEYXRlKSkuZW5kT2YoJ2RheScpO1xuICAgICAgfVxuICAgIH07XG4gICAgaWYgKHRoaXMuc2hvd1RpbWUpIHtcbiAgICAgIHRoaXMubWFzayA9IGNvbmZpZy5kYXRlVGltZU1hc2s7XG4gICAgICBvcHRpb24gPSB7XG4gICAgICAgIGRhdGVNb2RlOiAnZGQvbW0veXl5eScsXG4gICAgICAgIHRpbWVNb2RlOiAnSEg6TU0nLFxuICAgICAgICBkYXRlU2VwYXJhdG9yOiAnLicsXG4gICAgICB9O1xuICAgICAgc2V0TWluTWF4KCk7XG4gICAgICB0aGlzLm1hc2tpdG9PcHRpb25zID0gbWFza2l0b0RhdGVUaW1lT3B0aW9uc0dlbmVyYXRvcihvcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm1hc2sgPSBjb25maWcuZGF0ZU1hc2s7XG4gICAgICBvcHRpb24gPSB7XG4gICAgICAgIG1vZGU6ICdkZC9tbS95eXl5JyxcbiAgICAgICAgc2VwYXJhdG9yOiAnLicsXG4gICAgICB9O1xuICAgICAgc2V0TWluTWF4KCk7XG4gICAgICB0aGlzLm1hc2tpdG9PcHRpb25zID0gbWFza2l0b0RhdGVPcHRpb25zR2VuZXJhdG9yKG9wdGlvbik7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlUGxhY2Vob2xkZXIoc3RyKTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICAgIGlmICh0aGlzLmFsbG93TnVsbCAmJiB0aGlzLmlucHV0VGV4dC50cmltKCkgPT09ICcnKSB7XG4gICAgICAgIHRoaXMuc2V0RGF0ZShudWxsKTtcbiAgICAgICAgdGhpcy5lbWl0VmFsdWUobnVsbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWwgPSB0aGlzLmlucHV0VGV4dC5zcGxpdCgnLCcpO1xuICAgICAgICBjb25zdCB7IGRheSwgeWVhciwgbW9udGggfSA9IHRoaXMuZ2V0RGF0ZUZyb21TdHIodmFsWzBdKTtcbiAgICAgICAgY29uc3QgeyBtaW5zLCBob3VycyB9ID0gdGhpcy5nZXRUaW1lRnJvbVN0cih2YWxbMV0pO1xuICAgICAgICBpZiAoZGF5ICYmIHllYXIgJiYgbW9udGgpIHtcbiAgICAgICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoIC0gMSwgZGF5KTtcbiAgICAgICAgICBpZiAodGhpcy5zaG93VGltZSkge1xuICAgICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGUuc2V0SG91cnMoaG91cnMgfHwgMCwgbWlucyB8fCAwKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWREYXRlKFxuICAgICAgICAgICAgdGhpcy5nZXRBdmFpbGFibGVEYXRlKHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlLCBkYXRlKVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5zZXREYXRlKHRoaXMuZGF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXREYXRlKGRhdGUpIHtcbiAgICBpZiAoIWRhdGUgJiYgdGhpcy5hbGxvd051bGwpIHtcbiAgICAgIHRoaXMuaW5wdXRUZXh0ID0gJyc7XG4gICAgICB0aGlzLmNoYW5nZVBsYWNlaG9sZGVyKCcnKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQobmV3IERhdGUodGhpcy5taW5EYXRlIHx8IG5ldyBEYXRlKCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnB1dFRleHQgPSB0aGlzLmdldExvY2FsZVN0cmluZyhkYXRlKTtcbiAgICAgIHRoaXMuY2hhbmdlUGxhY2Vob2xkZXIodGhpcy5nZXRMb2NhbGVTdHJpbmcoZGF0ZSkpO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUubmV4dChkYXRlKTtcbiAgICB9XG4gIH1cblxuICBvbkNoYW5nZShkYXRlOiBEYXRlKSB7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoZGF0ZTogRGF0ZSkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICB3cml0ZVZhbHVlKG9iajogRGF0ZSB8IHN0cmluZyB8IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChvYmopIHtcbiAgICAgIHRoaXMuZGF0ZSA9IG5ldyBEYXRlKG9iaik7XG4gICAgICB0aGlzLnNldERhdGUobmV3IERhdGUodGhpcy5kYXRlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmFsbG93TnVsbCkge1xuICAgICAgICB0aGlzLmRhdGUgPSBudWxsO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KG51bGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kYXRlID0gdGhpcy5taW5EYXRlIHx8IG5ldyBEYXRlKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQodGhpcy5taW5EYXRlIHx8IG5ldyBEYXRlKCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnByZXBhcmVJbnB1dChmYWxzZSlcbiAgfVxufVxuIiwiQGlmICh7XG4gIHNlbGVjdGVkRGF0ZTpzZWxlY3RlZERhdGUgfCBhc3luY1xuICB9OyBhcyBkYXRhKSB7XG4gIDx0ZXRhLWRyb3Bkb3duXG4gICAgY2xhc3M9J3JvdyByb3dfYXV0bydcbiAgICBbYXBwZW5kVG9Cb2R5XT0nYXBwZW5kVG9Cb2R5J1xuICAgIFtiYWNrZHJvcF09J2JhY2tkcm9wJ1xuICAgIFtvcGVuXT0nb3BlbidcbiAgICAob3BlbkNoYW5nZSk9J29wZW5DaGFuZ2UoJGV2ZW50KSdcbiAgICBbdmlld1R5cGVdPSd2aWV3VHlwZSdcbiAgICBbZGlzYWJsZWRdPSdkaXNhYmxlZCdcbiAgICBbdmVydGljYWxBbGlnbl09J3ZlcnRpY2FsQWxpZ24nXG4gICAgW2FsaWduXT0nYWxpZ24nXG4gICAgW2F1dG9DbG9zZUlnbm9yZV09XCJbJ2VzYycsICdpbnNpZGUnLCdlbnRlciddXCI+XG4gICAgPGRpdiB0ZXRhRHJvcGRvd25IZWFkXG4gICAgICBbY2xhc3NdPVwiJ2RhdGVwaWNrZXItaGVhZCBmb250LWJvZHktMyBnYXAtOCAgZGF0ZXBpY2tlcl8nK3ZpZXdUeXBlXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsnZGF0ZXBpY2tlci1oZWFkX2ludmFsaWQnOmludmFsaWQsJ2RhdGVwaWNrZXItaGVhZF9kaXNhYmxlZCc6ZGlzYWJsZWR9XCI+XG4gICAgICA8dGV0YS1pbnB1dCBjbGFzcz0ncm93IHJvd19hdXRvIGZsZXgnPlxuICAgICAgICA8ZGl2IFtjbGFzc109XCIncm93X2F1dG8gcm93IGRhdGVwaWNrZXJfJyt2aWV3VHlwZVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9J3JvdyByb3dfYXV0byBwb3NpdGlvbi1yZWxhdGl2ZSBmb250LWJvZHktMyBhbGlnbi1jZW50ZXInPlxuICAgICAgICAgICAgPGlucHV0IFtuZ0NsYXNzXT1cInsnY29sb3ItdGV4dC05MCc6IWRpc2FibGVkfVwiXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09J2Rpc2FibGVkJyAjaW5wdXQgc3R5bGU9J3otaW5kZXg6IDEnXG4gICAgICAgICAgICAgIGNsYXNzPSdyb3dfYXV0byBib3JkZXItMCdcbiAgICAgICAgICAgICAgKGtleWRvd24pPSdjaGVja0VudGVyKCRldmVudCknXG4gICAgICAgICAgICAgIFsobmdNb2RlbCldPSdpbnB1dFRleHQnXG4gICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT0nY2hhbmdlSW5wdXQoJGV2ZW50KSdcbiAgICAgICAgICAgICAgW21hc2tpdG9dPSdtYXNraXRvT3B0aW9ucyc+XG4gICAgICAgICAgICAgIEBpZiAoZGF0YS5zZWxlY3RlZERhdGV8fGFsbG93TnVsbCkge1xuICAgICAgICAgICAgICAgIDxkaXYgKGNsaWNrKT0naW5wdXQuZm9jdXMoKScgY2xhc3M9J3Bvc2l0aW9uLWFic29sdXRlIGNvbG9yLXRleHQtMTAnXG4gICAgICAgICAgICAgICAgc3R5bGU9J2N1cnNvcjogdGV4dDt1c2VyLXNlbGVjdDogbm9uZSc+e3twbGFjZWhvbGRlcn19PC9kaXY+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHRldGEtaWNvbiBbbmFtZV09XCInY2FsZW5kYXInXCIgW3BhbGV0dGVdPVwiJ3RleHQnXCI+PC90ZXRhLWljb24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGV0YS1pbnB1dD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiB0ZXRhRHJvcGRvd25Db250ZW50XG4gICAgICAgIChjbGljayk9JyRldmVudC5wcmV2ZW50RGVmYXVsdCgpJz5cbiAgICAgICAgPHRldGEtZGF0ZS1jYWxlbmRhciBbaXNEYXRlTnVsbF09J2RhdGU9PT1udWxsJ1xuICAgICAgICAgIFtvcGVuXT0nb3BlbidcbiAgICAgICAgICBbbWF4XT0nbWF4RGF0ZSdcbiAgICAgICAgICBbbWluXT0nbWluRGF0ZSdcbiAgICAgICAgICAoc2V0RGF0ZSk9J2NoYW5nZVNlbGVjdGVkRGF0ZSgkZXZlbnQpJ1xuICAgICAgICAgIFtzZWxlY3RlZERhdGVdPSdkYXRhLnNlbGVjdGVkRGF0ZSdcbiAgICAgICAgW3ZpZXdUeXBlXT0ndmlld1R5cGUnIFtsb2NhbGVdPSdsb2NhbGV8YXN5bmMnPjwvdGV0YS1kYXRlLWNhbGVuZGFyPlxuICAgICAgPC9kaXY+XG4gICAgPC90ZXRhLWRyb3Bkb3duPlxuICB9XG4iXX0=
225
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudC9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci9kYXRlLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUdMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUYsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxhQUFhLEVBQWMsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDeEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRXpFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU1QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUV4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsd0JB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QUFxQjt3QkFDckIsU0FBUztxQkFDVjtzS0FHUSxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRWMsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNSLFVBQVU7c0JBQW5CLE1BQU07Z0JBRzJDLGVBQWU7c0JBQWhFLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUNXLGFBQWE7c0JBQXRELFdBQVc7dUJBQUMsdUJBQXVCO2dCQUdNLFFBQVE7c0JBQWpELFdBQVc7dUJBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVQaXBlLCBOZ0NsYXNzLCBBc3luY1BpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1hc2tpdG9EYXRlT3B0aW9uc0dlbmVyYXRvciwgbWFza2l0b0RhdGVUaW1lT3B0aW9uc0dlbmVyYXRvciB9IGZyb20gJ0BtYXNraXRvL2tpdCc7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBbGlnbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHsgVmVydGljYWxBbGlnbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHsgdmlld1R5cGUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vbW9kZWwvdmlldy10eXBlLm1vZGVsJztcbmltcG9ydCB7IEJhc2VQaWNrZXIgfSBmcm9tICcuLi9iYXNlLXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlUGVyaW9kIH0gZnJvbSAnLi4vbW9kZWwvZGF0ZS1wZXJpb2QnO1xuaW1wb3J0IHsgVGV0YUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9sb2NhbGUvdGV0YS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBUZXRhTG9jYWxpc2F0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtbG9jYWxpc2F0aW9uJztcbmltcG9ydCB7IERhdGVDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZS1jYWxlbmRhci9kYXRlLWNhbGVuZGFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wZG93bkNvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kcm9wZG93bi9kcm9wZG93bi1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaWNvbi9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IE1hc2tpdG9Nb2R1bGUgfSBmcm9tICdAbWFza2l0by9hbmd1bGFyJztcbmltcG9ydCB7IElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vaW5wdXQvaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duSGVhZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLWhlYWQuZGlyZWN0aXZlJztcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZHJvcGRvd24vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IERBVEVfUElDS0VSX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtZGF0ZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbREFURV9QSUNLRVJfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUiwgRGF0ZVBpcGVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRHJvcGRvd25Db21wb25lbnQsXG4gICAgRHJvcGRvd25IZWFkRGlyZWN0aXZlLFxuICAgIE5nQ2xhc3MsXG4gICAgSW5wdXRDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWFza2l0b01vZHVsZSxcbiAgICBJY29uQ29tcG9uZW50LFxuICAgIERyb3Bkb3duQ29udGVudERpcmVjdGl2ZSxcbiAgICBEYXRlQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBpY2tlciBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGRhdGU6IERhdGUgfCBzdHJpbmcgfCBudW1iZXIgPSBudWxsO1xuICBwdWJsaWMgbG9jYWxlOiBPYnNlcnZhYmxlPFRldGFMb2NhbGlzYXRpb24+O1xuICBASW5wdXQoKSBzaG93VGltZSA9IGZhbHNlO1xuICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyID0gbnVsbDtcbiAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlciA9IG51bGw7XG4gIEBJbnB1dCgpIGludmFsaWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgYWxpZ246IEFsaWduID0gQWxpZ24ubGVmdDtcbiAgQElucHV0KCkgdmVydGljYWxBbGlnbjogVmVydGljYWxBbGlnbiA9IFZlcnRpY2FsQWxpZ24uYXV0bztcbiAgQElucHV0KCkgdmlld1R5cGU6IHZpZXdUeXBlID0gJ3JvdW5kZWQnO1xuICBASW5wdXQoKSBhcHBlbmRUb0JvZHk6IGJvb2xlYW47XG4gIEBJbnB1dCgpIGJhY2tkcm9wID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFsbG93TnVsbCA9IHRydWU7XG5cbiAgQElucHV0KCkgZmlyc3REYXlPZldlZWsgPSAxO1xuICBASW5wdXQoKSBkaXNhYmxlZERhdGVzOiBEYXRlW107XG4gIEBJbnB1dCgpIGRpc2FibGVkUGVyaW9kczogRGF0ZVBlcmlvZFtdO1xuICBASW5wdXQoKSBkaXNhYmxlZERheXM6IG51bWJlcltdO1xuICBASW5wdXQoKSBtaW5ZZWFyRGF0ZTogRGF0ZTtcbiAgQElucHV0KCkgbWF4WWVhckRhdGU6IERhdGU7XG5cbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgQE91dHB1dCgpIHNlbGVjdERhdGU6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogUmVwbGF5U3ViamVjdDxEYXRlIHwgc3RyaW5nIHwgbnVtYmVyPiA9IG5ldyBSZXBsYXlTdWJqZWN0PERhdGUgfCBzdHJpbmcgfCBudW1iZXI+KDEpO1xuICBwdWJsaWMgbWFzayA9ICcnO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRhdGVwaWNrZXInKSBwcml2YXRlIHJlYWRvbmx5IGNsYXNzRGF0ZXBpY2tlciA9IHRydWU7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGF0ZXBpY2tlci10aW1lJykgZ2V0IGRhdGVUaW1lQ2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1RpbWU7XG4gIH1cbiAgQEhvc3RCaW5kaW5nKCd0YWJpbmRleCcpIHByaXZhdGUgcmVhZG9ubHkgdGFiaW5kZXggPSAwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIG92ZXJyaWRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIG92ZXJyaWRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG92ZXJyaWRlIGRhdGVQaXBlOiBEYXRlUGlwZSxcbiAgICBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IFRldGFDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyLCBkYXRlUGlwZSk7XG4gICAgdGhpcy5sb2NhbGUgPSB0aGlzLmxvY2FsZVNlcnZpY2UubG9jYWxlO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRhdGUpIHtcbiAgICAgIHRoaXMuc2V0RGF0ZSh0aGlzLmFsbG93TnVsbCA/IG51bGwgOiBuZXcgRGF0ZSgpKTtcbiAgICAgIHRoaXMuZGF0ZSA9IHRoaXMuYWxsb3dOdWxsID8gbnVsbCA6IG5ldyBEYXRlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0RGF0ZShuZXcgRGF0ZSh0aGlzLmRhdGUpKTtcbiAgICB9XG4gICAgdGhpcy5wcmVwYXJlSW5wdXQodHJ1ZSk7XG4gIH1cblxuICBhc3luYyBwcmVwYXJlSW5wdXQoaXNGaXJzdFJlbmRlcj86IGJvb2xlYW4pIHtcbiAgICBjb25zdCBjb25maWcgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKHRoaXMubG9jYWxlU2VydmljZS5sb2NhbGUucGlwZSh0YWtlKDEpKSk7XG4gICAgY29uc3Qgc3RyID0gdGhpcy5kYXRlID8gdGhpcy5nZXRMb2NhbGVTdHJpbmcodGhpcy5kYXRlKSA6ICcnO1xuICAgIGxldCBvcHRpb247XG4gICAgY29uc3Qgc2V0TWluTWF4ID0gKCkgPT4ge1xuICAgICAgaWYgKHRoaXMubWluRGF0ZSAmJiAhaXNGaXJzdFJlbmRlcikge1xuICAgICAgICBvcHRpb24ubWluID0gZGF5anMobmV3IERhdGUodGhpcy5taW5EYXRlKSkuc3RhcnRPZignZGF5Jyk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5tYXhEYXRlICYmICFpc0ZpcnN0UmVuZGVyKSB7XG4gICAgICAgIG9wdGlvbi5tYXggPSBkYXlqcyhuZXcgRGF0ZSh0aGlzLm1heERhdGUpKS5lbmRPZignZGF5Jyk7XG4gICAgICB9XG4gICAgfTtcbiAgICBpZiAodGhpcy5zaG93VGltZSkge1xuICAgICAgdGhpcy5tYXNrID0gY29uZmlnLmRhdGVUaW1lTWFzaztcbiAgICAgIG9wdGlvbiA9IHtcbiAgICAgICAgZGF0ZU1vZGU6ICdkZC9tbS95eXl5JyxcbiAgICAgICAgdGltZU1vZGU6ICdISDpNTScsXG4gICAgICAgIGRhdGVTZXBhcmF0b3I6ICcuJyxcbiAgICAgIH07XG4gICAgICBzZXRNaW5NYXgoKTtcbiAgICAgIHRoaXMubWFza2l0b09wdGlvbnMgPSBtYXNraXRvRGF0ZVRpbWVPcHRpb25zR2VuZXJhdG9yKG9wdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubWFzayA9IGNvbmZpZy5kYXRlTWFzaztcbiAgICAgIG9wdGlvbiA9IHtcbiAgICAgICAgbW9kZTogJ2RkL21tL3l5eXknLFxuICAgICAgICBzZXBhcmF0b3I6ICcuJyxcbiAgICAgIH07XG4gICAgICBzZXRNaW5NYXgoKTtcbiAgICAgIHRoaXMubWFza2l0b09wdGlvbnMgPSBtYXNraXRvRGF0ZU9wdGlvbnNHZW5lcmF0b3Iob3B0aW9uKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VQbGFjZWhvbGRlcihzdHIpO1xuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLmFsbG93TnVsbCAmJiB0aGlzLmlucHV0VGV4dC50cmltKCkgPT09ICcnKSB7XG4gICAgICB0aGlzLnNldERhdGUobnVsbCk7XG4gICAgICB0aGlzLmVtaXRWYWx1ZShudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdmFsID0gdGhpcy5pbnB1dFRleHQuc3BsaXQoJywnKTtcbiAgICAgIGNvbnN0IHsgZGF5LCB5ZWFyLCBtb250aCB9ID0gdGhpcy5nZXREYXRlRnJvbVN0cih2YWxbMF0pO1xuICAgICAgY29uc3QgeyBtaW5zLCBob3VycyB9ID0gdGhpcy5nZXRUaW1lRnJvbVN0cih2YWxbMV0pO1xuICAgICAgaWYgKGRheSAmJiB5ZWFyICYmIG1vbnRoKSB7XG4gICAgICAgIGxldCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggLSAxLCBkYXkpO1xuICAgICAgICBpZiAodGhpcy5zaG93VGltZSkge1xuICAgICAgICAgIGRhdGUgPSBuZXcgRGF0ZShkYXRlLnNldEhvdXJzKGhvdXJzIHx8IDAsIG1pbnMgfHwgMCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWREYXRlKHRoaXMuZ2V0QXZhaWxhYmxlRGF0ZSh0aGlzLm1pbkRhdGUsIHRoaXMubWF4RGF0ZSwgZGF0ZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZXREYXRlKHRoaXMuZGF0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0RGF0ZShkYXRlKSB7XG4gICAgaWYgKCFkYXRlICYmIHRoaXMuYWxsb3dOdWxsKSB7XG4gICAgICB0aGlzLmlucHV0VGV4dCA9ICcnO1xuICAgICAgdGhpcy5jaGFuZ2VQbGFjZWhvbGRlcignJyk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KG5ldyBEYXRlKHRoaXMubWluRGF0ZSB8fCBuZXcgRGF0ZSgpKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW5wdXRUZXh0ID0gdGhpcy5nZXRMb2NhbGVTdHJpbmcoZGF0ZSk7XG4gICAgICB0aGlzLmNoYW5nZVBsYWNlaG9sZGVyKHRoaXMuZ2V0TG9jYWxlU3RyaW5nKGRhdGUpKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoZGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2UoZGF0ZTogRGF0ZSkge31cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoZGF0ZTogRGF0ZSkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICB3cml0ZVZhbHVlKG9iajogRGF0ZSB8IHN0cmluZyB8IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChvYmopIHtcbiAgICAgIHRoaXMuZGF0ZSA9IG5ldyBEYXRlKG9iaik7XG4gICAgICB0aGlzLnNldERhdGUobmV3IERhdGUodGhpcy5kYXRlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmFsbG93TnVsbCkge1xuICAgICAgICB0aGlzLmRhdGUgPSBudWxsO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KG51bGwpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kYXRlID0gdGhpcy5taW5EYXRlIHx8IG5ldyBEYXRlKCk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQodGhpcy5taW5EYXRlIHx8IG5ldyBEYXRlKCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnByZXBhcmVJbnB1dChmYWxzZSk7XG4gIH1cbn1cbiIsIkBpZiAoeyBzZWxlY3RlZERhdGU6c2VsZWN0ZWREYXRlIHwgYXN5bmMgfTsgYXMgZGF0YSkge1xuPHRldGEtZHJvcGRvd25cbiAgY2xhc3M9XCJyb3cgcm93X2F1dG9cIlxuICBbYXBwZW5kVG9Cb2R5XT1cImFwcGVuZFRvQm9keVwiXG4gIFtiYWNrZHJvcF09XCJiYWNrZHJvcFwiXG4gIFtvcGVuXT1cIm9wZW5cIlxuICAob3BlbkNoYW5nZSk9XCJvcGVuQ2hhbmdlKCRldmVudClcIlxuICBbdmlld1R5cGVdPVwidmlld1R5cGVcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbdmVydGljYWxBbGlnbl09XCJ2ZXJ0aWNhbEFsaWduXCJcbiAgW2FsaWduXT1cImFsaWduXCJcbiAgW2F1dG9DbG9zZUlnbm9yZV09XCJbJ2VzYycsICdpbnNpZGUnLCAnZW50ZXInXVwiXG4+XG4gIDxkaXZcbiAgICB0ZXRhRHJvcGRvd25IZWFkXG4gICAgW2NsYXNzXT1cIidkYXRlcGlja2VyLWhlYWQgZm9udC1ib2R5LTMgZ2FwLTggIGRhdGVwaWNrZXJfJyArIHZpZXdUeXBlXCJcbiAgICBbbmdDbGFzc109XCJ7ICdkYXRlcGlja2VyLWhlYWRfaW52YWxpZCc6IGludmFsaWQsICdkYXRlcGlja2VyLWhlYWRfZGlzYWJsZWQnOiBkaXNhYmxlZCB9XCJcbiAgPlxuICAgIDx0ZXRhLWlucHV0IGNsYXNzPVwicm93IHJvd19hdXRvIGZsZXhcIj5cbiAgICAgIDxkaXYgW2NsYXNzXT1cIidyb3dfYXV0byByb3cgZGF0ZXBpY2tlcl8nICsgdmlld1R5cGVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyByb3dfYXV0byBwb3NpdGlvbi1yZWxhdGl2ZSBmb250LWJvZHktMyBhbGlnbi1jZW50ZXJcIj5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2NvbG9yLXRleHQtOTAnOiAhZGlzYWJsZWQgfVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgI2lucHV0XG4gICAgICAgICAgICBzdHlsZT1cInotaW5kZXg6IDFcIlxuICAgICAgICAgICAgY2xhc3M9XCJyb3dfYXV0byBib3JkZXItMFwiXG4gICAgICAgICAgICAoa2V5ZG93bik9XCJjaGVja0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbbWFza2l0b109XCJtYXNraXRvT3B0aW9uc1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgICBAaWYgKGRhdGEuc2VsZWN0ZWREYXRlfHxhbGxvd051bGwpIHtcbiAgICAgICAgICA8ZGl2IChjbGljayk9XCJpbnB1dC5mb2N1cygpXCIgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBjb2xvci10ZXh0LTEwXCIgc3R5bGU9XCJjdXJzb3I6IHRleHQ7IHVzZXItc2VsZWN0OiBub25lXCI+XG4gICAgICAgICAgICB7eyBwbGFjZWhvbGRlciB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx0ZXRhLWljb24gW25hbWVdPVwiJ2NhbGVuZGFyJ1wiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC90ZXRhLWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdiB0ZXRhRHJvcGRvd25Db250ZW50IChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiPlxuICAgIDx0ZXRhLWRhdGUtY2FsZW5kYXJcbiAgICAgIFtpc0RhdGVOdWxsXT1cImRhdGUgPT09IG51bGxcIlxuICAgICAgW29wZW5dPVwib3BlblwiXG4gICAgICBbbWF4XT1cIm1heERhdGVcIlxuICAgICAgW21pbl09XCJtaW5EYXRlXCJcbiAgICAgIChzZXREYXRlKT1cImNoYW5nZVNlbGVjdGVkRGF0ZSgkZXZlbnQpXCJcbiAgICAgIFtzZWxlY3RlZERhdGVdPVwiZGF0YS5zZWxlY3RlZERhdGVcIlxuICAgICAgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCJcbiAgICAgIFtsb2NhbGVdPVwibG9jYWxlIHwgYXN5bmNcIlxuICAgID48L3RldGEtZGF0ZS1jYWxlbmRhcj5cbiAgPC9kaXY+XG48L3RldGEtZHJvcGRvd24+XG59XG4iXX0=
@@ -66,21 +66,13 @@ export class DateRangeComponent extends BasePicker {
66
66
  if (this.allowNull) {
67
67
  return null;
68
68
  }
69
- return (this.datePipe.transform(new Date(), 'dd.MM.yyyy') +
70
- ' - ' +
71
- this.datePipe.transform(new Date(), 'dd.MM.yyyy'));
69
+ return (this.datePipe.transform(new Date(), 'dd.MM.yyyy') + ' - ' + this.datePipe.transform(new Date(), 'dd.MM.yyyy'));
72
70
  }
73
71
  async prepareInput() {
74
72
  const config = await lastValueFrom(this.localeService.locale.pipe(take(1)));
75
- let str = this.getLocaleString(this.date.from) +
76
- ' - ' +
77
- this.getLocaleString(this.date.to);
73
+ let str = this.getLocaleString(this.date.from) + ' - ' + this.getLocaleString(this.date.to);
78
74
  if (!this.date?.from) {
79
- str = this.allowNull
80
- ? ''
81
- : this.getLocaleString(new Date()) +
82
- ' - ' +
83
- this.getLocaleString(new Date());
75
+ str = this.allowNull ? '' : this.getLocaleString(new Date()) + ' - ' + this.getLocaleString(new Date());
84
76
  }
85
77
  const option = {
86
78
  mode: 'dd/mm/yyyy',
@@ -189,7 +181,7 @@ export class DateRangeComponent extends BasePicker {
189
181
  }
190
182
  onChange(date) { }
191
183
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DateRangeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.DatePipe }, { token: i2.TetaConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
192
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: DateRangeComponent, isStandalone: true, selector: "teta-date-range", inputs: { date: "date", showTime: "showTime", minDate: "minDate", maxDate: "maxDate", invalid: "invalid", disabled: "disabled", align: "align", verticalAlign: "verticalAlign", viewType: "viewType", appendToBody: "appendToBody", backdrop: "backdrop", allowNull: "allowNull" }, outputs: { selectDate: "selectDate" }, host: { properties: { "class.daterange": "this.classDaterange" } }, providers: [DATE_Range_CONTROL_VALUE_ACCESSOR, DatePipe], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if ({selectedDate:selectedDate|async};as data) {\n <teta-dropdown [appendToBody]=\"appendToBody\" [backdrop]=\"backdrop\"\n class='row row_auto'\n [(open)]=\"open\" (openChange)=\"openChange($event)\" [viewType]=\"viewType\"\n [disabled]=\"disabled\" [verticalAlign]=\"verticalAlign\" [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside','enter']\">\n <div tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_'+viewType\"\n [ngClass]=\"{'datepicker-head_invalid':invalid,'datepicker-head_disabled':disabled}\">\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_'+viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input [ngClass]=\"{'color-text-90':!disabled}\" [disabled]=\"disabled\" #input style=\"z-index: 1\"\n class=\"border-0 color-text-90\" (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\" (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\">\n @if (data.selectedDate||allowNull) {\n <div (click)=\"input.focus()\" class=\"position-absolute color-text-10\"\n style=\"cursor: text;user-select: none\">{{placeholder}}</div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n @if (open) {\n <div class=\"row\">\n <teta-range-calendar [isDateNull]=\"date===null||(date?.from===null&&date?.to===null)\" [open]=\"open\"\n [max]=\"maxDate\"\n [allowNull]=\"allowNull\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event,data.selectedDate)\"\n [selectedDate]=\"data.selectedDate\"\n [date]=\"date\"\n [viewType]=\"viewType\" [locale]=\"locale|async\"></teta-range-calendar>\n </div>\n }\n </div>\n </teta-dropdown>\n }\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MaskitoModule }, { kind: "directive", type: i4.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i4.MaskitoCVA, selector: "input[maskito], textarea[maskito]", inputs: ["maskito"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "component", type: RangeCalendarComponent, selector: "teta-range-calendar", inputs: ["locale", "open", "date", "viewType", "allowNull", "selectedDate", "min", "isDateNull", "max"], outputs: ["hoveredDateChange", "setDate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
184
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.1", type: DateRangeComponent, isStandalone: true, selector: "teta-date-range", inputs: { date: "date", showTime: "showTime", minDate: "minDate", maxDate: "maxDate", invalid: "invalid", disabled: "disabled", align: "align", verticalAlign: "verticalAlign", viewType: "viewType", appendToBody: "appendToBody", backdrop: "backdrop", allowNull: "allowNull" }, outputs: { selectDate: "selectDate" }, host: { properties: { "class.daterange": "this.classDaterange" } }, providers: [DATE_Range_CONTROL_VALUE_ACCESSOR, DatePipe], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "@if ({selectedDate:selectedDate|async};as data) {\n<teta-dropdown\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\"\n class=\"row row_auto\"\n [(open)]=\"open\"\n (openChange)=\"openChange($event)\"\n [viewType]=\"viewType\"\n [disabled]=\"disabled\"\n [verticalAlign]=\"verticalAlign\"\n [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside', 'enter']\"\n>\n <div\n tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_' + viewType\"\n [ngClass]=\"{ 'datepicker-head_invalid': invalid, 'datepicker-head_disabled': disabled }\"\n >\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_' + viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input\n [ngClass]=\"{ 'color-text-90': !disabled }\"\n [disabled]=\"disabled\"\n #input\n style=\"z-index: 1\"\n class=\"border-0 color-text-90\"\n (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\"\n />\n @if (data.selectedDate||allowNull) {\n <div (click)=\"input.focus()\" class=\"position-absolute color-text-10\" style=\"cursor: text; user-select: none\">\n {{ placeholder }}\n </div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n @if (open) {\n <div class=\"row\">\n <teta-range-calendar\n [isDateNull]=\"date === null || (date?.from === null && date?.to === null)\"\n [open]=\"open\"\n [max]=\"maxDate\"\n [allowNull]=\"allowNull\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event, data.selectedDate)\"\n [selectedDate]=\"data.selectedDate\"\n [date]=\"date\"\n [viewType]=\"viewType\"\n [locale]=\"locale | async\"\n ></teta-range-calendar>\n </div>\n }\n </div>\n</teta-dropdown>\n}\n", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "teta-dropdown", exportAs: ["dropdown"] }, { kind: "directive", type: DropdownHeadDirective, selector: "[tetaDropdownHead]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: InputComponent, selector: "teta-input", inputs: ["label", "hint", "viewType", "horizontal", "required"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MaskitoModule }, { kind: "directive", type: i4.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"] }, { kind: "directive", type: i4.MaskitoCVA, selector: "input[maskito], textarea[maskito]", inputs: ["maskito"] }, { kind: "component", type: IconComponent, selector: "teta-icon", inputs: ["name", "size", "palette", "class"] }, { kind: "directive", type: DropdownContentDirective, selector: "[tetaDropdownContent]" }, { kind: "component", type: RangeCalendarComponent, selector: "teta-range-calendar", inputs: ["locale", "open", "date", "viewType", "allowNull", "selectedDate", "min", "isDateNull", "max"], outputs: ["hoveredDateChange", "setDate"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
193
185
  }
194
186
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImport: i0, type: DateRangeComponent, decorators: [{
195
187
  type: Component,
@@ -204,7 +196,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
204
196
  DropdownContentDirective,
205
197
  RangeCalendarComponent,
206
198
  AsyncPipe,
207
- ], template: "@if ({selectedDate:selectedDate|async};as data) {\n <teta-dropdown [appendToBody]=\"appendToBody\" [backdrop]=\"backdrop\"\n class='row row_auto'\n [(open)]=\"open\" (openChange)=\"openChange($event)\" [viewType]=\"viewType\"\n [disabled]=\"disabled\" [verticalAlign]=\"verticalAlign\" [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside','enter']\">\n <div tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_'+viewType\"\n [ngClass]=\"{'datepicker-head_invalid':invalid,'datepicker-head_disabled':disabled}\">\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_'+viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input [ngClass]=\"{'color-text-90':!disabled}\" [disabled]=\"disabled\" #input style=\"z-index: 1\"\n class=\"border-0 color-text-90\" (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\" (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\">\n @if (data.selectedDate||allowNull) {\n <div (click)=\"input.focus()\" class=\"position-absolute color-text-10\"\n style=\"cursor: text;user-select: none\">{{placeholder}}</div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n @if (open) {\n <div class=\"row\">\n <teta-range-calendar [isDateNull]=\"date===null||(date?.from===null&&date?.to===null)\" [open]=\"open\"\n [max]=\"maxDate\"\n [allowNull]=\"allowNull\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event,data.selectedDate)\"\n [selectedDate]=\"data.selectedDate\"\n [date]=\"date\"\n [viewType]=\"viewType\" [locale]=\"locale|async\"></teta-range-calendar>\n </div>\n }\n </div>\n </teta-dropdown>\n }\n" }]
199
+ ], template: "@if ({selectedDate:selectedDate|async};as data) {\n<teta-dropdown\n [appendToBody]=\"appendToBody\"\n [backdrop]=\"backdrop\"\n class=\"row row_auto\"\n [(open)]=\"open\"\n (openChange)=\"openChange($event)\"\n [viewType]=\"viewType\"\n [disabled]=\"disabled\"\n [verticalAlign]=\"verticalAlign\"\n [align]=\"align\"\n [autoCloseIgnore]=\"['esc', 'inside', 'enter']\"\n>\n <div\n tetaDropdownHead\n [class]=\"'datepicker-head font-body-3 gap-8 datepicker_' + viewType\"\n [ngClass]=\"{ 'datepicker-head_invalid': invalid, 'datepicker-head_disabled': disabled }\"\n >\n <teta-input class=\"row row_auto flex\">\n <div [class]=\"'row_auto row datepicker_' + viewType\">\n <div class=\"row row_auto position-relative font-body-3 align-center\">\n <input\n [ngClass]=\"{ 'color-text-90': !disabled }\"\n [disabled]=\"disabled\"\n #input\n style=\"z-index: 1\"\n class=\"border-0 color-text-90\"\n (keydown)=\"checkEnter($event)\"\n [(ngModel)]=\"inputText\"\n (ngModelChange)=\"changeInput($event)\"\n [maskito]=\"maskitoOptions\"\n />\n @if (data.selectedDate||allowNull) {\n <div (click)=\"input.focus()\" class=\"position-absolute color-text-10\" style=\"cursor: text; user-select: none\">\n {{ placeholder }}\n </div>\n }\n </div>\n <teta-icon [name]=\"'calendar'\" [palette]=\"'text'\"></teta-icon>\n </div>\n </teta-input>\n </div>\n <div tetaDropdownContent class=\"scrollable\" (click)=\"$event.preventDefault()\">\n @if (open) {\n <div class=\"row\">\n <teta-range-calendar\n [isDateNull]=\"date === null || (date?.from === null && date?.to === null)\"\n [open]=\"open\"\n [max]=\"maxDate\"\n [allowNull]=\"allowNull\"\n [min]=\"minDate\"\n (setDate)=\"changeSelectedDate($event, data.selectedDate)\"\n [selectedDate]=\"data.selectedDate\"\n [date]=\"date\"\n [viewType]=\"viewType\"\n [locale]=\"locale | async\"\n ></teta-range-calendar>\n </div>\n }\n </div>\n</teta-dropdown>\n}\n" }]
208
200
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.DatePipe }, { type: i2.TetaConfigService }], propDecorators: { date: [{
209
201
  type: Input
210
202
  }], showTime: [{
@@ -238,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.1", ngImpor
238
230
  type: HostBinding,
239
231
  args: ['class.daterange']
240
232
  }] } });
241
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUMsYUFBYSxFQUFjLGFBQWEsRUFBRSxJQUFJLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFcEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNB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QVU7c0JBQW5CLE1BQU07Z0JBSzBDLGNBQWM7c0JBQTlELFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVBpcGUsIE5nQ2xhc3MsIEFzeW5jUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1hc2tpdG9EYXRlUmFuZ2VPcHRpb25zR2VuZXJhdG9yIH0gZnJvbSAnQG1hc2tpdG8va2l0JztcbmltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XG5pbXBvcnQge2xhc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIHRha2V9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBbGlnbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL2FsaWduLmVudW0nO1xuaW1wb3J0IHsgVmVydGljYWxBbGlnbiB9IGZyb20gJy4uLy4uLy4uL2NvbW1vbi9lbnVtL3ZlcnRpY2FsLWFsaWduLmVudW0nO1xuaW1wb3J0IHsgdmlld1R5cGUgfSBmcm9tICcuLi8uLi8uLi9jb21tb24vbW9kZWwvdmlldy10eXBlLm1vZGVsJztcbmltcG9ydCB7IEJhc2VQaWNrZXIgfSBmcm9tICcuLi9iYXNlLXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlRnJvbVRvTW9kZWwgfSBmcm9tICcuLi9tb2RlbC9mcm9tLXRvLm1vZGVsJztcbmltcG9ydCB7IFRldGFDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vbG9jYWxlL3RldGEtY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHtUZXRhTG9jYWxpc2F0aW9ufSBmcm9tIFwiLi4vLi4vLi4vbG9jYWxlL3RldGEtbG9jYWxpc2F0aW9uXCI7XG5pbXBvcnQge3J1TG9jYWxlfSBmcm9tIFwiLi4vLi4vLi4vbG9jYWxlL3J1XCI7XG5pbXBvcnQgeyBSYW5nZUNhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi9yYW5nZS1jYWxlbmRhci9yYW5nZS1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25Db250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZHJvcGRvd24vZHJvcGRvd24tY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ljb24vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXNraXRvTW9kdWxlIH0gZnJvbSAnQG1hc2tpdG8vYW5ndWxhcic7XG5pbXBvcnQgeyBJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2lucHV0L2lucHV0L2lucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEcm9wZG93bkhlYWREaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kcm9wZG93bi9kcm9wZG93bi1oZWFkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Ryb3Bkb3duL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBjb25zdCBEQVRFX1JhbmdlX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVSYW5nZUNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0ZXRhLWRhdGUtcmFuZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgcHJvdmlkZXJzOiBbREFURV9SYW5nZV9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SLCBEYXRlUGlwZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBEcm9wZG93bkhlYWREaXJlY3RpdmUsXG4gICAgICAgIE5nQ2xhc3MsXG4gICAgICAgIElucHV0Q29tcG9uZW50LFxuICAgICAgICBGb3Jtc01vZHVsZSxcbiAgICAgICAgTWFza2l0b01vZHVsZSxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgRHJvcGRvd25Db250ZW50RGlyZWN0aXZlLFxuICAgICAgICBSYW5nZUNhbGVuZGFyQ29tcG9uZW50LFxuICAgICAgICBBc3luY1BpcGUsXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlQ29tcG9uZW50XG4gIGV4dGVuZHMgQmFzZVBpY2tlclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3JcbntcbiAgQElucHV0KCkgZGF0ZTogRGF0ZUZyb21Ub01vZGVsID0geyBmcm9tOiBudWxsLCB0bzogbnVsbCB9O1xuICBwdWJsaWMgbG9jYWxlOk9ic2VydmFibGU8VGV0YUxvY2FsaXNhdGlvbj5cbiAgQElucHV0KCkgc2hvd1RpbWUgPSBmYWxzZTtcbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlciA9IG51bGw7XG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGUgfCBzdHJpbmcgfCBudW1iZXIgPSBudWxsO1xuICBASW5wdXQoKSBpbnZhbGlkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFsaWduOiBBbGlnbiA9IEFsaWduLmxlZnQ7XG4gIEBJbnB1dCgpIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmF1dG87XG4gIEBJbnB1dCgpIHZpZXdUeXBlOiB2aWV3VHlwZSA9ICdyb3VuZGVkJztcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbjtcbiAgQElucHV0KCkgYWxsb3dOdWxsID0gdHJ1ZTtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgQE91dHB1dCgpIHNlbGVjdERhdGU6IEV2ZW50RW1pdHRlcjxEYXRlRnJvbVRvTW9kZWw+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPERhdGVGcm9tVG9Nb2RlbD4oKTtcbiAgcHVibGljIG1hc2sgPSAnJztcbiAgcHVibGljIHNlbGVjdGVkRGF0ZTogUmVwbGF5U3ViamVjdDxEYXRlRnJvbVRvTW9kZWw+ID1cbiAgICBuZXcgUmVwbGF5U3ViamVjdDxEYXRlRnJvbVRvTW9kZWw+KDEpO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRhdGVyYW5nZScpIHByaXZhdGUgcmVhZG9ubHkgY2xhc3NEYXRlcmFuZ2UgPSB0cnVlO1xuICBjb25zdHJ1Y3RvcihcbiAgICBvdmVycmlkZSBfY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBvdmVycmlkZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBvdmVycmlkZSBkYXRlUGlwZTogRGF0ZVBpcGUsXG4gICAgcHJpdmF0ZSBsb2NhbGVTZXJ2aWNlOiBUZXRhQ29uZmlnU2VydmljZVxuICApIHtcbiAgICBzdXBlcihfZWxlbWVudFJlZiwgX2NkciwgZGF0ZVBpcGUpO1xuICAgIHRoaXMubG9jYWxlPXRoaXMubG9jYWxlU2VydmljZS5sb2NhbGVcbiAgfVxuXG4gIG92ZXJyaWRlIGNoYW5nZVNlbGVjdGVkRGF0ZShkYXRlOiBEYXRlLCBzZWxlY3RlZERhdGU6IERhdGVGcm9tVG9Nb2RlbCkge1xuICAgIGlmIChzZWxlY3RlZERhdGUuZnJvbSkge1xuICAgICAgY29uc3QgZnJvbSA9IG5ldyBEYXRlKFxuICAgICAgICBNYXRoLm1pbihuZXcgRGF0ZShzZWxlY3RlZERhdGUuZnJvbSkuZ2V0VGltZSgpLCBkYXRlLmdldFRpbWUoKSlcbiAgICAgICk7XG4gICAgICBjb25zdCB0byA9IG5ldyBEYXRlKFxuICAgICAgICBNYXRoLm1heChuZXcgRGF0ZShzZWxlY3RlZERhdGUuZnJvbSkuZ2V0VGltZSgpLCBkYXRlLmdldFRpbWUoKSlcbiAgICAgICk7XG4gICAgICB0aGlzLnNldERhdGUoeyBmcm9tLCB0byB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoeyBmcm9tOiBudWxsLCB0bzogbnVsbCB9KTtcbiAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXREYXRlKHsgZnJvbTogZGF0ZSwgdG86IG51bGwgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHsgZnJvbTogZGF0ZSwgdG86IG51bGwgfSk7XG4gICAgfVxuICB9XG5cbiAgb3ZlcnJpZGUgY2hlY2tOdWxsKCkge1xuICAgIGlmICh0aGlzLmFsbG93TnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShuZXcgRGF0ZSgpLCAnZGQuTU0ueXl5eScpICtcbiAgICAgICcgLSAnICtcbiAgICAgIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG5ldyBEYXRlKCksICdkZC5NTS55eXl5JylcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgcHJlcGFyZUlucHV0KCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsZS5waXBlKHRha2UoMSkpKTtcbiAgICBsZXQgc3RyID1cbiAgICAgIHRoaXMuZ2V0TG9jYWxlU3RyaW5nKHRoaXMuZGF0ZS5mcm9tKSArXG4gICAgICAnIC0gJyArXG4gICAgICB0aGlzLmdldExvY2FsZVN0cmluZyh0aGlzLmRhdGUudG8pO1xuICAgIGlmICghdGhpcy5kYXRlPy5mcm9tKSB7XG4gICAgICBzdHIgPSB0aGlzLmFsbG93TnVsbFxuICAgICAgICA/ICcnXG4gICAgICAgIDogdGhpcy5nZXRMb2NhbGVTdHJpbmcobmV3IERhdGUoKSkgK1xuICAgICAgICAgICcgLSAnICtcbiAgICAgICAgICB0aGlzLmdldExvY2FsZVN0cmluZyhuZXcgRGF0ZSgpKTtcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9uOiB7IG1vZGU7IHNlcGFyYXRvcjsgbWluPzsgbWF4PzsgbWluTGVuZ3RoPzsgbWF4TGVuZ3RoPyB9ID0ge1xuICAgICAgbW9kZTogJ2RkL21tL3l5eXknLFxuICAgICAgc2VwYXJhdG9yOiAnLicsXG4gICAgfTtcbiAgICB0aGlzLm1hc2sgPSBjb25maWcuZGF0ZVJhbmdlTWFzaztcbiAgICBpZiAodGhpcy5taW5EYXRlKSB7XG4gICAgICBvcHRpb24ubWluID0gZGF5anMobmV3IERhdGUodGhpcy5taW5EYXRlKSkuc3RhcnRPZignZGF5Jyk7XG4gICAgfVxuICAgIGlmICh0aGlzLm1heERhdGUpIHtcbiAgICAgIG9wdGlvbi5tYXggPSBkYXlqcyhuZXcgRGF0ZSh0aGlzLm1heERhdGUpKS5lbmRPZignZGF5Jyk7XG4gICAgfVxuICAgIHRoaXMubWFza2l0b09wdGlvbnMgPSBtYXNraXRvRGF0ZVJhbmdlT3B0aW9uc0dlbmVyYXRvcihvcHRpb24pO1xuICAgIHRoaXMuY2hhbmdlUGxhY2Vob2xkZXIoc3RyKTtcbiAgfVxuXG4gIG9uQmx1cigpIHtcbiAgICBpZiAodGhpcy5hbGxvd051bGwgJiYgdGhpcy5pbnB1dFRleHQudHJpbSgpID09PSAnJykge1xuICAgICAgdGhpcy5zZXREYXRlKHsgZnJvbTogbnVsbCwgdG86IG51bGwgfSk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHsgZnJvbTogbnVsbCwgdG86IG51bGwgfSk7XG4gICAgICB0aGlzLmVtaXRWYWx1ZSh7IGZyb206IG51bGwsIHRvOiBudWxsIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB2YWwgPSB0aGlzLmlucHV0VGV4dC5yZXBsYWNlKCfigJMnLCAnLScpLnNwbGl0KCctJyk7XG4gICAgICBjb25zdCBmcm9tID0gdGhpcy5nZXREYXRlRnJvbVN0cih2YWxbMF0udHJpbSgpKTtcbiAgICAgIGNvbnN0IHRvID0gdGhpcy5nZXREYXRlRnJvbVN0cih2YWxbMV0/LnRyaW0oKSk7XG4gICAgICBpZiAodG8uZGF5ICYmIHRvLnllYXIgJiYgdG8ubW9udGgpIHtcbiAgICAgICAgbGV0IGZyb21EYXRlID0gdGhpcy5nZXRBdmFpbGFibGVEYXRlKFxuICAgICAgICAgIHRoaXMubWluRGF0ZSxcbiAgICAgICAgICB0aGlzLm1heERhdGUsXG4gICAgICAgICAgbmV3IERhdGUoZnJvbS55ZWFyLCBmcm9tLm1vbnRoIC0gMSwgZnJvbS5kYXkpXG4gICAgICAgICk7XG4gICAgICAgIGxldCB0b0RhdGUgPSB0aGlzLmdldEF2YWlsYWJsZURhdGUoXG4gICAgICAgICAgdGhpcy5taW5EYXRlLFxuICAgICAgICAgIHRoaXMubWF4RGF0ZSxcbiAgICAgICAgICBuZXcgRGF0ZSh0by55ZWFyLCB0by5tb250aCAtIDEsIHRvLmRheSlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGZyb21EYXRlLmdldFRpbWUoKSA+IHRvRGF0ZS5nZXRUaW1lKCkpIHtcbiAgICAgICAgICBbZnJvbURhdGUsIHRvRGF0ZV0gPSBbdG9EYXRlLCBmcm9tRGF0ZV07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldERhdGUoeyBmcm9tOiBmcm9tRGF0ZSwgdG86IHRvRGF0ZSB9KTtcbiAgICAgICAgdGhpcy5lbWl0VmFsdWUoeyBmcm9tOiBmcm9tRGF0ZSwgdG86IHRvRGF0ZSB9KTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUubmV4dCh7IGZyb206IG51bGwsIHRvOiBudWxsIH0pO1xuICAgICAgICBpZiAodG9EYXRlICYmIGZyb21EYXRlKSB7XG4gICAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2V0RGF0ZSh0aGlzLmRhdGUpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHsgZnJvbTogbnVsbCwgdG86IG51bGwgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0RGF0ZShyYW5nZTogRGF0ZUZyb21Ub01vZGVsKSB7XG4gICAgaWYgKCFyYW5nZT8uZnJvbSAmJiAhcmFuZ2U/LnRvICYmIHRoaXMuYWxsb3dOdWxsKSB7XG4gICAgICB0aGlzLmlucHV0VGV4dCA9ICcnO1xuXG4gICAgICB0aGlzLmNoYW5nZVBsYWNlaG9sZGVyKCcnKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoe1xuICAgICAgICBmcm9tOiByYW5nZT8uZnJvbSB8fCBudWxsLFxuICAgICAgICB0bzogcmFuZ2U/LnRvIHx8IG51bGwsXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZnJvbSA9IHRoaXMuZ2V0TG9jYWxlU3RyaW5nKHJhbmdlLmZyb20pO1xuICAgICAgY29uc3QgdG8gPSByYW5nZS5mcm9tICYmICFyYW5nZS50byA/ICcnIDogdGhpcy5nZXRMb2NhbGVTdHJpbmcocmFuZ2UudG8pO1xuICAgICAgdGhpcy5pbnB1dFRleHQgPSBmcm9tICsgJyAtICcgKyB0bztcbiAgICAgIHRoaXMuY2hhbmdlUGxhY2Vob2xkZXIoZnJvbSArICcgLSAnICsgdG8pO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUob2JqOiBEYXRlRnJvbVRvTW9kZWwpOiB2b2lkIHtcbiAgICBpZiAob2JqPy5mcm9tKSB7XG4gICAgICB0aGlzLmRhdGUgPSB7XG4gICAgICAgIGZyb206IG5ldyBEYXRlKG9iai5mcm9tKSxcbiAgICAgICAgdG86IG5ldyBEYXRlKG9iai50byksXG4gICAgICB9O1xuICAgICAgdGhpcy5zZXREYXRlKHtcbiAgICAgICAgZnJvbTogbmV3IERhdGUob2JqLmZyb20pLFxuICAgICAgICB0bzogbmV3IERhdGUob2JqLnRvKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGUgPSB7IGZyb206IG51bGwsIHRvOiBudWxsIH07XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoe1xuICAgICAgZnJvbTogbnVsbCxcbiAgICAgIHRvOiBudWxsLFxuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgaXNWYWx1ZUNoYW5nZSh2YWx1ZSkge1xuICAgIHJldHVybiAhKFxuICAgICAgbmV3IERhdGUodmFsdWUuZnJvbSkuZ2V0VGltZSgpID09PSBuZXcgRGF0ZSh0aGlzLmRhdGUuZnJvbSkuZ2V0VGltZSgpICYmXG4gICAgICBuZXcgRGF0ZSh2YWx1ZS50bykuZ2V0VGltZSgpID09PSBuZXcgRGF0ZSh0aGlzLmRhdGUudG8pLmdldFRpbWUoKVxuICAgICk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRhdGU/LmZyb20pIHtcbiAgICAgIHRoaXMuc2V0RGF0ZSh7XG4gICAgICAgIGZyb206IHRoaXMuYWxsb3dOdWxsID8gbnVsbCA6IG5ldyBEYXRlKHRoaXMuZGF0ZT8uZnJvbSksXG4gICAgICAgIHRvOiB0aGlzLmFsbG93TnVsbCA/IG51bGwgOiBuZXcgRGF0ZSh0aGlzLmRhdGU/LnRvKSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldERhdGUoe1xuICAgICAgICBmcm9tOiB0aGlzLmFsbG93TnVsbCA/IG51bGwgOiBuZXcgRGF0ZSgpLFxuICAgICAgICB0bzogdGhpcy5hbGxvd051bGwgPyBudWxsIDogbmV3IERhdGUoKSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoe1xuICAgICAgZnJvbTogbnVsbCxcbiAgICAgIHRvOiBudWxsLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wcmVwYXJlSW5wdXQoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKGRhdGUpIHt9XG59XG4iLCJAaWYgKHtzZWxlY3RlZERhdGU6c2VsZWN0ZWREYXRlfGFzeW5jfTthcyBkYXRhKSB7XG4gIDx0ZXRhLWRyb3Bkb3duIFthcHBlbmRUb0JvZHldPVwiYXBwZW5kVG9Cb2R5XCIgW2JhY2tkcm9wXT1cImJhY2tkcm9wXCJcbiAgICBjbGFzcz0ncm93IHJvd19hdXRvJ1xuICAgIFsob3BlbildPVwib3BlblwiIChvcGVuQ2hhbmdlKT1cIm9wZW5DaGFuZ2UoJGV2ZW50KVwiIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3ZlcnRpY2FsQWxpZ25dPVwidmVydGljYWxBbGlnblwiIFthbGlnbl09XCJhbGlnblwiXG4gICAgW2F1dG9DbG9zZUlnbm9yZV09XCJbJ2VzYycsICdpbnNpZGUnLCdlbnRlciddXCI+XG4gICAgPGRpdiB0ZXRhRHJvcGRvd25IZWFkXG4gICAgICBbY2xhc3NdPVwiJ2RhdGVwaWNrZXItaGVhZCBmb250LWJvZHktMyBnYXAtOCBkYXRlcGlja2VyXycrdmlld1R5cGVcIlxuICAgICAgW25nQ2xhc3NdPVwieydkYXRlcGlja2VyLWhlYWRfaW52YWxpZCc6aW52YWxpZCwnZGF0ZXBpY2tlci1oZWFkX2Rpc2FibGVkJzpkaXNhYmxlZH1cIj5cbiAgICAgIDx0ZXRhLWlucHV0IGNsYXNzPVwicm93IHJvd19hdXRvIGZsZXhcIj5cbiAgICAgICAgPGRpdiBbY2xhc3NdPVwiJ3Jvd19hdXRvIHJvdyBkYXRlcGlja2VyXycrdmlld1R5cGVcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IHJvd19hdXRvIHBvc2l0aW9uLXJlbGF0aXZlIGZvbnQtYm9keS0zIGFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgPGlucHV0IFtuZ0NsYXNzXT1cInsnY29sb3ItdGV4dC05MCc6IWRpc2FibGVkfVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiICNpbnB1dCBzdHlsZT1cInotaW5kZXg6IDFcIlxuICAgICAgICAgICAgICBjbGFzcz1cImJvcmRlci0wIGNvbG9yLXRleHQtOTBcIiAoa2V5ZG93bik9XCJjaGVja0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImlucHV0VGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cImNoYW5nZUlucHV0KCRldmVudClcIlxuICAgICAgICAgICAgICBbbWFza2l0b109XCJtYXNraXRvT3B0aW9uc1wiPlxuICAgICAgICAgICAgICBAaWYgKGRhdGEuc2VsZWN0ZWREYXRlfHxhbGxvd051bGwpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IChjbGljayk9XCJpbnB1dC5mb2N1cygpXCIgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBjb2xvci10ZXh0LTEwXCJcbiAgICAgICAgICAgICAgICBzdHlsZT1cImN1cnNvcjogdGV4dDt1c2VyLXNlbGVjdDogbm9uZVwiPnt7cGxhY2Vob2xkZXJ9fTwvZGl2PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDx0ZXRhLWljb24gW25hbWVdPVwiJ2NhbGVuZGFyJ1wiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RldGEtaW5wdXQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgdGV0YURyb3Bkb3duQ29udGVudCBjbGFzcz1cInNjcm9sbGFibGVcIiAoY2xpY2spPVwiJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIj5cbiAgICAgICAgQGlmIChvcGVuKSB7XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgICAgPHRldGEtcmFuZ2UtY2FsZW5kYXIgW2lzRGF0ZU51bGxdPVwiZGF0ZT09PW51bGx8fChkYXRlPy5mcm9tPT09bnVsbCYmZGF0ZT8udG89PT1udWxsKVwiIFtvcGVuXT1cIm9wZW5cIlxuICAgICAgICAgICAgICBbbWF4XT1cIm1heERhdGVcIlxuICAgICAgICAgICAgICBbYWxsb3dOdWxsXT1cImFsbG93TnVsbFwiXG4gICAgICAgICAgICAgIFttaW5dPVwibWluRGF0ZVwiXG4gICAgICAgICAgICAgIChzZXREYXRlKT1cImNoYW5nZVNlbGVjdGVkRGF0ZSgkZXZlbnQsZGF0YS5zZWxlY3RlZERhdGUpXCJcbiAgICAgICAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJkYXRhLnNlbGVjdGVkRGF0ZVwiXG4gICAgICAgICAgICAgIFtkYXRlXT1cImRhdGVcIlxuICAgICAgICAgICAgW3ZpZXdUeXBlXT1cInZpZXdUeXBlXCIgW2xvY2FsZV09XCJsb2NhbGV8YXN5bmNcIj48L3RldGEtcmFuZ2UtY2FsZW5kYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgIDwvdGV0YS1kcm9wZG93bj5cbiAgfVxuIl19
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50L2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2hFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsYUFBYSxFQUFjLGFBQWEsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFHeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkNB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TUFBTTtnQkFHMEMsY0FBYztzQkFBOUQsV0FBVzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSwgTmdDbGFzcywgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWFza2l0b0RhdGVSYW5nZU9wdGlvbnNHZW5lcmF0b3IgfSBmcm9tICdAbWFza2l0by9raXQnO1xuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcbmltcG9ydCB7IGxhc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIHRha2UgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWxpZ24gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS9hbGlnbi5lbnVtJztcbmltcG9ydCB7IFZlcnRpY2FsQWxpZ24gfSBmcm9tICcuLi8uLi8uLi9jb21tb24vZW51bS92ZXJ0aWNhbC1hbGlnbi5lbnVtJztcbmltcG9ydCB7IHZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL21vZGVsL3ZpZXctdHlwZS5tb2RlbCc7XG5pbXBvcnQgeyBCYXNlUGlja2VyIH0gZnJvbSAnLi4vYmFzZS1waWNrZXInO1xuaW1wb3J0IHsgRGF0ZUZyb21Ub01vZGVsIH0gZnJvbSAnLi4vbW9kZWwvZnJvbS10by5tb2RlbCc7XG5pbXBvcnQgeyBUZXRhQ29uZmlnU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL2xvY2FsZS90ZXRhLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFRldGFMb2NhbGlzYXRpb24gfSBmcm9tICcuLi8uLi8uLi9sb2NhbGUvdGV0YS1sb2NhbGlzYXRpb24nO1xuaW1wb3J0IHsgcnVMb2NhbGUgfSBmcm9tICcuLi8uLi8uLi9sb2NhbGUvcnUnO1xuaW1wb3J0IHsgUmFuZ2VDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4vcmFuZ2UtY2FsZW5kYXIvcmFuZ2UtY2FsZW5kYXIuY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9pY29uL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWFza2l0b01vZHVsZSB9IGZyb20gJ0BtYXNraXRvL2FuZ3VsYXInO1xuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9pbnB1dC9pbnB1dC9pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRHJvcGRvd25IZWFkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZHJvcGRvd24vZHJvcGRvd24taGVhZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9kcm9wZG93bi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuXG5leHBvcnQgY29uc3QgREFURV9SYW5nZV9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUmFuZ2VDb21wb25lbnQpLFxuICBtdWx0aTogdHJ1ZSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RldGEtZGF0ZS1yYW5nZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZS1yYW5nZS5jb21wb25lbnQuc2NzcyddLFxuICBwcm92aWRlcnM6IFtEQVRFX1JhbmdlX0NPTlRST0xfVkFMVUVfQUNDRVNTT1IsIERhdGVQaXBlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBEcm9wZG93bkNvbXBvbmVudCxcbiAgICBEcm9wZG93bkhlYWREaXJlY3RpdmUsXG4gICAgTmdDbGFzcyxcbiAgICBJbnB1dENvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXNraXRvTW9kdWxlLFxuICAgIEljb25Db21wb25lbnQsXG4gICAgRHJvcGRvd25Db250ZW50RGlyZWN0aXZlLFxuICAgIFJhbmdlQ2FsZW5kYXJDb21wb25lbnQsXG4gICAgQXN5bmNQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlUGlja2VyIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIGRhdGU6IERhdGVGcm9tVG9Nb2RlbCA9IHsgZnJvbTogbnVsbCwgdG86IG51bGwgfTtcbiAgcHVibGljIGxvY2FsZTogT2JzZXJ2YWJsZTxUZXRhTG9jYWxpc2F0aW9uPjtcbiAgQElucHV0KCkgc2hvd1RpbWUgPSBmYWxzZTtcbiAgQElucHV0KCkgbWluRGF0ZTogRGF0ZSB8IHN0cmluZyB8IG51bWJlciA9IG51bGw7XG4gIEBJbnB1dCgpIG1heERhdGU6IERhdGUgfCBzdHJpbmcgfCBudW1iZXIgPSBudWxsO1xuICBASW5wdXQoKSBpbnZhbGlkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFsaWduOiBBbGlnbiA9IEFsaWduLmxlZnQ7XG4gIEBJbnB1dCgpIHZlcnRpY2FsQWxpZ246IFZlcnRpY2FsQWxpZ24gPSBWZXJ0aWNhbEFsaWduLmF1dG87XG4gIEBJbnB1dCgpIHZpZXdUeXBlOiB2aWV3VHlwZSA9ICdyb3VuZGVkJztcbiAgQElucHV0KCkgYXBwZW5kVG9Cb2R5OiBib29sZWFuO1xuICBASW5wdXQoKSBiYWNrZHJvcDogYm9vbGVhbjtcbiAgQElucHV0KCkgYWxsb3dOdWxsID0gdHJ1ZTtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnKSBpbnB1dDogRWxlbWVudFJlZjtcbiAgQE91dHB1dCgpIHNlbGVjdERhdGU6IEV2ZW50RW1pdHRlcjxEYXRlRnJvbVRvTW9kZWw+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlRnJvbVRvTW9kZWw+KCk7XG4gIHB1YmxpYyBtYXNrID0gJyc7XG4gIHB1YmxpYyBzZWxlY3RlZERhdGU6IFJlcGxheVN1YmplY3Q8RGF0ZUZyb21Ub01vZGVsPiA9IG5ldyBSZXBsYXlTdWJqZWN0PERhdGVGcm9tVG9Nb2RlbD4oMSk7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGF0ZXJhbmdlJykgcHJpdmF0ZSByZWFkb25seSBjbGFzc0RhdGVyYW5nZSA9IHRydWU7XG4gIGNvbnN0cnVjdG9yKFxuICAgIG92ZXJyaWRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIG92ZXJyaWRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIG92ZXJyaWRlIGRhdGVQaXBlOiBEYXRlUGlwZSxcbiAgICBwcml2YXRlIGxvY2FsZVNlcnZpY2U6IFRldGFDb25maWdTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyLCBkYXRlUGlwZSk7XG4gICAgdGhpcy5sb2NhbGUgPSB0aGlzLmxvY2FsZVNlcnZpY2UubG9jYWxlO1xuICB9XG5cbiAgb3ZlcnJpZGUgY2hhbmdlU2VsZWN0ZWREYXRlKGRhdGU6IERhdGUsIHNlbGVjdGVkRGF0ZTogRGF0ZUZyb21Ub01vZGVsKSB7XG4gICAgaWYgKHNlbGVjdGVkRGF0ZS5mcm9tKSB7XG4gICAgICBjb25zdCBmcm9tID0gbmV3IERhdGUoTWF0aC5taW4obmV3IERhdGUoc2VsZWN0ZWREYXRlLmZyb20pLmdldFRpbWUoKSwgZGF0ZS5nZXRUaW1lKCkpKTtcbiAgICAgIGNvbnN0IHRvID0gbmV3IERhdGUoTWF0aC5tYXgobmV3IERhdGUoc2VsZWN0ZWREYXRlLmZyb20pLmdldFRpbWUoKSwgZGF0ZS5nZXRUaW1lKCkpKTtcbiAgICAgIHRoaXMuc2V0RGF0ZSh7IGZyb20sIHRvIH0pO1xuICAgICAgdGhpcy5zZWxlY3RlZERhdGUubmV4dCh7IGZyb206IG51bGwsIHRvOiBudWxsIH0pO1xuICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldERhdGUoeyBmcm9tOiBkYXRlLCB0bzogbnVsbCB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoeyBmcm9tOiBkYXRlLCB0bzogbnVsbCB9KTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBjaGVja051bGwoKSB7XG4gICAgaWYgKHRoaXMuYWxsb3dOdWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG5ldyBEYXRlKCksICdkZC5NTS55eXl5JykgKyAnIC0gJyArIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG5ldyBEYXRlKCksICdkZC5NTS55eXl5JylcbiAgICApO1xuICB9XG5cbiAgYXN5bmMgcHJlcGFyZUlucHV0KCkge1xuICAgIGNvbnN0IGNvbmZpZyA9IGF3YWl0IGxhc3RWYWx1ZUZyb20odGhpcy5sb2NhbGVTZXJ2aWNlLmxvY2FsZS5waXBlKHRha2UoMSkpKTtcbiAgICBsZXQgc3RyID0gdGhpcy5nZXRMb2NhbGVTdHJpbmcodGhpcy5kYXRlLmZyb20pICsgJyAtICcgKyB0aGlzLmdldExvY2FsZVN0cmluZyh0aGlzLmRhdGUudG8pO1xuICAgIGlmICghdGhpcy5kYXRlPy5mcm9tKSB7XG4gICAgICBzdHIgPSB0aGlzLmFsbG93TnVsbCA/ICcnIDogdGhpcy5nZXRMb2NhbGVTdHJpbmcobmV3IERhdGUoKSkgKyAnIC0gJyArIHRoaXMuZ2V0TG9jYWxlU3RyaW5nKG5ldyBEYXRlKCkpO1xuICAgIH1cbiAgICBjb25zdCBvcHRpb246IHsgbW9kZTsgc2VwYXJhdG9yOyBtaW4/OyBtYXg/OyBtaW5MZW5ndGg/OyBtYXhMZW5ndGg/IH0gPSB7XG4gICAgICBtb2RlOiAnZGQvbW0veXl5eScsXG4gICAgICBzZXBhcmF0b3I6ICcuJyxcbiAgICB9O1xuICAgIHRoaXMubWFzayA9IGNvbmZpZy5kYXRlUmFuZ2VNYXNrO1xuICAgIGlmICh0aGlzLm1pbkRhdGUpIHtcbiAgICAgIG9wdGlvbi5taW4gPSBkYXlqcyhuZXcgRGF0ZSh0aGlzLm1pbkRhdGUpKS5zdGFydE9mKCdkYXknKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWF4RGF0ZSkge1xuICAgICAgb3B0aW9uLm1heCA9IGRheWpzKG5ldyBEYXRlKHRoaXMubWF4RGF0ZSkpLmVuZE9mKCdkYXknKTtcbiAgICB9XG4gICAgdGhpcy5tYXNraXRvT3B0aW9ucyA9IG1hc2tpdG9EYXRlUmFuZ2VPcHRpb25zR2VuZXJhdG9yKG9wdGlvbik7XG4gICAgdGhpcy5jaGFuZ2VQbGFjZWhvbGRlcihzdHIpO1xuICB9XG5cbiAgb25CbHVyKCkge1xuICAgIGlmICh0aGlzLmFsbG93TnVsbCAmJiB0aGlzLmlucHV0VGV4dC50cmltKCkgPT09ICcnKSB7XG4gICAgICB0aGlzLnNldERhdGUoeyBmcm9tOiBudWxsLCB0bzogbnVsbCB9KTtcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoeyBmcm9tOiBudWxsLCB0bzogbnVsbCB9KTtcbiAgICAgIHRoaXMuZW1pdFZhbHVlKHsgZnJvbTogbnVsbCwgdG86IG51bGwgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHZhbCA9IHRoaXMuaW5wdXRUZXh0LnJlcGxhY2UoJ+KAkycsICctJykuc3BsaXQoJy0nKTtcbiAgICAgIGNvbnN0IGZyb20gPSB0aGlzLmdldERhdGVGcm9tU3RyKHZhbFswXS50cmltKCkpO1xuICAgICAgY29uc3QgdG8gPSB0aGlzLmdldERhdGVGcm9tU3RyKHZhbFsxXT8udHJpbSgpKTtcbiAgICAgIGlmICh0by5kYXkgJiYgdG8ueWVhciAmJiB0by5tb250aCkge1xuICAgICAgICBsZXQgZnJvbURhdGUgPSB0aGlzLmdldEF2YWlsYWJsZURhdGUodGhpcy5taW5EYXRlLCB0aGlzLm1heERhdGUsIG5ldyBEYXRlKGZyb20ueWVhciwgZnJvbS5tb250aCAtIDEsIGZyb20uZGF5KSk7XG4gICAgICAgIGxldCB0b0RhdGUgPSB0aGlzLmdldEF2YWlsYWJsZURhdGUodGhpcy5taW5EYXRlLCB0aGlzLm1heERhdGUsIG5ldyBEYXRlKHRvLnllYXIsIHRvLm1vbnRoIC0gMSwgdG8uZGF5KSk7XG4gICAgICAgIGlmIChmcm9tRGF0ZS5nZXRUaW1lKCkgPiB0b0RhdGUuZ2V0VGltZSgpKSB7XG4gICAgICAgICAgW2Zyb21EYXRlLCB0b0RhdGVdID0gW3RvRGF0ZSwgZnJvbURhdGVdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXREYXRlKHsgZnJvbTogZnJvbURhdGUsIHRvOiB0b0RhdGUgfSk7XG4gICAgICAgIHRoaXMuZW1pdFZhbHVlKHsgZnJvbTogZnJvbURhdGUsIHRvOiB0b0RhdGUgfSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm5leHQoeyBmcm9tOiBudWxsLCB0bzogbnVsbCB9KTtcbiAgICAgICAgaWYgKHRvRGF0ZSAmJiBmcm9tRGF0ZSkge1xuICAgICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNldERhdGUodGhpcy5kYXRlKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUubmV4dCh7IGZyb206IG51bGwsIHRvOiBudWxsIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldERhdGUocmFuZ2U6IERhdGVGcm9tVG9Nb2RlbCkge1xuICAgIGlmICghcmFuZ2U/LmZyb20gJiYgIXJhbmdlPy50byAmJiB0aGlzLmFsbG93TnVsbCkge1xuICAgICAgdGhpcy5pbnB1dFRleHQgPSAnJztcblxuICAgICAgdGhpcy5jaGFuZ2VQbGFjZWhvbGRlcignJyk7XG4gICAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHtcbiAgICAgICAgZnJvbTogcmFuZ2U/LmZyb20gfHwgbnVsbCxcbiAgICAgICAgdG86IHJhbmdlPy50byB8fCBudWxsLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGZyb20gPSB0aGlzLmdldExvY2FsZVN0cmluZyhyYW5nZS5mcm9tKTtcbiAgICAgIGNvbnN0IHRvID0gcmFuZ2UuZnJvbSAmJiAhcmFuZ2UudG8gPyAnJyA6IHRoaXMuZ2V0TG9jYWxlU3RyaW5nKHJhbmdlLnRvKTtcbiAgICAgIHRoaXMuaW5wdXRUZXh0ID0gZnJvbSArICcgLSAnICsgdG87XG4gICAgICB0aGlzLmNoYW5nZVBsYWNlaG9sZGVyKGZyb20gKyAnIC0gJyArIHRvKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKG9iajogRGF0ZUZyb21Ub01vZGVsKTogdm9pZCB7XG4gICAgaWYgKG9iaj8uZnJvbSkge1xuICAgICAgdGhpcy5kYXRlID0ge1xuICAgICAgICBmcm9tOiBuZXcgRGF0ZShvYmouZnJvbSksXG4gICAgICAgIHRvOiBuZXcgRGF0ZShvYmoudG8pLFxuICAgICAgfTtcbiAgICAgIHRoaXMuc2V0RGF0ZSh7XG4gICAgICAgIGZyb206IG5ldyBEYXRlKG9iai5mcm9tKSxcbiAgICAgICAgdG86IG5ldyBEYXRlKG9iai50byksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRlID0geyBmcm9tOiBudWxsLCB0bzogbnVsbCB9O1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHtcbiAgICAgIGZyb206IG51bGwsXG4gICAgICB0bzogbnVsbCxcbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIGlzVmFsdWVDaGFuZ2UodmFsdWUpIHtcbiAgICByZXR1cm4gIShcbiAgICAgIG5ldyBEYXRlKHZhbHVlLmZyb20pLmdldFRpbWUoKSA9PT0gbmV3IERhdGUodGhpcy5kYXRlLmZyb20pLmdldFRpbWUoKSAmJlxuICAgICAgbmV3IERhdGUodmFsdWUudG8pLmdldFRpbWUoKSA9PT0gbmV3IERhdGUodGhpcy5kYXRlLnRvKS5nZXRUaW1lKClcbiAgICApO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kYXRlPy5mcm9tKSB7XG4gICAgICB0aGlzLnNldERhdGUoe1xuICAgICAgICBmcm9tOiB0aGlzLmFsbG93TnVsbCA/IG51bGwgOiBuZXcgRGF0ZSh0aGlzLmRhdGU/LmZyb20pLFxuICAgICAgICB0bzogdGhpcy5hbGxvd051bGwgPyBudWxsIDogbmV3IERhdGUodGhpcy5kYXRlPy50byksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zZXREYXRlKHtcbiAgICAgICAgZnJvbTogdGhpcy5hbGxvd051bGwgPyBudWxsIDogbmV3IERhdGUoKSxcbiAgICAgICAgdG86IHRoaXMuYWxsb3dOdWxsID8gbnVsbCA6IG5ldyBEYXRlKCksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbGVjdGVkRGF0ZS5uZXh0KHtcbiAgICAgIGZyb206IG51bGwsXG4gICAgICB0bzogbnVsbCxcbiAgICB9KTtcblxuICAgIHRoaXMucHJlcGFyZUlucHV0KCk7XG4gIH1cblxuICBvbkNoYW5nZShkYXRlKSB7fVxufVxuIiwiQGlmICh7c2VsZWN0ZWREYXRlOnNlbGVjdGVkRGF0ZXxhc3luY307YXMgZGF0YSkge1xuPHRldGEtZHJvcGRvd25cbiAgW2FwcGVuZFRvQm9keV09XCJhcHBlbmRUb0JvZHlcIlxuICBbYmFja2Ryb3BdPVwiYmFja2Ryb3BcIlxuICBjbGFzcz1cInJvdyByb3dfYXV0b1wiXG4gIFsob3BlbildPVwib3BlblwiXG4gIChvcGVuQ2hhbmdlKT1cIm9wZW5DaGFuZ2UoJGV2ZW50KVwiXG4gIFt2aWV3VHlwZV09XCJ2aWV3VHlwZVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFt2ZXJ0aWNhbEFsaWduXT1cInZlcnRpY2FsQWxpZ25cIlxuICBbYWxpZ25dPVwiYWxpZ25cIlxuICBbYXV0b0Nsb3NlSWdub3JlXT1cIlsnZXNjJywgJ2luc2lkZScsICdlbnRlciddXCJcbj5cbiAgPGRpdlxuICAgIHRldGFEcm9wZG93bkhlYWRcbiAgICBbY2xhc3NdPVwiJ2RhdGVwaWNrZXItaGVhZCBmb250LWJvZHktMyBnYXAtOCBkYXRlcGlja2VyXycgKyB2aWV3VHlwZVwiXG4gICAgW25nQ2xhc3NdPVwieyAnZGF0ZXBpY2tlci1oZWFkX2ludmFsaWQnOiBpbnZhbGlkLCAnZGF0ZXBpY2tlci1oZWFkX2Rpc2FibGVkJzogZGlzYWJsZWQgfVwiXG4gID5cbiAgICA8dGV0YS1pbnB1dCBjbGFzcz1cInJvdyByb3dfYXV0byBmbGV4XCI+XG4gICAgICA8ZGl2IFtjbGFzc109XCIncm93X2F1dG8gcm93IGRhdGVwaWNrZXJfJyArIHZpZXdUeXBlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcm93X2F1dG8gcG9zaXRpb24tcmVsYXRpdmUgZm9udC1ib2R5LTMgYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdjb2xvci10ZXh0LTkwJzogIWRpc2FibGVkIH1cIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICNpbnB1dFxuICAgICAgICAgICAgc3R5bGU9XCJ6LWluZGV4OiAxXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYm9yZGVyLTAgY29sb3ItdGV4dC05MFwiXG4gICAgICAgICAgICAoa2V5ZG93bik9XCJjaGVja0VudGVyKCRldmVudClcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFRleHRcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlSW5wdXQoJGV2ZW50KVwiXG4gICAgICAgICAgICBbbWFza2l0b109XCJtYXNraXRvT3B0aW9uc1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgICBAaWYgKGRhdGEuc2VsZWN0ZWREYXRlfHxhbGxvd051bGwpIHtcbiAgICAgICAgICA8ZGl2IChjbGljayk9XCJpbnB1dC5mb2N1cygpXCIgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBjb2xvci10ZXh0LTEwXCIgc3R5bGU9XCJjdXJzb3I6IHRleHQ7IHVzZXItc2VsZWN0OiBub25lXCI+XG4gICAgICAgICAgICB7eyBwbGFjZWhvbGRlciB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDx0ZXRhLWljb24gW25hbWVdPVwiJ2NhbGVuZGFyJ1wiIFtwYWxldHRlXT1cIid0ZXh0J1wiPjwvdGV0YS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgPC90ZXRhLWlucHV0PlxuICA8L2Rpdj5cbiAgPGRpdiB0ZXRhRHJvcGRvd25Db250ZW50IGNsYXNzPVwic2Nyb2xsYWJsZVwiIChjbGljayk9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiPlxuICAgIEBpZiAob3Blbikge1xuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDx0ZXRhLXJhbmdlLWNhbGVuZGFyXG4gICAgICAgIFtpc0RhdGVOdWxsXT1cImRhdGUgPT09IG51bGwgfHwgKGRhdGU/LmZyb20gPT09IG51bGwgJiYgZGF0ZT8udG8gPT09IG51bGwpXCJcbiAgICAgICAgW29wZW5dPVwib3BlblwiXG4gICAgICAgIFttYXhdPVwibWF4RGF0ZVwiXG4gICAgICAgIFthbGxvd051bGxdPVwiYWxsb3dOdWxsXCJcbiAgICAgICAgW21pbl09XCJtaW5EYXRlXCJcbiAgICAgICAgKHNldERhdGUpPVwiY2hhbmdlU2VsZWN0ZWREYXRlKCRldmVudCwgZGF0YS5zZWxlY3RlZERhdGUpXCJcbiAgICAgICAgW3NlbGVjdGVkRGF0ZV09XCJkYXRhLnNlbGVjdGVkRGF0ZVwiXG4gICAgICAgIFtkYXRlXT1cImRhdGVcIlxuICAgICAgICBbdmlld1R5cGVdPVwidmlld1R5cGVcIlxuICAgICAgICBbbG9jYWxlXT1cImxvY2FsZSB8IGFzeW5jXCJcbiAgICAgID48L3RldGEtcmFuZ2UtY2FsZW5kYXI+XG4gICAgPC9kaXY+XG4gICAgfVxuICA8L2Rpdj5cbjwvdGV0YS1kcm9wZG93bj5cbn1cbiJdfQ==