@alauda/ui 6.3.6-beta.3 → 6.3.6-beta.4

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 (327) hide show
  1. package/README.md +1 -1
  2. package/accordion/{public-api.d.ts → index.d.ts} +1 -1
  3. package/alauda-ui.d.ts +1 -1
  4. package/anchor/{public-api.d.ts → index.d.ts} +0 -0
  5. package/autocomplete/autocomplete.directive.d.ts +1 -1
  6. package/autocomplete/{public-api.d.ts → index.d.ts} +5 -5
  7. package/back-top/{public-api.d.ts → index.d.ts} +0 -0
  8. package/breadcrumb/{public-api.d.ts → index.d.ts} +1 -1
  9. package/button/{public-api.d.ts → index.d.ts} +2 -2
  10. package/card/{public-api.d.ts → index.d.ts} +1 -1
  11. package/checkbox/checkbox-group/checkbox-group.component.d.ts +2 -2
  12. package/checkbox/checkbox.component.d.ts +1 -1
  13. package/checkbox/{public-api.d.ts → index.d.ts} +1 -1
  14. package/color-picker/color-picker.component.d.ts +1 -1
  15. package/color-picker/{public-api.d.ts → index.d.ts} +0 -0
  16. package/date-picker/calendar/header/component.d.ts +1 -1
  17. package/date-picker/{public-api.d.ts → index.d.ts} +6 -6
  18. package/dialog/{public-api.d.ts → index.d.ts} +3 -3
  19. package/drawer/drawer.service.d.ts +1 -1
  20. package/drawer/{public-api.d.ts → index.d.ts} +3 -3
  21. package/dropdown/dropdown-active.directive.d.ts +1 -1
  22. package/dropdown/dropdown-button/dropdown-button.component.d.ts +1 -1
  23. package/dropdown/dropdown.directive.d.ts +1 -1
  24. package/dropdown/{public-api.d.ts → index.d.ts} +4 -4
  25. package/dropdown/submenu/submenu.component.d.ts +1 -1
  26. package/esm2020/accordion/accordion-item/accordion-item.component.mjs +11 -11
  27. package/esm2020/accordion/accordion.component.mjs +5 -5
  28. package/esm2020/accordion/accordion.module.mjs +7 -7
  29. package/esm2020/accordion/index.mjs +4 -0
  30. package/esm2020/alauda-ui.mjs +2 -2
  31. package/esm2020/anchor/anchor.component.mjs +6 -6
  32. package/esm2020/anchor/anchor.directive.mjs +10 -11
  33. package/esm2020/anchor/anchor.module.mjs +4 -4
  34. package/esm2020/anchor/index.mjs +6 -0
  35. package/esm2020/autocomplete/autocomplete-placeholder.component.mjs +3 -3
  36. package/esm2020/autocomplete/autocomplete.component.mjs +6 -6
  37. package/esm2020/autocomplete/autocomplete.directive.mjs +8 -8
  38. package/esm2020/autocomplete/autocomplete.module.mjs +6 -6
  39. package/esm2020/autocomplete/helper-directives.mjs +3 -3
  40. package/esm2020/autocomplete/index.mjs +9 -0
  41. package/esm2020/autocomplete/suggestion/suggestion.component.mjs +3 -3
  42. package/esm2020/autocomplete/suggestion-group/suggestion-group.component.mjs +6 -6
  43. package/esm2020/back-top/back-top.component.mjs +5 -5
  44. package/esm2020/back-top/back-top.module.mjs +4 -4
  45. package/esm2020/back-top/index.mjs +3 -0
  46. package/esm2020/breadcrumb/breadcrumb-item.component.mjs +5 -5
  47. package/esm2020/breadcrumb/breadcrumb.component.mjs +3 -3
  48. package/esm2020/breadcrumb/breadcrumb.module.mjs +6 -6
  49. package/esm2020/breadcrumb/index.mjs +4 -0
  50. package/esm2020/button/button-group/button-group.component.mjs +3 -3
  51. package/esm2020/button/button.component.mjs +5 -5
  52. package/esm2020/button/button.module.mjs +6 -6
  53. package/esm2020/button/index.mjs +5 -0
  54. package/esm2020/card/card.component.mjs +5 -5
  55. package/esm2020/card/card.module.mjs +4 -4
  56. package/esm2020/card/helper-directives.mjs +10 -11
  57. package/esm2020/card/index.mjs +5 -0
  58. package/esm2020/card/section.component.mjs +3 -3
  59. package/esm2020/checkbox/checkbox-group/checkbox-group.component.mjs +5 -5
  60. package/esm2020/checkbox/checkbox.component.mjs +7 -7
  61. package/esm2020/checkbox/checkbox.module.mjs +6 -6
  62. package/esm2020/checkbox/index.mjs +4 -0
  63. package/esm2020/color-picker/color-picker.component.mjs +5 -5
  64. package/esm2020/color-picker/color-picker.module.mjs +4 -4
  65. package/esm2020/color-picker/index.mjs +3 -0
  66. package/esm2020/date-picker/calendar/date-picker-panel/component.mjs +6 -6
  67. package/esm2020/date-picker/calendar/footer/component.mjs +5 -5
  68. package/esm2020/date-picker/calendar/header/component.mjs +6 -8
  69. package/esm2020/date-picker/calendar/panel/picker-panel.mjs +22 -16
  70. package/esm2020/date-picker/calendar/range-picker-panel/component.mjs +6 -6
  71. package/esm2020/date-picker/calendar/util.mjs +20 -14
  72. package/esm2020/date-picker/date-picker/date-picker.component.mjs +4 -4
  73. package/esm2020/date-picker/date-picker.module.mjs +10 -10
  74. package/esm2020/date-picker/date-picker.type.mjs +1 -1
  75. package/esm2020/date-picker/index.mjs +12 -0
  76. package/esm2020/date-picker/range-picker/range-picker.component.mjs +4 -4
  77. package/esm2020/date-picker/trigger/trigger.component.mjs +5 -5
  78. package/esm2020/dialog/confirm-dialog/confirm-dialog.component.mjs +4 -6
  79. package/esm2020/dialog/dialog-content/dialog-close.directive.mjs +3 -3
  80. package/esm2020/dialog/dialog-content/dialog-content.component.mjs +3 -3
  81. package/esm2020/dialog/dialog-content/dialog-footer.component.mjs +3 -3
  82. package/esm2020/dialog/dialog-content/dialog-header.component.mjs +5 -5
  83. package/esm2020/dialog/dialog.component.mjs +5 -5
  84. package/esm2020/dialog/dialog.module.mjs +7 -7
  85. package/esm2020/dialog/dialog.service.mjs +8 -6
  86. package/esm2020/dialog/index.mjs +12 -0
  87. package/esm2020/drawer/component/drawer.component.mjs +5 -5
  88. package/esm2020/drawer/component/helper-directives.mjs +9 -9
  89. package/esm2020/drawer/drawer.module.mjs +6 -6
  90. package/esm2020/drawer/drawer.service.mjs +4 -4
  91. package/esm2020/drawer/index.mjs +6 -0
  92. package/esm2020/dropdown/dropdown-active.directive.mjs +5 -5
  93. package/esm2020/dropdown/dropdown-button/dropdown-button.component.mjs +5 -5
  94. package/esm2020/dropdown/dropdown.directive.mjs +5 -5
  95. package/esm2020/dropdown/dropdown.module.mjs +8 -8
  96. package/esm2020/dropdown/helper-directives.mjs +3 -3
  97. package/esm2020/dropdown/index.mjs +12 -0
  98. package/esm2020/dropdown/menu/menu-content.directive.mjs +3 -3
  99. package/esm2020/dropdown/menu/menu.component.mjs +3 -3
  100. package/esm2020/dropdown/menu-group/menu-group.component.mjs +3 -3
  101. package/esm2020/dropdown/menu-item/menu-item.component.mjs +5 -5
  102. package/esm2020/dropdown/submenu/submenu.component.mjs +6 -6
  103. package/esm2020/form/common-form.mjs +4 -5
  104. package/esm2020/form/form-item/form-item.component.mjs +6 -6
  105. package/esm2020/form/form.directive.mjs +3 -3
  106. package/esm2020/form/form.module.mjs +4 -4
  107. package/esm2020/form/helper-directives.mjs +16 -17
  108. package/esm2020/form/index.mjs +7 -0
  109. package/esm2020/i18n/i18n.module.mjs +4 -4
  110. package/esm2020/i18n/i18n.pipe.mjs +3 -3
  111. package/esm2020/i18n/i18n.service.mjs +3 -3
  112. package/esm2020/i18n/index.mjs +7 -0
  113. package/esm2020/icon/icon-register.service.mjs +5 -4
  114. package/esm2020/icon/icon.component.mjs +5 -5
  115. package/esm2020/icon/icon.module.mjs +6 -6
  116. package/esm2020/icon/index.mjs +4 -0
  117. package/esm2020/index.mjs +39 -0
  118. package/esm2020/inline-alert/helper-directives.mjs +3 -3
  119. package/esm2020/inline-alert/index.mjs +5 -0
  120. package/esm2020/inline-alert/inline-alert.component.mjs +5 -7
  121. package/esm2020/inline-alert/inline-alert.module.mjs +6 -6
  122. package/esm2020/input/autosize.directive.mjs +5 -5
  123. package/esm2020/input/helper-directives.mjs +12 -12
  124. package/esm2020/input/index.mjs +9 -0
  125. package/esm2020/input/input-group/input-group.component.mjs +5 -5
  126. package/esm2020/input/input.component.mjs +5 -5
  127. package/esm2020/input/input.module.mjs +8 -8
  128. package/esm2020/input/number-input/number-input.component.mjs +5 -5
  129. package/esm2020/input/search/search.component.mjs +5 -5
  130. package/esm2020/input/tags-input/tags-input.component.mjs +7 -7
  131. package/esm2020/input/tags-input/with-max-row-count.mjs +1 -1
  132. package/esm2020/input/utils/index.mjs +1 -1
  133. package/esm2020/message/base-message.mjs +1 -1
  134. package/esm2020/message/index.mjs +4 -0
  135. package/esm2020/message/message-wrapper.component.mjs +3 -3
  136. package/esm2020/message/message.component.mjs +5 -5
  137. package/esm2020/message/message.module.mjs +4 -4
  138. package/esm2020/message/message.service.mjs +3 -3
  139. package/esm2020/notification/index.mjs +5 -0
  140. package/esm2020/notification/notification-wrapper.component.mjs +3 -3
  141. package/esm2020/notification/notification.component.mjs +9 -9
  142. package/esm2020/notification/notification.config.mjs +1 -1
  143. package/esm2020/notification/notification.module.mjs +6 -6
  144. package/esm2020/notification/notification.service.mjs +3 -3
  145. package/esm2020/paginator/index.mjs +4 -0
  146. package/esm2020/paginator/paginator-intl.mjs +5 -4
  147. package/esm2020/paginator/paginator.component.mjs +5 -5
  148. package/esm2020/paginator/paginator.module.mjs +9 -9
  149. package/esm2020/radio/base-radio.mjs +4 -5
  150. package/esm2020/radio/index.mjs +6 -0
  151. package/esm2020/radio/radio-button/radio-button.component.mjs +5 -5
  152. package/esm2020/radio/radio-group/radio-group.component.mjs +5 -5
  153. package/esm2020/radio/radio.component.mjs +5 -5
  154. package/esm2020/radio/radio.module.mjs +6 -6
  155. package/esm2020/scrolling/fixed-size-table-virtual-scroll-strategy.mjs +4 -4
  156. package/esm2020/scrolling/fixed-size-table-virtual-scroll.directive.mjs +6 -6
  157. package/esm2020/scrolling/fixed-size-virtual-scroll.directive.mjs +5 -5
  158. package/esm2020/scrolling/index.mjs +7 -0
  159. package/esm2020/scrolling/scrolling.module.mjs +4 -4
  160. package/esm2020/scrolling/virtual-for-of.directive.mjs +5 -7
  161. package/esm2020/scrolling/virtual-scroll-viewport.component.mjs +6 -6
  162. package/esm2020/select/base-select.mjs +6 -7
  163. package/esm2020/select/helper-directives.mjs +8 -8
  164. package/esm2020/select/index.mjs +10 -0
  165. package/esm2020/select/multi-select/multi-select.component.mjs +7 -7
  166. package/esm2020/select/option/option.component.mjs +5 -5
  167. package/esm2020/select/option-group/option-group.component.mjs +6 -6
  168. package/esm2020/select/option-placeholder.component.mjs +3 -3
  169. package/esm2020/select/select.component.mjs +6 -6
  170. package/esm2020/select/select.module.mjs +10 -10
  171. package/esm2020/select/select.types.mjs +1 -1
  172. package/esm2020/select/validators.mjs +5 -5
  173. package/esm2020/shared/click-outside.directive.mjs +3 -3
  174. package/esm2020/shared/shared.module.mjs +4 -4
  175. package/esm2020/sort/index.mjs +6 -0
  176. package/esm2020/sort/sort-header.component.mjs +5 -5
  177. package/esm2020/sort/sort.directive.mjs +3 -3
  178. package/esm2020/sort/sort.module.mjs +4 -4
  179. package/esm2020/status-bar/index.mjs +4 -0
  180. package/esm2020/status-bar/status-bar.component.mjs +3 -3
  181. package/esm2020/status-bar/status-bar.module.mjs +6 -6
  182. package/esm2020/steps/index.mjs +4 -0
  183. package/esm2020/steps/steps.component.mjs +10 -11
  184. package/esm2020/steps/steps.module.mjs +6 -6
  185. package/esm2020/switch/index.mjs +3 -0
  186. package/esm2020/switch/switch.component.mjs +7 -7
  187. package/esm2020/switch/switch.module.mjs +4 -4
  188. package/esm2020/table/index.mjs +15 -0
  189. package/esm2020/table/table-cell-def.directive.mjs +3 -3
  190. package/esm2020/table/table-cell.component.mjs +6 -6
  191. package/esm2020/table/table-cell.directive.mjs +5 -5
  192. package/esm2020/table/table-column-def.directive.mjs +3 -3
  193. package/esm2020/table/table-header-cell-def.directive.mjs +3 -3
  194. package/esm2020/table/table-header-cell.directive.mjs +5 -5
  195. package/esm2020/table/table-header-row-def.directive.mjs +3 -3
  196. package/esm2020/table/table-header-row.component.mjs +3 -3
  197. package/esm2020/table/table-placeholder.directive.mjs +8 -8
  198. package/esm2020/table/table-row-def.directive.mjs +3 -3
  199. package/esm2020/table/table-row.component.mjs +3 -3
  200. package/esm2020/table/table-scroll.directive.mjs +7 -7
  201. package/esm2020/table/table.component.mjs +9 -11
  202. package/esm2020/table/table.module.mjs +10 -10
  203. package/esm2020/table-of-contents/index.mjs +5 -0
  204. package/esm2020/table-of-contents/table-of-contents.module.mjs +4 -4
  205. package/esm2020/table-of-contents/toc-container.directive.mjs +3 -3
  206. package/esm2020/table-of-contents/toc-content.directive.mjs +3 -3
  207. package/esm2020/table-of-contents/toc-link.directive.mjs +7 -10
  208. package/esm2020/tabs/index.mjs +9 -0
  209. package/esm2020/tabs/tab-body.component.mjs +23 -23
  210. package/esm2020/tabs/tab-context.service.mjs +3 -3
  211. package/esm2020/tabs/tab-group.component.mjs +6 -6
  212. package/esm2020/tabs/tab-header-active-indicator.component.mjs +3 -3
  213. package/esm2020/tabs/tab-header.component.mjs +5 -5
  214. package/esm2020/tabs/tab.component.mjs +5 -5
  215. package/esm2020/tabs/tabs.module.mjs +7 -7
  216. package/esm2020/tag/check-tag/check-tag.component.mjs +3 -3
  217. package/esm2020/tag/index.mjs +5 -0
  218. package/esm2020/tag/tag.component.mjs +5 -5
  219. package/esm2020/tag/tag.module.mjs +6 -6
  220. package/esm2020/theme/index.mjs +6 -0
  221. package/esm2020/theme/theme.module.mjs +4 -4
  222. package/esm2020/theme/theme.pipe.mjs +12 -12
  223. package/esm2020/theme/theme.service.mjs +3 -3
  224. package/esm2020/time-picker/component.mjs +6 -6
  225. package/esm2020/time-picker/index.mjs +6 -0
  226. package/esm2020/time-picker/panel/panel.component.mjs +7 -7
  227. package/esm2020/time-picker/time-picker.module.mjs +10 -10
  228. package/esm2020/tooltip/base-tooltip.mjs +4 -5
  229. package/esm2020/tooltip/index.mjs +9 -0
  230. package/esm2020/tooltip/tooltip-active.directive.mjs +3 -3
  231. package/esm2020/tooltip/tooltip-copy.directive.mjs +5 -6
  232. package/esm2020/tooltip/tooltip-intl.mjs +5 -4
  233. package/esm2020/tooltip/tooltip.component.mjs +4 -4
  234. package/esm2020/tooltip/tooltip.directive.mjs +8 -9
  235. package/esm2020/tooltip/tooltip.module.mjs +4 -4
  236. package/esm2020/tooltip/utils/index.mjs +1 -1
  237. package/esm2020/tree-select/index.mjs +5 -0
  238. package/esm2020/tree-select/tree-node-placeholder.component.mjs +3 -3
  239. package/esm2020/tree-select/tree-select.component.mjs +15 -18
  240. package/esm2020/tree-select/tree-select.module.mjs +9 -9
  241. package/esm2020/utils/fn.mjs +1 -1
  242. package/fesm2015/alauda-ui.mjs +9012 -9020
  243. package/fesm2015/alauda-ui.mjs.map +1 -1
  244. package/fesm2020/alauda-ui.mjs +9100 -9108
  245. package/fesm2020/alauda-ui.mjs.map +1 -1
  246. package/form/{public-api.d.ts → index.d.ts} +3 -3
  247. package/i18n/{public-api.d.ts → index.d.ts} +1 -1
  248. package/icon/{public-api.d.ts → index.d.ts} +0 -0
  249. package/index.d.ts +38 -0
  250. package/inline-alert/{public-api.d.ts → index.d.ts} +2 -2
  251. package/input/{public-api.d.ts → index.d.ts} +4 -4
  252. package/input/number-input/number-input.component.d.ts +1 -1
  253. package/input/tags-input/tags-input.component.d.ts +1 -1
  254. package/message/{public-api.d.ts → index.d.ts} +1 -1
  255. package/notification/{public-api.d.ts → index.d.ts} +2 -2
  256. package/notification/notification.component.d.ts +1 -2
  257. package/notification/notification.config.d.ts +1 -1
  258. package/package.json +2 -2
  259. package/paginator/{public-api.d.ts → index.d.ts} +1 -1
  260. package/radio/{public-api.d.ts → index.d.ts} +2 -2
  261. package/radio/radio-group/radio-group.component.d.ts +1 -1
  262. package/scrolling/fixed-size-table-virtual-scroll.directive.d.ts +1 -1
  263. package/scrolling/{public-api.d.ts → index.d.ts} +2 -2
  264. package/select/base-select.d.ts +2 -2
  265. package/select/helper-directives.d.ts +1 -1
  266. package/select/{public-api.d.ts → index.d.ts} +6 -6
  267. package/select/select.component.d.ts +1 -1
  268. package/select/select.types.d.ts +1 -2
  269. package/sort/{public-api.d.ts → index.d.ts} +3 -3
  270. package/src/table-of-contents/README.md +19 -4
  271. package/status-bar/{public-api.d.ts → index.d.ts} +0 -0
  272. package/steps/{public-api.d.ts → index.d.ts} +1 -1
  273. package/switch/{public-api.d.ts → index.d.ts} +0 -0
  274. package/switch/switch.component.d.ts +1 -1
  275. package/table/{public-api.d.ts → index.d.ts} +9 -9
  276. package/table/table-placeholder.directive.d.ts +3 -3
  277. package/table/table.component.d.ts +2 -2
  278. package/table/table.module.d.ts +1 -1
  279. package/table-of-contents/{public-api.d.ts → index.d.ts} +0 -0
  280. package/tabs/{public-api.d.ts → index.d.ts} +5 -5
  281. package/tabs/tab.component.d.ts +1 -1
  282. package/tag/{public-api.d.ts → index.d.ts} +2 -2
  283. package/theme/{public-api.d.ts → index.d.ts} +1 -1
  284. package/time-picker/component.d.ts +1 -1
  285. package/time-picker/{public-api.d.ts → index.d.ts} +2 -2
  286. package/tooltip/{public-api.d.ts → index.d.ts} +4 -4
  287. package/tooltip/tooltip.directive.d.ts +1 -3
  288. package/tree-select/{public-api.d.ts → index.d.ts} +2 -2
  289. package/tree-select/tree-select.component.d.ts +3 -3
  290. package/esm2020/accordion/public-api.mjs +0 -4
  291. package/esm2020/anchor/public-api.mjs +0 -6
  292. package/esm2020/autocomplete/public-api.mjs +0 -9
  293. package/esm2020/back-top/public-api.mjs +0 -3
  294. package/esm2020/breadcrumb/public-api.mjs +0 -4
  295. package/esm2020/button/public-api.mjs +0 -5
  296. package/esm2020/card/public-api.mjs +0 -5
  297. package/esm2020/checkbox/public-api.mjs +0 -4
  298. package/esm2020/color-picker/public-api.mjs +0 -3
  299. package/esm2020/date-picker/public-api.mjs +0 -12
  300. package/esm2020/dialog/public-api.mjs +0 -12
  301. package/esm2020/drawer/public-api.mjs +0 -6
  302. package/esm2020/dropdown/public-api.mjs +0 -12
  303. package/esm2020/form/public-api.mjs +0 -7
  304. package/esm2020/i18n/public-api.mjs +0 -7
  305. package/esm2020/icon/public-api.mjs +0 -4
  306. package/esm2020/inline-alert/public-api.mjs +0 -5
  307. package/esm2020/input/public-api.mjs +0 -9
  308. package/esm2020/message/public-api.mjs +0 -4
  309. package/esm2020/notification/public-api.mjs +0 -5
  310. package/esm2020/paginator/public-api.mjs +0 -4
  311. package/esm2020/public-api.mjs +0 -39
  312. package/esm2020/radio/public-api.mjs +0 -6
  313. package/esm2020/scrolling/public-api.mjs +0 -7
  314. package/esm2020/select/public-api.mjs +0 -10
  315. package/esm2020/sort/public-api.mjs +0 -6
  316. package/esm2020/status-bar/public-api.mjs +0 -4
  317. package/esm2020/steps/public-api.mjs +0 -4
  318. package/esm2020/switch/public-api.mjs +0 -3
  319. package/esm2020/table/public-api.mjs +0 -15
  320. package/esm2020/table-of-contents/public-api.mjs +0 -5
  321. package/esm2020/tabs/public-api.mjs +0 -9
  322. package/esm2020/tag/public-api.mjs +0 -5
  323. package/esm2020/theme/public-api.mjs +0 -6
  324. package/esm2020/time-picker/public-api.mjs +0 -6
  325. package/esm2020/tooltip/public-api.mjs +0 -9
  326. package/esm2020/tree-select/public-api.mjs +0 -5
  327. package/public-api.d.ts +0 -38
@@ -37,9 +37,7 @@ export class CalendarHeaderComponent {
37
37
  // maxAvail > current date :right btn hide
38
38
  // minAvail > current date :left btn hide
39
39
  shouldShowNav(type, side) {
40
- const availValue = (side === Side.Left
41
- ? this._minAvail
42
- : this._maxAvail)?.clone();
40
+ const availValue = (side === Side.Left ? this._minAvail : this._maxAvail)?.clone();
43
41
  if (!availValue) {
44
42
  return true;
45
43
  }
@@ -84,11 +82,11 @@ export class CalendarHeaderComponent {
84
82
  this.anchorChange.next(anchor);
85
83
  }
86
84
  }
87
- CalendarHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CalendarHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
88
- CalendarHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: CalendarHeaderComponent, selector: "aui-calendar-header", inputs: { dateNavRange: "dateNavRange", anchor: "anchor", maxAvail: "maxAvail", minAvail: "minAvail" }, outputs: { navRangeChange: "navRangeChange", anchorChange: "anchorChange" }, ngImport: i0, template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Month)\">\n {{ headerRange?.start?.month() + 1 }}{{ 'month_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Year\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [class]=\"bem.element('nav-content')\"\n >\n {{ headerRange?.start.year() }} - {{ headerRange?.end?.year() }}\n </span>\n\n <div [class]=\"bem.element('nav-action')\">\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n </div>\n</div>\n\n<ng-template #yearControl let-side=\"side\">\n <span class=\"action-bar\">\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'right'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, 1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'left'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, -1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template #decadeControl let-side=\"side\">\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n</ng-template>\n", styles: [".aui-calendar-header__container{height:24px;display:flex;align-items:center;justify-content:space-between}.aui-calendar-header__nav-content{flex:1;display:flex;justify-content:center;align-items:center;font-size:16px;color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-calendar-header__nav-content a{color:rgb(var(--aui-color-main-text))}.aui-calendar-header__nav-content a:hover{color:rgb(var(--aui-color-primary));text-decoration:none!important}.aui-calendar-header__nav-content a+a{margin-left:5px}.action-bar{width:52px;display:flex}.action-bar .hidden{opacity:0;pointer-events:none}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { type: i2.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "auiI18n": i4.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: CalendarHeaderComponent, decorators: [{
85
+ CalendarHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: CalendarHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
86
+ CalendarHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: CalendarHeaderComponent, selector: "aui-calendar-header", inputs: { dateNavRange: "dateNavRange", anchor: "anchor", maxAvail: "maxAvail", minAvail: "minAvail" }, outputs: { navRangeChange: "navRangeChange", anchorChange: "anchorChange" }, ngImport: i0, template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <a\n href=\"javascript:;\"\n (click)=\"clickNav(DateNavRange.Year)\"\n >\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n <a\n href=\"javascript:;\"\n (click)=\"clickNav(DateNavRange.Month)\"\n >\n {{ headerRange?.start?.month() + 1 }}{{ 'month_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Year\"\n [class]=\"bem.element('nav-content')\"\n >\n <a\n href=\"javascript:;\"\n (click)=\"clickNav(DateNavRange.Year)\"\n >\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [class]=\"bem.element('nav-content')\"\n >\n {{ headerRange?.start.year() }} - {{ headerRange?.end?.year() }}\n </span>\n\n <div [class]=\"bem.element('nav-action')\">\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n </div>\n</div>\n\n<ng-template\n #yearControl\n let-side=\"side\"\n>\n <span class=\"action-bar\">\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'right'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, 1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'left'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, -1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template\n #decadeControl\n let-side=\"side\"\n>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n</ng-template>\n", styles: [".aui-calendar-header__container{height:24px;display:flex;align-items:center;justify-content:space-between}.aui-calendar-header__nav-content{flex:1;display:flex;justify-content:center;align-items:center;font-size:16px;color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-calendar-header__nav-content a{color:rgb(var(--aui-color-main-text))}.aui-calendar-header__nav-content a:hover{color:rgb(var(--aui-color-primary));text-decoration:none!important}.aui-calendar-header__nav-content a+a{margin-left:5px}.action-bar{width:52px;display:flex}.action-bar .hidden{opacity:0;pointer-events:none}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }, { type: i2.IconComponent, selector: "aui-icon", inputs: ["icon", "light", "dark", "link", "margin", "size", "color", "background", "backgroundColor"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "auiI18n": i4.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: CalendarHeaderComponent, decorators: [{
90
88
  type: Component,
91
- args: [{ selector: 'aui-calendar-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Month)\">\n {{ headerRange?.start?.month() + 1 }}{{ 'month_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Year\"\n [class]=\"bem.element('nav-content')\"\n >\n <a href=\"javascript:;\" (click)=\"clickNav(DateNavRange.Year)\">\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [class]=\"bem.element('nav-content')\"\n >\n {{ headerRange?.start.year() }} - {{ headerRange?.end?.year() }}\n </span>\n\n <div [class]=\"bem.element('nav-action')\">\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n </div>\n</div>\n\n<ng-template #yearControl let-side=\"side\">\n <span class=\"action-bar\">\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'right'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, 1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'left'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, -1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template #decadeControl let-side=\"side\">\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n</ng-template>\n", styles: [".aui-calendar-header__container{height:24px;display:flex;align-items:center;justify-content:space-between}.aui-calendar-header__nav-content{flex:1;display:flex;justify-content:center;align-items:center;font-size:16px;color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-calendar-header__nav-content a{color:rgb(var(--aui-color-main-text))}.aui-calendar-header__nav-content a:hover{color:rgb(var(--aui-color-primary));text-decoration:none!important}.aui-calendar-header__nav-content a+a{margin-left:5px}.action-bar{width:52px;display:flex}.action-bar .hidden{opacity:0;pointer-events:none}\n"] }]
89
+ args: [{ selector: 'aui-calendar-header', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"bem.element('container')\">\n <div>\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'left' }\"\n ></ng-container>\n </div>\n <!-- \u5185\u5BB9\u533A -->\n <span\n *ngIf=\"dateNavRange === DateNavRange.Month\"\n [class]=\"bem.element('nav-content')\"\n >\n <a\n href=\"javascript:;\"\n (click)=\"clickNav(DateNavRange.Year)\"\n >\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n <a\n href=\"javascript:;\"\n (click)=\"clickNav(DateNavRange.Month)\"\n >\n {{ headerRange?.start?.month() + 1 }}{{ 'month_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Year\"\n [class]=\"bem.element('nav-content')\"\n >\n <a\n href=\"javascript:;\"\n (click)=\"clickNav(DateNavRange.Year)\"\n >\n {{ headerRange?.start?.year() }}{{ 'year_suffix' | auiI18n }}\n </a>\n </span>\n\n <span\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [class]=\"bem.element('nav-content')\"\n >\n {{ headerRange?.start.year() }} - {{ headerRange?.end?.year() }}\n </span>\n\n <div [class]=\"bem.element('nav-action')\">\n <ng-container\n *ngIf=\"dateNavRange !== DateNavRange.Decade\"\n [ngTemplateOutlet]=\"yearControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n\n <ng-container\n *ngIf=\"dateNavRange === DateNavRange.Decade\"\n [ngTemplateOutlet]=\"decadeControl\"\n [ngTemplateOutletContext]=\"{ side: 'right' }\"\n ></ng-container>\n </div>\n</div>\n\n<ng-template\n #yearControl\n let-side=\"side\"\n>\n <span class=\"action-bar\">\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'right'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, 1)\"\n >\n <aui-icon icon=\"angle_right\"></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Year, side === 'left' ? -1 : 1)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Year, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n <button\n aui-button=\"text\"\n *ngIf=\"side === 'left'\"\n [class.hidden]=\"\n !shouldShowNav(DateNavRange.Month, side) ||\n dateNavRange !== DateNavRange.Month\n \"\n (click)=\"navHead(DateNavRange.Month, -1)\"\n >\n <aui-icon icon=\"angle_left\"></aui-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template\n #decadeControl\n let-side=\"side\"\n>\n <button\n aui-button=\"text\"\n (click)=\"navHead(DateNavRange.Decade, side === 'left' ? -10 : 10)\"\n [class.hidden]=\"!shouldShowNav(DateNavRange.Decade, side)\"\n >\n <aui-icon\n [icon]=\"side === 'left' ? 'angle_double_left' : 'angle_double_right'\"\n ></aui-icon>\n </button>\n</ng-template>\n", styles: [".aui-calendar-header__container{height:24px;display:flex;align-items:center;justify-content:space-between}.aui-calendar-header__nav-content{flex:1;display:flex;justify-content:center;align-items:center;font-size:16px;color:rgb(var(--aui-color-main-text));font-weight:var(--aui-font-weight-bold)}.aui-calendar-header__nav-content a{color:rgb(var(--aui-color-main-text))}.aui-calendar-header__nav-content a:hover{color:rgb(var(--aui-color-primary));text-decoration:none!important}.aui-calendar-header__nav-content a+a{margin-left:5px}.action-bar{width:52px;display:flex}.action-bar .hidden{opacity:0;pointer-events:none}\n"] }]
92
90
  }], propDecorators: { dateNavRange: [{
93
91
  type: Input
94
92
  }], anchor: [{
@@ -102,4 +100,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
102
100
  }], anchorChange: [{
103
101
  type: Output
104
102
  }] } });
105
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL2hlYWRlci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvY2FsZW5kYXIvaGVhZGVyL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBNEIsTUFBTSxPQUFPLENBQUM7QUFFakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFFTCxZQUFZLEVBQ1osSUFBSSxHQUNMLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7O0FBRXpDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBUzVDLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFTRSxpQkFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFHbEMsV0FBTSxHQUFHLEtBQUssRUFBRSxDQUFDO1FBaUJqQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBR2xELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQU16QyxRQUFHLEdBQUcsR0FBRyxDQUFDO1FBRVYsaUJBQVksR0FBRyxZQUFZLENBQUM7UUF5RDVCLGFBQVEsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLENB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QUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQW1CLEVBQUUsS0FBYTtRQUN4QyxJQUFJLE1BQWEsQ0FBQztRQUNsQixRQUFRLEtBQUssRUFBRTtZQUNiLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN2QixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN2QyxNQUFNO2FBQ1A7WUFDRCxLQUFLLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdEIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDdEMsTUFBTTthQUNQO1lBQ0QsS0FBSyxZQUFZLENBQUMsTUFBTTtnQkFDdEIsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDdEMsTUFBTTtTQUNUO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakMsQ0FBQzs7b0hBeEZVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGdQQzVCcEMsaXRHQXlHQTsyRkQ3RWEsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLHFCQUFxQixpQkFHaEIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs4QkFJL0MsWUFBWTtzQkFEWCxLQUFLO2dCQUlOLE1BQU07c0JBREwsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBUU4sUUFBUTtzQkFEUCxLQUFLO2dCQVFOLGNBQWM7c0JBRGIsTUFBTTtnQkFJUCxZQUFZO3NCQURYLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBkYXlqcywgeyBDb25maWdUeXBlLCBEYXlqcyB9IGZyb20gJ2RheWpzJztcblxuaW1wb3J0IHsgYnVpbGRCZW0gfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQge1xuICBDYWxlbmRhckhlYWRlclJhbmdlLFxuICBEYXRlTmF2UmFuZ2UsXG4gIFNpZGUsXG59IGZyb20gJy4uLy4uL2RhdGUtcGlja2VyLnR5cGUnO1xuaW1wb3J0IHsgTU9OVEgsIFlFQVIgfSBmcm9tICcuLi9jb25zdGFudCc7XG5pbXBvcnQgeyBjYWxjUmFuZ2VWYWx1ZSB9IGZyb20gJy4uL3V0aWwnO1xuXG5jb25zdCBiZW0gPSBidWlsZEJlbSgnYXVpLWNhbGVuZGFyLWhlYWRlcicpO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhdWktY2FsZW5kYXItaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckhlYWRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIGRhdGVOYXZSYW5nZSA9IERhdGVOYXZSYW5nZS5Nb250aDtcblxuICBASW5wdXQoKVxuICBhbmNob3IgPSBkYXlqcygpO1xuXG4gIEBJbnB1dCgpXG4gIG1heEF2YWlsPzogQ29uZmlnVHlwZTtcblxuICBwcml2YXRlIGdldCBfbWF4QXZhaWwoKSB7XG4gICAgcmV0dXJuIHRoaXMubWF4QXZhaWwgPyBkYXlqcyh0aGlzLm1heEF2YWlsKSA6IG51bGw7XG4gIH1cblxuICBASW5wdXQoKVxuICBtaW5BdmFpbD86IENvbmZpZ1R5cGU7XG5cbiAgcHJpdmF0ZSBnZXQgX21pbkF2YWlsKCkge1xuICAgIHJldHVybiB0aGlzLm1pbkF2YWlsID8gZGF5anModGhpcy5taW5BdmFpbCkgOiBudWxsO1xuICB9XG5cbiAgQE91dHB1dCgpXG4gIG5hdlJhbmdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlTmF2UmFuZ2U+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGFuY2hvckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF5anM+KCk7XG5cbiAgZ2V0IGhlYWRlclJhbmdlKCk6IENhbGVuZGFySGVhZGVyUmFuZ2Uge1xuICAgIHJldHVybiBjYWxjUmFuZ2VWYWx1ZSh0aGlzLmRhdGVOYXZSYW5nZSwgdGhpcy5hbmNob3IpO1xuICB9XG5cbiAgYmVtID0gYmVtO1xuXG4gIERhdGVOYXZSYW5nZSA9IERhdGVOYXZSYW5nZTtcblxuICAvLyBtYXhBdmFpbCA+IGN1cnJlbnQgZGF0ZSDvvJpyaWdodCBidG4gaGlkZVxuICAvLyBtaW5BdmFpbCA+IGN1cnJlbnQgZGF0ZSDvvJpsZWZ0IGJ0biBoaWRlXG4gIHNob3VsZFNob3dOYXYodHlwZTogRGF0ZU5hdlJhbmdlLCBzaWRlOiBTaWRlKSB7XG4gICAgY29uc3QgYXZhaWxWYWx1ZSA9IChzaWRlID09PSBTaWRlLkxlZnRcbiAgICAgID8gdGhpcy5fbWluQXZhaWxcbiAgICAgIDogdGhpcy5fbWF4QXZhaWxcbiAgICApPy5jbG9uZSgpO1xuICAgIGlmICghYXZhaWxWYWx1ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIOWvueS6juW5tOeahOWIpOWIq++8jDIwMTQtNS0x6IezMjAxNS02LTHml6XvvIzku43lvZPlsZXnpLrmjInpkq5cbiAgICBjb25zdCBjb25zdHJhaW5EYXRlID0gW0RhdGVOYXZSYW5nZS5Nb250aCwgRGF0ZU5hdlJhbmdlLlllYXJdLmluY2x1ZGVzKHR5cGUpXG4gICAgICA/IGF2YWlsVmFsdWUuYWRkKHNpZGUgPT09IFNpZGUuTGVmdCA/IDEgOiAtMSwgdHlwZSBhcyAnbW9udGgnIHwgJ3llYXInKVxuICAgICAgOiBhdmFpbFZhbHVlO1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmNvbXBhcmVOYXZWYWx1ZSh0eXBlLCBjb25zdHJhaW5EYXRlLCB0aGlzLmFuY2hvcikgPT09XG4gICAgICAoc2lkZSA9PT0gU2lkZS5MZWZ0ID8gLTEgOiAxKVxuICAgICk7XG4gIH1cblxuICAvLyBAcmV0dXJuIGlzQmV0d2Vlbnxpc0VxdWFsOjAsIGlzQmVmb3JlOi0xLGlzQWZ0ZXI6MVxuICBjb21wYXJlTmF2VmFsdWUodHlwZTogRGF0ZU5hdlJhbmdlLCBjb25zdHJhaW46IERheWpzLCBhbmNob3I6IERheWpzKSB7XG4gICAgY29uc3QgcmFuZ2UgPSBjYWxjUmFuZ2VWYWx1ZSh0eXBlLCBhbmNob3IpO1xuICAgIGNvbnN0IGNvbnN0cmFpblZhbHVlID0gY29uc3RyYWluO1xuICAgIGlmICh0eXBlID09PSBEYXRlTmF2UmFuZ2UuRGVjYWRlKSB7XG4gICAgICBpZiAoY29uc3RyYWluVmFsdWUuaXNCZXR3ZWVuKHJhbmdlLnN0YXJ0LCByYW5nZS5lbmQsIFlFQVIpKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNvbnN0cmFpblZhbHVlLmlzQmVmb3JlKHJhbmdlLnN0YXJ0KSA/IC0xIDogMTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbnN0cmFpblZhbHVlLmlzU2FtZShyYW5nZS5zdGFydCwgTU9OVEgpXG4gICAgICA/IDBcbiAgICAgIDogY29uc3RyYWluVmFsdWUuaXNCZWZvcmUocmFuZ2Uuc3RhcnQsIE1PTlRIKVxuICAgICAgPyAtMVxuICAgICAgOiAxO1xuICB9XG5cbiAgbmF2SGVhZChyYW5nZTogRGF0ZU5hdlJhbmdlLCB2YWx1ZTogbnVtYmVyKSB7XG4gICAgbGV0IGFuY2hvcjogRGF5anM7XG4gICAgc3dpdGNoIChyYW5nZSkge1xuICAgICAgY2FzZSBEYXRlTmF2UmFuZ2UuTW9udGg6IHtcbiAgICAgICAgYW5jaG9yID0gdGhpcy5hbmNob3IuYWRkKHZhbHVlLCBNT05USCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBEYXRlTmF2UmFuZ2UuWWVhcjoge1xuICAgICAgICBhbmNob3IgPSB0aGlzLmFuY2hvci5hZGQodmFsdWUsIFlFQVIpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgRGF0ZU5hdlJhbmdlLkRlY2FkZTpcbiAgICAgICAgYW5jaG9yID0gdGhpcy5hbmNob3IuYWRkKHZhbHVlLCBZRUFSKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHRoaXMuYW5jaG9yQ2hhbmdlLm5leHQoYW5jaG9yKTtcbiAgfVxuXG4gIGNsaWNrTmF2ID0gKHJhbmdlOiBEYXRlTmF2UmFuZ2UpID0+IHtcbiAgICBpZiAoIVtEYXRlTmF2UmFuZ2UuTW9udGgsIERhdGVOYXZSYW5nZS5ZZWFyXS5pbmNsdWRlcyhyYW5nZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5uYXZSYW5nZUNoYW5nZS5uZXh0KFxuICAgICAgcmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aCA/IERhdGVOYXZSYW5nZS5ZZWFyIDogRGF0ZU5hdlJhbmdlLkRlY2FkZSxcbiAgICApO1xuICB9O1xufVxuIiwiPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbnRhaW5lcicpXCI+XG4gIDxkaXY+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJkYXRlTmF2UmFuZ2UgIT09IERhdGVOYXZSYW5nZS5EZWNhZGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwieWVhckNvbnRyb2xcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2lkZTogJ2xlZnQnIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuRGVjYWRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlY2FkZUNvbnRyb2xcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2lkZTogJ2xlZnQnIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG4gIDwhLS0g5YaF5a655Yy6IC0tPlxuICA8c3BhblxuICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuTW9udGhcIlxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnbmF2LWNvbnRlbnQnKVwiXG4gID5cbiAgICA8YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgKGNsaWNrKT1cImNsaWNrTmF2KERhdGVOYXZSYW5nZS5ZZWFyKVwiPlxuICAgICAge3sgaGVhZGVyUmFuZ2U/LnN0YXJ0Py55ZWFyKCkgfX17eyAneWVhcl9zdWZmaXgnIHwgYXVpSTE4biB9fVxuICAgIDwvYT5cbiAgICA8YSBocmVmPVwiamF2YXNjcmlwdDo7XCIgKGNsaWNrKT1cImNsaWNrTmF2KERhdGVOYXZSYW5nZS5Nb250aClcIj5cbiAgICAgIHt7IGhlYWRlclJhbmdlPy5zdGFydD8ubW9udGgoKSArIDEgfX17eyAnbW9udGhfc3VmZml4JyB8IGF1aUkxOG4gfX1cbiAgICA8L2E+XG4gIDwvc3Bhbj5cblxuICA8c3BhblxuICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuWWVhclwiXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCduYXYtY29udGVudCcpXCJcbiAgPlxuICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiAoY2xpY2spPVwiY2xpY2tOYXYoRGF0ZU5hdlJhbmdlLlllYXIpXCI+XG4gICAgICB7eyBoZWFkZXJSYW5nZT8uc3RhcnQ/LnllYXIoKSB9fXt7ICd5ZWFyX3N1ZmZpeCcgfCBhdWlJMThuIH19XG4gICAgPC9hPlxuICA8L3NwYW4+XG5cbiAgPHNwYW5cbiAgICAqbmdJZj1cImRhdGVOYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLkRlY2FkZVwiXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCduYXYtY29udGVudCcpXCJcbiAgPlxuICAgIHt7IGhlYWRlclJhbmdlPy5zdGFydC55ZWFyKCkgfX0gLSB7eyBoZWFkZXJSYW5nZT8uZW5kPy55ZWFyKCkgfX1cbiAgPC9zcGFuPlxuXG4gIDxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCduYXYtYWN0aW9uJylcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cImRhdGVOYXZSYW5nZSAhPT0gRGF0ZU5hdlJhbmdlLkRlY2FkZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ5ZWFyQ29udHJvbFwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzaWRlOiAncmlnaHQnIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuRGVjYWRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRlY2FkZUNvbnRyb2xcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgc2lkZTogJ3JpZ2h0JyB9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjeWVhckNvbnRyb2wgbGV0LXNpZGU9XCJzaWRlXCI+XG4gIDxzcGFuIGNsYXNzPVwiYWN0aW9uLWJhclwiPlxuICAgIDxidXR0b25cbiAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICpuZ0lmPVwic2lkZSA9PT0gJ3JpZ2h0J1wiXG4gICAgICBbY2xhc3MuaGlkZGVuXT1cIlxuICAgICAgICAhc2hvdWxkU2hvd05hdihEYXRlTmF2UmFuZ2UuTW9udGgsIHNpZGUpIHx8XG4gICAgICAgIGRhdGVOYXZSYW5nZSAhPT0gRGF0ZU5hdlJhbmdlLk1vbnRoXG4gICAgICBcIlxuICAgICAgKGNsaWNrKT1cIm5hdkhlYWQoRGF0ZU5hdlJhbmdlLk1vbnRoLCAxKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJhbmdsZV9yaWdodFwiPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgKGNsaWNrKT1cIm5hdkhlYWQoRGF0ZU5hdlJhbmdlLlllYXIsIHNpZGUgPT09ICdsZWZ0JyA/IC0xIDogMSlcIlxuICAgICAgW2NsYXNzLmhpZGRlbl09XCIhc2hvdWxkU2hvd05hdihEYXRlTmF2UmFuZ2UuWWVhciwgc2lkZSlcIlxuICAgID5cbiAgICAgIDxhdWktaWNvblxuICAgICAgICBbaWNvbl09XCJzaWRlID09PSAnbGVmdCcgPyAnYW5nbGVfZG91YmxlX2xlZnQnIDogJ2FuZ2xlX2RvdWJsZV9yaWdodCdcIlxuICAgICAgPjwvYXVpLWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgKm5nSWY9XCJzaWRlID09PSAnbGVmdCdcIlxuICAgICAgW2NsYXNzLmhpZGRlbl09XCJcbiAgICAgICAgIXNob3VsZFNob3dOYXYoRGF0ZU5hdlJhbmdlLk1vbnRoLCBzaWRlKSB8fFxuICAgICAgICBkYXRlTmF2UmFuZ2UgIT09IERhdGVOYXZSYW5nZS5Nb250aFxuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJuYXZIZWFkKERhdGVOYXZSYW5nZS5Nb250aCwgLTEpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb24gaWNvbj1cImFuZ2xlX2xlZnRcIj48L2F1aS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2RlY2FkZUNvbnRyb2wgbGV0LXNpZGU9XCJzaWRlXCI+XG4gIDxidXR0b25cbiAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgKGNsaWNrKT1cIm5hdkhlYWQoRGF0ZU5hdlJhbmdlLkRlY2FkZSwgc2lkZSA9PT0gJ2xlZnQnID8gLTEwIDogMTApXCJcbiAgICBbY2xhc3MuaGlkZGVuXT1cIiFzaG91bGRTaG93TmF2KERhdGVOYXZSYW5nZS5EZWNhZGUsIHNpZGUpXCJcbiAgPlxuICAgIDxhdWktaWNvblxuICAgICAgW2ljb25dPVwic2lkZSA9PT0gJ2xlZnQnID8gJ2FuZ2xlX2RvdWJsZV9sZWZ0JyA6ICdhbmdsZV9kb3VibGVfcmlnaHQnXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL2hlYWRlci9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvY2FsZW5kYXIvaGVhZGVyL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBNEIsTUFBTSxPQUFPLENBQUM7QUFFakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFFTCxZQUFZLEVBQ1osSUFBSSxHQUNMLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7Ozs7O0FBRXpDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBUzVDLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFTRSxpQkFBWSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFHbEMsV0FBTSxHQUFHLEtBQUssRUFBRSxDQUFDO1FBaUJqQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFnQixDQUFDO1FBR2xELGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVMsQ0FBQztRQU16QyxRQUFHLEdBQUcsR0FBRyxDQUFDO1FBRVYsaUJBQVksR0FBRyxZQUFZLENBQUM7UUF3RDVCLGFBQVEsR0FBRyxDQUFDLEtBQW1CLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxJQUFJLENB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QyxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBbUIsRUFBRSxLQUFhO1FBQ3hDLElBQUksTUFBYSxDQUFDO1FBQ2xCLFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7Z0JBQ3ZDLE1BQU07YUFDUDtZQUNELEtBQUssWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUN0QixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN0QyxNQUFNO2FBQ1A7WUFDRCxLQUFLLFlBQVksQ0FBQyxNQUFNO2dCQUN0QixNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN0QyxNQUFNO1NBQ1Q7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQyxDQUFDOztvSEF2RlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsZ1BDNUJwQyw2eEdBd0hBOzJGRDVGYSx1QkFBdUI7a0JBUG5DLFNBQVM7K0JBQ0UscUJBQXFCLGlCQUdoQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUkvQyxZQUFZO3NCQURYLEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFRTixRQUFRO3NCQURQLEtBQUs7Z0JBUU4sY0FBYztzQkFEYixNQUFNO2dCQUlQLFlBQVk7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGRheWpzLCB7IENvbmZpZ1R5cGUsIERheWpzIH0gZnJvbSAnZGF5anMnO1xuXG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7XG4gIENhbGVuZGFySGVhZGVyUmFuZ2UsXG4gIERhdGVOYXZSYW5nZSxcbiAgU2lkZSxcbn0gZnJvbSAnLi4vLi4vZGF0ZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBNT05USCwgWUVBUiB9IGZyb20gJy4uL2NvbnN0YW50JztcbmltcG9ydCB7IGNhbGNSYW5nZVZhbHVlIH0gZnJvbSAnLi4vdXRpbCc7XG5cbmNvbnN0IGJlbSA9IGJ1aWxkQmVtKCdhdWktY2FsZW5kYXItaGVhZGVyJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1jYWxlbmRhci1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFySGVhZGVyQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgZGF0ZU5hdlJhbmdlID0gRGF0ZU5hdlJhbmdlLk1vbnRoO1xuXG4gIEBJbnB1dCgpXG4gIGFuY2hvciA9IGRheWpzKCk7XG5cbiAgQElucHV0KClcbiAgbWF4QXZhaWw/OiBDb25maWdUeXBlO1xuXG4gIHByaXZhdGUgZ2V0IF9tYXhBdmFpbCgpIHtcbiAgICByZXR1cm4gdGhpcy5tYXhBdmFpbCA/IGRheWpzKHRoaXMubWF4QXZhaWwpIDogbnVsbDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIG1pbkF2YWlsPzogQ29uZmlnVHlwZTtcblxuICBwcml2YXRlIGdldCBfbWluQXZhaWwoKSB7XG4gICAgcmV0dXJuIHRoaXMubWluQXZhaWwgPyBkYXlqcyh0aGlzLm1pbkF2YWlsKSA6IG51bGw7XG4gIH1cblxuICBAT3V0cHV0KClcbiAgbmF2UmFuZ2VDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVOYXZSYW5nZT4oKTtcblxuICBAT3V0cHV0KClcbiAgYW5jaG9yQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXlqcz4oKTtcblxuICBnZXQgaGVhZGVyUmFuZ2UoKTogQ2FsZW5kYXJIZWFkZXJSYW5nZSB7XG4gICAgcmV0dXJuIGNhbGNSYW5nZVZhbHVlKHRoaXMuZGF0ZU5hdlJhbmdlLCB0aGlzLmFuY2hvcik7XG4gIH1cblxuICBiZW0gPSBiZW07XG5cbiAgRGF0ZU5hdlJhbmdlID0gRGF0ZU5hdlJhbmdlO1xuXG4gIC8vIG1heEF2YWlsID4gY3VycmVudCBkYXRlIO+8mnJpZ2h0IGJ0biBoaWRlXG4gIC8vIG1pbkF2YWlsID4gY3VycmVudCBkYXRlIO+8mmxlZnQgYnRuIGhpZGVcbiAgc2hvdWxkU2hvd05hdih0eXBlOiBEYXRlTmF2UmFuZ2UsIHNpZGU6IFNpZGUpIHtcbiAgICBjb25zdCBhdmFpbFZhbHVlID0gKFxuICAgICAgc2lkZSA9PT0gU2lkZS5MZWZ0ID8gdGhpcy5fbWluQXZhaWwgOiB0aGlzLl9tYXhBdmFpbFxuICAgICk/LmNsb25lKCk7XG4gICAgaWYgKCFhdmFpbFZhbHVlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8g5a+55LqO5bm055qE5Yik5Yir77yMMjAxNC01LTHoh7MyMDE1LTYtMeaXpe+8jOS7jeW9k+WxleekuuaMiemSrlxuICAgIGNvbnN0IGNvbnN0cmFpbkRhdGUgPSBbRGF0ZU5hdlJhbmdlLk1vbnRoLCBEYXRlTmF2UmFuZ2UuWWVhcl0uaW5jbHVkZXModHlwZSlcbiAgICAgID8gYXZhaWxWYWx1ZS5hZGQoc2lkZSA9PT0gU2lkZS5MZWZ0ID8gMSA6IC0xLCB0eXBlIGFzICdtb250aCcgfCAneWVhcicpXG4gICAgICA6IGF2YWlsVmFsdWU7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuY29tcGFyZU5hdlZhbHVlKHR5cGUsIGNvbnN0cmFpbkRhdGUsIHRoaXMuYW5jaG9yKSA9PT1cbiAgICAgIChzaWRlID09PSBTaWRlLkxlZnQgPyAtMSA6IDEpXG4gICAgKTtcbiAgfVxuXG4gIC8vIEByZXR1cm4gaXNCZXR3ZWVufGlzRXF1YWw6MCwgaXNCZWZvcmU6LTEsaXNBZnRlcjoxXG4gIGNvbXBhcmVOYXZWYWx1ZSh0eXBlOiBEYXRlTmF2UmFuZ2UsIGNvbnN0cmFpbjogRGF5anMsIGFuY2hvcjogRGF5anMpIHtcbiAgICBjb25zdCByYW5nZSA9IGNhbGNSYW5nZVZhbHVlKHR5cGUsIGFuY2hvcik7XG4gICAgY29uc3QgY29uc3RyYWluVmFsdWUgPSBjb25zdHJhaW47XG4gICAgaWYgKHR5cGUgPT09IERhdGVOYXZSYW5nZS5EZWNhZGUpIHtcbiAgICAgIGlmIChjb25zdHJhaW5WYWx1ZS5pc0JldHdlZW4ocmFuZ2Uuc3RhcnQsIHJhbmdlLmVuZCwgWUVBUikpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG4gICAgICByZXR1cm4gY29uc3RyYWluVmFsdWUuaXNCZWZvcmUocmFuZ2Uuc3RhcnQpID8gLTEgOiAxO1xuICAgIH1cbiAgICByZXR1cm4gY29uc3RyYWluVmFsdWUuaXNTYW1lKHJhbmdlLnN0YXJ0LCBNT05USClcbiAgICAgID8gMFxuICAgICAgOiBjb25zdHJhaW5WYWx1ZS5pc0JlZm9yZShyYW5nZS5zdGFydCwgTU9OVEgpXG4gICAgICA/IC0xXG4gICAgICA6IDE7XG4gIH1cblxuICBuYXZIZWFkKHJhbmdlOiBEYXRlTmF2UmFuZ2UsIHZhbHVlOiBudW1iZXIpIHtcbiAgICBsZXQgYW5jaG9yOiBEYXlqcztcbiAgICBzd2l0Y2ggKHJhbmdlKSB7XG4gICAgICBjYXNlIERhdGVOYXZSYW5nZS5Nb250aDoge1xuICAgICAgICBhbmNob3IgPSB0aGlzLmFuY2hvci5hZGQodmFsdWUsIE1PTlRIKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIERhdGVOYXZSYW5nZS5ZZWFyOiB7XG4gICAgICAgIGFuY2hvciA9IHRoaXMuYW5jaG9yLmFkZCh2YWx1ZSwgWUVBUik7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBEYXRlTmF2UmFuZ2UuRGVjYWRlOlxuICAgICAgICBhbmNob3IgPSB0aGlzLmFuY2hvci5hZGQodmFsdWUsIFlFQVIpO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgdGhpcy5hbmNob3JDaGFuZ2UubmV4dChhbmNob3IpO1xuICB9XG5cbiAgY2xpY2tOYXYgPSAocmFuZ2U6IERhdGVOYXZSYW5nZSkgPT4ge1xuICAgIGlmICghW0RhdGVOYXZSYW5nZS5Nb250aCwgRGF0ZU5hdlJhbmdlLlllYXJdLmluY2x1ZGVzKHJhbmdlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm5hdlJhbmdlQ2hhbmdlLm5leHQoXG4gICAgICByYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLk1vbnRoID8gRGF0ZU5hdlJhbmdlLlllYXIgOiBEYXRlTmF2UmFuZ2UuRGVjYWRlLFxuICAgICk7XG4gIH07XG59XG4iLCI8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnY29udGFpbmVyJylcIj5cbiAgPGRpdj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdJZj1cImRhdGVOYXZSYW5nZSAhPT0gRGF0ZU5hdlJhbmdlLkRlY2FkZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ5ZWFyQ29udHJvbFwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzaWRlOiAnbGVmdCcgfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJkYXRlTmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVjYWRlQ29udHJvbFwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzaWRlOiAnbGVmdCcgfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbiAgPCEtLSDlhoXlrrnljLogLS0+XG4gIDxzcGFuXG4gICAgKm5nSWY9XCJkYXRlTmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aFwiXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCduYXYtY29udGVudCcpXCJcbiAgPlxuICAgIDxhXG4gICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgIChjbGljayk9XCJjbGlja05hdihEYXRlTmF2UmFuZ2UuWWVhcilcIlxuICAgID5cbiAgICAgIHt7IGhlYWRlclJhbmdlPy5zdGFydD8ueWVhcigpIH19e3sgJ3llYXJfc3VmZml4JyB8IGF1aUkxOG4gfX1cbiAgICA8L2E+XG4gICAgPGFcbiAgICAgIGhyZWY9XCJqYXZhc2NyaXB0OjtcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrTmF2KERhdGVOYXZSYW5nZS5Nb250aClcIlxuICAgID5cbiAgICAgIHt7IGhlYWRlclJhbmdlPy5zdGFydD8ubW9udGgoKSArIDEgfX17eyAnbW9udGhfc3VmZml4JyB8IGF1aUkxOG4gfX1cbiAgICA8L2E+XG4gIDwvc3Bhbj5cblxuICA8c3BhblxuICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuWWVhclwiXG4gICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCduYXYtY29udGVudCcpXCJcbiAgPlxuICAgIDxhXG4gICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgIChjbGljayk9XCJjbGlja05hdihEYXRlTmF2UmFuZ2UuWWVhcilcIlxuICAgID5cbiAgICAgIHt7IGhlYWRlclJhbmdlPy5zdGFydD8ueWVhcigpIH19e3sgJ3llYXJfc3VmZml4JyB8IGF1aUkxOG4gfX1cbiAgICA8L2E+XG4gIDwvc3Bhbj5cblxuICA8c3BhblxuICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuRGVjYWRlXCJcbiAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ25hdi1jb250ZW50JylcIlxuICA+XG4gICAge3sgaGVhZGVyUmFuZ2U/LnN0YXJ0LnllYXIoKSB9fSAtIHt7IGhlYWRlclJhbmdlPy5lbmQ/LnllYXIoKSB9fVxuICA8L3NwYW4+XG5cbiAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ25hdi1hY3Rpb24nKVwiPlxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICpuZ0lmPVwiZGF0ZU5hdlJhbmdlICE9PSBEYXRlTmF2UmFuZ2UuRGVjYWRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInllYXJDb250cm9sXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHNpZGU6ICdyaWdodCcgfVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJkYXRlTmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGVjYWRlQ29udHJvbFwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBzaWRlOiAncmlnaHQnIH1cIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlXG4gICN5ZWFyQ29udHJvbFxuICBsZXQtc2lkZT1cInNpZGVcIlxuPlxuICA8c3BhbiBjbGFzcz1cImFjdGlvbi1iYXJcIj5cbiAgICA8YnV0dG9uXG4gICAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgICAqbmdJZj1cInNpZGUgPT09ICdyaWdodCdcIlxuICAgICAgW2NsYXNzLmhpZGRlbl09XCJcbiAgICAgICAgIXNob3VsZFNob3dOYXYoRGF0ZU5hdlJhbmdlLk1vbnRoLCBzaWRlKSB8fFxuICAgICAgICBkYXRlTmF2UmFuZ2UgIT09IERhdGVOYXZSYW5nZS5Nb250aFxuICAgICAgXCJcbiAgICAgIChjbGljayk9XCJuYXZIZWFkKERhdGVOYXZSYW5nZS5Nb250aCwgMSlcIlxuICAgID5cbiAgICAgIDxhdWktaWNvbiBpY29uPVwiYW5nbGVfcmlnaHRcIj48L2F1aS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgIChjbGljayk9XCJuYXZIZWFkKERhdGVOYXZSYW5nZS5ZZWFyLCBzaWRlID09PSAnbGVmdCcgPyAtMSA6IDEpXCJcbiAgICAgIFtjbGFzcy5oaWRkZW5dPVwiIXNob3VsZFNob3dOYXYoRGF0ZU5hdlJhbmdlLlllYXIsIHNpZGUpXCJcbiAgICA+XG4gICAgICA8YXVpLWljb25cbiAgICAgICAgW2ljb25dPVwic2lkZSA9PT0gJ2xlZnQnID8gJ2FuZ2xlX2RvdWJsZV9sZWZ0JyA6ICdhbmdsZV9kb3VibGVfcmlnaHQnXCJcbiAgICAgID48L2F1aS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICpuZ0lmPVwic2lkZSA9PT0gJ2xlZnQnXCJcbiAgICAgIFtjbGFzcy5oaWRkZW5dPVwiXG4gICAgICAgICFzaG91bGRTaG93TmF2KERhdGVOYXZSYW5nZS5Nb250aCwgc2lkZSkgfHxcbiAgICAgICAgZGF0ZU5hdlJhbmdlICE9PSBEYXRlTmF2UmFuZ2UuTW9udGhcbiAgICAgIFwiXG4gICAgICAoY2xpY2spPVwibmF2SGVhZChEYXRlTmF2UmFuZ2UuTW9udGgsIC0xKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJhbmdsZV9sZWZ0XCI+PC9hdWktaWNvbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICNkZWNhZGVDb250cm9sXG4gIGxldC1zaWRlPVwic2lkZVwiXG4+XG4gIDxidXR0b25cbiAgICBhdWktYnV0dG9uPVwidGV4dFwiXG4gICAgKGNsaWNrKT1cIm5hdkhlYWQoRGF0ZU5hdlJhbmdlLkRlY2FkZSwgc2lkZSA9PT0gJ2xlZnQnID8gLTEwIDogMTApXCJcbiAgICBbY2xhc3MuaGlkZGVuXT1cIiFzaG91bGRTaG93TmF2KERhdGVOYXZSYW5nZS5EZWNhZGUsIHNpZGUpXCJcbiAgPlxuICAgIDxhdWktaWNvblxuICAgICAgW2ljb25dPVwic2lkZSA9PT0gJ2xlZnQnID8gJ2FuZ2xlX2RvdWJsZV9sZWZ0JyA6ICdhbmdsZV9kb3VibGVfcmlnaHQnXCJcbiAgICA+PC9hdWktaWNvbj5cbiAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -60,17 +60,23 @@ export class PickerPanelComponent {
60
60
  this.panelData = [[]];
61
61
  }
62
62
  const [...values] = getDatePanelIterable(date, navRange, this.weekStartDay);
63
- if (navRange === DateNavRange.Month) {
64
- colCounts = DAY_PANEL_COLUMN_COUNT;
65
- rowCounts = DAY_PANEL_ROW_COUNT;
66
- }
67
- else if (navRange === DateNavRange.Decade) {
68
- colCounts = YEAR_PANEL_COLUMN_COUNT;
69
- rowCounts = YEAR_PANEL_ROW_COUNT;
70
- }
71
- else if (navRange === DateNavRange.Year) {
72
- colCounts = MONTH_PANEL_COLUMN_COUNT;
73
- rowCounts = MONTH_PANEL_ROW_COUNT;
63
+ switch (navRange) {
64
+ case DateNavRange.Month: {
65
+ colCounts = DAY_PANEL_COLUMN_COUNT;
66
+ rowCounts = DAY_PANEL_ROW_COUNT;
67
+ break;
68
+ }
69
+ case DateNavRange.Decade: {
70
+ colCounts = YEAR_PANEL_COLUMN_COUNT;
71
+ rowCounts = YEAR_PANEL_ROW_COUNT;
72
+ break;
73
+ }
74
+ case DateNavRange.Year: {
75
+ colCounts = MONTH_PANEL_COLUMN_COUNT;
76
+ rowCounts = MONTH_PANEL_ROW_COUNT;
77
+ break;
78
+ }
79
+ // No default
74
80
  }
75
81
  for (let k = 0; k < rowCounts; k++) {
76
82
  const row = [];
@@ -120,11 +126,11 @@ export class PickerPanelComponent {
120
126
  return this.navRange;
121
127
  }
122
128
  }
123
- PickerPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PickerPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
124
- PickerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: PickerPanelComponent, selector: "aui-picker-panel", inputs: { navRange: "navRange", type: "type", anchor: "anchor", matchDates: "matchDates", disabledDate: "disabledDate", weekStartDay: "weekStartDay", minDate: "minDate", maxDate: "maxDate" }, outputs: { select: "select", hovered: "hovered" }, usesOnChanges: true, ngImport: i0, template: "<div\n [class]=\"bem.element('container')\"\n [ngClass]=\"{\n 'day-panel-container': navRange === DateNavRange.Month,\n 'month-panel-container': navRange === DateNavRange.Year,\n 'year-panel-container': navRange === DateNavRange.Decade\n }\"\n>\n <div\n [class]=\"[bem.element('row'), 'week-header'].join(' ')\"\n *ngIf=\"navRange === DateNavRange.Month\"\n >\n <span *ngFor=\"let item of weekDefs\" [class]=\"bem.element('cell')\">\n {{ item | auiI18n }}\n </span>\n </div>\n <div\n [class]=\"bem.element('row')\"\n *ngFor=\"let row of panelData; trackBy: trackByFn\"\n >\n <span\n *ngFor=\"let item of row; trackBy: trackByFn\"\n [class]=\"bem.element('cell')\"\n [ngClass]=\"{\n inRange: item.inRange && !item.isDisabled,\n isActive: match(item.value),\n isBackground: item.isBackground && !item.isDisabled,\n isRangeStart: item.isRangeStart,\n isRangeEnd: item.isRangeEnd,\n isToday: matchToday(item.value) && !item.isBackground,\n isDisabled: item.isDisabled\n }\"\n ><button\n aui-button=\"text\"\n [plain]=\"true\"\n [size]=\"navRange === DateNavRange.Month ? 'mini' : 'small'\"\n [disabled]=\"item.isDisabled\"\n (click)=\"selectValue(item.value)\"\n (mouseenter)=\"hovered.next(item.value)\"\n >\n {{ item.label\n }}<ng-container *ngIf=\"navRange === DateNavRange.Year\">{{\n 'month_suffix' | auiI18n\n }}</ng-container>\n </button>\n </span>\n </div>\n</div>\n", styles: [".aui-picker-panel__container{height:min-content;box-sizing:border-box;justify-content:stretch;display:flex;flex-direction:column;margin:12px 9px;align-items:center}.aui-picker-panel__container .aui-button{box-sizing:border-box}.aui-picker-panel__container.month-panel-container button,.aui-picker-panel__container.year-panel-container button{width:56px;height:28px!important}.aui-picker-panel__container.day-panel-container{height:min-content;padding:0;margin:0}.aui-picker-panel__container.day-panel-container button{height:24px!important;width:24px!important}.aui-picker-panel__container.day-panel-container .aui-picker-panel__row+.aui-picker-panel__row{margin-top:8px}.aui-picker-panel__row+.aui-picker-panel__row{margin-top:20px}.aui-picker-panel__row{flex:1;display:flex;align-items:center;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);width:100%}.aui-picker-panel__row.week-header{color:rgb(var(--aui-color-help-text));margin-bottom:8px}.aui-picker-panel__row.week-header span{display:inline-block;margin:0;width:36px;text-align:center}.aui-picker-panel__cell{display:inline-flex;position:relative;align-items:center;justify-content:center;margin-inline:6px}.aui-picker-panel__cell button{box-sizing:content-box;transition:color .3s ease,background-color .3s ease}.aui-picker-panel__cell.inRange{background-color:rgb(var(--aui-color-p-6));box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeEnd{box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeStart{box-shadow:6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isDisabled{background-color:rgb(var(--aui-color-n-8));box-shadow:-6px 0 0 0 rgb(var(--aui-color-n-8)),6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isDisabled button{color:rgb(var(--aui-color-disabled-text))!important;border-color:rgb(var(--aui-color-disabled-text))!important}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled):not(.isRangeStart){box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg))}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled).isRangeStart{box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell:not(.isDisabled)+.aui-picker-panel__cell.isDisabled{box-shadow:6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isToday button{border:rgb(var(--aui-color-primary)) 1px solid;color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-7))}.aui-picker-panel__cell.isActive button{color:#fff;background-color:rgb(var(--aui-color-primary))}.aui-picker-panel__cell.isBackground button{background-color:initial!important;color:rgb(var(--aui-color-disabled-text))}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "auiI18n": i3.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: PickerPanelComponent, decorators: [{
129
+ PickerPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: PickerPanelComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
130
+ PickerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: PickerPanelComponent, selector: "aui-picker-panel", inputs: { navRange: "navRange", type: "type", anchor: "anchor", matchDates: "matchDates", disabledDate: "disabledDate", weekStartDay: "weekStartDay", minDate: "minDate", maxDate: "maxDate" }, outputs: { select: "select", hovered: "hovered" }, usesOnChanges: true, ngImport: i0, template: "<div\n [class]=\"bem.element('container')\"\n [ngClass]=\"{\n 'day-panel-container': navRange === DateNavRange.Month,\n 'month-panel-container': navRange === DateNavRange.Year,\n 'year-panel-container': navRange === DateNavRange.Decade\n }\"\n>\n <div\n [class]=\"[bem.element('row'), 'week-header'].join(' ')\"\n *ngIf=\"navRange === DateNavRange.Month\"\n >\n <span\n *ngFor=\"let item of weekDefs\"\n [class]=\"bem.element('cell')\"\n >\n {{ item | auiI18n }}\n </span>\n </div>\n <div\n [class]=\"bem.element('row')\"\n *ngFor=\"let row of panelData; trackBy: trackByFn\"\n >\n <span\n *ngFor=\"let item of row; trackBy: trackByFn\"\n [class]=\"bem.element('cell')\"\n [ngClass]=\"{\n inRange: item.inRange && !item.isDisabled,\n isActive: match(item.value),\n isBackground: item.isBackground && !item.isDisabled,\n isRangeStart: item.isRangeStart,\n isRangeEnd: item.isRangeEnd,\n isToday: matchToday(item.value) && !item.isBackground,\n isDisabled: item.isDisabled\n }\"\n ><button\n aui-button=\"text\"\n [plain]=\"true\"\n [size]=\"navRange === DateNavRange.Month ? 'mini' : 'small'\"\n [disabled]=\"item.isDisabled\"\n (click)=\"selectValue(item.value)\"\n (mouseenter)=\"hovered.next(item.value)\"\n >\n {{ item.label\n }}<ng-container *ngIf=\"navRange === DateNavRange.Year\">{{\n 'month_suffix' | auiI18n\n }}</ng-container>\n </button>\n </span>\n </div>\n</div>\n", styles: [".aui-picker-panel__container{height:min-content;box-sizing:border-box;justify-content:stretch;display:flex;flex-direction:column;margin:12px 9px;align-items:center}.aui-picker-panel__container .aui-button{box-sizing:border-box}.aui-picker-panel__container.month-panel-container button,.aui-picker-panel__container.year-panel-container button{width:56px;height:28px!important}.aui-picker-panel__container.day-panel-container{height:min-content;padding:0;margin:0}.aui-picker-panel__container.day-panel-container button{height:24px!important;width:24px!important}.aui-picker-panel__container.day-panel-container .aui-picker-panel__row+.aui-picker-panel__row{margin-top:8px}.aui-picker-panel__row+.aui-picker-panel__row{margin-top:20px}.aui-picker-panel__row{flex:1;display:flex;align-items:center;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);width:100%}.aui-picker-panel__row.week-header{color:rgb(var(--aui-color-help-text));margin-bottom:8px}.aui-picker-panel__row.week-header span{display:inline-block;margin:0;width:36px;text-align:center}.aui-picker-panel__cell{display:inline-flex;position:relative;align-items:center;justify-content:center;margin-inline:6px}.aui-picker-panel__cell button{box-sizing:content-box;transition:color .3s ease,background-color .3s ease}.aui-picker-panel__cell.inRange{background-color:rgb(var(--aui-color-p-6));box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeEnd{box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeStart{box-shadow:6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isDisabled{background-color:rgb(var(--aui-color-n-8));box-shadow:-6px 0 0 0 rgb(var(--aui-color-n-8)),6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isDisabled button{color:rgb(var(--aui-color-disabled-text))!important;border-color:rgb(var(--aui-color-disabled-text))!important}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled):not(.isRangeStart){box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg))}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled).isRangeStart{box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell:not(.isDisabled)+.aui-picker-panel__cell.isDisabled{box-shadow:6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isToday button{border:rgb(var(--aui-color-primary)) 1px solid;color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-7))}.aui-picker-panel__cell.isActive button{color:#fff;background-color:rgb(var(--aui-color-primary))}.aui-picker-panel__cell.isBackground button{background-color:initial!important;color:rgb(var(--aui-color-disabled-text))}\n"], components: [{ type: i1.ButtonComponent, selector: "button[aui-button]", inputs: ["aui-button", "size", "plain", "loading", "round", "square"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "auiI18n": i3.I18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: PickerPanelComponent, decorators: [{
126
132
  type: Component,
127
- args: [{ selector: 'aui-picker-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"bem.element('container')\"\n [ngClass]=\"{\n 'day-panel-container': navRange === DateNavRange.Month,\n 'month-panel-container': navRange === DateNavRange.Year,\n 'year-panel-container': navRange === DateNavRange.Decade\n }\"\n>\n <div\n [class]=\"[bem.element('row'), 'week-header'].join(' ')\"\n *ngIf=\"navRange === DateNavRange.Month\"\n >\n <span *ngFor=\"let item of weekDefs\" [class]=\"bem.element('cell')\">\n {{ item | auiI18n }}\n </span>\n </div>\n <div\n [class]=\"bem.element('row')\"\n *ngFor=\"let row of panelData; trackBy: trackByFn\"\n >\n <span\n *ngFor=\"let item of row; trackBy: trackByFn\"\n [class]=\"bem.element('cell')\"\n [ngClass]=\"{\n inRange: item.inRange && !item.isDisabled,\n isActive: match(item.value),\n isBackground: item.isBackground && !item.isDisabled,\n isRangeStart: item.isRangeStart,\n isRangeEnd: item.isRangeEnd,\n isToday: matchToday(item.value) && !item.isBackground,\n isDisabled: item.isDisabled\n }\"\n ><button\n aui-button=\"text\"\n [plain]=\"true\"\n [size]=\"navRange === DateNavRange.Month ? 'mini' : 'small'\"\n [disabled]=\"item.isDisabled\"\n (click)=\"selectValue(item.value)\"\n (mouseenter)=\"hovered.next(item.value)\"\n >\n {{ item.label\n }}<ng-container *ngIf=\"navRange === DateNavRange.Year\">{{\n 'month_suffix' | auiI18n\n }}</ng-container>\n </button>\n </span>\n </div>\n</div>\n", styles: [".aui-picker-panel__container{height:min-content;box-sizing:border-box;justify-content:stretch;display:flex;flex-direction:column;margin:12px 9px;align-items:center}.aui-picker-panel__container .aui-button{box-sizing:border-box}.aui-picker-panel__container.month-panel-container button,.aui-picker-panel__container.year-panel-container button{width:56px;height:28px!important}.aui-picker-panel__container.day-panel-container{height:min-content;padding:0;margin:0}.aui-picker-panel__container.day-panel-container button{height:24px!important;width:24px!important}.aui-picker-panel__container.day-panel-container .aui-picker-panel__row+.aui-picker-panel__row{margin-top:8px}.aui-picker-panel__row+.aui-picker-panel__row{margin-top:20px}.aui-picker-panel__row{flex:1;display:flex;align-items:center;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);width:100%}.aui-picker-panel__row.week-header{color:rgb(var(--aui-color-help-text));margin-bottom:8px}.aui-picker-panel__row.week-header span{display:inline-block;margin:0;width:36px;text-align:center}.aui-picker-panel__cell{display:inline-flex;position:relative;align-items:center;justify-content:center;margin-inline:6px}.aui-picker-panel__cell button{box-sizing:content-box;transition:color .3s ease,background-color .3s ease}.aui-picker-panel__cell.inRange{background-color:rgb(var(--aui-color-p-6));box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeEnd{box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeStart{box-shadow:6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isDisabled{background-color:rgb(var(--aui-color-n-8));box-shadow:-6px 0 0 0 rgb(var(--aui-color-n-8)),6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isDisabled button{color:rgb(var(--aui-color-disabled-text))!important;border-color:rgb(var(--aui-color-disabled-text))!important}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled):not(.isRangeStart){box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg))}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled).isRangeStart{box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell:not(.isDisabled)+.aui-picker-panel__cell.isDisabled{box-shadow:6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isToday button{border:rgb(var(--aui-color-primary)) 1px solid;color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-7))}.aui-picker-panel__cell.isActive button{color:#fff;background-color:rgb(var(--aui-color-primary))}.aui-picker-panel__cell.isBackground button{background-color:initial!important;color:rgb(var(--aui-color-disabled-text))}\n"] }]
133
+ args: [{ selector: 'aui-picker-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [class]=\"bem.element('container')\"\n [ngClass]=\"{\n 'day-panel-container': navRange === DateNavRange.Month,\n 'month-panel-container': navRange === DateNavRange.Year,\n 'year-panel-container': navRange === DateNavRange.Decade\n }\"\n>\n <div\n [class]=\"[bem.element('row'), 'week-header'].join(' ')\"\n *ngIf=\"navRange === DateNavRange.Month\"\n >\n <span\n *ngFor=\"let item of weekDefs\"\n [class]=\"bem.element('cell')\"\n >\n {{ item | auiI18n }}\n </span>\n </div>\n <div\n [class]=\"bem.element('row')\"\n *ngFor=\"let row of panelData; trackBy: trackByFn\"\n >\n <span\n *ngFor=\"let item of row; trackBy: trackByFn\"\n [class]=\"bem.element('cell')\"\n [ngClass]=\"{\n inRange: item.inRange && !item.isDisabled,\n isActive: match(item.value),\n isBackground: item.isBackground && !item.isDisabled,\n isRangeStart: item.isRangeStart,\n isRangeEnd: item.isRangeEnd,\n isToday: matchToday(item.value) && !item.isBackground,\n isDisabled: item.isDisabled\n }\"\n ><button\n aui-button=\"text\"\n [plain]=\"true\"\n [size]=\"navRange === DateNavRange.Month ? 'mini' : 'small'\"\n [disabled]=\"item.isDisabled\"\n (click)=\"selectValue(item.value)\"\n (mouseenter)=\"hovered.next(item.value)\"\n >\n {{ item.label\n }}<ng-container *ngIf=\"navRange === DateNavRange.Year\">{{\n 'month_suffix' | auiI18n\n }}</ng-container>\n </button>\n </span>\n </div>\n</div>\n", styles: [".aui-picker-panel__container{height:min-content;box-sizing:border-box;justify-content:stretch;display:flex;flex-direction:column;margin:12px 9px;align-items:center}.aui-picker-panel__container .aui-button{box-sizing:border-box}.aui-picker-panel__container.month-panel-container button,.aui-picker-panel__container.year-panel-container button{width:56px;height:28px!important}.aui-picker-panel__container.day-panel-container{height:min-content;padding:0;margin:0}.aui-picker-panel__container.day-panel-container button{height:24px!important;width:24px!important}.aui-picker-panel__container.day-panel-container .aui-picker-panel__row+.aui-picker-panel__row{margin-top:8px}.aui-picker-panel__row+.aui-picker-panel__row{margin-top:20px}.aui-picker-panel__row{flex:1;display:flex;align-items:center;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m);width:100%}.aui-picker-panel__row.week-header{color:rgb(var(--aui-color-help-text));margin-bottom:8px}.aui-picker-panel__row.week-header span{display:inline-block;margin:0;width:36px;text-align:center}.aui-picker-panel__cell{display:inline-flex;position:relative;align-items:center;justify-content:center;margin-inline:6px}.aui-picker-panel__cell button{box-sizing:content-box;transition:color .3s ease,background-color .3s ease}.aui-picker-panel__cell.inRange{background-color:rgb(var(--aui-color-p-6));box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeEnd{box-shadow:-6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isRangeStart{box-shadow:6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell.isDisabled{background-color:rgb(var(--aui-color-n-8));box-shadow:-6px 0 0 0 rgb(var(--aui-color-n-8)),6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isDisabled button{color:rgb(var(--aui-color-disabled-text))!important;border-color:rgb(var(--aui-color-disabled-text))!important}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled):not(.isRangeStart){box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg))}.aui-picker-panel__cell.isDisabled+.aui-picker-panel__cell:not(.isDisabled).isRangeStart{box-shadow:-12px 0 0 0 rgb(var(--aui-color-popper-bg)),6px 0 0 0 rgb(var(--aui-color-p-6))}.aui-picker-panel__cell:not(.isDisabled)+.aui-picker-panel__cell.isDisabled{box-shadow:6px 0 0 0 rgb(var(--aui-color-n-8))}.aui-picker-panel__cell.isToday button{border:rgb(var(--aui-color-primary)) 1px solid;color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-p-7))}.aui-picker-panel__cell.isActive button{color:#fff;background-color:rgb(var(--aui-color-primary))}.aui-picker-panel__cell.isBackground button{background-color:initial!important;color:rgb(var(--aui-color-disabled-text))}\n"] }]
128
134
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { navRange: [{
129
135
  type: Input
130
136
  }], type: [{
@@ -146,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
146
152
  }], hovered: [{
147
153
  type: Output
148
154
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLXBhbmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL3BhbmVsL3BpY2tlci1wYW5lbC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9jYWxlbmRhci9wYW5lbC9waWNrZXItcGFuZWwudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFnQixNQUFNLE9BQU8sQ0FBQztBQUNyQyxPQUFPLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFDTCxHQUFHLEVBQ0gsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUVuQixLQUFLLEVBQ0wsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixJQUFJLEVBQ0osdUJBQXVCLEVBQ3ZCLG9CQUFvQixHQUNyQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBRUwsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixVQUFVLEVBQ1Ysb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsU0FBUyxHQUNWLE1BQU0sU0FBUyxDQUFDOzs7OztBQUVqQixLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRXhCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBU3pDLE1BQU0sT0FBTyxvQkFBb0I7SUFtRS9CLFlBQTZCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBM0RuRCxXQUFN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LENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOztpSEF2SlUsb0JBQW9CO3FHQUFwQixvQkFBb0IsZ1VDakRqQyx1aURBZ0RBOzJGRENhLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTt3R0FJL0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJRixZQUFZO3NCQURmLEtBQUs7Z0JBZU4sT0FBTztzQkFETixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFnQk4sTUFBTTtzQkFETCxNQUFNO2dCQUlQLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xuaW1wb3J0IGlzQmV0d2VlbiBmcm9tICdkYXlqcy9wbHVnaW4vaXNCZXR3ZWVuJztcblxuaW1wb3J0IHsgYnVpbGRCZW0gfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBEYXRlTmF2UmFuZ2UgfSBmcm9tICcuLi8uLi9kYXRlLXBpY2tlci50eXBlJztcbmltcG9ydCB7XG4gIERBWSxcbiAgREFZX1BBTkVMX0NPTFVNTl9DT1VOVCxcbiAgREFZX1BBTkVMX1JPV19DT1VOVCxcbiAgRGF0ZVBpY2tlclR5cGUsXG4gIE1PTlRILFxuICBNT05USF9QQU5FTF9DT0xVTU5fQ09VTlQsXG4gIE1PTlRIX1BBTkVMX1JPV19DT1VOVCxcbiAgWUVBUixcbiAgWUVBUl9QQU5FTF9DT0xVTU5fQ09VTlQsXG4gIFlFQVJfUEFORUxfUk9XX0NPVU5ULFxufSBmcm9tICcuLi9jb25zdGFudCc7XG5pbXBvcnQge1xuICBEYXRlQ2VsbCxcbiAgY2FsY1JhbmdlVmFsdWUsXG4gIGNvbXBvc2VEaXNhYmxlZERhdGVGbixcbiAgZm9ybWF0RGF0ZSxcbiAgZ2V0RGF0ZVBhbmVsSXRlcmFibGUsXG4gIGdldE5hdlJhbmdlQnlUeXBlLFxuICBnZXRUeXBlQnlOYXZSYW5nZSxcbiAgc29ydERhdGVzLFxufSBmcm9tICcuLi91dGlsJztcblxuZGF5anMuZXh0ZW5kKGlzQmV0d2Vlbik7XG5cbmNvbnN0IGJlbSA9IGJ1aWxkQmVtKCdhdWktcGlja2VyLXBhbmVsJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1waWNrZXItcGFuZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGlja2VyLXBhbmVsLnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9waWNrZXItcGFuZWwuc3R5bGUuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGlja2VyUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlO1xuXG4gIEBJbnB1dCgpXG4gIHR5cGU6IERhdGVQaWNrZXJUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGFuY2hvciA9IGRheWpzKCk7XG5cbiAgQElucHV0KClcbiAgbWF0Y2hEYXRlczogRGF5anNbXTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZERhdGU6IChkYXRlOiBEYXlqcywgbmF2UmFuZ2U6IERhdGVOYXZSYW5nZSkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB3ZWVrU3RhcnREYXkoZGF5OiBudW1iZXIpIHtcbiAgICBjb25zdCBub3JtYWxpemVkID0gTWF0aC5tYXgoTWF0aC5taW4oTWF0aC5yb3VuZChkYXkpLCA2KSwgMCk7XG4gICAgdGhpcy53ZWVrRGVmcyA9IFtcbiAgICAgIC4uLnRoaXMud2Vla0RlZnMuc2xpY2Uobm9ybWFsaXplZCksXG4gICAgICAuLi50aGlzLndlZWtEZWZzLnNsaWNlKDAsIG5vcm1hbGl6ZWQpLFxuICAgIF07XG4gICAgdGhpcy5fd2Vla1N0YXJ0RGF5ID0gbm9ybWFsaXplZDtcbiAgfVxuXG4gIGdldCB3ZWVrU3RhcnREYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dlZWtTdGFydERheTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIG1pbkRhdGU6IERheWpzO1xuXG4gIEBJbnB1dCgpXG4gIG1heERhdGU6IERheWpzO1xuXG4gIGdldCBkaXNhYmxlZERhdGVGbigpIHtcbiAgICByZXR1cm4gY29tcG9zZURpc2FibGVkRGF0ZUZuKFxuICAgICAgZGF0ZSA9PiB0aGlzLm1pbkRhdGUgJiYgZGF0ZS5pc0JlZm9yZSh0aGlzLm1pbkRhdGUpLFxuICAgICAgZGF0ZSA9PiB0aGlzLm1heERhdGUgJiYgZGF0ZS5pc0FmdGVyKHRoaXMubWF4RGF0ZSksXG4gICAgICB0aGlzLmRpc2FibGVkRGF0ZSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfd2Vla1N0YXJ0RGF5ID0gMDtcblxuICBwYW5lbERhdGE6IERhdGVDZWxsW11bXTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXlqcz4oKTtcblxuICBAT3V0cHV0KClcbiAgaG92ZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF5anM+KCk7XG5cbiAgYmVtID0gYmVtO1xuICBEYXRlTmF2UmFuZ2UgPSBEYXRlTmF2UmFuZ2U7XG5cbiAgd2Vla0RlZnMgPSBbXG4gICAgJ3N1bmRheScsXG4gICAgJ21vbmRheScsXG4gICAgJ3R1ZXNkYXknLFxuICAgICd3ZWRuZXNkYXknLFxuICAgICd0aHVyc2RheScsXG4gICAgJ2ZyaWRheScsXG4gICAgJ3NhdHVyZGF5JyxcbiAgXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgLy8g5aaC5p6cIGRhdGVWYWx1ZSDmmK/kuIDkuKrmlbDnu4TvvIzlv4XnhLbmmK/lkIzkuIDkuKrpnaLmnb/kuIrvvIzlkKbliJnlupTlvZPnu5nkuI7kuI3lkIznmoTpnaLmnb/kuI3lkIznmoRkYXRlVmFsdWXlgLxcbiAgICBjb25zdCBoZWFkZXJSYW5nZSA9IGNhbGNSYW5nZVZhbHVlKHRoaXMubmF2UmFuZ2UsIHRoaXMuYW5jaG9yKTtcbiAgICB0aGlzLnJlbmRlclBhbmVsRGF0YShoZWFkZXJSYW5nZS5zdGFydCwgdGhpcy5uYXZSYW5nZSk7XG4gIH1cblxuICAvLyDmoLnmja7lvZPliY3mlbDmja7vvIzorqHnrpfmuLLmn5PooajmoLxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbiAgcmVuZGVyUGFuZWxEYXRhKGRhdGU6IERheWpzLCBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlKSB7XG4gICAgY29uc3QgdmFsdWUgPSBbXTtcbiAgICBsZXQgY29sQ291bnRzID0gMDtcbiAgICBsZXQgcm93Q291bnRzID0gMDtcbiAgICBpZiAoIXRoaXMucGFuZWxEYXRhKSB7XG4gICAgICB0aGlzLnBhbmVsRGF0YSA9IFtbXV07XG4gICAgfVxuICAgIGNvbnN0IFsuLi52YWx1ZXNdID0gZ2V0RGF0ZVBhbmVsSXRlcmFibGUoZGF0ZSwgbmF2UmFuZ2UsIHRoaXMud2Vla1N0YXJ0RGF5KTtcbiAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgY29sQ291bnRzID0gREFZX1BBTkVMX0NPTFVNTl9DT1VOVDtcbiAgICAgIHJvd0NvdW50cyA9IERBWV9QQU5FTF9ST1dfQ09VTlQ7XG4gICAgfSBlbHNlIGlmIChuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLkRlY2FkZSkge1xuICAgICAgY29sQ291bnRzID0gWUVBUl9QQU5FTF9DT0xVTU5fQ09VTlQ7XG4gICAgICByb3dDb3VudHMgPSBZRUFSX1BBTkVMX1JPV19DT1VOVDtcbiAgICB9IGVsc2UgaWYgKG5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuWWVhcikge1xuICAgICAgY29sQ291bnRzID0gTU9OVEhfUEFORUxfQ09MVU1OX0NPVU5UO1xuICAgICAgcm93Q291bnRzID0gTU9OVEhfUEFORUxfUk9XX0NPVU5UO1xuICAgIH1cbiAgICBmb3IgKGxldCBrID0gMDsgayA8IHJvd0NvdW50czsgaysrKSB7XG4gICAgICBjb25zdCByb3cgPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sQ291bnRzOyBpKyspIHtcbiAgICAgICAgY29uc3QgY2VsbCA9IGZvcm1hdERhdGUobmF2UmFuZ2UsIHZhbHVlc1trICogY29sQ291bnRzICsgaV0sIGRhdGUpO1xuICAgICAgICBjZWxsLmlzRGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkRGF0ZUZuKGNlbGwudmFsdWUsIG5hdlJhbmdlKTtcbiAgICAgICAgY29uc3Qgc29ydGVkRGF0ZXMgPSBzb3J0RGF0ZXModGhpcy5tYXRjaERhdGVzKTtcbiAgICAgICAgaWYgKHNvcnRlZERhdGVzPy5sZW5ndGggPT09IDIgJiYgbmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGNlbGwudmFsdWUuaXNCZXR3ZWVuKHNvcnRlZERhdGVzWzBdLCBzb3J0ZWREYXRlc1sxXSkgJiZcbiAgICAgICAgICAgICFjZWxsLmlzQmFja2dyb3VuZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY2VsbC5pblJhbmdlID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY2VsbC5pc1JhbmdlU3RhcnQgPVxuICAgICAgICAgICAgY2VsbC52YWx1ZS5pc1NhbWUoc29ydGVkRGF0ZXNbMF0sIERBWSkgJiYgIWNlbGwuaXNCYWNrZ3JvdW5kO1xuICAgICAgICAgIGNlbGwuaXNSYW5nZUVuZCA9XG4gICAgICAgICAgICBjZWxsLnZhbHVlLmlzU2FtZShzb3J0ZWREYXRlc1sxXSwgREFZKSAmJiAhY2VsbC5pc0JhY2tncm91bmQ7XG4gICAgICAgICAgaWYgKGNlbGwuaXNSYW5nZVN0YXJ0ICYmIGNlbGwuaXNSYW5nZUVuZCkge1xuICAgICAgICAgICAgY2VsbC5pc1JhbmdlU3RhcnQgPSBmYWxzZTtcbiAgICAgICAgICAgIGNlbGwuaXNSYW5nZUVuZCA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByb3cucHVzaChjZWxsKTtcbiAgICAgIH1cbiAgICAgIHZhbHVlLnB1c2gocm93KTtcbiAgICB9XG4gICAgdGhpcy5wYW5lbERhdGEgPSB2YWx1ZS5zbGljZSgpO1xuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbWF0Y2godmFsdWU6IERheWpzKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMubWF0Y2hEYXRlcz8uZmlsdGVyKHYgPT4gISF2KT8ubGVuZ3RoIHx8XG4gICAgICBnZXROYXZSYW5nZUJ5VHlwZSh0aGlzLnR5cGUpICE9PSB0aGlzLm5hdlJhbmdlXG4gICAgKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1hdGNoRGF0ZXM/LnNvbWUoZGF0ZVZhbHVlID0+XG4gICAgICB0aGlzLm5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuRGVjYWRlXG4gICAgICAgID8gdmFsdWUuaXNTYW1lKGRhdGVWYWx1ZSwgWUVBUilcbiAgICAgICAgOiB0aGlzLm5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuWWVhclxuICAgICAgICA/IHZhbHVlLmlzU2FtZShkYXRlVmFsdWUsIE1PTlRIKVxuICAgICAgICA6IHZhbHVlLmlzU2FtZShkYXRlVmFsdWUsIERBWSksXG4gICAgKTtcbiAgfVxuXG4gIG1hdGNoVG9kYXkodmFsdWU6IERheWpzKSB7XG4gICAgcmV0dXJuIHZhbHVlLmlzU2FtZShkYXlqcygpLCBnZXRUeXBlQnlOYXZSYW5nZSh0aGlzLm5hdlJhbmdlKSk7XG4gIH1cblxuICBzZWxlY3RWYWx1ZSh2YWx1ZTogRGF5anMpIHtcbiAgICB0aGlzLnNlbGVjdC5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHRyYWNrQnlGbigpIHtcbiAgICByZXR1cm4gdGhpcy5uYXZSYW5nZTtcbiAgfVxufVxuIiwiPGRpdlxuICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NvbnRhaW5lcicpXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdkYXktcGFuZWwtY29udGFpbmVyJzogbmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aCxcbiAgICAnbW9udGgtcGFuZWwtY29udGFpbmVyJzogbmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5ZZWFyLFxuICAgICd5ZWFyLXBhbmVsLWNvbnRhaW5lcic6IG5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuRGVjYWRlXG4gIH1cIlxuPlxuICA8ZGl2XG4gICAgW2NsYXNzXT1cIltiZW0uZWxlbWVudCgncm93JyksICd3ZWVrLWhlYWRlciddLmpvaW4oJyAnKVwiXG4gICAgKm5nSWY9XCJuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLk1vbnRoXCJcbiAgPlxuICAgIDxzcGFuICpuZ0Zvcj1cImxldCBpdGVtIG9mIHdlZWtEZWZzXCIgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjZWxsJylcIj5cbiAgICAgIHt7IGl0ZW0gfCBhdWlJMThuIH19XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgncm93JylcIlxuICAgICpuZ0Zvcj1cImxldCByb3cgb2YgcGFuZWxEYXRhOyB0cmFja0J5OiB0cmFja0J5Rm5cIlxuICA+XG4gICAgPHNwYW5cbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvdzsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnY2VsbCcpXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgaW5SYW5nZTogaXRlbS5pblJhbmdlICYmICFpdGVtLmlzRGlzYWJsZWQsXG4gICAgICAgIGlzQWN0aXZlOiBtYXRjaChpdGVtLnZhbHVlKSxcbiAgICAgICAgaXNCYWNrZ3JvdW5kOiBpdGVtLmlzQmFja2dyb3VuZCAmJiAhaXRlbS5pc0Rpc2FibGVkLFxuICAgICAgICBpc1JhbmdlU3RhcnQ6IGl0ZW0uaXNSYW5nZVN0YXJ0LFxuICAgICAgICBpc1JhbmdlRW5kOiBpdGVtLmlzUmFuZ2VFbmQsXG4gICAgICAgIGlzVG9kYXk6IG1hdGNoVG9kYXkoaXRlbS52YWx1ZSkgJiYgIWl0ZW0uaXNCYWNrZ3JvdW5kLFxuICAgICAgICBpc0Rpc2FibGVkOiBpdGVtLmlzRGlzYWJsZWRcbiAgICAgIH1cIlxuICAgICAgPjxidXR0b25cbiAgICAgICAgYXVpLWJ1dHRvbj1cInRleHRcIlxuICAgICAgICBbcGxhaW5dPVwidHJ1ZVwiXG4gICAgICAgIFtzaXplXT1cIm5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuTW9udGggPyAnbWluaScgOiAnc21hbGwnXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cIml0ZW0uaXNEaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJzZWxlY3RWYWx1ZShpdGVtLnZhbHVlKVwiXG4gICAgICAgIChtb3VzZWVudGVyKT1cImhvdmVyZWQubmV4dChpdGVtLnZhbHVlKVwiXG4gICAgICA+XG4gICAgICAgIHt7IGl0ZW0ubGFiZWxcbiAgICAgICAgfX08bmctY29udGFpbmVyICpuZ0lmPVwibmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5ZZWFyXCI+e3tcbiAgICAgICAgICAnbW9udGhfc3VmZml4JyB8IGF1aUkxOG5cbiAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLXBhbmVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL3BhbmVsL3BpY2tlci1wYW5lbC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9kYXRlLXBpY2tlci9jYWxlbmRhci9wYW5lbC9waWNrZXItcGFuZWwudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFnQixNQUFNLE9BQU8sQ0FBQztBQUNyQyxPQUFPLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFDTCxHQUFHLEVBQ0gsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUVuQixLQUFLLEVBQ0wsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQixJQUFJLEVBQ0osdUJBQXVCLEVBQ3ZCLG9CQUFvQixHQUNyQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBRUwsY0FBYyxFQUNkLHFCQUFxQixFQUNyQixVQUFVLEVBQ1Ysb0JBQW9CLEVBQ3BCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsU0FBUyxHQUNWLE1BQU0sU0FBUyxDQUFDOzs7OztBQUVqQixLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRXhCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0FBU3pDLE1BQU0sT0FBTyxvQkFBb0I7SUFtRS9CLFlBQTZCLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBM0RuRCxXQUFN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QUFDLENBQ2pDLENBQUM7SUFDSixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVk7UUFDckIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDOztpSEFsS1Usb0JBQW9CO3FHQUFwQixvQkFBb0IsZ1VDakRqQywyakRBbURBOzJGREZhLG9CQUFvQjtrQkFQaEMsU0FBUzsrQkFDRSxrQkFBa0IsaUJBR2IsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTt3R0FJL0MsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUlOLFlBQVk7c0JBRFgsS0FBSztnQkFJRixZQUFZO3NCQURmLEtBQUs7Z0JBZU4sT0FBTztzQkFETixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFnQk4sTUFBTTtzQkFETCxNQUFNO2dCQUlQLE9BQU87c0JBRE4sTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xuaW1wb3J0IGlzQmV0d2VlbiBmcm9tICdkYXlqcy9wbHVnaW4vaXNCZXR3ZWVuJztcblxuaW1wb3J0IHsgYnVpbGRCZW0gfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBEYXRlTmF2UmFuZ2UgfSBmcm9tICcuLi8uLi9kYXRlLXBpY2tlci50eXBlJztcbmltcG9ydCB7XG4gIERBWSxcbiAgREFZX1BBTkVMX0NPTFVNTl9DT1VOVCxcbiAgREFZX1BBTkVMX1JPV19DT1VOVCxcbiAgRGF0ZVBpY2tlclR5cGUsXG4gIE1PTlRILFxuICBNT05USF9QQU5FTF9DT0xVTU5fQ09VTlQsXG4gIE1PTlRIX1BBTkVMX1JPV19DT1VOVCxcbiAgWUVBUixcbiAgWUVBUl9QQU5FTF9DT0xVTU5fQ09VTlQsXG4gIFlFQVJfUEFORUxfUk9XX0NPVU5ULFxufSBmcm9tICcuLi9jb25zdGFudCc7XG5pbXBvcnQge1xuICBEYXRlQ2VsbCxcbiAgY2FsY1JhbmdlVmFsdWUsXG4gIGNvbXBvc2VEaXNhYmxlZERhdGVGbixcbiAgZm9ybWF0RGF0ZSxcbiAgZ2V0RGF0ZVBhbmVsSXRlcmFibGUsXG4gIGdldE5hdlJhbmdlQnlUeXBlLFxuICBnZXRUeXBlQnlOYXZSYW5nZSxcbiAgc29ydERhdGVzLFxufSBmcm9tICcuLi91dGlsJztcblxuZGF5anMuZXh0ZW5kKGlzQmV0d2Vlbik7XG5cbmNvbnN0IGJlbSA9IGJ1aWxkQmVtKCdhdWktcGlja2VyLXBhbmVsJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1waWNrZXItcGFuZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGlja2VyLXBhbmVsLnRlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9waWNrZXItcGFuZWwuc3R5bGUuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUGlja2VyUGFuZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKVxuICBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlO1xuXG4gIEBJbnB1dCgpXG4gIHR5cGU6IERhdGVQaWNrZXJUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGFuY2hvciA9IGRheWpzKCk7XG5cbiAgQElucHV0KClcbiAgbWF0Y2hEYXRlczogRGF5anNbXTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZERhdGU6IChkYXRlOiBEYXlqcywgbmF2UmFuZ2U6IERhdGVOYXZSYW5nZSkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCB3ZWVrU3RhcnREYXkoZGF5OiBudW1iZXIpIHtcbiAgICBjb25zdCBub3JtYWxpemVkID0gTWF0aC5tYXgoTWF0aC5taW4oTWF0aC5yb3VuZChkYXkpLCA2KSwgMCk7XG4gICAgdGhpcy53ZWVrRGVmcyA9IFtcbiAgICAgIC4uLnRoaXMud2Vla0RlZnMuc2xpY2Uobm9ybWFsaXplZCksXG4gICAgICAuLi50aGlzLndlZWtEZWZzLnNsaWNlKDAsIG5vcm1hbGl6ZWQpLFxuICAgIF07XG4gICAgdGhpcy5fd2Vla1N0YXJ0RGF5ID0gbm9ybWFsaXplZDtcbiAgfVxuXG4gIGdldCB3ZWVrU3RhcnREYXkoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dlZWtTdGFydERheTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIG1pbkRhdGU6IERheWpzO1xuXG4gIEBJbnB1dCgpXG4gIG1heERhdGU6IERheWpzO1xuXG4gIGdldCBkaXNhYmxlZERhdGVGbigpIHtcbiAgICByZXR1cm4gY29tcG9zZURpc2FibGVkRGF0ZUZuKFxuICAgICAgZGF0ZSA9PiB0aGlzLm1pbkRhdGUgJiYgZGF0ZS5pc0JlZm9yZSh0aGlzLm1pbkRhdGUpLFxuICAgICAgZGF0ZSA9PiB0aGlzLm1heERhdGUgJiYgZGF0ZS5pc0FmdGVyKHRoaXMubWF4RGF0ZSksXG4gICAgICB0aGlzLmRpc2FibGVkRGF0ZSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBfd2Vla1N0YXJ0RGF5ID0gMDtcblxuICBwYW5lbERhdGE6IERhdGVDZWxsW11bXTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXlqcz4oKTtcblxuICBAT3V0cHV0KClcbiAgaG92ZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RGF5anM+KCk7XG5cbiAgYmVtID0gYmVtO1xuICBEYXRlTmF2UmFuZ2UgPSBEYXRlTmF2UmFuZ2U7XG5cbiAgd2Vla0RlZnMgPSBbXG4gICAgJ3N1bmRheScsXG4gICAgJ21vbmRheScsXG4gICAgJ3R1ZXNkYXknLFxuICAgICd3ZWRuZXNkYXknLFxuICAgICd0aHVyc2RheScsXG4gICAgJ2ZyaWRheScsXG4gICAgJ3NhdHVyZGF5JyxcbiAgXTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgLy8g5aaC5p6cIGRhdGVWYWx1ZSDmmK/kuIDkuKrmlbDnu4TvvIzlv4XnhLbmmK/lkIzkuIDkuKrpnaLmnb/kuIrvvIzlkKbliJnlupTlvZPnu5nkuI7kuI3lkIznmoTpnaLmnb/kuI3lkIznmoRkYXRlVmFsdWXlgLxcbiAgICBjb25zdCBoZWFkZXJSYW5nZSA9IGNhbGNSYW5nZVZhbHVlKHRoaXMubmF2UmFuZ2UsIHRoaXMuYW5jaG9yKTtcbiAgICB0aGlzLnJlbmRlclBhbmVsRGF0YShoZWFkZXJSYW5nZS5zdGFydCwgdGhpcy5uYXZSYW5nZSk7XG4gIH1cblxuICAvLyDmoLnmja7lvZPliY3mlbDmja7vvIzorqHnrpfmuLLmn5PooajmoLxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvY29nbml0aXZlLWNvbXBsZXhpdHlcbiAgcmVuZGVyUGFuZWxEYXRhKGRhdGU6IERheWpzLCBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlKSB7XG4gICAgY29uc3QgdmFsdWUgPSBbXTtcbiAgICBsZXQgY29sQ291bnRzID0gMDtcbiAgICBsZXQgcm93Q291bnRzID0gMDtcbiAgICBpZiAoIXRoaXMucGFuZWxEYXRhKSB7XG4gICAgICB0aGlzLnBhbmVsRGF0YSA9IFtbXV07XG4gICAgfVxuICAgIGNvbnN0IFsuLi52YWx1ZXNdID0gZ2V0RGF0ZVBhbmVsSXRlcmFibGUoZGF0ZSwgbmF2UmFuZ2UsIHRoaXMud2Vla1N0YXJ0RGF5KTtcbiAgICBzd2l0Y2ggKG5hdlJhbmdlKSB7XG4gICAgICBjYXNlIERhdGVOYXZSYW5nZS5Nb250aDoge1xuICAgICAgICBjb2xDb3VudHMgPSBEQVlfUEFORUxfQ09MVU1OX0NPVU5UO1xuICAgICAgICByb3dDb3VudHMgPSBEQVlfUEFORUxfUk9XX0NPVU5UO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBEYXRlTmF2UmFuZ2UuRGVjYWRlOiB7XG4gICAgICAgIGNvbENvdW50cyA9IFlFQVJfUEFORUxfQ09MVU1OX0NPVU5UO1xuICAgICAgICByb3dDb3VudHMgPSBZRUFSX1BBTkVMX1JPV19DT1VOVDtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgRGF0ZU5hdlJhbmdlLlllYXI6IHtcbiAgICAgICAgY29sQ291bnRzID0gTU9OVEhfUEFORUxfQ09MVU1OX0NPVU5UO1xuICAgICAgICByb3dDb3VudHMgPSBNT05USF9QQU5FTF9ST1dfQ09VTlQ7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICAvLyBObyBkZWZhdWx0XG4gICAgfVxuICAgIGZvciAobGV0IGsgPSAwOyBrIDwgcm93Q291bnRzOyBrKyspIHtcbiAgICAgIGNvbnN0IHJvdyA9IFtdO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xDb3VudHM7IGkrKykge1xuICAgICAgICBjb25zdCBjZWxsID0gZm9ybWF0RGF0ZShuYXZSYW5nZSwgdmFsdWVzW2sgKiBjb2xDb3VudHMgKyBpXSwgZGF0ZSk7XG4gICAgICAgIGNlbGwuaXNEaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWREYXRlRm4oY2VsbC52YWx1ZSwgbmF2UmFuZ2UpO1xuICAgICAgICBjb25zdCBzb3J0ZWREYXRlcyA9IHNvcnREYXRlcyh0aGlzLm1hdGNoRGF0ZXMpO1xuICAgICAgICBpZiAoc29ydGVkRGF0ZXM/Lmxlbmd0aCA9PT0gMiAmJiBuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLk1vbnRoKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgY2VsbC52YWx1ZS5pc0JldHdlZW4oc29ydGVkRGF0ZXNbMF0sIHNvcnRlZERhdGVzWzFdKSAmJlxuICAgICAgICAgICAgIWNlbGwuaXNCYWNrZ3JvdW5kXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBjZWxsLmluUmFuZ2UgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjZWxsLmlzUmFuZ2VTdGFydCA9XG4gICAgICAgICAgICBjZWxsLnZhbHVlLmlzU2FtZShzb3J0ZWREYXRlc1swXSwgREFZKSAmJiAhY2VsbC5pc0JhY2tncm91bmQ7XG4gICAgICAgICAgY2VsbC5pc1JhbmdlRW5kID1cbiAgICAgICAgICAgIGNlbGwudmFsdWUuaXNTYW1lKHNvcnRlZERhdGVzWzFdLCBEQVkpICYmICFjZWxsLmlzQmFja2dyb3VuZDtcbiAgICAgICAgICBpZiAoY2VsbC5pc1JhbmdlU3RhcnQgJiYgY2VsbC5pc1JhbmdlRW5kKSB7XG4gICAgICAgICAgICBjZWxsLmlzUmFuZ2VTdGFydCA9IGZhbHNlO1xuICAgICAgICAgICAgY2VsbC5pc1JhbmdlRW5kID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJvdy5wdXNoKGNlbGwpO1xuICAgICAgfVxuICAgICAgdmFsdWUucHVzaChyb3cpO1xuICAgIH1cbiAgICB0aGlzLnBhbmVsRGF0YSA9IHZhbHVlLnNsaWNlKCk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBtYXRjaCh2YWx1ZTogRGF5anMpIHtcbiAgICBpZiAoXG4gICAgICAhdGhpcy5tYXRjaERhdGVzPy5maWx0ZXIodiA9PiAhIXYpPy5sZW5ndGggfHxcbiAgICAgIGdldE5hdlJhbmdlQnlUeXBlKHRoaXMudHlwZSkgIT09IHRoaXMubmF2UmFuZ2VcbiAgICApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWF0Y2hEYXRlcz8uc29tZShkYXRlVmFsdWUgPT5cbiAgICAgIHRoaXMubmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGVcbiAgICAgICAgPyB2YWx1ZS5pc1NhbWUoZGF0ZVZhbHVlLCBZRUFSKVxuICAgICAgICA6IHRoaXMubmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5ZZWFyXG4gICAgICAgID8gdmFsdWUuaXNTYW1lKGRhdGVWYWx1ZSwgTU9OVEgpXG4gICAgICAgIDogdmFsdWUuaXNTYW1lKGRhdGVWYWx1ZSwgREFZKSxcbiAgICApO1xuICB9XG5cbiAgbWF0Y2hUb2RheSh2YWx1ZTogRGF5anMpIHtcbiAgICByZXR1cm4gdmFsdWUuaXNTYW1lKGRheWpzKCksIGdldFR5cGVCeU5hdlJhbmdlKHRoaXMubmF2UmFuZ2UpKTtcbiAgfVxuXG4gIHNlbGVjdFZhbHVlKHZhbHVlOiBEYXlqcykge1xuICAgIHRoaXMuc2VsZWN0Lm5leHQodmFsdWUpO1xuICB9XG5cbiAgdHJhY2tCeUZuKCkge1xuICAgIHJldHVybiB0aGlzLm5hdlJhbmdlO1xuICB9XG59XG4iLCI8ZGl2XG4gIFtjbGFzc109XCJiZW0uZWxlbWVudCgnY29udGFpbmVyJylcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2RheS1wYW5lbC1jb250YWluZXInOiBuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLk1vbnRoLFxuICAgICdtb250aC1wYW5lbC1jb250YWluZXInOiBuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLlllYXIsXG4gICAgJ3llYXItcGFuZWwtY29udGFpbmVyJzogbmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGVcbiAgfVwiXG4+XG4gIDxkaXZcbiAgICBbY2xhc3NdPVwiW2JlbS5lbGVtZW50KCdyb3cnKSwgJ3dlZWstaGVhZGVyJ10uam9pbignICcpXCJcbiAgICAqbmdJZj1cIm5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuTW9udGhcIlxuICA+XG4gICAgPHNwYW5cbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIHdlZWtEZWZzXCJcbiAgICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnY2VsbCcpXCJcbiAgICA+XG4gICAgICB7eyBpdGVtIHwgYXVpSTE4biB9fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ3JvdycpXCJcbiAgICAqbmdGb3I9XCJsZXQgcm93IG9mIHBhbmVsRGF0YTsgdHJhY2tCeTogdHJhY2tCeUZuXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiByb3c7IHRyYWNrQnk6IHRyYWNrQnlGblwiXG4gICAgICBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2NlbGwnKVwiXG4gICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgIGluUmFuZ2U6IGl0ZW0uaW5SYW5nZSAmJiAhaXRlbS5pc0Rpc2FibGVkLFxuICAgICAgICBpc0FjdGl2ZTogbWF0Y2goaXRlbS52YWx1ZSksXG4gICAgICAgIGlzQmFja2dyb3VuZDogaXRlbS5pc0JhY2tncm91bmQgJiYgIWl0ZW0uaXNEaXNhYmxlZCxcbiAgICAgICAgaXNSYW5nZVN0YXJ0OiBpdGVtLmlzUmFuZ2VTdGFydCxcbiAgICAgICAgaXNSYW5nZUVuZDogaXRlbS5pc1JhbmdlRW5kLFxuICAgICAgICBpc1RvZGF5OiBtYXRjaFRvZGF5KGl0ZW0udmFsdWUpICYmICFpdGVtLmlzQmFja2dyb3VuZCxcbiAgICAgICAgaXNEaXNhYmxlZDogaXRlbS5pc0Rpc2FibGVkXG4gICAgICB9XCJcbiAgICAgID48YnV0dG9uXG4gICAgICAgIGF1aS1idXR0b249XCJ0ZXh0XCJcbiAgICAgICAgW3BsYWluXT1cInRydWVcIlxuICAgICAgICBbc2l6ZV09XCJuYXZSYW5nZSA9PT0gRGF0ZU5hdlJhbmdlLk1vbnRoID8gJ21pbmknIDogJ3NtYWxsJ1wiXG4gICAgICAgIFtkaXNhYmxlZF09XCJpdGVtLmlzRGlzYWJsZWRcIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0VmFsdWUoaXRlbS52YWx1ZSlcIlxuICAgICAgICAobW91c2VlbnRlcik9XCJob3ZlcmVkLm5leHQoaXRlbS52YWx1ZSlcIlxuICAgICAgPlxuICAgICAgICB7eyBpdGVtLmxhYmVsXG4gICAgICAgIH19PG5nLWNvbnRhaW5lciAqbmdJZj1cIm5hdlJhbmdlID09PSBEYXRlTmF2UmFuZ2UuWWVhclwiPnt7XG4gICAgICAgICAgJ21vbnRoX3N1ZmZpeCcgfCBhdWlJMThuXG4gICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -166,15 +166,15 @@ export class DateRangePickerPanelComponent extends CommonFormControl {
166
166
  }
167
167
  }
168
168
  }
169
- DateRangePickerPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateRangePickerPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
170
- DateRangePickerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: DateRangePickerPanelComponent, selector: "aui-date-range-picker-panel", inputs: { clearable: "clearable", clearText: "clearText", showTime: "showTime", showFooter: "showFooter", disabledDate: "disabledDate", disabledTime: "disabledTime", weekStartDay: "weekStartDay", minDate: "minDate", maxDate: "maxDate" }, outputs: { clear: "clear", confirm: "confirm" }, providers: [
169
+ DateRangePickerPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DateRangePickerPanelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
170
+ DateRangePickerPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DateRangePickerPanelComponent, selector: "aui-date-range-picker-panel", inputs: { clearable: "clearable", clearText: "clearText", showTime: "showTime", showFooter: "showFooter", disabledDate: "disabledDate", disabledTime: "disabledTime", weekStartDay: "weekStartDay", minDate: "minDate", maxDate: "maxDate" }, outputs: { clear: "clear", confirm: "confirm" }, providers: [
171
171
  {
172
172
  provide: NG_VALUE_ACCESSOR,
173
173
  useExisting: forwardRef(() => DateRangePickerPanelComponent),
174
174
  multi: true,
175
175
  },
176
- ], usesInheritance: true, ngImport: i0, template: "<div [class]=\"bem.element('container')\">\n <div [class]=\"bem.element('header')\">\n <aui-calendar-header\n [dateNavRange]=\"leftDateRange\"\n [anchor]=\"leftAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Left)\"\n (anchorChange)=\"leftAnchor = $event\"\n [maxAvail]=\"maxHeaderAvail\"\n [minAvail]=\"minDate\"\n ></aui-calendar-header>\n <aui-calendar-header\n [dateNavRange]=\"rightDateRange\"\n [anchor]=\"rightAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Right)\"\n (anchorChange)=\"rightAnchor = $event\"\n [minAvail]=\"minHeaderAvail\"\n [maxAvail]=\"maxDate\"\n ></aui-calendar-header>\n </div>\n <div [class]=\"bem.element('body')\">\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"leftDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"leftAnchor\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Left, rightAnchor)\"\n [weekStartDay]=\"weekStartDay\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Left)\"\n ></aui-picker-panel>\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"rightDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"rightAnchor\"\n [weekStartDay]=\"weekStartDay\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Right, leftAnchor)\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Right)\"\n ></aui-picker-panel>\n </div>\n\n <aui-calendar-footer\n [class]=\"bem.element('footer')\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue(rangeValue)\"\n *ngIf=\"showFooter && showTime\"\n >\n <div [class]=\"bem.element('footer-content')\" *ngIf=\"showTime\">\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'start_date' | auiI18n,\n value: rangeValue[0]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n [(ngModel)]=\"startTime\"\n size=\"small\"\n (ngModelChange)=\"timeChange($event)\"\n [disableHours]=\"leftDisabledTimeFn(rangeValue[0], 'hours')\"\n [disableMinutes]=\"leftDisabledTimeFn(rangeValue[0], 'minutes')\"\n [disableSeconds]=\"leftDisabledTimeFn(rangeValue[0], 'seconds')\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n\n <span class=\"placeholder separator\">{{ 'to' | auiI18n }}</span>\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'end_date' | auiI18n,\n value: rangeValue[1]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"endTime\"\n [disableHours]=\"rightDisabledTimeFn(rangeValue[1], 'hours')\"\n [disableMinutes]=\"rightDisabledTimeFn(rangeValue[1], 'minutes')\"\n [disableSeconds]=\"rightDisabledTimeFn(rangeValue[1], 'seconds')\"\n (ngModelChange)=\"timeChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n </div>\n </aui-calendar-footer>\n</div>\n\n<ng-template #datePlaceholder let-placeholder=\"placeholder\" let-value=\"value\">\n <span *ngIf=\"!value\" class=\"placeholder date-holder\">{{ placeholder }}</span>\n <span *ngIf=\"value\" class=\"date-value date-holder\">{{\n value | date: FOOTER_DATE_FORMAT\n }}</span>\n</ng-template>\n", styles: [".aui-date-range-picker-panel__container{display:flex;flex-direction:column;width:524px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-range-picker-panel__container .placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-date-range-picker-panel__container .placeholder.separator{margin-inline:12px}.aui-date-range-picker-panel__container .date-value{color:rgb(var(--aui-color-main-text))}.aui-date-range-picker-panel__container .date-holder{display:inline-block;margin-right:8px;width:82px}.aui-date-range-picker-panel__container .panel__wrapper{width:246px;display:flex;justify-content:center}.aui-date-range-picker-panel__header{display:flex;justify-content:space-between}.aui-date-range-picker-panel__header aui-calendar-header{flex:0 0 246px}.aui-date-range-picker-panel__body{display:flex;justify-content:space-between;margin:16px 0}.aui-date-range-picker-panel__footer .aui-time-picker{width:88px}.aui-date-range-picker-panel__footer-content{display:flex;align-items:center;height:100%}\n"], components: [{ type: i1.CalendarHeaderComponent, selector: "aui-calendar-header", inputs: ["dateNavRange", "anchor", "maxAvail", "minAvail"], outputs: ["navRangeChange", "anchorChange"] }, { type: i2.PickerPanelComponent, selector: "aui-picker-panel", inputs: ["navRange", "type", "anchor", "matchDates", "disabledDate", "weekStartDay", "minDate", "maxDate"], outputs: ["select", "hovered"] }, { type: i3.CalendarFooterComponent, selector: "aui-calendar-footer", inputs: ["clearable", "clearText", "customAction"], outputs: ["confirm", "clear"] }, { type: i4.TimePickerComponent, selector: "aui-time-picker", inputs: ["format", "size", "placeholder", "clearable", "showIcon", "disableHours", "disableMinutes", "disableSeconds", "hourStep", "minuteStep", "secondStep", "footerTemplate"], outputs: ["open", "close"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "auiI18n": i7.I18nPipe, "date": i5.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: DateRangePickerPanelComponent, decorators: [{
176
+ ], usesInheritance: true, ngImport: i0, template: "<div [class]=\"bem.element('container')\">\n <div [class]=\"bem.element('header')\">\n <aui-calendar-header\n [dateNavRange]=\"leftDateRange\"\n [anchor]=\"leftAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Left)\"\n (anchorChange)=\"leftAnchor = $event\"\n [maxAvail]=\"maxHeaderAvail\"\n [minAvail]=\"minDate\"\n ></aui-calendar-header>\n <aui-calendar-header\n [dateNavRange]=\"rightDateRange\"\n [anchor]=\"rightAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Right)\"\n (anchorChange)=\"rightAnchor = $event\"\n [minAvail]=\"minHeaderAvail\"\n [maxAvail]=\"maxDate\"\n ></aui-calendar-header>\n </div>\n <div [class]=\"bem.element('body')\">\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"leftDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"leftAnchor\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Left, rightAnchor)\"\n [weekStartDay]=\"weekStartDay\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Left)\"\n ></aui-picker-panel>\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"rightDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"rightAnchor\"\n [weekStartDay]=\"weekStartDay\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Right, leftAnchor)\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Right)\"\n ></aui-picker-panel>\n </div>\n\n <aui-calendar-footer\n [class]=\"bem.element('footer')\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue(rangeValue)\"\n *ngIf=\"showFooter && showTime\"\n >\n <div\n [class]=\"bem.element('footer-content')\"\n *ngIf=\"showTime\"\n >\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'start_date' | auiI18n,\n value: rangeValue[0]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n [(ngModel)]=\"startTime\"\n size=\"small\"\n (ngModelChange)=\"timeChange($event)\"\n [disableHours]=\"leftDisabledTimeFn(rangeValue[0], 'hours')\"\n [disableMinutes]=\"leftDisabledTimeFn(rangeValue[0], 'minutes')\"\n [disableSeconds]=\"leftDisabledTimeFn(rangeValue[0], 'seconds')\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n\n <span class=\"placeholder separator\">{{ 'to' | auiI18n }}</span>\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'end_date' | auiI18n,\n value: rangeValue[1]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"endTime\"\n [disableHours]=\"rightDisabledTimeFn(rangeValue[1], 'hours')\"\n [disableMinutes]=\"rightDisabledTimeFn(rangeValue[1], 'minutes')\"\n [disableSeconds]=\"rightDisabledTimeFn(rangeValue[1], 'seconds')\"\n (ngModelChange)=\"timeChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n </div>\n </aui-calendar-footer>\n</div>\n\n<ng-template\n #datePlaceholder\n let-placeholder=\"placeholder\"\n let-value=\"value\"\n>\n <span\n *ngIf=\"!value\"\n class=\"placeholder date-holder\"\n >{{ placeholder }}</span\n >\n <span\n *ngIf=\"value\"\n class=\"date-value date-holder\"\n >{{ value | date: FOOTER_DATE_FORMAT }}</span\n >\n</ng-template>\n", styles: [".aui-date-range-picker-panel__container{display:flex;flex-direction:column;width:524px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-range-picker-panel__container .placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-date-range-picker-panel__container .placeholder.separator{margin-inline:12px}.aui-date-range-picker-panel__container .date-value{color:rgb(var(--aui-color-main-text))}.aui-date-range-picker-panel__container .date-holder{display:inline-block;margin-right:8px;width:82px}.aui-date-range-picker-panel__container .panel__wrapper{width:246px;display:flex;justify-content:center}.aui-date-range-picker-panel__header{display:flex;justify-content:space-between}.aui-date-range-picker-panel__header aui-calendar-header{flex:0 0 246px}.aui-date-range-picker-panel__body{display:flex;justify-content:space-between;margin:16px 0}.aui-date-range-picker-panel__footer .aui-time-picker{width:88px}.aui-date-range-picker-panel__footer-content{display:flex;align-items:center;height:100%}\n"], components: [{ type: i1.CalendarHeaderComponent, selector: "aui-calendar-header", inputs: ["dateNavRange", "anchor", "maxAvail", "minAvail"], outputs: ["navRangeChange", "anchorChange"] }, { type: i2.PickerPanelComponent, selector: "aui-picker-panel", inputs: ["navRange", "type", "anchor", "matchDates", "disabledDate", "weekStartDay", "minDate", "maxDate"], outputs: ["select", "hovered"] }, { type: i3.CalendarFooterComponent, selector: "aui-calendar-footer", inputs: ["clearable", "clearText", "customAction"], outputs: ["confirm", "clear"] }, { type: i4.TimePickerComponent, selector: "aui-time-picker", inputs: ["format", "size", "placeholder", "clearable", "showIcon", "disableHours", "disableMinutes", "disableSeconds", "hourStep", "minuteStep", "secondStep", "footerTemplate"], outputs: ["open", "close"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "auiI18n": i7.I18nPipe, "date": i5.DatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DateRangePickerPanelComponent, decorators: [{
178
178
  type: Component,
179
179
  args: [{ selector: 'aui-date-range-picker-panel', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
180
180
  {
@@ -182,7 +182,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
182
182
  useExisting: forwardRef(() => DateRangePickerPanelComponent),
183
183
  multi: true,
184
184
  },
185
- ], template: "<div [class]=\"bem.element('container')\">\n <div [class]=\"bem.element('header')\">\n <aui-calendar-header\n [dateNavRange]=\"leftDateRange\"\n [anchor]=\"leftAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Left)\"\n (anchorChange)=\"leftAnchor = $event\"\n [maxAvail]=\"maxHeaderAvail\"\n [minAvail]=\"minDate\"\n ></aui-calendar-header>\n <aui-calendar-header\n [dateNavRange]=\"rightDateRange\"\n [anchor]=\"rightAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Right)\"\n (anchorChange)=\"rightAnchor = $event\"\n [minAvail]=\"minHeaderAvail\"\n [maxAvail]=\"maxDate\"\n ></aui-calendar-header>\n </div>\n <div [class]=\"bem.element('body')\">\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"leftDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"leftAnchor\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Left, rightAnchor)\"\n [weekStartDay]=\"weekStartDay\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Left)\"\n ></aui-picker-panel>\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"rightDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"rightAnchor\"\n [weekStartDay]=\"weekStartDay\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Right, leftAnchor)\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Right)\"\n ></aui-picker-panel>\n </div>\n\n <aui-calendar-footer\n [class]=\"bem.element('footer')\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue(rangeValue)\"\n *ngIf=\"showFooter && showTime\"\n >\n <div [class]=\"bem.element('footer-content')\" *ngIf=\"showTime\">\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'start_date' | auiI18n,\n value: rangeValue[0]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n [(ngModel)]=\"startTime\"\n size=\"small\"\n (ngModelChange)=\"timeChange($event)\"\n [disableHours]=\"leftDisabledTimeFn(rangeValue[0], 'hours')\"\n [disableMinutes]=\"leftDisabledTimeFn(rangeValue[0], 'minutes')\"\n [disableSeconds]=\"leftDisabledTimeFn(rangeValue[0], 'seconds')\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n\n <span class=\"placeholder separator\">{{ 'to' | auiI18n }}</span>\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'end_date' | auiI18n,\n value: rangeValue[1]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"endTime\"\n [disableHours]=\"rightDisabledTimeFn(rangeValue[1], 'hours')\"\n [disableMinutes]=\"rightDisabledTimeFn(rangeValue[1], 'minutes')\"\n [disableSeconds]=\"rightDisabledTimeFn(rangeValue[1], 'seconds')\"\n (ngModelChange)=\"timeChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n </div>\n </aui-calendar-footer>\n</div>\n\n<ng-template #datePlaceholder let-placeholder=\"placeholder\" let-value=\"value\">\n <span *ngIf=\"!value\" class=\"placeholder date-holder\">{{ placeholder }}</span>\n <span *ngIf=\"value\" class=\"date-value date-holder\">{{\n value | date: FOOTER_DATE_FORMAT\n }}</span>\n</ng-template>\n", styles: [".aui-date-range-picker-panel__container{display:flex;flex-direction:column;width:524px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-range-picker-panel__container .placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-date-range-picker-panel__container .placeholder.separator{margin-inline:12px}.aui-date-range-picker-panel__container .date-value{color:rgb(var(--aui-color-main-text))}.aui-date-range-picker-panel__container .date-holder{display:inline-block;margin-right:8px;width:82px}.aui-date-range-picker-panel__container .panel__wrapper{width:246px;display:flex;justify-content:center}.aui-date-range-picker-panel__header{display:flex;justify-content:space-between}.aui-date-range-picker-panel__header aui-calendar-header{flex:0 0 246px}.aui-date-range-picker-panel__body{display:flex;justify-content:space-between;margin:16px 0}.aui-date-range-picker-panel__footer .aui-time-picker{width:88px}.aui-date-range-picker-panel__footer-content{display:flex;align-items:center;height:100%}\n"] }]
185
+ ], template: "<div [class]=\"bem.element('container')\">\n <div [class]=\"bem.element('header')\">\n <aui-calendar-header\n [dateNavRange]=\"leftDateRange\"\n [anchor]=\"leftAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Left)\"\n (anchorChange)=\"leftAnchor = $event\"\n [maxAvail]=\"maxHeaderAvail\"\n [minAvail]=\"minDate\"\n ></aui-calendar-header>\n <aui-calendar-header\n [dateNavRange]=\"rightDateRange\"\n [anchor]=\"rightAnchor\"\n (navRangeChange)=\"calendarRangeChange($event, Side.Right)\"\n (anchorChange)=\"rightAnchor = $event\"\n [minAvail]=\"minHeaderAvail\"\n [maxAvail]=\"maxDate\"\n ></aui-calendar-header>\n </div>\n <div [class]=\"bem.element('body')\">\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"leftDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"leftAnchor\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Left, rightAnchor)\"\n [weekStartDay]=\"weekStartDay\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Left)\"\n ></aui-picker-panel>\n <aui-picker-panel\n class=\"panel__wrapper\"\n [navRange]=\"rightDateRange\"\n [type]=\"DatePickerType.Day\"\n [anchor]=\"rightAnchor\"\n [weekStartDay]=\"weekStartDay\"\n [matchDates]=\"matchValues\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [disabledDate]=\"getDateDisabledFn(Side.Right, leftAnchor)\"\n (hovered)=\"hoverItem($event)\"\n (select)=\"selectPickerPanel($event, Side.Right)\"\n ></aui-picker-panel>\n </div>\n\n <aui-calendar-footer\n [class]=\"bem.element('footer')\"\n [clearable]=\"clearable\"\n [clearText]=\"clearText\"\n (clear)=\"clear.next()\"\n (confirm)=\"confirmValue(rangeValue)\"\n *ngIf=\"showFooter && showTime\"\n >\n <div\n [class]=\"bem.element('footer-content')\"\n *ngIf=\"showTime\"\n >\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'start_date' | auiI18n,\n value: rangeValue[0]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n [(ngModel)]=\"startTime\"\n size=\"small\"\n (ngModelChange)=\"timeChange($event)\"\n [disableHours]=\"leftDisabledTimeFn(rangeValue[0], 'hours')\"\n [disableMinutes]=\"leftDisabledTimeFn(rangeValue[0], 'minutes')\"\n [disableSeconds]=\"leftDisabledTimeFn(rangeValue[0], 'seconds')\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n\n <span class=\"placeholder separator\">{{ 'to' | auiI18n }}</span>\n <ng-container\n [ngTemplateOutlet]=\"datePlaceholder\"\n [ngTemplateOutletContext]=\"{\n placeholder: 'end_date' | auiI18n,\n value: rangeValue[1]\n }\"\n ></ng-container>\n <aui-time-picker\n [showIcon]=\"false\"\n size=\"small\"\n [(ngModel)]=\"endTime\"\n [disableHours]=\"rightDisabledTimeFn(rangeValue[1], 'hours')\"\n [disableMinutes]=\"rightDisabledTimeFn(rangeValue[1], 'minutes')\"\n [disableSeconds]=\"rightDisabledTimeFn(rangeValue[1], 'seconds')\"\n (ngModelChange)=\"timeChange($event)\"\n [placeholder]=\"'select_time' | auiI18n\"\n tooltipPosition=\"top start\"\n ></aui-time-picker>\n </div>\n </aui-calendar-footer>\n</div>\n\n<ng-template\n #datePlaceholder\n let-placeholder=\"placeholder\"\n let-value=\"value\"\n>\n <span\n *ngIf=\"!value\"\n class=\"placeholder date-holder\"\n >{{ placeholder }}</span\n >\n <span\n *ngIf=\"value\"\n class=\"date-value date-holder\"\n >{{ value | date: FOOTER_DATE_FORMAT }}</span\n >\n</ng-template>\n", styles: [".aui-date-range-picker-panel__container{display:flex;flex-direction:column;width:524px;font-size:var(--aui-font-size-m);line-height:var(--aui-line-height-m)}.aui-date-range-picker-panel__container .placeholder{color:rgb(var(--aui-color-placeholder-text))}.aui-date-range-picker-panel__container .placeholder.separator{margin-inline:12px}.aui-date-range-picker-panel__container .date-value{color:rgb(var(--aui-color-main-text))}.aui-date-range-picker-panel__container .date-holder{display:inline-block;margin-right:8px;width:82px}.aui-date-range-picker-panel__container .panel__wrapper{width:246px;display:flex;justify-content:center}.aui-date-range-picker-panel__header{display:flex;justify-content:space-between}.aui-date-range-picker-panel__header aui-calendar-header{flex:0 0 246px}.aui-date-range-picker-panel__body{display:flex;justify-content:space-between;margin:16px 0}.aui-date-range-picker-panel__footer .aui-time-picker{width:88px}.aui-date-range-picker-panel__footer-content{display:flex;align-items:center;height:100%}\n"] }]
186
186
  }], propDecorators: { clearable: [{
187
187
  type: Input
188
188
  }], clearText: [{
@@ -206,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImpor
206
206
  }], confirm: [{
207
207
  type: Output
208
208
  }] } });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL3JhbmdlLXBpY2tlci1wYW5lbC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvY2FsZW5kYXIvcmFuZ2UtcGlja2VyLXBhbmVsL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFrQixJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YscUJBQXFCLEdBQ3RCLE1BQU0sU0FBUyxDQUFDOzs7Ozs7Ozs7QUFFakIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFnQnBELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxpQkFBMEI7SUFkN0U7O1FBZ0JFLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFNakIsYUFBUSxHQUFHLElB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VUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkQ7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7OzBIQXhOVSw2QkFBNkI7OEdBQTdCLDZCQUE2QixxVkFSN0I7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztZQUM1RCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsaURDM0NILDQwSEF5R0E7MkZENURhLDZCQUE2QjtrQkFkekMsU0FBUzsrQkFDRSw2QkFBNkIsaUJBR3hCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsOEJBQThCLENBQUM7NEJBQzVELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUlELFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLEtBQUs7c0JBREosTUFBTTtnQkFJUCxPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xuXG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL2Zvcm0vY29tbW9uLWZvcm0nO1xuaW1wb3J0IHsgVGltZVBpY2tlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IERhdGVOYXZSYW5nZSwgRGlzYWJsZWRUaW1lRm4sIFNpZGUgfSBmcm9tICcuLi8uLi9kYXRlLXBpY2tlci50eXBlJztcbmltcG9ydCB7IERhdGVQaWNrZXJUeXBlLCBNT05USCwgWUVBUiB9IGZyb20gJy4uL2NvbnN0YW50JztcbmltcG9ydCB7XG4gIGNvbXBvc2VEaXNhYmxlZERhdGVGbixcbiAgZ2V0VGltZVBpY2tlck1vZGVsLFxuICBnZXRUeXBlQnlOYXZSYW5nZSxcbiAgbWF4RGF0ZSxcbiAgbWluRGF0ZSxcbiAgbmV4dE5hdlJhbmdlVHlwZSxcbiAgc29ydERhdGVzLFxuICB1cGRhdGVEYXRlLFxuICB1cGRhdGVEYXRlQnlUaW1lTW9kZWwsXG59IGZyb20gJy4uL3V0aWwnO1xuXG5jb25zdCBiZW0gPSBidWlsZEJlbSgnYXVpLWRhdGUtcmFuZ2UtcGlja2VyLXBhbmVsJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1kYXRlLXJhbmdlLXBpY2tlci1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCBleHRlbmRzIENvbW1vbkZvcm1Db250cm9sPERheWpzW10+IHtcbiAgQElucHV0KClcbiAgY2xlYXJhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBjbGVhclRleHQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzaG93VGltZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2hvd0Zvb3RlciA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWREYXRlOiAoZGF0ZTogRGF5anMsIG5hdlJhbmdlOiBEYXRlTmF2UmFuZ2UpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZFRpbWU6IHsgbGVmdDogRGlzYWJsZWRUaW1lRm47IHJpZ2h0OiBEaXNhYmxlZFRpbWVGbiB9ID0ge1xuICAgIGxlZnQ6ICgpID0+IG51bGwsXG4gICAgcmlnaHQ6ICgpID0+IG51bGwsXG4gIH07XG5cbiAgQElucHV0KClcbiAgd2Vla1N0YXJ0RGF5ID0gMDtcblxuICBASW5wdXQoKVxuICBtaW5EYXRlOiBEYXlqcztcblxuICBASW5wdXQoKVxuICBtYXhEYXRlOiBEYXlqcztcblxuICBAT3V0cHV0KClcbiAgY2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGNvbmZpcm0gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgYmVtID0gYmVtO1xuICBTaWRlID0gU2lkZTtcbiAgRGF0ZVBpY2tlclR5cGUgPSBEYXRlUGlja2VyVHlwZTtcbiAgbGVmdERhdGVSYW5nZSA9IERhdGVOYXZSYW5nZS5Nb250aDtcbiAgcmlnaHREYXRlUmFuZ2UgPSBEYXRlTmF2UmFuZ2UuTW9udGg7XG5cbiAgRk9PVEVSX0RBVEVfRk9STUFUID0gJ1lZWVktTU0tZGQnO1xuXG4gIGxlZnRBbmNob3IgPSBkYXlqcygpO1xuICByaWdodEFuY2hvciA9IGRheWpzKCkuYWRkKDEsIE1PTlRIKTtcblxuICBnZXQgbWF4SGVhZGVyQXZhaWwoKSB7XG4gICAgcmV0dXJuIG1pbkRhdGUodGhpcy5yaWdodEFuY2hvciwgdGhpcy5tYXhEYXRlKTtcbiAgfVxuXG4gIGdldCBtaW5IZWFkZXJBdmFpbCgpIHtcbiAgICByZXR1cm4gbWF4RGF0ZSh0aGlzLm1pbkRhdGUsIHRoaXMubGVmdEFuY2hvcik7XG4gIH1cblxuICAvLyDnlKjkuo7lrZjmlL4gcmFuZ2UgZGF0YSDluo/liJfvvIzmlbDph4/kuLogMiDml7bmuIXpmaRcbiAgcmFuZ2VWYWx1ZTogRGF5anNbXSA9IFtdO1xuXG4gIC8vIOeUqOS6jue7hOijheWMuemFjeaXpeacn+W6j+WIl1xuICBtYXRjaFZhbHVlczogRGF5anNbXTtcblxuICBzdGFydFRpbWU6IFRpbWVQaWNrZXJNb2RlbDtcbiAgZW5kVGltZTogVGltZVBpY2tlck1vZGVsO1xuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUob2JqOiBEYXlqc1tdKSB7XG4gICAgc3VwZXIud3JpdGVWYWx1ZShvYmopO1xuICAgIHRoaXMucmFuZ2VWYWx1ZSA9IG9iaiB8fCBbXTtcbiAgICB0aGlzLm1hdGNoVmFsdWVzID0gWy4uLnRoaXMucmFuZ2VWYWx1ZV07XG4gICAgdGhpcy5zdGFydFRpbWUgPSBnZXRUaW1lUGlja2VyTW9kZWwob2JqPy5bMF0pO1xuICAgIHRoaXMuZW5kVGltZSA9IGdldFRpbWVQaWNrZXJNb2RlbChvYmo/LlsxXSk7XG4gICAgaWYgKG9iaj8ubGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLnJlb3JkZXIoc29ydERhdGVzKG9iaikpO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGNhbGVuZGFyUmFuZ2VDaGFuZ2UodHlwZTogRGF0ZU5hdlJhbmdlLCBzaWRlOiBTaWRlKSB7XG4gICAgaWYgKHNpZGUgPT09IFNpZGUuTGVmdCkge1xuICAgICAgdGhpcy5sZWZ0RGF0ZVJhbmdlID0gdHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yaWdodERhdGVSYW5nZSA9IHR5cGU7XG4gICAgfVxuICB9XG5cbiAgLy8gcmFuZ2Ug57uE5Lu26IyD5Zu05Y+X5o6nXG4gIGdldERhdGVEaXNhYmxlZEZuKHNpZGU6IFNpZGUsIGNvbnN0cmFpblZhbHVlOiBEYXlqcykge1xuICAgIHJldHVybiBjb21wb3NlRGlzYWJsZWREYXRlRm4oKGRhdGU6IERheWpzLCBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlKSA9PiB7XG4gICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGVbc2lkZSA9PT0gU2lkZS5MZWZ0ID8gJ2lzQWZ0ZXInIDogJ2lzQmVmb3JlJ10oXG4gICAgICAgICAgY29uc3RyYWluVmFsdWUsXG4gICAgICAgICAgWUVBUixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhZGF0ZVtzaWRlID09PSBTaWRlLkxlZnQgPyAnaXNCZWZvcmUnIDogJ2lzQWZ0ZXInXShcbiAgICAgICAgY29uc3RyYWluVmFsdWUsXG4gICAgICAgIE1PTlRILFxuICAgICAgKTtcbiAgICB9LCB0aGlzLmRpc2FibGVkRGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldERpc2FibGVkVGltZUNhY2hlZEZuKHNpZGU6IFNpZGUpIHtcbiAgICBsZXQgY2FjaGVTZWxlY3RlZERhdGU6IERheWpzO1xuICAgIGxldCBjYWNoZURpc2FibGVkVGltZUZuOiBSZXR1cm5UeXBlPERpc2FibGVkVGltZUZuPjtcbiAgICByZXR1cm4gKHZhbHVlOiBEYXlqcywga2V5OiBrZXlvZiBSZXR1cm5UeXBlPERpc2FibGVkVGltZUZuPikgPT4ge1xuICAgICAgaWYgKHZhbHVlICE9PSBjYWNoZVNlbGVjdGVkRGF0ZSkge1xuICAgICAgICBjYWNoZURpc2FibGVkVGltZUZuID0gKHRoaXMuZGlzYWJsZWRUaW1lPy5bc2lkZV0gfHwgKCgpID0+IG51bGwpKShcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgKTtcbiAgICAgICAgY2FjaGVTZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWNoZURpc2FibGVkVGltZUZuPy5ba2V5XTtcbiAgICB9O1xuICB9XG5cbiAgbGVmdERpc2FibGVkVGltZUZuID0gdGhpcy5nZXREaXNhYmxlZFRpbWVDYWNoZWRGbihTaWRlLkxlZnQpO1xuICByaWdodERpc2FibGVkVGltZUZuID0gdGhpcy5nZXREaXNhYmxlZFRpbWVDYWNoZWRGbihTaWRlLlJpZ2h0KTtcblxuICBzZWxlY3RQaWNrZXJQYW5lbCh2YWx1ZTogRGF5anMsIHNpZGU6IFNpZGUpIHtcbiAgICBjb25zdCBuYXZSYW5nZSA9XG4gICAgICBzaWRlID09PSBTaWRlLkxlZnQgPyB0aGlzLmxlZnREYXRlUmFuZ2UgOiB0aGlzLnJpZ2h0RGF0ZVJhbmdlO1xuICAgIGNvbnN0IHR5cGUgPSBnZXRUeXBlQnlOYXZSYW5nZShuYXZSYW5nZSk7XG4gICAgY29uc3QgZGF0ZVZhbHVlID0gdXBkYXRlRGF0ZShcbiAgICAgIHNpZGUgPT09IFNpZGUuTGVmdCA/IHRoaXMubGVmdEFuY2hvciA6IHRoaXMucmlnaHRBbmNob3IsXG4gICAgICB2YWx1ZSxcbiAgICAgIHR5cGUsXG4gICAgKTtcbiAgICBjb25zdCBuZXh0UmFuZ2UgPSBuZXh0TmF2UmFuZ2VUeXBlKG5hdlJhbmdlLCBEYXRlTmF2UmFuZ2UuTW9udGgpO1xuXG4gICAgaWYgKHNpZGUgPT09IFNpZGUuTGVmdCkge1xuICAgICAgdGhpcy5sZWZ0QW5jaG9yID0gZGF0ZVZhbHVlO1xuICAgICAgdGhpcy5sZWZ0RGF0ZVJhbmdlID0gbmV4dFJhbmdlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJpZ2h0QW5jaG9yID0gZGF0ZVZhbHVlO1xuICAgICAgdGhpcy5yaWdodERhdGVSYW5nZSA9IG5leHRSYW5nZTtcbiAgICB9XG5cbiAgICBpZiAobmF2UmFuZ2UgIT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxlZnRBbmNob3IuaXNTYW1lKHRoaXMucmlnaHRBbmNob3IsIE1PTlRIKSkge1xuICAgICAgdGhpcy5yaWdodEFuY2hvciA9IHRoaXMucmlnaHRBbmNob3IuYWRkKDEsIE1PTlRIKTtcbiAgICB9XG5cbiAgICB0aGlzLnJhbmdlVmFsdWUgPVxuICAgICAgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA9PT0gMlxuICAgICAgICA/IFtkYXRlVmFsdWVdXG4gICAgICAgIDogc29ydERhdGVzKFsuLi50aGlzLnJhbmdlVmFsdWUsIGRhdGVWYWx1ZV0pO1xuICAgIHRoaXMubWF0Y2hWYWx1ZXMgPSBbLi4udGhpcy5yYW5nZVZhbHVlXTtcbiAgICB0aGlzLnN5bmNUaW1lKCk7XG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPT09IDIpIHtcbiAgICAgIHRoaXMucmVvcmRlcih0aGlzLnJhbmdlVmFsdWUpO1xuICAgICAgdGhpcy5jb25maXJtVmFsdWUodGhpcy5yYW5nZVZhbHVlLCAhdGhpcy5zaG93VGltZSk7XG4gICAgfVxuICB9XG5cbiAgcmVvcmRlcihzb3J0ZWREYXRlOiBEYXlqc1tdKSB7XG4gICAgaWYgKCFzb3J0ZWREYXRlWzBdLmlzU2FtZShzb3J0ZWREYXRlWzFdLCBNT05USCkpIHtcbiAgICAgIHRoaXMubGVmdEFuY2hvciA9IHVwZGF0ZURhdGUoXG4gICAgICAgIHRoaXMubGVmdEFuY2hvcixcbiAgICAgICAgc29ydGVkRGF0ZVswXSxcbiAgICAgICAgRGF0ZVBpY2tlclR5cGUuRGF5LFxuICAgICAgKTtcbiAgICAgIHRoaXMucmlnaHRBbmNob3IgPSB1cGRhdGVEYXRlKFxuICAgICAgICB0aGlzLmxlZnRBbmNob3IsXG4gICAgICAgIHNvcnRlZERhdGVbMV0sXG4gICAgICAgIERhdGVQaWNrZXJUeXBlLkRheSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaG92ZXJJdGVtKGRhdGU6IERheWpzKSB7XG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMubWF0Y2hWYWx1ZXNbMV0gPSBkYXRlO1xuICAgIH1cbiAgfVxuXG4gIGNvbmZpcm1WYWx1ZSh2YWx1ZTogRGF5anNbXSwgY2xvc2VUaGVuID0gdHJ1ZSkge1xuICAgIHRoaXMuZW1pdFZhbHVlKHZhbHVlKTtcbiAgICBjbG9zZVRoZW4gJiYgdGhpcy5jb25maXJtLm5leHQoKTtcbiAgfVxuXG4gIHRpbWVDaGFuZ2UodGltZTogVGltZVBpY2tlck1vZGVsKSB7XG4gICAgaWYgKCF0aW1lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3luY1RpbWUoKTtcbiAgICBpZiAoIXRoaXMucmFuZ2VWYWx1ZT8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBkYXRlID0gdXBkYXRlRGF0ZUJ5VGltZU1vZGVsKGRheWpzKCksIHRpbWUpO1xuICAgICAgdGhpcy5yYW5nZVZhbHVlID0gW2RhdGUsIGRhdGVdO1xuICAgICAgdGhpcy5tYXRjaFZhbHVlcyA9IFsuLi50aGlzLnJhbmdlVmFsdWVdO1xuICAgICAgdGhpcy5zdGFydFRpbWUgPSB0aGlzLmVuZFRpbWUgPSB0aW1lO1xuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZSh0aGlzLnJhbmdlVmFsdWUpO1xuICB9XG5cbiAgc3luY1RpbWUoKSB7XG4gICAgaWYgKHRoaXMuc2hvd1RpbWUgJiYgISF0aGlzLnJhbmdlVmFsdWU/Lmxlbmd0aCkge1xuICAgICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5yYW5nZVZhbHVlWzBdXG4gICAgICAgID8gdXBkYXRlRGF0ZUJ5VGltZU1vZGVsKHRoaXMucmFuZ2VWYWx1ZVswXSwgdGhpcy5zdGFydFRpbWUpXG4gICAgICAgIDogbnVsbDtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLnJhbmdlVmFsdWVbMV1cbiAgICAgICAgPyB1cGRhdGVEYXRlQnlUaW1lTW9kZWwodGhpcy5yYW5nZVZhbHVlWzFdLCB0aGlzLmVuZFRpbWUpXG4gICAgICAgIDogbnVsbDtcbiAgICAgIGlmICghdGhpcy5zdGFydFRpbWUgJiYgc3RhcnREYXRlKSB7XG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gZ2V0VGltZVBpY2tlck1vZGVsKHRoaXMucmFuZ2VWYWx1ZVswXSk7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMuZW5kVGltZSAmJiBlbmREYXRlKSB7XG4gICAgICAgIHRoaXMuZW5kVGltZSA9IGdldFRpbWVQaWNrZXJNb2RlbCh0aGlzLnJhbmdlVmFsdWVbMV0pO1xuICAgICAgfVxuICAgICAgdGhpcy5yYW5nZVZhbHVlID0gW3N0YXJ0RGF0ZSwgZW5kRGF0ZV0uZmlsdGVyKGkgPT4gISFpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb250YWluZXInKVwiPlxuICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnaGVhZGVyJylcIj5cbiAgICA8YXVpLWNhbGVuZGFyLWhlYWRlclxuICAgICAgW2RhdGVOYXZSYW5nZV09XCJsZWZ0RGF0ZVJhbmdlXCJcbiAgICAgIFthbmNob3JdPVwibGVmdEFuY2hvclwiXG4gICAgICAobmF2UmFuZ2VDaGFuZ2UpPVwiY2FsZW5kYXJSYW5nZUNoYW5nZSgkZXZlbnQsIFNpZGUuTGVmdClcIlxuICAgICAgKGFuY2hvckNoYW5nZSk9XCJsZWZ0QW5jaG9yID0gJGV2ZW50XCJcbiAgICAgIFttYXhBdmFpbF09XCJtYXhIZWFkZXJBdmFpbFwiXG4gICAgICBbbWluQXZhaWxdPVwibWluRGF0ZVwiXG4gICAgPjwvYXVpLWNhbGVuZGFyLWhlYWRlcj5cbiAgICA8YXVpLWNhbGVuZGFyLWhlYWRlclxuICAgICAgW2RhdGVOYXZSYW5nZV09XCJyaWdodERhdGVSYW5nZVwiXG4gICAgICBbYW5jaG9yXT1cInJpZ2h0QW5jaG9yXCJcbiAgICAgIChuYXZSYW5nZUNoYW5nZSk9XCJjYWxlbmRhclJhbmdlQ2hhbmdlKCRldmVudCwgU2lkZS5SaWdodClcIlxuICAgICAgKGFuY2hvckNoYW5nZSk9XCJyaWdodEFuY2hvciA9ICRldmVudFwiXG4gICAgICBbbWluQXZhaWxdPVwibWluSGVhZGVyQXZhaWxcIlxuICAgICAgW21heEF2YWlsXT1cIm1heERhdGVcIlxuICAgID48L2F1aS1jYWxlbmRhci1oZWFkZXI+XG4gIDwvZGl2PlxuICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnYm9keScpXCI+XG4gICAgPGF1aS1waWNrZXItcGFuZWxcbiAgICAgIGNsYXNzPVwicGFuZWxfX3dyYXBwZXJcIlxuICAgICAgW25hdlJhbmdlXT1cImxlZnREYXRlUmFuZ2VcIlxuICAgICAgW3R5cGVdPVwiRGF0ZVBpY2tlclR5cGUuRGF5XCJcbiAgICAgIFthbmNob3JdPVwibGVmdEFuY2hvclwiXG4gICAgICBbbWF0Y2hEYXRlc109XCJtYXRjaFZhbHVlc1wiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW2Rpc2FibGVkRGF0ZV09XCJnZXREYXRlRGlzYWJsZWRGbihTaWRlLkxlZnQsIHJpZ2h0QW5jaG9yKVwiXG4gICAgICBbd2Vla1N0YXJ0RGF5XT1cIndlZWtTdGFydERheVwiXG4gICAgICAoaG92ZXJlZCk9XCJob3Zlckl0ZW0oJGV2ZW50KVwiXG4gICAgICAoc2VsZWN0KT1cInNlbGVjdFBpY2tlclBhbmVsKCRldmVudCwgU2lkZS5MZWZ0KVwiXG4gICAgPjwvYXVpLXBpY2tlci1wYW5lbD5cbiAgICA8YXVpLXBpY2tlci1wYW5lbFxuICAgICAgY2xhc3M9XCJwYW5lbF9fd3JhcHBlclwiXG4gICAgICBbbmF2UmFuZ2VdPVwicmlnaHREYXRlUmFuZ2VcIlxuICAgICAgW3R5cGVdPVwiRGF0ZVBpY2tlclR5cGUuRGF5XCJcbiAgICAgIFthbmNob3JdPVwicmlnaHRBbmNob3JcIlxuICAgICAgW3dlZWtTdGFydERheV09XCJ3ZWVrU3RhcnREYXlcIlxuICAgICAgW21hdGNoRGF0ZXNdPVwibWF0Y2hWYWx1ZXNcIlxuICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgIFtkaXNhYmxlZERhdGVdPVwiZ2V0RGF0ZURpc2FibGVkRm4oU2lkZS5SaWdodCwgbGVmdEFuY2hvcilcIlxuICAgICAgKGhvdmVyZWQpPVwiaG92ZXJJdGVtKCRldmVudClcIlxuICAgICAgKHNlbGVjdCk9XCJzZWxlY3RQaWNrZXJQYW5lbCgkZXZlbnQsIFNpZGUuUmlnaHQpXCJcbiAgICA+PC9hdWktcGlja2VyLXBhbmVsPlxuICA8L2Rpdj5cblxuICA8YXVpLWNhbGVuZGFyLWZvb3RlclxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnZm9vdGVyJylcIlxuICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcbiAgICBbY2xlYXJUZXh0XT1cImNsZWFyVGV4dFwiXG4gICAgKGNsZWFyKT1cImNsZWFyLm5leHQoKVwiXG4gICAgKGNvbmZpcm0pPVwiY29uZmlybVZhbHVlKHJhbmdlVmFsdWUpXCJcbiAgICAqbmdJZj1cInNob3dGb290ZXIgJiYgc2hvd1RpbWVcIlxuICA+XG4gICAgPGRpdiBbY2xhc3NdPVwiYmVtLmVsZW1lbnQoJ2Zvb3Rlci1jb250ZW50JylcIiAqbmdJZj1cInNob3dUaW1lXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRhdGVQbGFjZWhvbGRlclwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgcGxhY2Vob2xkZXI6ICdzdGFydF9kYXRlJyB8IGF1aUkxOG4sXG4gICAgICAgICAgdmFsdWU6IHJhbmdlVmFsdWVbMF1cbiAgICAgICAgfVwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8YXVpLXRpbWUtcGlja2VyXG4gICAgICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwic3RhcnRUaW1lXCJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidGltZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgW2Rpc2FibGVIb3Vyc109XCJsZWZ0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVswXSwgJ2hvdXJzJylcIlxuICAgICAgICBbZGlzYWJsZU1pbnV0ZXNdPVwibGVmdERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMF0sICdtaW51dGVzJylcIlxuICAgICAgICBbZGlzYWJsZVNlY29uZHNdPVwibGVmdERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMF0sICdzZWNvbmRzJylcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdF90aW1lJyB8IGF1aUkxOG5cIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3Agc3RhcnRcIlxuICAgICAgPjwvYXVpLXRpbWUtcGlja2VyPlxuXG4gICAgICA8c3BhbiBjbGFzcz1cInBsYWNlaG9sZGVyIHNlcGFyYXRvclwiPnt7ICd0bycgfCBhdWlJMThuIH19PC9zcGFuPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJkYXRlUGxhY2Vob2xkZXJcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICAgIHBsYWNlaG9sZGVyOiAnZW5kX2RhdGUnIHwgYXVpSTE4bixcbiAgICAgICAgICB2YWx1ZTogcmFuZ2VWYWx1ZVsxXVxuICAgICAgICB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxhdWktdGltZS1waWNrZXJcbiAgICAgICAgW3Nob3dJY29uXT1cImZhbHNlXCJcbiAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJlbmRUaW1lXCJcbiAgICAgICAgW2Rpc2FibGVIb3Vyc109XCJyaWdodERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMV0sICdob3VycycpXCJcbiAgICAgICAgW2Rpc2FibGVNaW51dGVzXT1cInJpZ2h0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVsxXSwgJ21pbnV0ZXMnKVwiXG4gICAgICAgIFtkaXNhYmxlU2Vjb25kc109XCJyaWdodERpc2FibGVkVGltZUZuKHJhbmdlVmFsdWVbMV0sICdzZWNvbmRzJylcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0aW1lQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdF90aW1lJyB8IGF1aUkxOG5cIlxuICAgICAgICB0b29sdGlwUG9zaXRpb249XCJ0b3Agc3RhcnRcIlxuICAgICAgPjwvYXVpLXRpbWUtcGlja2VyPlxuICAgIDwvZGl2PlxuICA8L2F1aS1jYWxlbmRhci1mb290ZXI+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNkYXRlUGxhY2Vob2xkZXIgbGV0LXBsYWNlaG9sZGVyPVwicGxhY2Vob2xkZXJcIiBsZXQtdmFsdWU9XCJ2YWx1ZVwiPlxuICA8c3BhbiAqbmdJZj1cIiF2YWx1ZVwiIGNsYXNzPVwicGxhY2Vob2xkZXIgZGF0ZS1ob2xkZXJcIj57eyBwbGFjZWhvbGRlciB9fTwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJ2YWx1ZVwiIGNsYXNzPVwiZGF0ZS12YWx1ZSBkYXRlLWhvbGRlclwiPnt7XG4gICAgdmFsdWUgfCBkYXRlOiBGT09URVJfREFURV9GT1JNQVRcbiAgfX08L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuIl19
209
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2RhdGUtcGlja2VyL2NhbGVuZGFyL3JhbmdlLXBpY2tlci1wYW5lbC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvZGF0ZS1waWNrZXIvY2FsZW5kYXIvcmFuZ2UtcGlja2VyLXBhbmVsL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEVBQ2pCLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRCxPQUFPLEtBQWdCLE1BQU0sT0FBTyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTlELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFrQixJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUQsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLE9BQU8sRUFDUCxPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxVQUFVLEVBQ1YscUJBQXFCLEdBQ3RCLE1BQU0sU0FBUyxDQUFDOzs7Ozs7Ozs7QUFFakIsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLDZCQUE2QixDQUFDLENBQUM7QUFnQnBELE1BQU0sT0FBTyw2QkFBOEIsU0FBUSxpQkFBMEI7SUFkN0U7O1FBZ0JFLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFNakIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUdoQixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBR2xCLGlCQUFZLEdBQXFELEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUc3RSxpQkFBWSxHQUFvRDtZQUM5RCxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtZQUNoQixLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTtTQUNsQixDQUFDO1FBR0YsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFTakIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHakMsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFbkMsUUFBRyxHQUFHLEdBQUcsQ0FBQztRQUNWLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxrQkFBYSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDbkMsbUJBQWMsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBRXBDLHVCQUFrQixHQUFHLFlBQVksQ0FBQztRQUVsQyxlQUFVLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDckIsZ0JBQVcsR0FBRyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBVXBDLCtCQUErQjtRQUMvQixlQUFVLEdBQVksRUFBRSxDQUFDO1FBNkR6Qix1QkFBa0IsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdELHdCQUFtQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7S0FrR2hFO0lBektDLElBQUksY0FBYztRQUNoQixPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFXUSxVQUFVLENBQUMsR0FBWTtRQUM5QixLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QyxJQUFJLEdBQUcsRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDOUI7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxJQUFrQixFQUFFLElBQVU7UUFDaEQsSUFBSSxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztTQUMzQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsZUFBZTtJQUNmLGlCQUFpQixDQUFDLElBQVUsRUFBRSxjQUFxQjtRQUNqRCxPQUFPLHFCQUFxQixDQUFDLENBQUMsSUFBVyxFQUFFLFFBQXNCLEVBQUUsRUFBRTtZQUNuRSxJQUFJLFFBQVEsS0FBSyxZQUFZLENBQUMsS0FBSyxFQUFFO2dCQUNuQyxPQUFPLEtBQUssQ0FBQzthQUNkO1lBQ0QsSUFBSSxRQUFRLEtBQUssWUFBWSxDQUFDLE1BQU0sRUFBRTtnQkFDcEMsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ3RELGNBQWMsRUFDZCxJQUFJLENBQ0wsQ0FBQzthQUNIO1lBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FDdkQsY0FBYyxFQUNkLEtBQUssQ0FDTixDQUFDO1FBQ0osQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU8sdUJBQXVCLENBQUMsSUFBVTtRQUN4QyxJQUFJLGlCQUF3QixDQUFDO1FBQzdCLElBQUksbUJBQStDLENBQUM7UUFDcEQsT0FBTyxDQUFDLEtBQVksRUFBRSxHQUFxQyxFQUFFLEVBQUU7WUFDN0QsSUFBSSxLQUFLLEtBQUssaUJBQWlCLEVBQUU7Z0JBQy9CLG1CQUFtQixHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDL0QsS0FBSyxDQUNOLENBQUM7Z0JBQ0YsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO2FBQzNCO1lBQ0QsT0FBTyxtQkFBbUIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFLRCxpQkFBaUIsQ0FBQyxLQUFZLEVBQUUsSUFBVTtRQUN4QyxNQUFNLFFBQVEsR0FDWixJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNoRSxNQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN6QyxNQUFNLFNBQVMsR0FBRyxVQUFVLENBQzFCLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUN2RCxLQUFLLEVBQ0wsSUFBSSxDQUNMLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpFLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7U0FDaEM7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxRQUFRLEtBQUssWUFBWSxDQUFDLEtBQUssRUFBRTtZQUNuQyxPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDbkQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDbkQ7UUFFRCxJQUFJLENBQUMsVUFBVTtZQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQzFCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDYixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUM5QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDcEQ7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLFVBQW1CO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FDMUIsSUFBSSxDQUFDLFVBQVUsRUFDZixVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQ2IsY0FBYyxDQUFDLEdBQUcsQ0FDbkIsQ0FBQztZQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUMzQixJQUFJLENBQUMsVUFBVSxFQUNmLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFDYixjQUFjLENBQUMsR0FBRyxDQUNuQixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVc7UUFDbkIsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWMsRUFBRSxTQUFTLEdBQUcsSUFBSTtRQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBcUI7UUFDOUIsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUU7WUFDNUIsTUFBTSxJQUFJLEdBQUcscUJBQXFCLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUN0QztRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRTtZQUM5QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDM0QsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNULE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUNoQyxDQUFDLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUN6RCxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxFQUFFO2dCQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN6RDtZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLE9BQU8sRUFBRTtnQkFDNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkQ7WUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7OzBIQXhOVSw2QkFBNkI7OEdBQTdCLDZCQUE2QixxVkFSN0I7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztZQUM1RCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsaURDM0NILDI0SEFzSEE7MkZEekVhLDZCQUE2QjtrQkFkekMsU0FBUzsrQkFDRSw2QkFBNkIsaUJBR3hCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsOEJBQThCLENBQUM7NEJBQzVELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQUlELFNBQVM7c0JBRFIsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixZQUFZO3NCQURYLEtBQUs7Z0JBSU4sWUFBWTtzQkFEWCxLQUFLO2dCQU9OLFlBQVk7c0JBRFgsS0FBSztnQkFJTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sT0FBTztzQkFETixLQUFLO2dCQUlOLEtBQUs7c0JBREosTUFBTTtnQkFJUCxPQUFPO3NCQUROLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBmb3J3YXJkUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xuXG5pbXBvcnQgeyBDb21tb25Gb3JtQ29udHJvbCB9IGZyb20gJy4uLy4uLy4uL2Zvcm0vY29tbW9uLWZvcm0nO1xuaW1wb3J0IHsgVGltZVBpY2tlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIudHlwZSc7XG5pbXBvcnQgeyBidWlsZEJlbSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IERhdGVOYXZSYW5nZSwgRGlzYWJsZWRUaW1lRm4sIFNpZGUgfSBmcm9tICcuLi8uLi9kYXRlLXBpY2tlci50eXBlJztcbmltcG9ydCB7IERhdGVQaWNrZXJUeXBlLCBNT05USCwgWUVBUiB9IGZyb20gJy4uL2NvbnN0YW50JztcbmltcG9ydCB7XG4gIGNvbXBvc2VEaXNhYmxlZERhdGVGbixcbiAgZ2V0VGltZVBpY2tlck1vZGVsLFxuICBnZXRUeXBlQnlOYXZSYW5nZSxcbiAgbWF4RGF0ZSxcbiAgbWluRGF0ZSxcbiAgbmV4dE5hdlJhbmdlVHlwZSxcbiAgc29ydERhdGVzLFxuICB1cGRhdGVEYXRlLFxuICB1cGRhdGVEYXRlQnlUaW1lTW9kZWwsXG59IGZyb20gJy4uL3V0aWwnO1xuXG5jb25zdCBiZW0gPSBidWlsZEJlbSgnYXVpLWRhdGUtcmFuZ2UtcGlja2VyLXBhbmVsJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F1aS1kYXRlLXJhbmdlLXBpY2tlci1wYW5lbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZW1wbGF0ZS5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlUmFuZ2VQaWNrZXJQYW5lbENvbXBvbmVudCBleHRlbmRzIENvbW1vbkZvcm1Db250cm9sPERheWpzW10+IHtcbiAgQElucHV0KClcbiAgY2xlYXJhYmxlID0gdHJ1ZTtcblxuICBASW5wdXQoKVxuICBjbGVhclRleHQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBzaG93VGltZSA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2hvd0Zvb3RlciA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgZGlzYWJsZWREYXRlOiAoZGF0ZTogRGF5anMsIG5hdlJhbmdlOiBEYXRlTmF2UmFuZ2UpID0+IGJvb2xlYW4gPSAoKSA9PiBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkaXNhYmxlZFRpbWU6IHsgbGVmdDogRGlzYWJsZWRUaW1lRm47IHJpZ2h0OiBEaXNhYmxlZFRpbWVGbiB9ID0ge1xuICAgIGxlZnQ6ICgpID0+IG51bGwsXG4gICAgcmlnaHQ6ICgpID0+IG51bGwsXG4gIH07XG5cbiAgQElucHV0KClcbiAgd2Vla1N0YXJ0RGF5ID0gMDtcblxuICBASW5wdXQoKVxuICBtaW5EYXRlOiBEYXlqcztcblxuICBASW5wdXQoKVxuICBtYXhEYXRlOiBEYXlqcztcblxuICBAT3V0cHV0KClcbiAgY2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGNvbmZpcm0gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgYmVtID0gYmVtO1xuICBTaWRlID0gU2lkZTtcbiAgRGF0ZVBpY2tlclR5cGUgPSBEYXRlUGlja2VyVHlwZTtcbiAgbGVmdERhdGVSYW5nZSA9IERhdGVOYXZSYW5nZS5Nb250aDtcbiAgcmlnaHREYXRlUmFuZ2UgPSBEYXRlTmF2UmFuZ2UuTW9udGg7XG5cbiAgRk9PVEVSX0RBVEVfRk9STUFUID0gJ1lZWVktTU0tZGQnO1xuXG4gIGxlZnRBbmNob3IgPSBkYXlqcygpO1xuICByaWdodEFuY2hvciA9IGRheWpzKCkuYWRkKDEsIE1PTlRIKTtcblxuICBnZXQgbWF4SGVhZGVyQXZhaWwoKSB7XG4gICAgcmV0dXJuIG1pbkRhdGUodGhpcy5yaWdodEFuY2hvciwgdGhpcy5tYXhEYXRlKTtcbiAgfVxuXG4gIGdldCBtaW5IZWFkZXJBdmFpbCgpIHtcbiAgICByZXR1cm4gbWF4RGF0ZSh0aGlzLm1pbkRhdGUsIHRoaXMubGVmdEFuY2hvcik7XG4gIH1cblxuICAvLyDnlKjkuo7lrZjmlL4gcmFuZ2UgZGF0YSDluo/liJfvvIzmlbDph4/kuLogMiDml7bmuIXpmaRcbiAgcmFuZ2VWYWx1ZTogRGF5anNbXSA9IFtdO1xuXG4gIC8vIOeUqOS6jue7hOijheWMuemFjeaXpeacn+W6j+WIl1xuICBtYXRjaFZhbHVlczogRGF5anNbXTtcblxuICBzdGFydFRpbWU6IFRpbWVQaWNrZXJNb2RlbDtcbiAgZW5kVGltZTogVGltZVBpY2tlck1vZGVsO1xuXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUob2JqOiBEYXlqc1tdKSB7XG4gICAgc3VwZXIud3JpdGVWYWx1ZShvYmopO1xuICAgIHRoaXMucmFuZ2VWYWx1ZSA9IG9iaiB8fCBbXTtcbiAgICB0aGlzLm1hdGNoVmFsdWVzID0gWy4uLnRoaXMucmFuZ2VWYWx1ZV07XG4gICAgdGhpcy5zdGFydFRpbWUgPSBnZXRUaW1lUGlja2VyTW9kZWwob2JqPy5bMF0pO1xuICAgIHRoaXMuZW5kVGltZSA9IGdldFRpbWVQaWNrZXJNb2RlbChvYmo/LlsxXSk7XG4gICAgaWYgKG9iaj8ubGVuZ3RoID09PSAyKSB7XG4gICAgICB0aGlzLnJlb3JkZXIoc29ydERhdGVzKG9iaikpO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIGNhbGVuZGFyUmFuZ2VDaGFuZ2UodHlwZTogRGF0ZU5hdlJhbmdlLCBzaWRlOiBTaWRlKSB7XG4gICAgaWYgKHNpZGUgPT09IFNpZGUuTGVmdCkge1xuICAgICAgdGhpcy5sZWZ0RGF0ZVJhbmdlID0gdHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yaWdodERhdGVSYW5nZSA9IHR5cGU7XG4gICAgfVxuICB9XG5cbiAgLy8gcmFuZ2Ug57uE5Lu26IyD5Zu05Y+X5o6nXG4gIGdldERhdGVEaXNhYmxlZEZuKHNpZGU6IFNpZGUsIGNvbnN0cmFpblZhbHVlOiBEYXlqcykge1xuICAgIHJldHVybiBjb21wb3NlRGlzYWJsZWREYXRlRm4oKGRhdGU6IERheWpzLCBuYXZSYW5nZTogRGF0ZU5hdlJhbmdlKSA9PiB7XG4gICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAobmF2UmFuZ2UgPT09IERhdGVOYXZSYW5nZS5EZWNhZGUpIHtcbiAgICAgICAgcmV0dXJuIGRhdGVbc2lkZSA9PT0gU2lkZS5MZWZ0ID8gJ2lzQWZ0ZXInIDogJ2lzQmVmb3JlJ10oXG4gICAgICAgICAgY29uc3RyYWluVmFsdWUsXG4gICAgICAgICAgWUVBUixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAhZGF0ZVtzaWRlID09PSBTaWRlLkxlZnQgPyAnaXNCZWZvcmUnIDogJ2lzQWZ0ZXInXShcbiAgICAgICAgY29uc3RyYWluVmFsdWUsXG4gICAgICAgIE1PTlRILFxuICAgICAgKTtcbiAgICB9LCB0aGlzLmRpc2FibGVkRGF0ZSk7XG4gIH1cblxuICBwcml2YXRlIGdldERpc2FibGVkVGltZUNhY2hlZEZuKHNpZGU6IFNpZGUpIHtcbiAgICBsZXQgY2FjaGVTZWxlY3RlZERhdGU6IERheWpzO1xuICAgIGxldCBjYWNoZURpc2FibGVkVGltZUZuOiBSZXR1cm5UeXBlPERpc2FibGVkVGltZUZuPjtcbiAgICByZXR1cm4gKHZhbHVlOiBEYXlqcywga2V5OiBrZXlvZiBSZXR1cm5UeXBlPERpc2FibGVkVGltZUZuPikgPT4ge1xuICAgICAgaWYgKHZhbHVlICE9PSBjYWNoZVNlbGVjdGVkRGF0ZSkge1xuICAgICAgICBjYWNoZURpc2FibGVkVGltZUZuID0gKHRoaXMuZGlzYWJsZWRUaW1lPy5bc2lkZV0gfHwgKCgpID0+IG51bGwpKShcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgKTtcbiAgICAgICAgY2FjaGVTZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWNoZURpc2FibGVkVGltZUZuPy5ba2V5XTtcbiAgICB9O1xuICB9XG5cbiAgbGVmdERpc2FibGVkVGltZUZuID0gdGhpcy5nZXREaXNhYmxlZFRpbWVDYWNoZWRGbihTaWRlLkxlZnQpO1xuICByaWdodERpc2FibGVkVGltZUZuID0gdGhpcy5nZXREaXNhYmxlZFRpbWVDYWNoZWRGbihTaWRlLlJpZ2h0KTtcblxuICBzZWxlY3RQaWNrZXJQYW5lbCh2YWx1ZTogRGF5anMsIHNpZGU6IFNpZGUpIHtcbiAgICBjb25zdCBuYXZSYW5nZSA9XG4gICAgICBzaWRlID09PSBTaWRlLkxlZnQgPyB0aGlzLmxlZnREYXRlUmFuZ2UgOiB0aGlzLnJpZ2h0RGF0ZVJhbmdlO1xuICAgIGNvbnN0IHR5cGUgPSBnZXRUeXBlQnlOYXZSYW5nZShuYXZSYW5nZSk7XG4gICAgY29uc3QgZGF0ZVZhbHVlID0gdXBkYXRlRGF0ZShcbiAgICAgIHNpZGUgPT09IFNpZGUuTGVmdCA/IHRoaXMubGVmdEFuY2hvciA6IHRoaXMucmlnaHRBbmNob3IsXG4gICAgICB2YWx1ZSxcbiAgICAgIHR5cGUsXG4gICAgKTtcbiAgICBjb25zdCBuZXh0UmFuZ2UgPSBuZXh0TmF2UmFuZ2VUeXBlKG5hdlJhbmdlLCBEYXRlTmF2UmFuZ2UuTW9udGgpO1xuXG4gICAgaWYgKHNpZGUgPT09IFNpZGUuTGVmdCkge1xuICAgICAgdGhpcy5sZWZ0QW5jaG9yID0gZGF0ZVZhbHVlO1xuICAgICAgdGhpcy5sZWZ0RGF0ZVJhbmdlID0gbmV4dFJhbmdlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJpZ2h0QW5jaG9yID0gZGF0ZVZhbHVlO1xuICAgICAgdGhpcy5yaWdodERhdGVSYW5nZSA9IG5leHRSYW5nZTtcbiAgICB9XG5cbiAgICBpZiAobmF2UmFuZ2UgIT09IERhdGVOYXZSYW5nZS5Nb250aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmxlZnRBbmNob3IuaXNTYW1lKHRoaXMucmlnaHRBbmNob3IsIE1PTlRIKSkge1xuICAgICAgdGhpcy5yaWdodEFuY2hvciA9IHRoaXMucmlnaHRBbmNob3IuYWRkKDEsIE1PTlRIKTtcbiAgICB9XG5cbiAgICB0aGlzLnJhbmdlVmFsdWUgPVxuICAgICAgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA9PT0gMlxuICAgICAgICA/IFtkYXRlVmFsdWVdXG4gICAgICAgIDogc29ydERhdGVzKFsuLi50aGlzLnJhbmdlVmFsdWUsIGRhdGVWYWx1ZV0pO1xuICAgIHRoaXMubWF0Y2hWYWx1ZXMgPSBbLi4udGhpcy5yYW5nZVZhbHVlXTtcbiAgICB0aGlzLnN5bmNUaW1lKCk7XG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPT09IDIpIHtcbiAgICAgIHRoaXMucmVvcmRlcih0aGlzLnJhbmdlVmFsdWUpO1xuICAgICAgdGhpcy5jb25maXJtVmFsdWUodGhpcy5yYW5nZVZhbHVlLCAhdGhpcy5zaG93VGltZSk7XG4gICAgfVxuICB9XG5cbiAgcmVvcmRlcihzb3J0ZWREYXRlOiBEYXlqc1tdKSB7XG4gICAgaWYgKCFzb3J0ZWREYXRlWzBdLmlzU2FtZShzb3J0ZWREYXRlWzFdLCBNT05USCkpIHtcbiAgICAgIHRoaXMubGVmdEFuY2hvciA9IHVwZGF0ZURhdGUoXG4gICAgICAgIHRoaXMubGVmdEFuY2hvcixcbiAgICAgICAgc29ydGVkRGF0ZVswXSxcbiAgICAgICAgRGF0ZVBpY2tlclR5cGUuRGF5LFxuICAgICAgKTtcbiAgICAgIHRoaXMucmlnaHRBbmNob3IgPSB1cGRhdGVEYXRlKFxuICAgICAgICB0aGlzLmxlZnRBbmNob3IsXG4gICAgICAgIHNvcnRlZERhdGVbMV0sXG4gICAgICAgIERhdGVQaWNrZXJUeXBlLkRheSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaG92ZXJJdGVtKGRhdGU6IERheWpzKSB7XG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMubWF0Y2hWYWx1ZXNbMV0gPSBkYXRlO1xuICAgIH1cbiAgfVxuXG4gIGNvbmZpcm1WYWx1ZSh2YWx1ZTogRGF5anNbXSwgY2xvc2VUaGVuID0gdHJ1ZSkge1xuICAgIHRoaXMuZW1pdFZhbHVlKHZhbHVlKTtcbiAgICBjbG9zZVRoZW4gJiYgdGhpcy5jb25maXJtLm5leHQoKTtcbiAgfVxuXG4gIHRpbWVDaGFuZ2UodGltZTogVGltZVBpY2tlck1vZGVsKSB7XG4gICAgaWYgKCF0aW1lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc3luY1RpbWUoKTtcbiAgICBpZiAoIXRoaXMucmFuZ2VWYWx1ZT8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBkYXRlID0gdXBkYXRlRGF0ZUJ5VGltZU1vZGVsKGRheWpzKCksIHRpbWUpO1xuICAgICAgdGhpcy5yYW5nZVZhbHVlID0gW2RhdGUsIGRhdGVdO1xuICAgICAgdGhpcy5tYXRjaFZhbHVlcyA9IFsuLi50aGlzLnJhbmdlVmFsdWVdO1xuICAgICAgdGhpcy5zdGFydFRpbWUgPSB0aGlzLmVuZFRpbWUgPSB0aW1lO1xuICAgIH1cbiAgICB0aGlzLmVtaXRWYWx1ZSh0aGlzLnJhbmdlVmFsdWUpO1xuICB9XG5cbiAgc3luY1RpbWUoKSB7XG4gICAgaWYgKHRoaXMuc2hvd1RpbWUgJiYgISF0aGlzLnJhbmdlVmFsdWU/Lmxlbmd0aCkge1xuICAgICAgY29uc3Qgc3RhcnREYXRlID0gdGhpcy5yYW5nZVZhbHVlWzBdXG4gICAgICAgID8gdXBkYXRlRGF0ZUJ5VGltZU1vZGVsKHRoaXMucmFuZ2VWYWx1ZVswXSwgdGhpcy5zdGFydFRpbWUpXG4gICAgICAgIDogbnVsbDtcbiAgICAgIGNvbnN0IGVuZERhdGUgPSB0aGlzLnJhbmdlVmFsdWVbMV1cbiAgICAgICAgPyB1cGRhdGVEYXRlQnlUaW1lTW9kZWwodGhpcy5yYW5nZVZhbHVlWzFdLCB0aGlzLmVuZFRpbWUpXG4gICAgICAgIDogbnVsbDtcbiAgICAgIGlmICghdGhpcy5zdGFydFRpbWUgJiYgc3RhcnREYXRlKSB7XG4gICAgICAgIHRoaXMuc3RhcnRUaW1lID0gZ2V0VGltZVBpY2tlck1vZGVsKHRoaXMucmFuZ2VWYWx1ZVswXSk7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMuZW5kVGltZSAmJiBlbmREYXRlKSB7XG4gICAgICAgIHRoaXMuZW5kVGltZSA9IGdldFRpbWVQaWNrZXJNb2RlbCh0aGlzLnJhbmdlVmFsdWVbMV0pO1xuICAgICAgfVxuICAgICAgdGhpcy5yYW5nZVZhbHVlID0gW3N0YXJ0RGF0ZSwgZW5kRGF0ZV0uZmlsdGVyKGkgPT4gISFpKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdjb250YWluZXInKVwiPlxuICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnaGVhZGVyJylcIj5cbiAgICA8YXVpLWNhbGVuZGFyLWhlYWRlclxuICAgICAgW2RhdGVOYXZSYW5nZV09XCJsZWZ0RGF0ZVJhbmdlXCJcbiAgICAgIFthbmNob3JdPVwibGVmdEFuY2hvclwiXG4gICAgICAobmF2UmFuZ2VDaGFuZ2UpPVwiY2FsZW5kYXJSYW5nZUNoYW5nZSgkZXZlbnQsIFNpZGUuTGVmdClcIlxuICAgICAgKGFuY2hvckNoYW5nZSk9XCJsZWZ0QW5jaG9yID0gJGV2ZW50XCJcbiAgICAgIFttYXhBdmFpbF09XCJtYXhIZWFkZXJBdmFpbFwiXG4gICAgICBbbWluQXZhaWxdPVwibWluRGF0ZVwiXG4gICAgPjwvYXVpLWNhbGVuZGFyLWhlYWRlcj5cbiAgICA8YXVpLWNhbGVuZGFyLWhlYWRlclxuICAgICAgW2RhdGVOYXZSYW5nZV09XCJyaWdodERhdGVSYW5nZVwiXG4gICAgICBbYW5jaG9yXT1cInJpZ2h0QW5jaG9yXCJcbiAgICAgIChuYXZSYW5nZUNoYW5nZSk9XCJjYWxlbmRhclJhbmdlQ2hhbmdlKCRldmVudCwgU2lkZS5SaWdodClcIlxuICAgICAgKGFuY2hvckNoYW5nZSk9XCJyaWdodEFuY2hvciA9ICRldmVudFwiXG4gICAgICBbbWluQXZhaWxdPVwibWluSGVhZGVyQXZhaWxcIlxuICAgICAgW21heEF2YWlsXT1cIm1heERhdGVcIlxuICAgID48L2F1aS1jYWxlbmRhci1oZWFkZXI+XG4gIDwvZGl2PlxuICA8ZGl2IFtjbGFzc109XCJiZW0uZWxlbWVudCgnYm9keScpXCI+XG4gICAgPGF1aS1waWNrZXItcGFuZWxcbiAgICAgIGNsYXNzPVwicGFuZWxfX3dyYXBwZXJcIlxuICAgICAgW25hdlJhbmdlXT1cImxlZnREYXRlUmFuZ2VcIlxuICAgICAgW3R5cGVdPVwiRGF0ZVBpY2tlclR5cGUuRGF5XCJcbiAgICAgIFthbmNob3JdPVwibGVmdEFuY2hvclwiXG4gICAgICBbbWF0Y2hEYXRlc109XCJtYXRjaFZhbHVlc1wiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgICAgW2Rpc2FibGVkRGF0ZV09XCJnZXREYXRlRGlzYWJsZWRGbihTaWRlLkxlZnQsIHJpZ2h0QW5jaG9yKVwiXG4gICAgICBbd2Vla1N0YXJ0RGF5XT1cIndlZWtTdGFydERheVwiXG4gICAgICAoaG92ZXJlZCk9XCJob3Zlckl0ZW0oJGV2ZW50KVwiXG4gICAgICAoc2VsZWN0KT1cInNlbGVjdFBpY2tlclBhbmVsKCRldmVudCwgU2lkZS5MZWZ0KVwiXG4gICAgPjwvYXVpLXBpY2tlci1wYW5lbD5cbiAgICA8YXVpLXBpY2tlci1wYW5lbFxuICAgICAgY2xhc3M9XCJwYW5lbF9fd3JhcHBlclwiXG4gICAgICBbbmF2UmFuZ2VdPVwicmlnaHREYXRlUmFuZ2VcIlxuICAgICAgW3R5cGVdPVwiRGF0ZVBpY2tlclR5cGUuRGF5XCJcbiAgICAgIFthbmNob3JdPVwicmlnaHRBbmNob3JcIlxuICAgICAgW3dlZWtTdGFydERheV09XCJ3ZWVrU3RhcnREYXlcIlxuICAgICAgW21hdGNoRGF0ZXNdPVwibWF0Y2hWYWx1ZXNcIlxuICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAgIFtkaXNhYmxlZERhdGVdPVwiZ2V0RGF0ZURpc2FibGVkRm4oU2lkZS5SaWdodCwgbGVmdEFuY2hvcilcIlxuICAgICAgKGhvdmVyZWQpPVwiaG92ZXJJdGVtKCRldmVudClcIlxuICAgICAgKHNlbGVjdCk9XCJzZWxlY3RQaWNrZXJQYW5lbCgkZXZlbnQsIFNpZGUuUmlnaHQpXCJcbiAgICA+PC9hdWktcGlja2VyLXBhbmVsPlxuICA8L2Rpdj5cblxuICA8YXVpLWNhbGVuZGFyLWZvb3RlclxuICAgIFtjbGFzc109XCJiZW0uZWxlbWVudCgnZm9vdGVyJylcIlxuICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcbiAgICBbY2xlYXJUZXh0XT1cImNsZWFyVGV4dFwiXG4gICAgKGNsZWFyKT1cImNsZWFyLm5leHQoKVwiXG4gICAgKGNvbmZpcm0pPVwiY29uZmlybVZhbHVlKHJhbmdlVmFsdWUpXCJcbiAgICAqbmdJZj1cInNob3dGb290ZXIgJiYgc2hvd1RpbWVcIlxuICA+XG4gICAgPGRpdlxuICAgICAgW2NsYXNzXT1cImJlbS5lbGVtZW50KCdmb290ZXItY29udGVudCcpXCJcbiAgICAgICpuZ0lmPVwic2hvd1RpbWVcIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiZGF0ZVBsYWNlaG9sZGVyXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgICBwbGFjZWhvbGRlcjogJ3N0YXJ0X2RhdGUnIHwgYXVpSTE4bixcbiAgICAgICAgICB2YWx1ZTogcmFuZ2VWYWx1ZVswXVxuICAgICAgICB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxhdWktdGltZS1waWNrZXJcbiAgICAgICAgW3Nob3dJY29uXT1cImZhbHNlXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzdGFydFRpbWVcIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJ0aW1lQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbZGlzYWJsZUhvdXJzXT1cImxlZnREaXNhYmxlZFRpbWVGbihyYW5nZVZhbHVlWzBdLCAnaG91cnMnKVwiXG4gICAgICAgIFtkaXNhYmxlTWludXRlc109XCJsZWZ0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVswXSwgJ21pbnV0ZXMnKVwiXG4gICAgICAgIFtkaXNhYmxlU2Vjb25kc109XCJsZWZ0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVswXSwgJ3NlY29uZHMnKVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VsZWN0X3RpbWUnIHwgYXVpSTE4blwiXG4gICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcCBzdGFydFwiXG4gICAgICA+PC9hdWktdGltZS1waWNrZXI+XG5cbiAgICAgIDxzcGFuIGNsYXNzPVwicGxhY2Vob2xkZXIgc2VwYXJhdG9yXCI+e3sgJ3RvJyB8IGF1aUkxOG4gfX08L3NwYW4+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImRhdGVQbGFjZWhvbGRlclwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgcGxhY2Vob2xkZXI6ICdlbmRfZGF0ZScgfCBhdWlJMThuLFxuICAgICAgICAgIHZhbHVlOiByYW5nZVZhbHVlWzFdXG4gICAgICAgIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPGF1aS10aW1lLXBpY2tlclxuICAgICAgICBbc2hvd0ljb25dPVwiZmFsc2VcIlxuICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImVuZFRpbWVcIlxuICAgICAgICBbZGlzYWJsZUhvdXJzXT1cInJpZ2h0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVsxXSwgJ2hvdXJzJylcIlxuICAgICAgICBbZGlzYWJsZU1pbnV0ZXNdPVwicmlnaHREaXNhYmxlZFRpbWVGbihyYW5nZVZhbHVlWzFdLCAnbWludXRlcycpXCJcbiAgICAgICAgW2Rpc2FibGVTZWNvbmRzXT1cInJpZ2h0RGlzYWJsZWRUaW1lRm4ocmFuZ2VWYWx1ZVsxXSwgJ3NlY29uZHMnKVwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRpbWVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VsZWN0X3RpbWUnIHwgYXVpSTE4blwiXG4gICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cInRvcCBzdGFydFwiXG4gICAgICA+PC9hdWktdGltZS1waWNrZXI+XG4gICAgPC9kaXY+XG4gIDwvYXVpLWNhbGVuZGFyLWZvb3Rlcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgI2RhdGVQbGFjZWhvbGRlclxuICBsZXQtcGxhY2Vob2xkZXI9XCJwbGFjZWhvbGRlclwiXG4gIGxldC12YWx1ZT1cInZhbHVlXCJcbj5cbiAgPHNwYW5cbiAgICAqbmdJZj1cIiF2YWx1ZVwiXG4gICAgY2xhc3M9XCJwbGFjZWhvbGRlciBkYXRlLWhvbGRlclwiXG4gICAgPnt7IHBsYWNlaG9sZGVyIH19PC9zcGFuXG4gID5cbiAgPHNwYW5cbiAgICAqbmdJZj1cInZhbHVlXCJcbiAgICBjbGFzcz1cImRhdGUtdmFsdWUgZGF0ZS1ob2xkZXJcIlxuICAgID57eyB2YWx1ZSB8IGRhdGU6IEZPT1RFUl9EQVRFX0ZPUk1BVCB9fTwvc3BhblxuICA+XG48L25nLXRlbXBsYXRlPlxuIl19