@ng-nest/ui 16.0.10 → 17.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (495) hide show
  1. package/README.md +1 -1
  2. package/date-picker/date-range.component.d.ts +1 -1
  3. package/dialog/dialog.property.d.ts +1 -1
  4. package/drawer/drawer.property.d.ts +1 -1
  5. package/esm2022/affix/affix.component.mjs +6 -7
  6. package/esm2022/affix/affix.module.mjs +6 -7
  7. package/esm2022/affix/affix.property.mjs +5 -6
  8. package/esm2022/alert/alert.component.mjs +6 -7
  9. package/esm2022/alert/alert.module.mjs +6 -7
  10. package/esm2022/alert/alert.property.mjs +5 -6
  11. package/esm2022/anchor/anchor-inner.component.mjs +5 -6
  12. package/esm2022/anchor/anchor.component.mjs +6 -7
  13. package/esm2022/anchor/anchor.module.mjs +6 -7
  14. package/esm2022/anchor/anchor.property.mjs +9 -11
  15. package/esm2022/api/api.component.mjs +6 -7
  16. package/esm2022/api/api.module.mjs +6 -7
  17. package/esm2022/auto-complete/auto-complete-portal.component.mjs +7 -8
  18. package/esm2022/auto-complete/auto-complete.component.mjs +7 -8
  19. package/esm2022/auto-complete/auto-complete.module.mjs +6 -7
  20. package/esm2022/auto-complete/auto-complete.property.mjs +5 -6
  21. package/esm2022/avatar/avatar-group.component.mjs +6 -7
  22. package/esm2022/avatar/avatar.component.mjs +6 -7
  23. package/esm2022/avatar/avatar.module.mjs +6 -7
  24. package/esm2022/avatar/avatar.property.mjs +9 -11
  25. package/esm2022/back-top/back-top.component.mjs +6 -7
  26. package/esm2022/back-top/back-top.module.mjs +6 -7
  27. package/esm2022/back-top/back-top.property.mjs +5 -6
  28. package/esm2022/badge/badge.component.mjs +6 -7
  29. package/esm2022/badge/badge.module.mjs +6 -7
  30. package/esm2022/badge/badge.property.mjs +5 -6
  31. package/esm2022/base-form/base-form.component.mjs +5 -6
  32. package/esm2022/base-form/base-form.module.mjs +6 -7
  33. package/esm2022/base-form/base-form.property.mjs +5 -6
  34. package/esm2022/border/border.component.mjs +6 -7
  35. package/esm2022/border/border.module.mjs +6 -7
  36. package/esm2022/button/button.component.mjs +7 -8
  37. package/esm2022/button/button.module.mjs +6 -7
  38. package/esm2022/button/button.property.mjs +9 -11
  39. package/esm2022/button/buttons.component.mjs +6 -7
  40. package/esm2022/calendar/calendar.component.mjs +6 -7
  41. package/esm2022/calendar/calendar.module.mjs +6 -7
  42. package/esm2022/calendar/calendar.property.mjs +5 -6
  43. package/esm2022/card/card.component.mjs +6 -7
  44. package/esm2022/card/card.module.mjs +6 -7
  45. package/esm2022/card/card.property.mjs +5 -6
  46. package/esm2022/carousel/carousel-panel.component.mjs +7 -8
  47. package/esm2022/carousel/carousel.component.mjs +6 -7
  48. package/esm2022/carousel/carousel.module.mjs +6 -7
  49. package/esm2022/carousel/carousel.property.mjs +9 -11
  50. package/esm2022/cascade/cascade-portal.component.mjs +6 -7
  51. package/esm2022/cascade/cascade.component.mjs +6 -7
  52. package/esm2022/cascade/cascade.module.mjs +6 -7
  53. package/esm2022/cascade/cascade.property.mjs +5 -6
  54. package/esm2022/checkbox/checkbox.component.mjs +6 -7
  55. package/esm2022/checkbox/checkbox.module.mjs +6 -7
  56. package/esm2022/checkbox/checkbox.property.mjs +5 -6
  57. package/esm2022/collapse/collapse-panel.component.mjs +7 -8
  58. package/esm2022/collapse/collapse.component.mjs +6 -7
  59. package/esm2022/collapse/collapse.module.mjs +6 -7
  60. package/esm2022/collapse/collapse.property.mjs +9 -11
  61. package/esm2022/color/color.component.mjs +6 -7
  62. package/esm2022/color/color.module.mjs +6 -7
  63. package/esm2022/color/color.property.mjs +5 -6
  64. package/esm2022/color-picker/color-picker-portal.component.mjs +7 -8
  65. package/esm2022/color-picker/color-picker.component.mjs +6 -7
  66. package/esm2022/color-picker/color-picker.module.mjs +6 -7
  67. package/esm2022/color-picker/color-picker.property.mjs +5 -6
  68. package/esm2022/comment/comment-reply.component.mjs +6 -7
  69. package/esm2022/comment/comment.component.mjs +6 -7
  70. package/esm2022/comment/comment.module.mjs +6 -7
  71. package/esm2022/comment/comment.property.mjs +9 -11
  72. package/esm2022/container/aside.component.mjs +6 -7
  73. package/esm2022/container/container.component.mjs +6 -7
  74. package/esm2022/container/container.module.mjs +6 -7
  75. package/esm2022/container/container.property.mjs +17 -21
  76. package/esm2022/container/footer.component.mjs +7 -8
  77. package/esm2022/container/header.component.mjs +7 -8
  78. package/esm2022/container/main.component.mjs +6 -7
  79. package/esm2022/core/config/config.service.mjs +6 -7
  80. package/esm2022/core/services/http.service.mjs +6 -7
  81. package/esm2022/core/services/preloading-strategy.service.mjs +5 -6
  82. package/esm2022/core/services/reuse-strategy.service.mjs +2 -3
  83. package/esm2022/core/services/storage.service.mjs +6 -7
  84. package/esm2022/core/theme/theme.service.mjs +6 -7
  85. package/esm2022/crumb/crumb.component.mjs +6 -7
  86. package/esm2022/crumb/crumb.module.mjs +6 -7
  87. package/esm2022/crumb/crumb.property.mjs +5 -6
  88. package/esm2022/date-picker/date-picker-portal.component.mjs +6 -7
  89. package/esm2022/date-picker/date-picker.component.mjs +6 -7
  90. package/esm2022/date-picker/date-picker.module.mjs +6 -7
  91. package/esm2022/date-picker/date-picker.property.mjs +25 -31
  92. package/esm2022/date-picker/date-quarter.pipe.mjs +6 -7
  93. package/esm2022/date-picker/date-range-portal.component.mjs +6 -7
  94. package/esm2022/date-picker/date-range.component.mjs +6 -7
  95. package/esm2022/date-picker/picker-date.component.mjs +6 -7
  96. package/esm2022/date-picker/picker-month.component.mjs +6 -7
  97. package/esm2022/date-picker/picker-quarter.component.mjs +6 -7
  98. package/esm2022/date-picker/picker-year.component.mjs +6 -7
  99. package/esm2022/description/description-item.component.mjs +6 -7
  100. package/esm2022/description/description.component.mjs +6 -7
  101. package/esm2022/description/description.module.mjs +6 -7
  102. package/esm2022/description/description.property.mjs +9 -11
  103. package/esm2022/dialog/dialog-container.component.mjs +6 -7
  104. package/esm2022/dialog/dialog-portal.component.mjs +6 -7
  105. package/esm2022/dialog/dialog-portal.directives.mjs +31 -37
  106. package/esm2022/dialog/dialog.component.mjs +7 -8
  107. package/esm2022/dialog/dialog.module.mjs +6 -7
  108. package/esm2022/dialog/dialog.property.mjs +9 -11
  109. package/esm2022/dialog/dialog.service.mjs +6 -7
  110. package/esm2022/doc/doc.component.mjs +7 -8
  111. package/esm2022/doc/doc.module.mjs +6 -7
  112. package/esm2022/drag/drag.directive.mjs +6 -7
  113. package/esm2022/drag/drag.module.mjs +6 -7
  114. package/esm2022/drag/drag.property.mjs +5 -6
  115. package/esm2022/drawer/drawer-container.component.mjs +6 -7
  116. package/esm2022/drawer/drawer-portal.component.mjs +6 -7
  117. package/esm2022/drawer/drawer-portal.directives.mjs +15 -18
  118. package/esm2022/drawer/drawer.component.mjs +7 -8
  119. package/esm2022/drawer/drawer.module.mjs +6 -7
  120. package/esm2022/drawer/drawer.property.mjs +9 -11
  121. package/esm2022/drawer/drawer.service.mjs +6 -7
  122. package/esm2022/dropdown/dropdown-portal.component.mjs +6 -7
  123. package/esm2022/dropdown/dropdown.component.mjs +6 -7
  124. package/esm2022/dropdown/dropdown.module.mjs +6 -7
  125. package/esm2022/dropdown/dropdown.property.mjs +5 -6
  126. package/esm2022/empty/empty.component.mjs +6 -7
  127. package/esm2022/empty/empty.module.mjs +6 -7
  128. package/esm2022/empty/empty.property.mjs +5 -6
  129. package/esm2022/examples/examples.component.mjs +6 -7
  130. package/esm2022/examples/examples.module.mjs +6 -7
  131. package/esm2022/find/find.component.mjs +6 -7
  132. package/esm2022/find/find.module.mjs +6 -7
  133. package/esm2022/find/find.property.mjs +5 -6
  134. package/esm2022/form/control.component.mjs +6 -7
  135. package/esm2022/form/form.component.mjs +6 -7
  136. package/esm2022/form/form.module.mjs +6 -7
  137. package/esm2022/form/form.property.mjs +9 -11
  138. package/esm2022/highlight/highlight.component.mjs +7 -8
  139. package/esm2022/highlight/highlight.module.mjs +6 -7
  140. package/esm2022/highlight/highlight.property.mjs +5 -6
  141. package/esm2022/i18n/i18n.directive.mjs +6 -7
  142. package/esm2022/i18n/i18n.module.mjs +6 -7
  143. package/esm2022/i18n/i18n.pipe.mjs +6 -7
  144. package/esm2022/i18n/i18n.service.mjs +7 -8
  145. package/esm2022/icon/icon.component.mjs +6 -7
  146. package/esm2022/icon/icon.module.mjs +6 -7
  147. package/esm2022/icon/icon.property.mjs +5 -6
  148. package/esm2022/icon/icon.service.mjs +7 -8
  149. package/esm2022/image/image-group.component.mjs +5 -6
  150. package/esm2022/image/image-preview.component.mjs +7 -8
  151. package/esm2022/image/image.component.mjs +7 -8
  152. package/esm2022/image/image.module.mjs +6 -7
  153. package/esm2022/image/image.property.mjs +9 -11
  154. package/esm2022/inner/inner.component.mjs +6 -7
  155. package/esm2022/inner/inner.module.mjs +6 -7
  156. package/esm2022/inner/inner.property.mjs +5 -6
  157. package/esm2022/input/input-group.component.mjs +6 -7
  158. package/esm2022/input/input.component.mjs +7 -8
  159. package/esm2022/input/input.module.mjs +6 -7
  160. package/esm2022/input/input.property.mjs +9 -11
  161. package/esm2022/input-number/input-number.component.mjs +6 -7
  162. package/esm2022/input-number/input-number.module.mjs +6 -7
  163. package/esm2022/input-number/input-number.property.mjs +5 -6
  164. package/esm2022/keyword/keyword.directive.mjs +6 -7
  165. package/esm2022/keyword/keyword.module.mjs +6 -7
  166. package/esm2022/keyword/keyword.property.mjs +5 -6
  167. package/esm2022/layout/col.component.mjs +7 -8
  168. package/esm2022/layout/layout.module.mjs +6 -7
  169. package/esm2022/layout/layout.property.mjs +9 -11
  170. package/esm2022/layout/row.component.mjs +6 -7
  171. package/esm2022/link/link.component.mjs +6 -7
  172. package/esm2022/link/link.module.mjs +6 -7
  173. package/esm2022/link/link.property.mjs +5 -6
  174. package/esm2022/list/list-drop-group.directive.mjs +5 -6
  175. package/esm2022/list/list-option.component.mjs +6 -7
  176. package/esm2022/list/list.component.mjs +7 -8
  177. package/esm2022/list/list.module.mjs +6 -7
  178. package/esm2022/list/list.property.mjs +9 -11
  179. package/esm2022/loading/loading.component.mjs +6 -7
  180. package/esm2022/loading/loading.module.mjs +6 -7
  181. package/esm2022/loading/loading.property.mjs +5 -6
  182. package/esm2022/menu/menu-node.component.mjs +6 -7
  183. package/esm2022/menu/menu.component.mjs +6 -7
  184. package/esm2022/menu/menu.module.mjs +6 -7
  185. package/esm2022/menu/menu.property.mjs +9 -11
  186. package/esm2022/message/message.component.mjs +6 -7
  187. package/esm2022/message/message.module.mjs +6 -7
  188. package/esm2022/message/message.service.mjs +6 -7
  189. package/esm2022/message-box/message-box.component.mjs +6 -7
  190. package/esm2022/message-box/message-box.module.mjs +6 -7
  191. package/esm2022/message-box/message-box.service.mjs +6 -7
  192. package/esm2022/notification/notification.component.mjs +6 -7
  193. package/esm2022/notification/notification.module.mjs +6 -7
  194. package/esm2022/notification/notification.service.mjs +6 -7
  195. package/esm2022/outlet/outlet.directive.mjs +6 -7
  196. package/esm2022/outlet/outlet.module.mjs +6 -7
  197. package/esm2022/page-header/page-header.component.mjs +6 -7
  198. package/esm2022/page-header/page-header.module.mjs +6 -7
  199. package/esm2022/page-header/page-header.property.mjs +5 -6
  200. package/esm2022/pagination/pagination.component.mjs +6 -7
  201. package/esm2022/pagination/pagination.module.mjs +6 -7
  202. package/esm2022/pagination/pagination.property.mjs +5 -6
  203. package/esm2022/pattern/pattern.component.mjs +6 -7
  204. package/esm2022/pattern/pattern.module.mjs +6 -7
  205. package/esm2022/popconfirm/popconfirm.component.mjs +6 -7
  206. package/esm2022/popconfirm/popconfirm.module.mjs +6 -7
  207. package/esm2022/popconfirm/popconfirm.property.mjs +5 -6
  208. package/esm2022/popover/popover-portal.component.mjs +6 -7
  209. package/esm2022/popover/popover.directive.mjs +6 -7
  210. package/esm2022/popover/popover.module.mjs +6 -7
  211. package/esm2022/popover/popover.property.mjs +5 -6
  212. package/esm2022/portal/portal.module.mjs +6 -7
  213. package/esm2022/portal/portal.service.mjs +6 -7
  214. package/esm2022/progress/progress.component.mjs +6 -7
  215. package/esm2022/progress/progress.module.mjs +6 -7
  216. package/esm2022/progress/progress.property.mjs +5 -6
  217. package/esm2022/radio/radio.component.mjs +6 -7
  218. package/esm2022/radio/radio.module.mjs +6 -7
  219. package/esm2022/radio/radio.property.mjs +5 -6
  220. package/esm2022/rate/rate.component.mjs +6 -7
  221. package/esm2022/rate/rate.module.mjs +6 -7
  222. package/esm2022/rate/rate.property.mjs +5 -6
  223. package/esm2022/resizable/resizable.directive.mjs +6 -7
  224. package/esm2022/resizable/resizable.module.mjs +6 -7
  225. package/esm2022/resizable/resizable.property.mjs +5 -6
  226. package/esm2022/result/result.component.mjs +6 -7
  227. package/esm2022/result/result.module.mjs +6 -7
  228. package/esm2022/result/result.property.mjs +5 -6
  229. package/esm2022/ripple/ripple.directive.mjs +6 -7
  230. package/esm2022/ripple/ripple.module.mjs +6 -7
  231. package/esm2022/ripple/ripple.property.mjs +5 -6
  232. package/esm2022/select/select-portal.component.mjs +7 -8
  233. package/esm2022/select/select.component.mjs +7 -8
  234. package/esm2022/select/select.module.mjs +6 -7
  235. package/esm2022/select/select.property.mjs +5 -6
  236. package/esm2022/skeleton/skeleton.component.mjs +6 -7
  237. package/esm2022/skeleton/skeleton.module.mjs +6 -7
  238. package/esm2022/skeleton/skeleton.property.mjs +5 -6
  239. package/esm2022/slider/slider.component.mjs +6 -7
  240. package/esm2022/slider/slider.module.mjs +6 -7
  241. package/esm2022/slider/slider.property.mjs +5 -6
  242. package/esm2022/slider-select/slider-select.component.mjs +10 -11
  243. package/esm2022/slider-select/slider-select.module.mjs +6 -7
  244. package/esm2022/slider-select/slider-select.property.mjs +7 -6
  245. package/esm2022/statistic/countdown.component.mjs +6 -7
  246. package/esm2022/statistic/statistic.component.mjs +6 -7
  247. package/esm2022/statistic/statistic.module.mjs +6 -7
  248. package/esm2022/statistic/statistic.property.mjs +9 -11
  249. package/esm2022/steps/steps.component.mjs +6 -7
  250. package/esm2022/steps/steps.module.mjs +6 -7
  251. package/esm2022/steps/steps.property.mjs +5 -6
  252. package/esm2022/switch/switch.component.mjs +6 -7
  253. package/esm2022/switch/switch.module.mjs +6 -7
  254. package/esm2022/switch/switch.property.mjs +5 -6
  255. package/esm2022/table/table-body.component.mjs +6 -7
  256. package/esm2022/table/table-foot.component.mjs +6 -7
  257. package/esm2022/table/table-head.component.mjs +6 -7
  258. package/esm2022/table/table.component.mjs +6 -7
  259. package/esm2022/table/table.module.mjs +6 -7
  260. package/esm2022/table/table.property.mjs +17 -21
  261. package/esm2022/tabs/tab-content.component.mjs +6 -7
  262. package/esm2022/tabs/tab-link.directive.mjs +13 -15
  263. package/esm2022/tabs/tab.component.mjs +6 -7
  264. package/esm2022/tabs/tabs.component.mjs +7 -8
  265. package/esm2022/tabs/tabs.module.mjs +6 -7
  266. package/esm2022/tabs/tabs.property.mjs +9 -11
  267. package/esm2022/tag/tag.component.mjs +6 -7
  268. package/esm2022/tag/tag.module.mjs +6 -7
  269. package/esm2022/tag/tag.property.mjs +5 -6
  270. package/esm2022/text-retract/text-retract.component.mjs +6 -7
  271. package/esm2022/text-retract/text-retract.module.mjs +6 -7
  272. package/esm2022/text-retract/text-retract.property.mjs +5 -6
  273. package/esm2022/textarea/textarea.component.mjs +6 -7
  274. package/esm2022/textarea/textarea.module.mjs +6 -7
  275. package/esm2022/textarea/textarea.property.mjs +5 -6
  276. package/esm2022/theme/theme.component.mjs +6 -7
  277. package/esm2022/theme/theme.module.mjs +6 -7
  278. package/esm2022/theme/theme.property.mjs +5 -6
  279. package/esm2022/time-ago/time-ago.module.mjs +6 -7
  280. package/esm2022/time-ago/time-ago.pipe.mjs +6 -7
  281. package/esm2022/time-picker/time-picker-frame.component.mjs +6 -7
  282. package/esm2022/time-picker/time-picker-portal.component.mjs +6 -7
  283. package/esm2022/time-picker/time-picker.component.mjs +6 -7
  284. package/esm2022/time-picker/time-picker.module.mjs +6 -7
  285. package/esm2022/time-picker/time-picker.property.mjs +5 -6
  286. package/esm2022/time-range/time-range.module.mjs +6 -7
  287. package/esm2022/time-range/time-range.pipe.mjs +5 -6
  288. package/esm2022/timeline/timeline.component.mjs +7 -8
  289. package/esm2022/timeline/timeline.module.mjs +6 -7
  290. package/esm2022/timeline/timeline.property.mjs +5 -6
  291. package/esm2022/tooltip/tooltip-portal.component.mjs +8 -8
  292. package/esm2022/tooltip/tooltip.directive.mjs +6 -7
  293. package/esm2022/tooltip/tooltip.module.mjs +8 -8
  294. package/esm2022/tooltip/tooltip.property.mjs +5 -6
  295. package/esm2022/transfer/transfer.component.mjs +6 -7
  296. package/esm2022/transfer/transfer.module.mjs +6 -7
  297. package/esm2022/transfer/transfer.property.mjs +5 -6
  298. package/esm2022/tree/tree-node.component.mjs +6 -7
  299. package/esm2022/tree/tree.component.mjs +30 -14
  300. package/esm2022/tree/tree.module.mjs +6 -7
  301. package/esm2022/tree/tree.property.mjs +9 -11
  302. package/esm2022/tree/tree.service.mjs +5 -6
  303. package/esm2022/tree-file/tree-file.component.mjs +7 -8
  304. package/esm2022/tree-file/tree-file.module.mjs +6 -7
  305. package/esm2022/tree-file/tree-file.property.mjs +5 -6
  306. package/esm2022/tree-select/tree-select-portal.component.mjs +7 -8
  307. package/esm2022/tree-select/tree-select.component.mjs +7 -8
  308. package/esm2022/tree-select/tree-select.module.mjs +6 -7
  309. package/esm2022/tree-select/tree-select.property.mjs +5 -6
  310. package/esm2022/typography/typography.component.mjs +6 -7
  311. package/esm2022/typography/typography.module.mjs +6 -7
  312. package/esm2022/typography/typography.property.mjs +5 -6
  313. package/esm2022/upload/upload-portal.component.mjs +6 -7
  314. package/esm2022/upload/upload.component.mjs +7 -8
  315. package/esm2022/upload/upload.module.mjs +6 -7
  316. package/esm2022/upload/upload.property.mjs +5 -6
  317. package/fesm2022/ng-nest-ui-affix.mjs +11 -11
  318. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  319. package/fesm2022/ng-nest-ui-alert.mjs +11 -11
  320. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  321. package/fesm2022/ng-nest-ui-anchor.mjs +17 -17
  322. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  323. package/fesm2022/ng-nest-ui-api.mjs +8 -8
  324. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  325. package/fesm2022/ng-nest-ui-auto-complete.mjs +17 -17
  326. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  327. package/fesm2022/ng-nest-ui-avatar.mjs +18 -18
  328. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  329. package/fesm2022/ng-nest-ui-back-top.mjs +12 -12
  330. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  331. package/fesm2022/ng-nest-ui-badge.mjs +11 -11
  332. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  333. package/fesm2022/ng-nest-ui-base-form.mjs +11 -11
  334. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  335. package/fesm2022/ng-nest-ui-border.mjs +8 -8
  336. package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
  337. package/fesm2022/ng-nest-ui-button.mjs +20 -20
  338. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  339. package/fesm2022/ng-nest-ui-calendar.mjs +11 -11
  340. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  341. package/fesm2022/ng-nest-ui-card.mjs +11 -11
  342. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  343. package/fesm2022/ng-nest-ui-carousel.mjs +20 -20
  344. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  345. package/fesm2022/ng-nest-ui-cascade.mjs +16 -16
  346. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  347. package/fesm2022/ng-nest-ui-checkbox.mjs +11 -11
  348. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  349. package/fesm2022/ng-nest-ui-collapse.mjs +19 -19
  350. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  351. package/fesm2022/ng-nest-ui-color-picker.mjs +16 -16
  352. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  353. package/fesm2022/ng-nest-ui-color.mjs +12 -12
  354. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  355. package/fesm2022/ng-nest-ui-comment.mjs +19 -19
  356. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  357. package/fesm2022/ng-nest-ui-container.mjs +38 -38
  358. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  359. package/fesm2022/ng-nest-ui-core.mjs +20 -20
  360. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  361. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  362. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  363. package/fesm2022/ng-nest-ui-date-picker.mjs +58 -58
  364. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  365. package/fesm2022/ng-nest-ui-description.mjs +18 -18
  366. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  367. package/fesm2022/ng-nest-ui-dialog.mjs +51 -51
  368. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  369. package/fesm2022/ng-nest-ui-doc.mjs +9 -9
  370. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-drag.mjs +11 -11
  372. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-drawer.mjs +38 -38
  374. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-dropdown.mjs +16 -16
  376. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  377. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  378. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-examples.mjs +8 -8
  380. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-find.mjs +11 -11
  382. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  383. package/fesm2022/ng-nest-ui-form.mjs +18 -18
  384. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  385. package/fesm2022/ng-nest-ui-highlight.mjs +13 -13
  386. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  387. package/fesm2022/ng-nest-ui-i18n.mjs +17 -17
  388. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  389. package/fesm2022/ng-nest-ui-icon.mjs +16 -16
  390. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  391. package/fesm2022/ng-nest-ui-image.mjs +23 -23
  392. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  393. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  394. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  395. package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
  396. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  397. package/fesm2022/ng-nest-ui-input.mjs +19 -19
  398. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  399. package/fesm2022/ng-nest-ui-keyword.mjs +11 -11
  400. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  401. package/fesm2022/ng-nest-ui-layout.mjs +19 -19
  402. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  403. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  404. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  405. package/fesm2022/ng-nest-ui-list.mjs +22 -22
  406. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  407. package/fesm2022/ng-nest-ui-loading.mjs +11 -11
  408. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  409. package/fesm2022/ng-nest-ui-menu.mjs +18 -18
  410. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  411. package/fesm2022/ng-nest-ui-message-box.mjs +13 -13
  412. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  413. package/fesm2022/ng-nest-ui-message.mjs +12 -12
  414. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  415. package/fesm2022/ng-nest-ui-notification.mjs +12 -12
  416. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  417. package/fesm2022/ng-nest-ui-outlet.mjs +8 -8
  418. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  419. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  420. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  421. package/fesm2022/ng-nest-ui-pagination.mjs +11 -11
  422. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  423. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  424. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  425. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  426. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  427. package/fesm2022/ng-nest-ui-popover.mjs +15 -15
  428. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  429. package/fesm2022/ng-nest-ui-portal.mjs +8 -8
  430. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  431. package/fesm2022/ng-nest-ui-progress.mjs +11 -11
  432. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  433. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  434. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  435. package/fesm2022/ng-nest-ui-rate.mjs +11 -11
  436. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  437. package/fesm2022/ng-nest-ui-resizable.mjs +11 -11
  438. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  439. package/fesm2022/ng-nest-ui-result.mjs +11 -11
  440. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  441. package/fesm2022/ng-nest-ui-ripple.mjs +13 -13
  442. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  443. package/fesm2022/ng-nest-ui-select.mjs +17 -17
  444. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  445. package/fesm2022/ng-nest-ui-skeleton.mjs +11 -11
  446. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  447. package/fesm2022/ng-nest-ui-slider-select.mjs +17 -15
  448. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  449. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  450. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  451. package/fesm2022/ng-nest-ui-statistic.mjs +19 -19
  452. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  453. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  454. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  455. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  456. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  457. package/fesm2022/ng-nest-ui-table.mjs +32 -32
  458. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  459. package/fesm2022/ng-nest-ui-tabs.mjs +33 -33
  460. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  461. package/fesm2022/ng-nest-ui-tag.mjs +11 -11
  462. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  463. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  464. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  465. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  466. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  467. package/fesm2022/ng-nest-ui-theme.mjs +11 -11
  468. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  469. package/fesm2022/ng-nest-ui-time-ago.mjs +8 -8
  470. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  471. package/fesm2022/ng-nest-ui-time-picker.mjs +20 -20
  472. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  473. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  474. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  475. package/fesm2022/ng-nest-ui-timeline.mjs +12 -12
  476. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  477. package/fesm2022/ng-nest-ui-tooltip.mjs +20 -18
  478. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  479. package/fesm2022/ng-nest-ui-transfer.mjs +11 -11
  480. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  481. package/fesm2022/ng-nest-ui-tree-file.mjs +12 -12
  482. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  483. package/fesm2022/ng-nest-ui-tree-select.mjs +17 -17
  484. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  485. package/fesm2022/ng-nest-ui-tree.mjs +45 -28
  486. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  487. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  488. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  489. package/fesm2022/ng-nest-ui-upload.mjs +17 -17
  490. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  491. package/package.json +63 -63
  492. package/slider-select/slider-select.property.d.ts +6 -1
  493. package/tooltip/tooltip-portal.component.d.ts +2 -2
  494. package/tooltip/tooltip.module.d.ts +2 -1
  495. package/tooltip/tooltip.property.d.ts +2 -2
@@ -11,7 +11,7 @@ import * as i2 from "./date-quarter.pipe";
11
11
  import * as i3 from "@ng-nest/ui/core";
12
12
  import * as i4 from "@ng-nest/ui/i18n";
13
13
  import * as i5 from "@ng-nest/ui/link";
14
- class XPickerQuarterComponent extends XPickerQuarterProperty {
14
+ export class XPickerQuarterComponent extends XPickerQuarterProperty {
15
15
  get rangeStart() {
16
16
  if (this.rangeValue && this.rangeValue.length > 0) {
17
17
  return this.rangeValue[0];
@@ -227,12 +227,11 @@ class XPickerQuarterComponent extends XPickerQuarterProperty {
227
227
  trackByQuarter(_index, item) {
228
228
  return item;
229
229
  }
230
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XPickerQuarterComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i2.XDateQuarterPipe }, { token: i0.ChangeDetectorRef }, { token: i3.XConfigService }, { token: i4.XI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
231
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XPickerQuarterComponent, selector: "x-picker-quarter", providers: [DatePipe, LowerCasePipe, XDateQuarterPipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-quarter\" [class.x-date-picker-quartertemp]=\"quarterTemp\">\r\n <div class=\"x-picker-quarter-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-quarter-year-quarter\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-quarter-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let quarters of chunkDates\">\r\n <ng-container *ngFor=\"let quarter of quarters; trackBy: trackByQuarter\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"quarter.isDisabled\"\r\n [class.x-date-last-or-next]=\"quarter.isLastOrNext\"\r\n [class.x-date-now]=\"quarter.isNow\"\r\n [class.x-date-first-day]=\"quarter.isFirstDay\"\r\n [class.x-date-last-day]=\"quarter.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartQuarter(quarter.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndQuarter(quarter.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && quarter.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && quarter.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && quarter.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && quarter.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && quarter.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && quarter.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && quarter.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && quarter.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && quarter.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && quarter.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && quarter.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && quarter.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && quarter.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (quarter.date | date : 'yyyyMM') === (model | date : 'yyyyMM')\"\r\n title=\"{{ quarter.date | xDateQuarter : true }}\"\r\n (click)=\"!quarter.isDisabled && quarterClick(quarter)\"\r\n (mouseenter)=\"!quarter.isDisabled && rangePicker && onTdMouseenter(quarter)\"\r\n (mouseleave)=\"!quarter.isDisabled && rangePicker && onTdMouseleave(quarter)\"\r\n >\r\n <div *ngIf=\"!quarterTemp\" class=\"x-date-text\">\r\n {{ quarter.date | xDateQuarter }}\r\n </div>\r\n <ng-container *ngIf=\"quarterTemp\">\r\n <ng-container *ngTemplateOutlet=\"quarterTemp; context: { date$: quarter.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-quarter{margin:0;padding:0}.x-picker-quarter-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-quarter-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-quarter-header .x-link{padding:0 .25rem}.x-picker-quarter-year-quarter{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-quarter-body{padding:.1375rem .5rem}.x-picker-quarter-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-quarter-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-quarter-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-quarter-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-quarter-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-quarter-body .x-picker-date-item:after,.x-picker-quarter-body .x-picker-date-item:before{height:3.25rem}.x-picker-quarter-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-quarter-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-quarter .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.XLinkComponent, selector: "x-link" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i2.XDateQuarterPipe, name: "xDateQuarter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
230
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XPickerQuarterComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i2.XDateQuarterPipe }, { token: i0.ChangeDetectorRef }, { token: i3.XConfigService }, { token: i4.XI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
231
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XPickerQuarterComponent, selector: "x-picker-quarter", providers: [DatePipe, LowerCasePipe, XDateQuarterPipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-quarter\" [class.x-date-picker-quartertemp]=\"quarterTemp\">\r\n <div class=\"x-picker-quarter-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-quarter-year-quarter\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-quarter-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let quarters of chunkDates\">\r\n <ng-container *ngFor=\"let quarter of quarters; trackBy: trackByQuarter\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"quarter.isDisabled\"\r\n [class.x-date-last-or-next]=\"quarter.isLastOrNext\"\r\n [class.x-date-now]=\"quarter.isNow\"\r\n [class.x-date-first-day]=\"quarter.isFirstDay\"\r\n [class.x-date-last-day]=\"quarter.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartQuarter(quarter.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndQuarter(quarter.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && quarter.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && quarter.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && quarter.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && quarter.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && quarter.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && quarter.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && quarter.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && quarter.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && quarter.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && quarter.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && quarter.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && quarter.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && quarter.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (quarter.date | date : 'yyyyMM') === (model | date : 'yyyyMM')\"\r\n title=\"{{ quarter.date | xDateQuarter : true }}\"\r\n (click)=\"!quarter.isDisabled && quarterClick(quarter)\"\r\n (mouseenter)=\"!quarter.isDisabled && rangePicker && onTdMouseenter(quarter)\"\r\n (mouseleave)=\"!quarter.isDisabled && rangePicker && onTdMouseleave(quarter)\"\r\n >\r\n <div *ngIf=\"!quarterTemp\" class=\"x-date-text\">\r\n {{ quarter.date | xDateQuarter }}\r\n </div>\r\n <ng-container *ngIf=\"quarterTemp\">\r\n <ng-container *ngTemplateOutlet=\"quarterTemp; context: { date$: quarter.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-quarter{margin:0;padding:0}.x-picker-quarter-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-quarter-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-quarter-header .x-link{padding:0 .25rem}.x-picker-quarter-year-quarter{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-quarter-body{padding:.1375rem .5rem}.x-picker-quarter-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-quarter-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-quarter-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-quarter-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-quarter-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-quarter-body .x-picker-date-item:after,.x-picker-quarter-body .x-picker-date-item:before{height:3.25rem}.x-picker-quarter-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-quarter-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-quarter .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.XLinkComponent, selector: "x-link" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i2.XDateQuarterPipe, name: "xDateQuarter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
232
232
  }
233
- export { XPickerQuarterComponent };
234
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XPickerQuarterComponent, decorators: [{
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XPickerQuarterComponent, decorators: [{
235
234
  type: Component,
236
235
  args: [{ selector: 'x-picker-quarter', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe, LowerCasePipe, XDateQuarterPipe], template: "<div class=\"x-picker-quarter\" [class.x-date-picker-quartertemp]=\"quarterTemp\">\r\n <div class=\"x-picker-quarter-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYear(-1)\"></x-link>\r\n <div class=\"x-picker-quarter-year-quarter\">\r\n <x-link (click)=\"typeOnChange('year')\">{{ display | date : 'yyyy' }}{{ locale.year }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYear(1)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-quarter-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let quarters of chunkDates\">\r\n <ng-container *ngFor=\"let quarter of quarters; trackBy: trackByQuarter\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"quarter.isDisabled\"\r\n [class.x-date-last-or-next]=\"quarter.isLastOrNext\"\r\n [class.x-date-now]=\"quarter.isNow\"\r\n [class.x-date-first-day]=\"quarter.isFirstDay\"\r\n [class.x-date-last-day]=\"quarter.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartQuarter(quarter.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndQuarter(quarter.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && quarter.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && quarter.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && quarter.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && quarter.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && quarter.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && quarter.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && quarter.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && quarter.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && quarter.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && quarter.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && quarter.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && quarter.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && quarter.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (quarter.date | date : 'yyyyMM') === (model | date : 'yyyyMM')\"\r\n title=\"{{ quarter.date | xDateQuarter : true }}\"\r\n (click)=\"!quarter.isDisabled && quarterClick(quarter)\"\r\n (mouseenter)=\"!quarter.isDisabled && rangePicker && onTdMouseenter(quarter)\"\r\n (mouseleave)=\"!quarter.isDisabled && rangePicker && onTdMouseleave(quarter)\"\r\n >\r\n <div *ngIf=\"!quarterTemp\" class=\"x-date-text\">\r\n {{ quarter.date | xDateQuarter }}\r\n </div>\r\n <ng-container *ngIf=\"quarterTemp\">\r\n <ng-container *ngTemplateOutlet=\"quarterTemp; context: { date$: quarter.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-quarter{margin:0;padding:0}.x-picker-quarter-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-quarter-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-quarter-header .x-link{padding:0 .25rem}.x-picker-quarter-year-quarter{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-quarter-body{padding:.1375rem .5rem}.x-picker-quarter-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-quarter-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-quarter-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-quarter-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-quarter-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-quarter-body .x-picker-date-item:after,.x-picker-quarter-body .x-picker-date-item:before{height:3.25rem}.x-picker-quarter-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-quarter-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-quarter-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-quarter-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-quarter-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-quarter .x-visibility{visibility:hidden}\n"] }]
237
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i2.XDateQuarterPipe }, { type: i0.ChangeDetectorRef }, { type: i3.XConfigService }, { type: i4.XI18nService }]; } });
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLXF1YXJ0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXF1YXJ0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXF1YXJ0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0YsT0FBTyxFQUE4QixzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBRXZELE1BUWEsdUJBQXdCLFNBQVEsc0JBQXNCO0lBUWpFLElBQUksVUFBVTtRQUNaLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxH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QUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQXFCO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjLEVBQUUsSUFBK0I7UUFDNUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO2lJQTFPVSx1QkFBdUI7cUhBQXZCLHVCQUF1QiwyQ0FGdkIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLHNFQ3ZCeEQsMDJHQW9EQTs7U0QzQmEsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBUm5DLFNBQVM7K0JBQ0Usa0JBQWtCLGlCQUdiLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhDaHVuaywgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSwgWElzTnVsbCwgWElzRnVuY3Rpb24gfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWERhdGVDZWxsLCBYRGF0ZVBpY2tlclR5cGUsIFhQaWNrZXJRdWFydGVyUHJvcGVydHkgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgRGF0ZVBpcGUsIExvd2VyQ2FzZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYSTE4bkRhdGVQaWNrZXIsIFhJMThuU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2kxOG4nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYRGF0ZVF1YXJ0ZXJQaXBlIH0gZnJvbSAnLi9kYXRlLXF1YXJ0ZXIucGlwZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3gtcGlja2VyLXF1YXJ0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9waWNrZXItcXVhcnRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGlja2VyLXF1YXJ0ZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlLCBMb3dlckNhc2VQaXBlLCBYRGF0ZVF1YXJ0ZXJQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFBpY2tlclF1YXJ0ZXJDb21wb25lbnQgZXh0ZW5kcyBYUGlja2VyUXVhcnRlclByb3BlcnR5IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gIGRhdGVzOiBYRGF0ZUNlbGxbXSA9IFtdO1xyXG4gIGNodW5rRGF0ZXM6IFhEYXRlQ2VsbFtdW10gPSBbXTtcclxuICBsb2NhbGU6IFhJMThuRGF0ZVBpY2tlciA9IHt9O1xyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBnZXQgcmFuZ2VTdGFydCgpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlVmFsdWUgJiYgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VWYWx1ZVswXTtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGdldCByYW5nZUVuZCgpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlVmFsdWUgJiYgdGhpcy5yYW5nZVZhbHVlLmxlbmd0aCA+IDEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VWYWx1ZVsxXTtcclxuICAgIH1cclxuICAgIHJldHVybiAnJztcclxuICB9XHJcblxyXG4gIGlzRGlzYWJsZWQoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWREYXRlICYmIFhJc0Z1bmN0aW9uKHRoaXMuZGlzYWJsZWREYXRlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kaXNhYmxlZERhdGUoZGF0ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGRhdGVQaXBlOiBEYXRlUGlwZSxcclxuICAgIHB1YmxpYyBsb3dlckNhc2VQaXBlOiBMb3dlckNhc2VQaXBlLFxyXG4gICAgcHVibGljIGRhdGVRdWFydGVyUGlwZTogWERhdGVRdWFydGVyUGlwZSxcclxuICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlLFxyXG4gICAgcHVibGljIGkxOG46IFhJMThuU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pMThuLmxvY2FsZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKHgpID0+IHguZGF0ZVBpY2tlciBhcyBYSTE4bkRhdGVQaWNrZXIpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMubG9jYWxlID0geDtcclxuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGRpc3BsYXkgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGlzcGxheSkgJiYgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgdGhpcy5zZXRRdWFydGVycyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgaXNTdGFydFF1YXJ0ZXIoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKCF0aGlzLnJhbmdlVHlwZSB8fCAhdGhpcy5yYW5nZVZhbHVlKSByZXR1cm47XHJcbiAgICBpZiAoIVhJc051bGwodGhpcy5yYW5nZVZhbHVlWzBdKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5yYW5nZVZhbHVlWzBdLCAneXl5eU1NJykgPT09IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGRhdGUsICd5eXl5TU0nKTtcclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGlzRW5kUXVhcnRlcihkYXRlOiBEYXRlKSB7XHJcbiAgICBpZiAoIXRoaXMucmFuZ2VUeXBlIHx8ICF0aGlzLnJhbmdlVmFsdWUpIHJldHVybjtcclxuICAgIGlmICghWElzTnVsbCh0aGlzLnJhbmdlVmFsdWVbMV0pKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLnJhbmdlVmFsdWVbMV0sICd5eXl5TU0nKSA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ3l5eXlNTScpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF0ZXNTdGF0ZShjZWxsOiBYRGF0ZUNlbGwpIHtcclxuICAgIHRoaXMuY2xlYXJTdGF0ZSguLi50aGlzLmRhdGVzKTtcclxuICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5kYXRlcykge1xyXG4gICAgICB0aGlzLnNldERheVN0YXRlKGl0ZW0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vblRkTW91c2VlbnRlcihjZWxsLCBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBvblRkTW91c2VlbnRlcihjZWxsOiBYRGF0ZUNlbGwsIGlzRW1pdCA9IHRydWUpIHtcclxuICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRoaXMucmFuZ2VWYWx1ZTtcclxuICAgIGlmICghWElzTnVsbChzdGFydCkgfHwgIVhJc051bGwoZW5kKSkge1xyXG4gICAgICBjb25zdCB0aW1lID0gY2VsbC5kYXRlIS5nZXRUaW1lKCk7XHJcbiAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5kYXRlcykge1xyXG4gICAgICAgIGNvbnN0IGl0ZW1UaW1lID0gaXRlbS5kYXRlIS5nZXRUaW1lKCk7XHJcbiAgICAgICAgdGhpcy5jbGVhclN0YXRlKGl0ZW0pO1xyXG4gICAgICAgIGlmICghWElzTnVsbChzdGFydCkgJiYgWElzTnVsbChlbmQpKSB7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0TGVmdCA9IHRpbWUgPCBzdGFydCEgJiYgaXRlbVRpbWUgPT09IHN0YXJ0ITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnRSaWdodCA9IHRpbWUgPiBzdGFydCEgJiYgaXRlbVRpbWUgPT09IHN0YXJ0ITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyID1cclxuICAgICAgICAgICAgKHRpbWUgPCBzdGFydCEgJiYgaXRlbVRpbWUgPj0gdGltZSAmJiBpdGVtVGltZSA8IHN0YXJ0ISkgfHwgKHRpbWUgPiBzdGFydCEgJiYgaXRlbVRpbWUgPiBzdGFydCEgJiYgaXRlbVRpbWUgPD0gdGltZSk7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0ID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA8IHN0YXJ0ITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA+IHN0YXJ0ITtcclxuICAgICAgICB9IGVsc2UgaWYgKFhJc051bGwoc3RhcnQpICYmICFYSXNOdWxsKGVuZCkpIHtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kTGVmdCA9IHRpbWUgPCBlbmQhICYmIGl0ZW1UaW1lID09PSBlbmQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmRSaWdodCA9IHRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lID09PSBlbmQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXIgPSAodGltZSA8IGVuZCEgJiYgaXRlbVRpbWUgPj0gdGltZSAmJiBpdGVtVGltZSA8IGVuZCEpIHx8ICh0aW1lID4gZW5kISAmJiBpdGVtVGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPD0gdGltZSk7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0ID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA8IGVuZCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPiBlbmQhO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoIVhJc051bGwoc3RhcnQpICYmICFYSXNOdWxsKGVuZCkpIHtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnRMZWZ0ID0gdGltZSA8IHN0YXJ0ISAmJiBpdGVtVGltZSA9PT0gc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmRSaWdodCA9IHRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lID09PSBlbmQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXIgPVxyXG4gICAgICAgICAgICAodGltZSA8IHN0YXJ0ISAmJiBpdGVtVGltZSA+PSB0aW1lICYmIGl0ZW1UaW1lIDwgc3RhcnQhKSB8fCAodGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lIDw9IHRpbWUpO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPCBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPiBlbmQhO1xyXG4gICAgICAgICAgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnc3RhcnQnKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNJblJhbmdlSG92ZXIgPSBpdGVtVGltZSA+PSB0aW1lISAmJiBpdGVtVGltZSA8PSBlbmQhO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnJhbmdlVHlwZSA9PT0gJ2VuZCcpIHtcclxuICAgICAgICAgICAgaXRlbS5pc0luUmFuZ2VIb3ZlciA9IGl0ZW1UaW1lID49IHN0YXJ0ISAmJiBpdGVtVGltZSA8PSB0aW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoaXNFbWl0KSB7XHJcbiAgICAgICAgdGhpcy5yYW5nZVRkTW91c2VlbnRlci5lbWl0KGNlbGwpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25UZE1vdXNlbGVhdmUoY2VsbDogWERhdGVDZWxsLCBpc0VtaXQgPSB0cnVlKSB7XHJcbiAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLnJhbmdlVmFsdWU7XHJcbiAgICBpZiAoIVhJc051bGwoc3RhcnQpIHx8ICFYSXNOdWxsKGVuZCkpIHtcclxuICAgICAgdGhpcy5jbGVhclN0YXRlKC4uLnRoaXMuZGF0ZXMpO1xyXG4gICAgICBpZiAoaXNFbWl0KSB0aGlzLnJhbmdlVGRNb3VzZWxlYXZlLmVtaXQoY2VsbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbGVhclN0YXRlKC4uLmNlbGxzOiBYRGF0ZUNlbGxbXSkge1xyXG4gICAgZm9yIChsZXQgY2VsbCBvZiBjZWxscykge1xyXG4gICAgICBjZWxsLmlzSW5SYW5nZUhvdmVyID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyU3RhcnQgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJFbmQgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJTdGFydExlZnQgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJTdGFydFJpZ2h0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyRW5kTGVmdCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlckVuZFJpZ2h0ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRRdWFydGVycyhkYXRlOiBEYXRlKSB7XHJcbiAgICBsZXQgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGxldCBkYXRlczogWERhdGVDZWxsW10gPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgNDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGNlbGwgPSB7IGRhdGU6IG5ldyBEYXRlKHllYXIsIGkgKiAzLCAxKSwgaXNGaXJzdERheTogaSA9PT0gMCwgaXNMYXN0RGF5OiBpID09PSAzIH07XHJcbiAgICAgIGRhdGVzID0gWy4uLmRhdGVzLCB0aGlzLnNldERheVN0YXRlKGNlbGwpXTtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0ZXMgPSBkYXRlcztcclxuICAgIHRoaXMuY2h1bmtEYXRlcyA9IFhDaHVuayhkYXRlcywgNCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0ZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLnJhbmdlQ2hhbmdlLmVtaXQoW2RhdGVzWzBdLmRhdGUhLCBkYXRlc1tkYXRlcy5sZW5ndGggLSAxXS5kYXRlIV0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldERheVN0YXRlKGNlbGw6IFhEYXRlQ2VsbCk6IFhEYXRlQ2VsbCB7XHJcbiAgICBjb25zdCB0aW1lID0gY2VsbC5kYXRlPy5nZXRUaW1lKCkhO1xyXG4gICAgY29uc3QgZnF1YXJ0ZXIgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShjZWxsLmRhdGUsICd5eXl5TU0nKTtcclxuICAgIGNvbnN0IGZxdWFydGVyeSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGNlbGwuZGF0ZSwgJ3l5eXknKTtcclxuICAgIGNvbnN0IGZkaXNwbGF5eSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMuZGlzcGxheSwgJ3l5eXknKTtcclxuICAgIGNvbnN0IGZub3cgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLm5vdywgJ3l5eXlNTScpO1xyXG4gICAgY2VsbC5pc0xhc3RPck5leHQgPSBmcXVhcnRlcnkgIT09IGZkaXNwbGF5eTtcclxuICAgIGNlbGwuaXNOb3cgPSBmcXVhcnRlciA9PT0gZm5vdztcclxuICAgIGNlbGwuaXNEaXNhYmxlZCA9IHRoaXMuaXNEaXNhYmxlZChjZWxsLmRhdGUhKTtcclxuICAgIGlmICh0aGlzLnJhbmdlUGlja2VyKSB7XHJcbiAgICAgIGlmICghdGhpcy5yYW5nZVZhbHVlKSByZXR1cm4gY2VsbDtcclxuICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5yYW5nZVZhbHVlO1xyXG4gICAgICBjZWxsLmlzSW5SYW5nZSA9ICEhc3RhcnQgJiYgISFlbmQgJiYgdGltZSA+PSBzdGFydCEgJiYgdGltZSA8PSBlbmQhO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VTdGFydFJpZ2h0ID0gISFzdGFydCAmJiAhIWVuZCAmJiBmcXVhcnRlciA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oc3RhcnQhLCAneXl5eU1NJyk7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUVuZExlZnQgPSAhIXN0YXJ0ICYmICEhZW5kICYmIGZxdWFydGVyID09PSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShlbmQhLCAneXl5eU1NJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2VsbDtcclxuICB9XHJcblxyXG4gIHF1YXJ0ZXJDbGljayhjZWxsOiBYRGF0ZUNlbGwpIHtcclxuICAgIHRoaXMubW9kZWwgPSBjZWxsLmRhdGU7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoY2VsbC5kYXRlKTtcclxuICAgIGlmICh0aGlzLnJhbmdlUGlja2VyKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJTdGF0ZSguLi50aGlzLmRhdGVzKTtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmRhdGVzKSB7XHJcbiAgICAgICAgdGhpcy5zZXREYXlTdGF0ZShpdGVtKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJhbmdlRGF0ZUNsaWNrLmVtaXQoY2VsbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGdldExvY2FsZVF1YXJ0ZXIoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0ZVF1YXJ0ZXJQaXBlLnRyYW5zZm9ybShkYXRlKTtcclxuICB9XHJcblxyXG4gIHJhbmdlRGlzYWJsZWQoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnZW5kJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZVN0YXJ0ICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA8IHRoaXMucmFuZ2VTdGFydCE7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnc3RhcnQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlRW5kICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA+IHRoaXMucmFuZ2VFbmQhO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICB0aGlzLmRpc3BsYXlDaGFuZ2UuZW1pdCh0aGlzLmRpc3BsYXkpO1xyXG4gICAgdGhpcy5zZXRRdWFydGVycyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgbmV4dFllYXIobnVtOiBudW1iZXIpIHtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVhcigpICsgbnVtKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMueWVhckNoYW5nZS5lbWl0KG51bSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0eXBlT25DaGFuZ2UodHlwZTogWERhdGVQaWNrZXJUeXBlKSB7XHJcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xyXG4gICAgdGhpcy50eXBlQ2hhbmdlLmVtaXQodHlwZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5UXVhcnRlcihfaW5kZXg6IG51bWJlciwgaXRlbTogc3RyaW5nIHwgRGF0ZSB8IFhEYXRlQ2VsbCkge1xyXG4gICAgcmV0dXJuIGl0ZW07XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ4LXBpY2tlci1xdWFydGVyXCIgW2NsYXNzLngtZGF0ZS1waWNrZXItcXVhcnRlcnRlbXBdPVwicXVhcnRlclRlbXBcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1waWNrZXItcXVhcnRlci1oZWFkZXJcIiAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgIDx4LWxpbmsgW2NsYXNzLngtdmlzaWJpbGl0eV09XCIhbGFzdFllYXJCdG5cIiBpY29uPVwiZnRvLWNoZXZyb25zLWxlZnRcIiAoY2xpY2spPVwibmV4dFllYXIoLTEpXCI+PC94LWxpbms+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1waWNrZXItcXVhcnRlci15ZWFyLXF1YXJ0ZXJcIj5cclxuICAgICAgPHgtbGluayAoY2xpY2spPVwidHlwZU9uQ2hhbmdlKCd5ZWFyJylcIj57eyBkaXNwbGF5IHwgZGF0ZSA6ICd5eXl5JyB9fXt7IGxvY2FsZS55ZWFyIH19PC94LWxpbms+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx4LWxpbmsgW2NsYXNzLngtdmlzaWJpbGl0eV09XCIhbmV4dFllYXJCdG5cIiBpY29uPVwiZnRvLWNoZXZyb25zLXJpZ2h0XCIgKGNsaWNrKT1cIm5leHRZZWFyKDEpXCI+PC94LWxpbms+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtcGlja2VyLXF1YXJ0ZXItYm9keVwiPlxyXG4gICAgPHRhYmxlIGNlbGxzcGFjaW5nPVwiMFwiIGNlbGxwYWRkaW5nPVwiMFwiPlxyXG4gICAgICA8dHIgKm5nRm9yPVwibGV0IHF1YXJ0ZXJzIG9mIGNodW5rRGF0ZXNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBxdWFydGVyIG9mIHF1YXJ0ZXJzOyB0cmFja0J5OiB0cmFja0J5UXVhcnRlclwiPlxyXG4gICAgICAgICAgPHRkXHJcbiAgICAgICAgICAgIGNsYXNzPVwieC1waWNrZXItZGF0ZS1pdGVtXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1kaXNhYmxlZF09XCJxdWFydGVyLmlzRGlzYWJsZWRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWxhc3Qtb3ItbmV4dF09XCJxdWFydGVyLmlzTGFzdE9yTmV4dFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbm93XT1cInF1YXJ0ZXIuaXNOb3dcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWZpcnN0LWRheV09XCJxdWFydGVyLmlzRmlyc3REYXlcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWxhc3QtZGF5XT1cInF1YXJ0ZXIuaXNMYXN0RGF5XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1zdGFydF09XCJyYW5nZVBpY2tlciAmJiBpc1N0YXJ0UXVhcnRlcihxdWFydGVyLmRhdGUhKVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtZW5kXT1cInJhbmdlUGlja2VyICYmIGlzRW5kUXVhcnRlcihxdWFydGVyLmRhdGUhKVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2Utc3RhcnQtbGVmdF09XCJyYW5nZVBpY2tlciAmJiBxdWFydGVyLmlzUmFuZ2VTdGFydExlZnRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLXN0YXJ0LXJpZ2h0XT1cInJhbmdlUGlja2VyICYmIHF1YXJ0ZXIuaXNSYW5nZVN0YXJ0UmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWVuZC1sZWZ0XT1cInJhbmdlUGlja2VyICYmIHF1YXJ0ZXIuaXNSYW5nZUVuZExlZnRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWVuZC1yaWdodF09XCJyYW5nZVBpY2tlciAmJiBxdWFydGVyLmlzUmFuZ2VFbmRSaWdodFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtaG92ZXJdPVwicmFuZ2VQaWNrZXIgJiYgcXVhcnRlci5pc1JhbmdlSG92ZXJcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLXN0YXJ0LWxlZnRdPVwicmFuZ2VQaWNrZXIgJiYgcXVhcnRlci5pc1JhbmdlSG92ZXJTdGFydExlZnRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLXN0YXJ0LXJpZ2h0XT1cInJhbmdlUGlja2VyICYmIHF1YXJ0ZXIuaXNSYW5nZUhvdmVyU3RhcnRSaWdodFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtaG92ZXItZW5kLWxlZnRdPVwicmFuZ2VQaWNrZXIgJiYgcXVhcnRlci5pc1JhbmdlSG92ZXJFbmRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1lbmQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgcXVhcnRlci5pc1JhbmdlSG92ZXJFbmRSaWdodFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtaG92ZXItc3RhcnRdPVwicmFuZ2VQaWNrZXIgJiYgcXVhcnRlci5pc1JhbmdlSG92ZXJTdGFydFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtaG92ZXItZW5kXT1cInJhbmdlUGlja2VyICYmIHF1YXJ0ZXIuaXNSYW5nZUhvdmVyRW5kXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1pbi1yYW5nZV09XCJyYW5nZVBpY2tlciAmJiBxdWFydGVyLmlzSW5SYW5nZVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtaW4tcmFuZ2UtaG92ZXJdPVwicmFuZ2VQaWNrZXIgJiYgcXVhcnRlci5pc0luUmFuZ2VIb3ZlclwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtYWN0aXZlXT1cIiFyYW5nZVBpY2tlciAmJiAocXVhcnRlci5kYXRlIHwgZGF0ZSA6ICd5eXl5TU0nKSA9PT0gKG1vZGVsIHwgZGF0ZSA6ICd5eXl5TU0nKVwiXHJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgcXVhcnRlci5kYXRlIHwgeERhdGVRdWFydGVyIDogdHJ1ZSB9fVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIhcXVhcnRlci5pc0Rpc2FibGVkICYmIHF1YXJ0ZXJDbGljayhxdWFydGVyKVwiXHJcbiAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIiFxdWFydGVyLmlzRGlzYWJsZWQgJiYgcmFuZ2VQaWNrZXIgJiYgb25UZE1vdXNlZW50ZXIocXVhcnRlcilcIlxyXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCIhcXVhcnRlci5pc0Rpc2FibGVkICYmIHJhbmdlUGlja2VyICYmIG9uVGRNb3VzZWxlYXZlKHF1YXJ0ZXIpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFxdWFydGVyVGVtcFwiIGNsYXNzPVwieC1kYXRlLXRleHRcIj5cclxuICAgICAgICAgICAgICB7eyBxdWFydGVyLmRhdGUgfCB4RGF0ZVF1YXJ0ZXIgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJxdWFydGVyVGVtcFwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJxdWFydGVyVGVtcDsgY29udGV4dDogeyBkYXRlJDogcXVhcnRlci5kYXRlIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC90YWJsZT5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
236
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i2.XDateQuarterPipe }, { type: i0.ChangeDetectorRef }, { type: i3.XConfigService }, { type: i4.XI18nService }] });
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLXF1YXJ0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXF1YXJ0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXF1YXJ0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0YsT0FBTyxFQUE4QixzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7O0FBVXZELE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxzQkFBc0I7SUFRakUsSUFBSSxVQUFVO1FBQ1osSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxN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QUksR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBcUI7UUFDaEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWMsRUFBRSxJQUErQjtRQUM1RCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7aUlBMU9VLHVCQUF1QjtxSEFBdkIsdUJBQXVCLDJDQUZ2QixDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsc0VDdkJ4RCwwMkdBb0RBOzsyRkQzQmEsdUJBQXVCO2tCQVJuQyxTQUFTOytCQUNFLGtCQUFrQixpQkFHYixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQ2h1bmssIFhJc0NoYW5nZSwgWENvbmZpZ1NlcnZpY2UsIFhJc051bGwsIFhJc0Z1bmN0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhEYXRlQ2VsbCwgWERhdGVQaWNrZXJUeXBlLCBYUGlja2VyUXVhcnRlclByb3BlcnR5IH0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IERhdGVQaXBlLCBMb3dlckNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWEkxOG5EYXRlUGlja2VyLCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWERhdGVRdWFydGVyUGlwZSB9IGZyb20gJy4vZGF0ZS1xdWFydGVyLnBpcGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd4LXBpY2tlci1xdWFydGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGlja2VyLXF1YXJ0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BpY2tlci1xdWFydGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtEYXRlUGlwZSwgTG93ZXJDYXNlUGlwZSwgWERhdGVRdWFydGVyUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhQaWNrZXJRdWFydGVyQ29tcG9uZW50IGV4dGVuZHMgWFBpY2tlclF1YXJ0ZXJQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgbm93ID0gbmV3IERhdGUoKTtcclxuICBkYXRlczogWERhdGVDZWxsW10gPSBbXTtcclxuICBjaHVua0RhdGVzOiBYRGF0ZUNlbGxbXVtdID0gW107XHJcbiAgbG9jYWxlOiBYSTE4bkRhdGVQaWNrZXIgPSB7fTtcclxuXHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgZ2V0IHJhbmdlU3RhcnQoKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlICYmIHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlVmFsdWVbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgcmFuZ2VFbmQoKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlICYmIHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlVmFsdWVbMV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBpc0Rpc2FibGVkKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZSAmJiBYSXNGdW5jdGlvbih0aGlzLmRpc2FibGVkRGF0ZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlKGRhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwdWJsaWMgbG93ZXJDYXNlUGlwZTogTG93ZXJDYXNlUGlwZSxcclxuICAgIHB1YmxpYyBkYXRlUXVhcnRlclBpcGU6IFhEYXRlUXVhcnRlclBpcGUsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBYSTE4blNlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaTE4bi5sb2NhbGVDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKCh4KSA9PiB4LmRhdGVQaWNrZXIgYXMgWEkxOG5EYXRlUGlja2VyKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmxvY2FsZSA9IHg7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkaXNwbGF5IH0gPSBzaW1wbGVzO1xyXG4gICAgWElzQ2hhbmdlKGRpc3BsYXkpICYmIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIHRoaXMuc2V0UXVhcnRlcnModGhpcy5kaXNwbGF5KTtcclxuICB9XHJcblxyXG4gIGlzU3RhcnRRdWFydGVyKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICghdGhpcy5yYW5nZVR5cGUgfHwgIXRoaXMucmFuZ2VWYWx1ZSkgcmV0dXJuO1xyXG4gICAgaWYgKCFYSXNOdWxsKHRoaXMucmFuZ2VWYWx1ZVswXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMucmFuZ2VWYWx1ZVswXSwgJ3l5eXlNTScpID09PSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAneXl5eU1NJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBpc0VuZFF1YXJ0ZXIoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKCF0aGlzLnJhbmdlVHlwZSB8fCAhdGhpcy5yYW5nZVZhbHVlKSByZXR1cm47XHJcbiAgICBpZiAoIVhJc051bGwodGhpcy5yYW5nZVZhbHVlWzFdKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5yYW5nZVZhbHVlWzFdLCAneXl5eU1NJykgPT09IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGRhdGUsICd5eXl5TU0nKTtcclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHNldERhdGVzU3RhdGUoY2VsbDogWERhdGVDZWxsKSB7XHJcbiAgICB0aGlzLmNsZWFyU3RhdGUoLi4udGhpcy5kYXRlcyk7XHJcbiAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgdGhpcy5zZXREYXlTdGF0ZShpdGVtKTtcclxuICAgIH1cclxuICAgIHRoaXMub25UZE1vdXNlZW50ZXIoY2VsbCwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgb25UZE1vdXNlZW50ZXIoY2VsbDogWERhdGVDZWxsLCBpc0VtaXQgPSB0cnVlKSB7XHJcbiAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLnJhbmdlVmFsdWU7XHJcbiAgICBpZiAoIVhJc051bGwoc3RhcnQpIHx8ICFYSXNOdWxsKGVuZCkpIHtcclxuICAgICAgY29uc3QgdGltZSA9IGNlbGwuZGF0ZSEuZ2V0VGltZSgpO1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgICBjb25zdCBpdGVtVGltZSA9IGl0ZW0uZGF0ZSEuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuY2xlYXJTdGF0ZShpdGVtKTtcclxuICAgICAgICBpZiAoIVhJc051bGwoc3RhcnQpICYmIFhJc051bGwoZW5kKSkge1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydExlZnQgPSB0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID09PSBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHQgPSB0aW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lID09PSBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlciA9XHJcbiAgICAgICAgICAgICh0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID49IHRpbWUgJiYgaXRlbVRpbWUgPCBzdGFydCEpIHx8ICh0aW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lIDw9IHRpbWUpO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPCBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPiBzdGFydCE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChYSXNOdWxsKHN0YXJ0KSAmJiAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZExlZnQgPSB0aW1lIDwgZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kUmlnaHQgPSB0aW1lID4gZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyID0gKHRpbWUgPCBlbmQhICYmIGl0ZW1UaW1lID49IHRpbWUgJiYgaXRlbVRpbWUgPCBlbmQhKSB8fCAodGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lIDw9IHRpbWUpO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPCBlbmQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lID4gZW5kITtcclxuICAgICAgICB9IGVsc2UgaWYgKCFYSXNOdWxsKHN0YXJ0KSAmJiAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0TGVmdCA9IHRpbWUgPCBzdGFydCEgJiYgaXRlbVRpbWUgPT09IHN0YXJ0ITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kUmlnaHQgPSB0aW1lID4gZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyID1cclxuICAgICAgICAgICAgKHRpbWUgPCBzdGFydCEgJiYgaXRlbVRpbWUgPj0gdGltZSAmJiBpdGVtVGltZSA8IHN0YXJ0ISkgfHwgKHRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lID4gZW5kISAmJiBpdGVtVGltZSA8PSB0aW1lKTtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lIDwgc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lID4gZW5kITtcclxuICAgICAgICAgIGlmICh0aGlzLnJhbmdlVHlwZSA9PT0gJ3N0YXJ0Jykge1xyXG4gICAgICAgICAgICBpdGVtLmlzSW5SYW5nZUhvdmVyID0gaXRlbVRpbWUgPj0gdGltZSEgJiYgaXRlbVRpbWUgPD0gZW5kITtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5yYW5nZVR5cGUgPT09ICdlbmQnKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNJblJhbmdlSG92ZXIgPSBpdGVtVGltZSA+PSBzdGFydCEgJiYgaXRlbVRpbWUgPD0gdGltZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlzRW1pdCkge1xyXG4gICAgICAgIHRoaXMucmFuZ2VUZE1vdXNlZW50ZXIuZW1pdChjZWxsKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVGRNb3VzZWxlYXZlKGNlbGw6IFhEYXRlQ2VsbCwgaXNFbWl0ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5yYW5nZVZhbHVlO1xyXG4gICAgaWYgKCFYSXNOdWxsKHN0YXJ0KSB8fCAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJTdGF0ZSguLi50aGlzLmRhdGVzKTtcclxuICAgICAgaWYgKGlzRW1pdCkgdGhpcy5yYW5nZVRkTW91c2VsZWF2ZS5lbWl0KGNlbGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJTdGF0ZSguLi5jZWxsczogWERhdGVDZWxsW10pIHtcclxuICAgIGZvciAobGV0IGNlbGwgb2YgY2VsbHMpIHtcclxuICAgICAgY2VsbC5pc0luUmFuZ2VIb3ZlciA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlciA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlclN0YXJ0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyRW5kID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyU3RhcnRMZWZ0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyU3RhcnRSaWdodCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlckVuZExlZnQgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJFbmRSaWdodCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0UXVhcnRlcnMoZGF0ZTogRGF0ZSkge1xyXG4gICAgbGV0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICBsZXQgZGF0ZXM6IFhEYXRlQ2VsbFtdID0gW107XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDQ7IGkrKykge1xyXG4gICAgICBjb25zdCBjZWxsID0geyBkYXRlOiBuZXcgRGF0ZSh5ZWFyLCBpICogMywgMSksIGlzRmlyc3REYXk6IGkgPT09IDAsIGlzTGFzdERheTogaSA9PT0gMyB9O1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgdGhpcy5zZXREYXlTdGF0ZShjZWxsKV07XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGVzID0gZGF0ZXM7XHJcbiAgICB0aGlzLmNodW5rRGF0ZXMgPSBYQ2h1bmsoZGF0ZXMsIDQpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGVzLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5yYW5nZUNoYW5nZS5lbWl0KFtkYXRlc1swXS5kYXRlISwgZGF0ZXNbZGF0ZXMubGVuZ3RoIC0gMV0uZGF0ZSFdKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXREYXlTdGF0ZShjZWxsOiBYRGF0ZUNlbGwpOiBYRGF0ZUNlbGwge1xyXG4gICAgY29uc3QgdGltZSA9IGNlbGwuZGF0ZT8uZ2V0VGltZSgpITtcclxuICAgIGNvbnN0IGZxdWFydGVyID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oY2VsbC5kYXRlLCAneXl5eU1NJyk7XHJcbiAgICBjb25zdCBmcXVhcnRlcnkgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShjZWxsLmRhdGUsICd5eXl5Jyk7XHJcbiAgICBjb25zdCBmZGlzcGxheXkgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLmRpc3BsYXksICd5eXl5Jyk7XHJcbiAgICBjb25zdCBmbm93ID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5ub3csICd5eXl5TU0nKTtcclxuICAgIGNlbGwuaXNMYXN0T3JOZXh0ID0gZnF1YXJ0ZXJ5ICE9PSBmZGlzcGxheXk7XHJcbiAgICBjZWxsLmlzTm93ID0gZnF1YXJ0ZXIgPT09IGZub3c7XHJcbiAgICBjZWxsLmlzRGlzYWJsZWQgPSB0aGlzLmlzRGlzYWJsZWQoY2VsbC5kYXRlISk7XHJcbiAgICBpZiAodGhpcy5yYW5nZVBpY2tlcikge1xyXG4gICAgICBpZiAoIXRoaXMucmFuZ2VWYWx1ZSkgcmV0dXJuIGNlbGw7XHJcbiAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRoaXMucmFuZ2VWYWx1ZTtcclxuICAgICAgY2VsbC5pc0luUmFuZ2UgPSAhIXN0YXJ0ICYmICEhZW5kICYmIHRpbWUgPj0gc3RhcnQhICYmIHRpbWUgPD0gZW5kITtcclxuICAgICAgY2VsbC5pc1JhbmdlU3RhcnRSaWdodCA9ICEhc3RhcnQgJiYgISFlbmQgJiYgZnF1YXJ0ZXIgPT09IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHN0YXJ0ISwgJ3l5eXlNTScpO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VFbmRMZWZ0ID0gISFzdGFydCAmJiAhIWVuZCAmJiBmcXVhcnRlciA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZW5kISwgJ3l5eXlNTScpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGNlbGw7XHJcbiAgfVxyXG5cclxuICBxdWFydGVyQ2xpY2soY2VsbDogWERhdGVDZWxsKSB7XHJcbiAgICB0aGlzLm1vZGVsID0gY2VsbC5kYXRlO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KGNlbGwuZGF0ZSk7XHJcbiAgICBpZiAodGhpcy5yYW5nZVBpY2tlcikge1xyXG4gICAgICB0aGlzLmNsZWFyU3RhdGUoLi4udGhpcy5kYXRlcyk7XHJcbiAgICAgIGZvciAobGV0IGl0ZW0gb2YgdGhpcy5kYXRlcykge1xyXG4gICAgICAgIHRoaXMuc2V0RGF5U3RhdGUoaXRlbSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yYW5nZURhdGVDbGljay5lbWl0KGNlbGwpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2NhbGVRdWFydGVyKGRhdGU6IERhdGUpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGVRdWFydGVyUGlwZS50cmFuc2Zvcm0oZGF0ZSk7XHJcbiAgfVxyXG5cclxuICByYW5nZURpc2FibGVkKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlVHlwZSA9PT0gJ2VuZCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VTdGFydCAhPT0gJycgJiYgZGF0ZS5nZXRUaW1lKCkgPCB0aGlzLnJhbmdlU3RhcnQhO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnJhbmdlVHlwZSA9PT0gJ3N0YXJ0Jykge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZUVuZCAhPT0gJycgJiYgZGF0ZS5nZXRUaW1lKCkgPiB0aGlzLnJhbmdlRW5kITtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNldERpc3BsYXkoZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIDEpO1xyXG4gICAgdGhpcy5kaXNwbGF5Q2hhbmdlLmVtaXQodGhpcy5kaXNwbGF5KTtcclxuICAgIHRoaXMuc2V0UXVhcnRlcnModGhpcy5kaXNwbGF5KTtcclxuICB9XHJcblxyXG4gIG5leHRZZWFyKG51bTogbnVtYmVyKSB7XHJcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuZGlzcGxheSk7XHJcbiAgICBkYXRlLnNldEZ1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSArIG51bSk7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICB0aGlzLnllYXJDaGFuZ2UuZW1pdChudW0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHlwZU9uQ2hhbmdlKHR5cGU6IFhEYXRlUGlja2VyVHlwZSkge1xyXG4gICAgdGhpcy50eXBlID0gdHlwZTtcclxuICAgIHRoaXMudHlwZUNoYW5nZS5lbWl0KHR5cGUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeVF1YXJ0ZXIoX2luZGV4OiBudW1iZXIsIGl0ZW06IHN0cmluZyB8IERhdGUgfCBYRGF0ZUNlbGwpIHtcclxuICAgIHJldHVybiBpdGVtO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC1waWNrZXItcXVhcnRlclwiIFtjbGFzcy54LWRhdGUtcGlja2VyLXF1YXJ0ZXJ0ZW1wXT1cInF1YXJ0ZXJUZW1wXCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtcGlja2VyLXF1YXJ0ZXItaGVhZGVyXCIgKm5nSWY9XCJzaG93SGVhZGVyXCI+XHJcbiAgICA8eC1saW5rIFtjbGFzcy54LXZpc2liaWxpdHldPVwiIWxhc3RZZWFyQnRuXCIgaWNvbj1cImZ0by1jaGV2cm9ucy1sZWZ0XCIgKGNsaWNrKT1cIm5leHRZZWFyKC0xKVwiPjwveC1saW5rPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtcGlja2VyLXF1YXJ0ZXIteWVhci1xdWFydGVyXCI+XHJcbiAgICAgIDx4LWxpbmsgKGNsaWNrKT1cInR5cGVPbkNoYW5nZSgneWVhcicpXCI+e3sgZGlzcGxheSB8IGRhdGUgOiAneXl5eScgfX17eyBsb2NhbGUueWVhciB9fTwveC1saW5rPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8eC1saW5rIFtjbGFzcy54LXZpc2liaWxpdHldPVwiIW5leHRZZWFyQnRuXCIgaWNvbj1cImZ0by1jaGV2cm9ucy1yaWdodFwiIChjbGljayk9XCJuZXh0WWVhcigxKVwiPjwveC1saW5rPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXBpY2tlci1xdWFydGVyLWJvZHlcIj5cclxuICAgIDx0YWJsZSBjZWxsc3BhY2luZz1cIjBcIiBjZWxscGFkZGluZz1cIjBcIj5cclxuICAgICAgPHRyICpuZ0Zvcj1cImxldCBxdWFydGVycyBvZiBjaHVua0RhdGVzXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcXVhcnRlciBvZiBxdWFydGVyczsgdHJhY2tCeTogdHJhY2tCeVF1YXJ0ZXJcIj5cclxuICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICBjbGFzcz1cIngtcGlja2VyLWRhdGUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtZGlzYWJsZWRdPVwicXVhcnRlci5pc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1sYXN0LW9yLW5leHRdPVwicXVhcnRlci5pc0xhc3RPck5leHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLW5vd109XCJxdWFydGVyLmlzTm93XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1maXJzdC1kYXldPVwicXVhcnRlci5pc0ZpcnN0RGF5XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1sYXN0LWRheV09XCJxdWFydGVyLmlzTGFzdERheVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2Utc3RhcnRdPVwicmFuZ2VQaWNrZXIgJiYgaXNTdGFydFF1YXJ0ZXIocXVhcnRlci5kYXRlISlcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWVuZF09XCJyYW5nZVBpY2tlciAmJiBpc0VuZFF1YXJ0ZXIocXVhcnRlci5kYXRlISlcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLXN0YXJ0LWxlZnRdPVwicmFuZ2VQaWNrZXIgJiYgcXVhcnRlci5pc1JhbmdlU3RhcnRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1zdGFydC1yaWdodF09XCJyYW5nZVBpY2tlciAmJiBxdWFydGVyLmlzUmFuZ2VTdGFydFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmQtbGVmdF09XCJyYW5nZVBpY2tlciAmJiBxdWFydGVyLmlzUmFuZ2VFbmRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgcXVhcnRlci5pc1JhbmdlRW5kUmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyXT1cInJhbmdlUGlja2VyICYmIHF1YXJ0ZXIuaXNSYW5nZUhvdmVyXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1zdGFydC1sZWZ0XT1cInJhbmdlUGlja2VyICYmIHF1YXJ0ZXIuaXNSYW5nZUhvdmVyU3RhcnRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1zdGFydC1yaWdodF09XCJyYW5nZVBpY2tlciAmJiBxdWFydGVyLmlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLWVuZC1sZWZ0XT1cInJhbmdlUGlja2VyICYmIHF1YXJ0ZXIuaXNSYW5nZUhvdmVyRW5kTGVmdFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtaG92ZXItZW5kLXJpZ2h0XT1cInJhbmdlUGlja2VyICYmIHF1YXJ0ZXIuaXNSYW5nZUhvdmVyRW5kUmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLXN0YXJ0XT1cInJhbmdlUGlja2VyICYmIHF1YXJ0ZXIuaXNSYW5nZUhvdmVyU3RhcnRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLWVuZF09XCJyYW5nZVBpY2tlciAmJiBxdWFydGVyLmlzUmFuZ2VIb3ZlckVuZFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtaW4tcmFuZ2VdPVwicmFuZ2VQaWNrZXIgJiYgcXVhcnRlci5pc0luUmFuZ2VcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWluLXJhbmdlLWhvdmVyXT1cInJhbmdlUGlja2VyICYmIHF1YXJ0ZXIuaXNJblJhbmdlSG92ZXJcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWFjdGl2ZV09XCIhcmFuZ2VQaWNrZXIgJiYgKHF1YXJ0ZXIuZGF0ZSB8IGRhdGUgOiAneXl5eU1NJykgPT09IChtb2RlbCB8IGRhdGUgOiAneXl5eU1NJylcIlxyXG4gICAgICAgICAgICB0aXRsZT1cInt7IHF1YXJ0ZXIuZGF0ZSB8IHhEYXRlUXVhcnRlciA6IHRydWUgfX1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiIXF1YXJ0ZXIuaXNEaXNhYmxlZCAmJiBxdWFydGVyQ2xpY2socXVhcnRlcilcIlxyXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCIhcXVhcnRlci5pc0Rpc2FibGVkICYmIHJhbmdlUGlja2VyICYmIG9uVGRNb3VzZWVudGVyKHF1YXJ0ZXIpXCJcclxuICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiIXF1YXJ0ZXIuaXNEaXNhYmxlZCAmJiByYW5nZVBpY2tlciAmJiBvblRkTW91c2VsZWF2ZShxdWFydGVyKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhcXVhcnRlclRlbXBcIiBjbGFzcz1cIngtZGF0ZS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAge3sgcXVhcnRlci5kYXRlIHwgeERhdGVRdWFydGVyIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicXVhcnRlclRlbXBcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicXVhcnRlclRlbXA7IGNvbnRleHQ6IHsgZGF0ZSQ6IHF1YXJ0ZXIuZGF0ZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "@angular/common";
7
7
  import * as i2 from "@ng-nest/ui/core";
8
8
  import * as i3 from "@ng-nest/ui/link";
9
- class XPickerYearComponent extends XPickerYearProperty {
9
+ export class XPickerYearComponent extends XPickerYearProperty {
10
10
  get rangeStart() {
11
11
  if (this.rangeValue && this.rangeValue.length > 0) {
12
12
  return this.rangeValue[0];
@@ -209,12 +209,11 @@ class XPickerYearComponent extends XPickerYearProperty {
209
209
  trackByYear(_index, item) {
210
210
  return item;
211
211
  }
212
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XPickerYearComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.DatePipe }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
213
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XPickerYearComponent, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start }}</x-link> -\r\n <x-link>{{ end }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of chunkDates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"year.isDisabled\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (year.date | date : 'yyyy') === (model | date : 'yyyy')\"\r\n title=\"{{ year.date | date : 'yyyy' }}\"\r\n (click)=\"!year.isDisabled && yearClick(year)\"\r\n (mouseenter)=\"!year.isDisabled && rangePicker && onTdMouseenter(year)\"\r\n (mouseleave)=\"!year.isDisabled && rangePicker && onTdMouseleave(year)\"\r\n >\r\n <div *ngIf=\"!yearTemp\" class=\"x-date-text\">\r\n {{ year.date | date : 'yyyy' }}\r\n </div>\r\n <ng-container *ngIf=\"yearTemp\">\r\n <ng-container *ngTemplateOutlet=\"yearTemp; context: { date$: year.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-year-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-year-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-year-body .x-picker-date-item:after,.x-picker-year-body .x-picker-date-item:before{height:3.25rem}.x-picker-year-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-year-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-year .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.XLinkComponent, selector: "x-link" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
212
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XPickerYearComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.DatePipe }, { token: i2.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
213
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XPickerYearComponent, selector: "x-picker-year", providers: [DatePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start }}</x-link> -\r\n <x-link>{{ end }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of chunkDates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"year.isDisabled\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (year.date | date : 'yyyy') === (model | date : 'yyyy')\"\r\n title=\"{{ year.date | date : 'yyyy' }}\"\r\n (click)=\"!year.isDisabled && yearClick(year)\"\r\n (mouseenter)=\"!year.isDisabled && rangePicker && onTdMouseenter(year)\"\r\n (mouseleave)=\"!year.isDisabled && rangePicker && onTdMouseleave(year)\"\r\n >\r\n <div *ngIf=\"!yearTemp\" class=\"x-date-text\">\r\n {{ year.date | date : 'yyyy' }}\r\n </div>\r\n <ng-container *ngIf=\"yearTemp\">\r\n <ng-container *ngTemplateOutlet=\"yearTemp; context: { date$: year.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-year-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-year-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-year-body .x-picker-date-item:after,.x-picker-year-body .x-picker-date-item:before{height:3.25rem}.x-picker-year-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-year-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-year .x-visibility{visibility:hidden}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.XLinkComponent, selector: "x-link" }, { kind: "pipe", type: i1.DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
214
214
  }
215
- export { XPickerYearComponent };
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XPickerYearComponent, decorators: [{
215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XPickerYearComponent, decorators: [{
217
216
  type: Component,
218
217
  args: [{ selector: 'x-picker-year', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [DatePipe], template: "<div class=\"x-picker-year\">\r\n <div class=\"x-picker-year-header\" *ngIf=\"showHeader\">\r\n <x-link [class.x-visibility]=\"!lastYearBtn\" icon=\"fto-chevrons-left\" (click)=\"nextYears(-10)\"></x-link>\r\n <div class=\"x-picker-year-year-month\">\r\n <x-link>{{ start }}</x-link> -\r\n <x-link>{{ end }}</x-link>\r\n </div>\r\n <x-link [class.x-visibility]=\"!nextYearBtn\" icon=\"fto-chevrons-right\" (click)=\"nextYears(10)\"></x-link>\r\n </div>\r\n <div class=\"x-picker-year-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <tr *ngFor=\"let years of chunkDates\">\r\n <ng-container *ngFor=\"let year of years; trackBy: trackByYear\">\r\n <td\r\n class=\"x-picker-date-item\"\r\n [class.x-date-disabled]=\"year.isDisabled\"\r\n [class.x-date-last-or-next]=\"year.isLastOrNext\"\r\n [class.x-date-now]=\"year.isNow\"\r\n [class.x-date-first-day]=\"year.isFirstDay\"\r\n [class.x-date-last-day]=\"year.isLastDay\"\r\n [class.x-date-range-start]=\"rangePicker && isStartYear(year.date!)\"\r\n [class.x-date-range-end]=\"rangePicker && isEndYear(year.date!)\"\r\n [class.x-date-range-start-left]=\"rangePicker && year.isRangeStartLeft\"\r\n [class.x-date-range-start-right]=\"rangePicker && year.isRangeStartRight\"\r\n [class.x-date-range-end-left]=\"rangePicker && year.isRangeEndLeft\"\r\n [class.x-date-range-end-right]=\"rangePicker && year.isRangeEndRight\"\r\n [class.x-date-range-hover]=\"rangePicker && year.isRangeHover\"\r\n [class.x-date-range-hover-start-left]=\"rangePicker && year.isRangeHoverStartLeft\"\r\n [class.x-date-range-hover-start-right]=\"rangePicker && year.isRangeHoverStartRight\"\r\n [class.x-date-range-hover-end-left]=\"rangePicker && year.isRangeHoverEndLeft\"\r\n [class.x-date-range-hover-end-right]=\"rangePicker && year.isRangeHoverEndRight\"\r\n [class.x-date-range-hover-start]=\"rangePicker && year.isRangeHoverStart\"\r\n [class.x-date-range-hover-end]=\"rangePicker && year.isRangeHoverEnd\"\r\n [class.x-date-in-range]=\"rangePicker && year.isInRange\"\r\n [class.x-date-in-range-hover]=\"rangePicker && year.isInRangeHover\"\r\n [class.x-date-active]=\"!rangePicker && (year.date | date : 'yyyy') === (model | date : 'yyyy')\"\r\n title=\"{{ year.date | date : 'yyyy' }}\"\r\n (click)=\"!year.isDisabled && yearClick(year)\"\r\n (mouseenter)=\"!year.isDisabled && rangePicker && onTdMouseenter(year)\"\r\n (mouseleave)=\"!year.isDisabled && rangePicker && onTdMouseleave(year)\"\r\n >\r\n <div *ngIf=\"!yearTemp\" class=\"x-date-text\">\r\n {{ year.date | date : 'yyyy' }}\r\n </div>\r\n <ng-container *ngIf=\"yearTemp\">\r\n <ng-container *ngTemplateOutlet=\"yearTemp; context: { date$: year.date }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-year{margin:0;padding:0}.x-picker-year-header{display:flex;align-items:center;justify-content:space-between;padding:0 .5rem;height:2.5rem;border-bottom:var(--x-border-width) solid var(--x-border);color:var(--x-text-500);font-size:var(--x-font-size-medium)}.x-picker-year-header x-link{height:100%;-webkit-user-select:none;user-select:none}.x-picker-year-header .x-link{padding:0 .25rem}.x-picker-year-year-month{flex:1;text-align:center;color:var(--x-text);font-size:var(--x-font-size)}.x-picker-year-body{padding:.1375rem .5rem}.x-picker-year-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-year-body>table tr{padding:.125rem 0;display:flex;align-items:center;justify-content:center}.x-picker-year-body>table td{flex:1;padding:.125rem 0;-webkit-user-select:none;user-select:none}.x-picker-year-body .x-picker-date-item{text-align:center;cursor:pointer;color:var(--x-text-300);position:relative}.x-picker-year-body .x-picker-date-item .x-date-text{width:3.5rem;height:3.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto;border:var(--x-border-width) var(--x-border-style) transparent;border-radius:var(--x-border-radius);transition:var(--x-animation-duration-base);position:relative}.x-picker-year-body .x-picker-date-item:after,.x-picker-year-body .x-picker-date-item:before{height:3.25rem}.x-picker-year-body .x-picker-date-item:hover:not(.x-date-in-range) .x-date-text{background-color:var(--x-background-a200)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next){color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next) .x-date-text{background-color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover{color:var(--x-background-100)}.x-picker-year-body .x-picker-date-item.x-date-active:not(.x-date-last-or-next):hover .x-date-text{background-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-last-or-next{color:var(--x-text-700)}.x-picker-year-body .x-picker-date-item.x-date-now:not(.x-date-active):not(.x-date-range-start):not(.x-date-range-end):not(.x-date-last-or-next) .x-date-text{color:var(--x-primary);border-color:var(--x-primary)}.x-picker-year-body .x-picker-date-item.x-date-range-hover:first-child:not(.x-date-last-or-next).x-date-range-hover-end:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day.x-date-range-hover-end:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover:last-child:not(.x-date-last-or-next).x-date-range-hover-start:before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day.x-date-range-hover-start:before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-first-day:last-child:not(.x-date-last-or-next):before,.x-picker-year-body .x-picker-date-item.x-date-range-hover.x-date-last-day:first-child:not(.x-date-last-or-next):before{width:3.5rem}.x-picker-year-body .x-picker-date-item.x-date-disabled{cursor:default;background-color:var(--x-background-a200);color:var(--x-text-700)}.x-picker-year .x-visibility{visibility:hidden}\n"] }]
219
- }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.DatePipe }, { type: i2.XConfigService }]; } });
220
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLXllYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXllYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXllYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0YsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUUzQyxNQVFhLG9CQUFxQixTQUFRLG1CQUFtQjtJQU8zRCxJQUFJLFVBQVU7UUFDWixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzQjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVU7UUFDbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLFdBQVcsQ0FBQyxJQUFJ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b21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhDaHVuaywgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSwgWElzTnVsbCwgWElzRnVuY3Rpb24gfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWERhdGVDZWxsLCBYUGlja2VyWWVhclByb3BlcnR5IH0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IERhdGVQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAneC1waWNrZXIteWVhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2tlci15ZWFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9waWNrZXIteWVhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbRGF0ZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYUGlja2VyWWVhckNvbXBvbmVudCBleHRlbmRzIFhQaWNrZXJZZWFyUHJvcGVydHkgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgZGF0ZXM6IFhEYXRlQ2VsbFtdID0gW107XHJcbiAgY2h1bmtEYXRlczogWERhdGVDZWxsW11bXSA9IFtdO1xyXG4gIHN0YXJ0ITogbnVtYmVyO1xyXG4gIGVuZCE6IG51bWJlcjtcclxuXHJcbiAgZ2V0IHJhbmdlU3RhcnQoKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlICYmIHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlVmFsdWVbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBnZXQgcmFuZ2VFbmQoKSB7XHJcbiAgICBpZiAodGhpcy5yYW5nZVZhbHVlICYmIHRoaXMucmFuZ2VWYWx1ZS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlVmFsdWVbMV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG5cclxuICBpc0Rpc2FibGVkKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkRGF0ZSAmJiBYSXNGdW5jdGlvbih0aGlzLmRpc2FibGVkRGF0ZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlKGRhdGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgZGF0ZVBpcGU6IERhdGVQaXBlLCBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IGRpc3BsYXkgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UoZGlzcGxheSkgJiYgdGhpcy5pbml0KCk7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgdGhpcy5zZXRZZWFycyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgaXNTdGFydFllYXIoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKCF0aGlzLnJhbmdlVHlwZSB8fCAhdGhpcy5yYW5nZVZhbHVlKSByZXR1cm47XHJcbiAgICBpZiAoIVhJc051bGwodGhpcy5yYW5nZVZhbHVlWzBdKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5yYW5nZVZhbHVlWzBdLCAneXl5eScpID09PSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAneXl5eScpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgaXNFbmRZZWFyKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICghdGhpcy5yYW5nZVR5cGUgfHwgIXRoaXMucmFuZ2VWYWx1ZSkgcmV0dXJuO1xyXG4gICAgaWYgKCFYSXNOdWxsKHRoaXMucmFuZ2VWYWx1ZVsxXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMucmFuZ2VWYWx1ZVsxXSwgJ3l5eXknKSA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ3l5eXknKTtcclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHNldERhdGVzU3RhdGUoY2VsbDogWERhdGVDZWxsKSB7XHJcbiAgICB0aGlzLmNsZWFyU3RhdGUoLi4udGhpcy5kYXRlcyk7XHJcbiAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgdGhpcy5zZXREYXlTdGF0ZShpdGVtKTtcclxuICAgIH1cclxuICAgIHRoaXMub25UZE1vdXNlZW50ZXIoY2VsbCwgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgb25UZE1vdXNlZW50ZXIoY2VsbDogWERhdGVDZWxsLCBpc0VtaXQgPSB0cnVlKSB7XHJcbiAgICBjb25zdCBbc3RhcnQsIGVuZF0gPSB0aGlzLnJhbmdlVmFsdWU7XHJcbiAgICBpZiAoIVhJc051bGwoc3RhcnQpIHx8ICFYSXNOdWxsKGVuZCkpIHtcclxuICAgICAgY29uc3QgdGltZSA9IGNlbGwuZGF0ZSEuZ2V0VGltZSgpO1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgICBjb25zdCBpdGVtVGltZSA9IGl0ZW0uZGF0ZSEuZ2V0VGltZSgpO1xyXG4gICAgICAgIHRoaXMuY2xlYXJTdGF0ZShpdGVtKTtcclxuICAgICAgICBpZiAoIVhJc051bGwoc3RhcnQpICYmIFhJc051bGwoZW5kKSkge1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydExlZnQgPSB0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID09PSBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHQgPSB0aW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lID09PSBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlciA9XHJcbiAgICAgICAgICAgICh0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID49IHRpbWUgJiYgaXRlbVRpbWUgPCBzdGFydCEpIHx8ICh0aW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lID4gc3RhcnQhICYmIGl0ZW1UaW1lIDw9IHRpbWUpO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPCBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPiBzdGFydCE7XHJcbiAgICAgICAgfSBlbHNlIGlmIChYSXNOdWxsKHN0YXJ0KSAmJiAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZExlZnQgPSB0aW1lIDwgZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kUmlnaHQgPSB0aW1lID4gZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyID0gKHRpbWUgPCBlbmQhICYmIGl0ZW1UaW1lID49IHRpbWUgJiYgaXRlbVRpbWUgPCBlbmQhKSB8fCAodGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lIDw9IHRpbWUpO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydCA9IGl0ZW1UaW1lID09PSB0aW1lICYmIHRpbWUgPCBlbmQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lID4gZW5kITtcclxuICAgICAgICB9IGVsc2UgaWYgKCFYSXNOdWxsKHN0YXJ0KSAmJiAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0TGVmdCA9IHRpbWUgPCBzdGFydCEgJiYgaXRlbVRpbWUgPT09IHN0YXJ0ITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kUmlnaHQgPSB0aW1lID4gZW5kISAmJiBpdGVtVGltZSA9PT0gZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyID1cclxuICAgICAgICAgICAgKHRpbWUgPCBzdGFydCEgJiYgaXRlbVRpbWUgPj0gdGltZSAmJiBpdGVtVGltZSA8IHN0YXJ0ISkgfHwgKHRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lID4gZW5kISAmJiBpdGVtVGltZSA8PSB0aW1lKTtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lIDwgc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lID4gZW5kITtcclxuICAgICAgICAgIGlmICh0aGlzLnJhbmdlVHlwZSA9PT0gJ3N0YXJ0Jykge1xyXG4gICAgICAgICAgICBpdGVtLmlzSW5SYW5nZUhvdmVyID0gaXRlbVRpbWUgPj0gdGltZSEgJiYgaXRlbVRpbWUgPD0gZW5kITtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5yYW5nZVR5cGUgPT09ICdlbmQnKSB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNJblJhbmdlSG92ZXIgPSBpdGVtVGltZSA+PSBzdGFydCEgJiYgaXRlbVRpbWUgPD0gdGltZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlzRW1pdCkge1xyXG4gICAgICAgIHRoaXMucmFuZ2VUZE1vdXNlZW50ZXIuZW1pdChjZWxsKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uVGRNb3VzZWxlYXZlKGNlbGw6IFhEYXRlQ2VsbCwgaXNFbWl0ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5yYW5nZVZhbHVlO1xyXG4gICAgaWYgKCFYSXNOdWxsKHN0YXJ0KSB8fCAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJTdGF0ZSguLi50aGlzLmRhdGVzKTtcclxuICAgICAgaWYgKGlzRW1pdCkgdGhpcy5yYW5nZVRkTW91c2VsZWF2ZS5lbWl0KGNlbGwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJTdGF0ZSguLi5jZWxsczogWERhdGVDZWxsW10pIHtcclxuICAgIGZvciAobGV0IGNlbGwgb2YgY2VsbHMpIHtcclxuICAgICAgY2VsbC5pc0luUmFuZ2VIb3ZlciA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlciA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlclN0YXJ0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyRW5kID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyU3RhcnRMZWZ0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyU3RhcnRSaWdodCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlckVuZExlZnQgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJFbmRSaWdodCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0WWVhcnMoZGF0ZTogRGF0ZSkge1xyXG4gICAgbGV0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XHJcbiAgICB0aGlzLnN0YXJ0ID0gTWF0aC5mbG9vcih5ZWFyIC8gMTApICogMTA7XHJcbiAgICB0aGlzLmVuZCA9IHRoaXMuc3RhcnQgKyA5O1xyXG4gICAgbGV0IGRhdGVzOiBYRGF0ZUNlbGxbXSA9IFtdO1xyXG4gICAgZm9yIChsZXQgaSA9IC0zOyBpIDwgMTM7IGkrKykge1xyXG4gICAgICBjb25zdCBkdCA9IG5ldyBEYXRlKHRoaXMuc3RhcnQgKyBpLCAxLCAxKTtcclxuICAgICAgY29uc3QgY2VsbDogWERhdGVDZWxsID0ge1xyXG4gICAgICAgIGRhdGU6IGR0LFxyXG4gICAgICAgIGlzTm93OiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLm5vdywgJ3l5eXknKSA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZHQsICd5eXl5JyksXHJcbiAgICAgICAgaXNMYXN0T3JOZXh0OiBpIDwgMCB8fCBpID4gOSxcclxuICAgICAgICBpc0ZpcnN0RGF5OiBpID09PSAwLFxyXG4gICAgICAgIGlzTGFzdERheTogaSA9PT0gOVxyXG4gICAgICB9O1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgdGhpcy5zZXREYXlTdGF0ZShjZWxsKV07XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGVzID0gZGF0ZXM7XHJcbiAgICB0aGlzLmNodW5rRGF0ZXMgPSBYQ2h1bmsoZGF0ZXMsIDQpO1xyXG4gICAgdGhpcy5zdGFydENoYW5nZS5lbWl0KHRoaXMuc3RhcnQpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF5U3RhdGUoY2VsbDogWERhdGVDZWxsKTogWERhdGVDZWxsIHtcclxuICAgIGNvbnN0IHRpbWUgPSBjZWxsLmRhdGU/LmdldFRpbWUoKSE7XHJcbiAgICBjb25zdCBmeWVhciA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGNlbGwuZGF0ZSwgJ3l5eXknKTtcclxuICAgIGNvbnN0IGZub3cgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLm5vdywgJ3l5eXknKTtcclxuICAgIGNlbGwuaXNOb3cgPSBmeWVhciA9PT0gZm5vdztcclxuICAgIGNlbGwuaXNEaXNhYmxlZCA9IHRoaXMuaXNEaXNhYmxlZChjZWxsLmRhdGUhKTtcclxuICAgIGlmICh0aGlzLnJhbmdlUGlja2VyKSB7XHJcbiAgICAgIGlmICghdGhpcy5yYW5nZVZhbHVlKSByZXR1cm4gY2VsbDtcclxuICAgICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5yYW5nZVZhbHVlO1xyXG4gICAgICBjZWxsLmlzSW5SYW5nZSA9ICEhc3RhcnQgJiYgISFlbmQgJiYgdGltZSA+PSBzdGFydCEgJiYgdGltZSA8PSBlbmQhO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VTdGFydFJpZ2h0ID0gISFzdGFydCAmJiAhIWVuZCAmJiBmeWVhciA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oc3RhcnQhLCAneXl5eScpO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VFbmRMZWZ0ID0gISFzdGFydCAmJiAhIWVuZCAmJiBmeWVhciA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZW5kISwgJ3l5eXknKTtcclxuICAgIH1cclxuICAgIHJldHVybiBjZWxsO1xyXG4gIH1cclxuXHJcbiAgeWVhckNsaWNrKGNlbGw6IFhEYXRlQ2VsbCkge1xyXG4gICAgdGhpcy5tb2RlbCA9IGNlbGwuZGF0ZTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdChjZWxsLmRhdGUpO1xyXG4gICAgaWYgKHRoaXMucmFuZ2VQaWNrZXIpIHtcclxuICAgICAgdGhpcy5jbGVhclN0YXRlKC4uLnRoaXMuZGF0ZXMpO1xyXG4gICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuZGF0ZXMpIHtcclxuICAgICAgICB0aGlzLnNldERheVN0YXRlKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmFuZ2VEYXRlQ2xpY2suZW1pdChjZWxsKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgbGFzdE9yTmV4dCh5ZWFyOiBEYXRlKSB7XHJcbiAgICBjb25zdCB5ZWFyU3RyID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oeWVhciwgJ3l5eXknKSBhcyBzdHJpbmc7XHJcbiAgICByZXR1cm4geWVhclN0ciA8IGAke3RoaXMuc3RhcnR9YCB8fCB5ZWFyU3RyID4gYCR7dGhpcy5lbmR9YDtcclxuICB9XHJcblxyXG4gIHJhbmdlRGlzYWJsZWQoZGF0ZTogRGF0ZSkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnZW5kJykge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZVN0YXJ0ICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA8IHRoaXMucmFuZ2VTdGFydCE7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnc3RhcnQnKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnJhbmdlRW5kICE9PSAnJyAmJiBkYXRlLmdldFRpbWUoKSA+IHRoaXMucmFuZ2VFbmQhO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICB0aGlzLmRpc3BsYXlDaGFuZ2UuZW1pdCh0aGlzLmRpc3BsYXkpO1xyXG4gICAgdGhpcy5zZXRZZWFycyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgbmV4dFllYXJzKG51bTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLnN0YXJ0ICs9IG51bTtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0RnVsbFllYXIodGhpcy5zdGFydCk7XHJcbiAgICB0aGlzLnNldERpc3BsYXkoZGF0ZSk7XHJcbiAgICB0aGlzLnllYXJDaGFuZ2UuZW1pdChudW0pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeVllYXIoX2luZGV4OiBudW1iZXIsIGl0ZW06IHN0cmluZyB8IERhdGUgfCBYRGF0ZUNlbGwpIHtcclxuICAgIHJldHVybiBpdGVtO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC1waWNrZXIteWVhclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXBpY2tlci15ZWFyLWhlYWRlclwiICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgPHgtbGluayBbY2xhc3MueC12aXNpYmlsaXR5XT1cIiFsYXN0WWVhckJ0blwiIGljb249XCJmdG8tY2hldnJvbnMtbGVmdFwiIChjbGljayk9XCJuZXh0WWVhcnMoLTEwKVwiPjwveC1saW5rPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtcGlja2VyLXllYXIteWVhci1tb250aFwiPlxyXG4gICAgICA8eC1saW5rPnt7IHN0YXJ0IH19PC94LWxpbms+IC1cclxuICAgICAgPHgtbGluaz57eyBlbmQgfX08L3gtbGluaz5cclxuICAgIDwvZGl2PlxyXG4gICAgPHgtbGluayBbY2xhc3MueC12aXNpYmlsaXR5XT1cIiFuZXh0WWVhckJ0blwiIGljb249XCJmdG8tY2hldnJvbnMtcmlnaHRcIiAoY2xpY2spPVwibmV4dFllYXJzKDEwKVwiPjwveC1saW5rPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXBpY2tlci15ZWFyLWJvZHlcIj5cclxuICAgIDx0YWJsZSBjZWxsc3BhY2luZz1cIjBcIiBjZWxscGFkZGluZz1cIjBcIj5cclxuICAgICAgPHRyICpuZ0Zvcj1cImxldCB5ZWFycyBvZiBjaHVua0RhdGVzXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyczsgdHJhY2tCeTogdHJhY2tCeVllYXJcIj5cclxuICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICBjbGFzcz1cIngtcGlja2VyLWRhdGUtaXRlbVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtZGlzYWJsZWRdPVwieWVhci5pc0Rpc2FibGVkXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1sYXN0LW9yLW5leHRdPVwieWVhci5pc0xhc3RPck5leHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLW5vd109XCJ5ZWFyLmlzTm93XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1maXJzdC1kYXldPVwieWVhci5pc0ZpcnN0RGF5XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1sYXN0LWRheV09XCJ5ZWFyLmlzTGFzdERheVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2Utc3RhcnRdPVwicmFuZ2VQaWNrZXIgJiYgaXNTdGFydFllYXIoeWVhci5kYXRlISlcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWVuZF09XCJyYW5nZVBpY2tlciAmJiBpc0VuZFllYXIoeWVhci5kYXRlISlcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLXN0YXJ0LWxlZnRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlU3RhcnRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1zdGFydC1yaWdodF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VTdGFydFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmQtbGVmdF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VFbmRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlRW5kUmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyXT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUhvdmVyXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1zdGFydC1sZWZ0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUhvdmVyU3RhcnRMZWZ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1zdGFydC1yaWdodF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLWVuZC1sZWZ0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUhvdmVyRW5kTGVmdFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtaG92ZXItZW5kLXJpZ2h0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUhvdmVyRW5kUmlnaHRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLXN0YXJ0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUhvdmVyU3RhcnRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLWVuZF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlckVuZFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtaW4tcmFuZ2VdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc0luUmFuZ2VcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWluLXJhbmdlLWhvdmVyXT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNJblJhbmdlSG92ZXJcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWFjdGl2ZV09XCIhcmFuZ2VQaWNrZXIgJiYgKHllYXIuZGF0ZSB8IGRhdGUgOiAneXl5eScpID09PSAobW9kZWwgfCBkYXRlIDogJ3l5eXknKVwiXHJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgeWVhci5kYXRlIHwgZGF0ZSA6ICd5eXl5JyB9fVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCIheWVhci5pc0Rpc2FibGVkICYmIHllYXJDbGljayh5ZWFyKVwiXHJcbiAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIiF5ZWFyLmlzRGlzYWJsZWQgJiYgcmFuZ2VQaWNrZXIgJiYgb25UZE1vdXNlZW50ZXIoeWVhcilcIlxyXG4gICAgICAgICAgICAobW91c2VsZWF2ZSk9XCIheWVhci5pc0Rpc2FibGVkICYmIHJhbmdlUGlja2VyICYmIG9uVGRNb3VzZWxlYXZlKHllYXIpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiF5ZWFyVGVtcFwiIGNsYXNzPVwieC1kYXRlLXRleHRcIj5cclxuICAgICAgICAgICAgICB7eyB5ZWFyLmRhdGUgfCBkYXRlIDogJ3l5eXknIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwieWVhclRlbXBcIj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwieWVhclRlbXA7IGNvbnRleHQ6IHsgZGF0ZSQ6IHllYXIuZGF0ZSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC90cj5cclxuICAgIDwvdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
218
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.DatePipe }, { type: i2.XConfigService }] });
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLXllYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXllYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLXllYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFrQixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0YsT0FBTyxFQUFhLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQVUzQyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsbUJBQW1CO0lBTzNELElBQUksVUFBVTtRQUNaLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDakQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNqRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxVQUFVLENBQUMsSUFBVTtRQUNuQixJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksV0FBVyxDQUFD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LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYQ2h1bmssIFhJc0NoYW5nZSwgWENvbmZpZ1NlcnZpY2UsIFhJc051bGwsIFhJc0Z1bmN0aW9uIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhEYXRlQ2VsbCwgWFBpY2tlclllYXJQcm9wZXJ0eSB9IGZyb20gJy4vZGF0ZS1waWNrZXIucHJvcGVydHknO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3gtcGlja2VyLXllYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9waWNrZXIteWVhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGlja2VyLXllYXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFBpY2tlclllYXJDb21wb25lbnQgZXh0ZW5kcyBYUGlja2VyWWVhclByb3BlcnR5IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gIGRhdGVzOiBYRGF0ZUNlbGxbXSA9IFtdO1xyXG4gIGNodW5rRGF0ZXM6IFhEYXRlQ2VsbFtdW10gPSBbXTtcclxuICBzdGFydCE6IG51bWJlcjtcclxuICBlbmQhOiBudW1iZXI7XHJcblxyXG4gIGdldCByYW5nZVN0YXJ0KCkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZSAmJiB0aGlzLnJhbmdlVmFsdWUubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZVZhbHVlWzBdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJhbmdlRW5kKCkge1xyXG4gICAgaWYgKHRoaXMucmFuZ2VWYWx1ZSAmJiB0aGlzLnJhbmdlVmFsdWUubGVuZ3RoID4gMSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZVZhbHVlWzFdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgaXNEaXNhYmxlZChkYXRlOiBEYXRlKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZERhdGUgJiYgWElzRnVuY3Rpb24odGhpcy5kaXNhYmxlZERhdGUpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRpc2FibGVkRGF0ZShkYXRlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGRhdGVQaXBlOiBEYXRlUGlwZSwgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyBkaXNwbGF5IH0gPSBzaW1wbGVzO1xyXG4gICAgWElzQ2hhbmdlKGRpc3BsYXkpICYmIHRoaXMuaW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIHRoaXMuc2V0WWVhcnModGhpcy5kaXNwbGF5KTtcclxuICB9XHJcblxyXG4gIGlzU3RhcnRZZWFyKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICghdGhpcy5yYW5nZVR5cGUgfHwgIXRoaXMucmFuZ2VWYWx1ZSkgcmV0dXJuO1xyXG4gICAgaWYgKCFYSXNOdWxsKHRoaXMucmFuZ2VWYWx1ZVswXSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMucmFuZ2VWYWx1ZVswXSwgJ3l5eXknKSA9PT0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ3l5eXknKTtcclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGlzRW5kWWVhcihkYXRlOiBEYXRlKSB7XHJcbiAgICBpZiAoIXRoaXMucmFuZ2VUeXBlIHx8ICF0aGlzLnJhbmdlVmFsdWUpIHJldHVybjtcclxuICAgIGlmICghWElzTnVsbCh0aGlzLnJhbmdlVmFsdWVbMV0pKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLnJhbmdlVmFsdWVbMV0sICd5eXl5JykgPT09IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGRhdGUsICd5eXl5Jyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBzZXREYXRlc1N0YXRlKGNlbGw6IFhEYXRlQ2VsbCkge1xyXG4gICAgdGhpcy5jbGVhclN0YXRlKC4uLnRoaXMuZGF0ZXMpO1xyXG4gICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmRhdGVzKSB7XHJcbiAgICAgIHRoaXMuc2V0RGF5U3RhdGUoaXRlbSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uVGRNb3VzZWVudGVyKGNlbGwsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIG9uVGRNb3VzZWVudGVyKGNlbGw6IFhEYXRlQ2VsbCwgaXNFbWl0ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgW3N0YXJ0LCBlbmRdID0gdGhpcy5yYW5nZVZhbHVlO1xyXG4gICAgaWYgKCFYSXNOdWxsKHN0YXJ0KSB8fCAhWElzTnVsbChlbmQpKSB7XHJcbiAgICAgIGNvbnN0IHRpbWUgPSBjZWxsLmRhdGUhLmdldFRpbWUoKTtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmRhdGVzKSB7XHJcbiAgICAgICAgY29uc3QgaXRlbVRpbWUgPSBpdGVtLmRhdGUhLmdldFRpbWUoKTtcclxuICAgICAgICB0aGlzLmNsZWFyU3RhdGUoaXRlbSk7XHJcbiAgICAgICAgaWYgKCFYSXNOdWxsKHN0YXJ0KSAmJiBYSXNOdWxsKGVuZCkpIHtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnRMZWZ0ID0gdGltZSA8IHN0YXJ0ISAmJiBpdGVtVGltZSA9PT0gc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydFJpZ2h0ID0gdGltZSA+IHN0YXJ0ISAmJiBpdGVtVGltZSA9PT0gc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXIgPVxyXG4gICAgICAgICAgICAodGltZSA8IHN0YXJ0ISAmJiBpdGVtVGltZSA+PSB0aW1lICYmIGl0ZW1UaW1lIDwgc3RhcnQhKSB8fCAodGltZSA+IHN0YXJ0ISAmJiBpdGVtVGltZSA+IHN0YXJ0ISAmJiBpdGVtVGltZSA8PSB0aW1lKTtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lIDwgc3RhcnQhO1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lID4gc3RhcnQhO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoWElzTnVsbChzdGFydCkgJiYgIVhJc051bGwoZW5kKSkge1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJFbmRMZWZ0ID0gdGltZSA8IGVuZCEgJiYgaXRlbVRpbWUgPT09IGVuZCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZFJpZ2h0ID0gdGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPT09IGVuZCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlciA9ICh0aW1lIDwgZW5kISAmJiBpdGVtVGltZSA+PSB0aW1lICYmIGl0ZW1UaW1lIDwgZW5kISkgfHwgKHRpbWUgPiBlbmQhICYmIGl0ZW1UaW1lID4gZW5kISAmJiBpdGVtVGltZSA8PSB0aW1lKTtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyU3RhcnQgPSBpdGVtVGltZSA9PT0gdGltZSAmJiB0aW1lIDwgZW5kITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA+IGVuZCE7XHJcbiAgICAgICAgfSBlbHNlIGlmICghWElzTnVsbChzdGFydCkgJiYgIVhJc051bGwoZW5kKSkge1xyXG4gICAgICAgICAgaXRlbS5pc1JhbmdlSG92ZXJTdGFydExlZnQgPSB0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID09PSBzdGFydCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlckVuZFJpZ2h0ID0gdGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPT09IGVuZCE7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlciA9XHJcbiAgICAgICAgICAgICh0aW1lIDwgc3RhcnQhICYmIGl0ZW1UaW1lID49IHRpbWUgJiYgaXRlbVRpbWUgPCBzdGFydCEpIHx8ICh0aW1lID4gZW5kISAmJiBpdGVtVGltZSA+IGVuZCEgJiYgaXRlbVRpbWUgPD0gdGltZSk7XHJcbiAgICAgICAgICBpdGVtLmlzUmFuZ2VIb3ZlclN0YXJ0ID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA8IHN0YXJ0ITtcclxuICAgICAgICAgIGl0ZW0uaXNSYW5nZUhvdmVyRW5kID0gaXRlbVRpbWUgPT09IHRpbWUgJiYgdGltZSA+IGVuZCE7XHJcbiAgICAgICAgICBpZiAodGhpcy5yYW5nZVR5cGUgPT09ICdzdGFydCcpIHtcclxuICAgICAgICAgICAgaXRlbS5pc0luUmFuZ2VIb3ZlciA9IGl0ZW1UaW1lID49IHRpbWUhICYmIGl0ZW1UaW1lIDw9IGVuZCE7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMucmFuZ2VUeXBlID09PSAnZW5kJykge1xyXG4gICAgICAgICAgICBpdGVtLmlzSW5SYW5nZUhvdmVyID0gaXRlbVRpbWUgPj0gc3RhcnQhICYmIGl0ZW1UaW1lIDw9IHRpbWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmIChpc0VtaXQpIHtcclxuICAgICAgICB0aGlzLnJhbmdlVGRNb3VzZWVudGVyLmVtaXQoY2VsbCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRkTW91c2VsZWF2ZShjZWxsOiBYRGF0ZUNlbGwsIGlzRW1pdCA9IHRydWUpIHtcclxuICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRoaXMucmFuZ2VWYWx1ZTtcclxuICAgIGlmICghWElzTnVsbChzdGFydCkgfHwgIVhJc051bGwoZW5kKSkge1xyXG4gICAgICB0aGlzLmNsZWFyU3RhdGUoLi4udGhpcy5kYXRlcyk7XHJcbiAgICAgIGlmIChpc0VtaXQpIHRoaXMucmFuZ2VUZE1vdXNlbGVhdmUuZW1pdChjZWxsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyU3RhdGUoLi4uY2VsbHM6IFhEYXRlQ2VsbFtdKSB7XHJcbiAgICBmb3IgKGxldCBjZWxsIG9mIGNlbGxzKSB7XHJcbiAgICAgIGNlbGwuaXNJblJhbmdlSG92ZXIgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXIgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJTdGFydCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlckVuZCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlclN0YXJ0TGVmdCA9IGZhbHNlO1xyXG4gICAgICBjZWxsLmlzUmFuZ2VIb3ZlclN0YXJ0UmlnaHQgPSBmYWxzZTtcclxuICAgICAgY2VsbC5pc1JhbmdlSG92ZXJFbmRMZWZ0ID0gZmFsc2U7XHJcbiAgICAgIGNlbGwuaXNSYW5nZUhvdmVyRW5kUmlnaHQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFllYXJzKGRhdGU6IERhdGUpIHtcclxuICAgIGxldCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgdGhpcy5zdGFydCA9IE1hdGguZmxvb3IoeWVhciAvIDEwKSAqIDEwO1xyXG4gICAgdGhpcy5lbmQgPSB0aGlzLnN0YXJ0ICsgOTtcclxuICAgIGxldCBkYXRlczogWERhdGVDZWxsW10gPSBbXTtcclxuICAgIGZvciAobGV0IGkgPSAtMzsgaSA8IDEzOyBpKyspIHtcclxuICAgICAgY29uc3QgZHQgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0ICsgaSwgMSwgMSk7XHJcbiAgICAgIGNvbnN0IGNlbGw6IFhEYXRlQ2VsbCA9IHtcclxuICAgICAgICBkYXRlOiBkdCxcclxuICAgICAgICBpc05vdzogdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5ub3csICd5eXl5JykgPT09IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGR0LCAneXl5eScpLFxyXG4gICAgICAgIGlzTGFzdE9yTmV4dDogaSA8IDAgfHwgaSA+IDksXHJcbiAgICAgICAgaXNGaXJzdERheTogaSA9PT0gMCxcclxuICAgICAgICBpc0xhc3REYXk6IGkgPT09IDlcclxuICAgICAgfTtcclxuICAgICAgZGF0ZXMgPSBbLi4uZGF0ZXMsIHRoaXMuc2V0RGF5U3RhdGUoY2VsbCldO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kYXRlcyA9IGRhdGVzO1xyXG4gICAgdGhpcy5jaHVua0RhdGVzID0gWENodW5rKGRhdGVzLCA0KTtcclxuICAgIHRoaXMuc3RhcnRDaGFuZ2UuZW1pdCh0aGlzLnN0YXJ0KTtcclxuICB9XHJcblxyXG4gIHNldERheVN0YXRlKGNlbGw6IFhEYXRlQ2VsbCk6IFhEYXRlQ2VsbCB7XHJcbiAgICBjb25zdCB0aW1lID0gY2VsbC5kYXRlPy5nZXRUaW1lKCkhO1xyXG4gICAgY29uc3QgZnllYXIgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShjZWxsLmRhdGUsICd5eXl5Jyk7XHJcbiAgICBjb25zdCBmbm93ID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5ub3csICd5eXl5Jyk7XHJcbiAgICBjZWxsLmlzTm93ID0gZnllYXIgPT09IGZub3c7XHJcbiAgICBjZWxsLmlzRGlzYWJsZWQgPSB0aGlzLmlzRGlzYWJsZWQoY2VsbC5kYXRlISk7XHJcbiAgICBpZiAodGhpcy5yYW5nZVBpY2tlcikge1xyXG4gICAgICBpZiAoIXRoaXMucmFuZ2VWYWx1ZSkgcmV0dXJuIGNlbGw7XHJcbiAgICAgIGNvbnN0IFtzdGFydCwgZW5kXSA9IHRoaXMucmFuZ2VWYWx1ZTtcclxuICAgICAgY2VsbC5pc0luUmFuZ2UgPSAhIXN0YXJ0ICYmICEhZW5kICYmIHRpbWUgPj0gc3RhcnQhICYmIHRpbWUgPD0gZW5kITtcclxuICAgICAgY2VsbC5pc1JhbmdlU3RhcnRSaWdodCA9ICEhc3RhcnQgJiYgISFlbmQgJiYgZnllYXIgPT09IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHN0YXJ0ISwgJ3l5eXknKTtcclxuICAgICAgY2VsbC5pc1JhbmdlRW5kTGVmdCA9ICEhc3RhcnQgJiYgISFlbmQgJiYgZnllYXIgPT09IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKGVuZCEsICd5eXl5Jyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY2VsbDtcclxuICB9XHJcblxyXG4gIHllYXJDbGljayhjZWxsOiBYRGF0ZUNlbGwpIHtcclxuICAgIHRoaXMubW9kZWwgPSBjZWxsLmRhdGU7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQoY2VsbC5kYXRlKTtcclxuICAgIGlmICh0aGlzLnJhbmdlUGlja2VyKSB7XHJcbiAgICAgIHRoaXMuY2xlYXJTdGF0ZSguLi50aGlzLmRhdGVzKTtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLmRhdGVzKSB7XHJcbiAgICAgICAgdGhpcy5zZXREYXlTdGF0ZShpdGVtKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJhbmdlRGF0ZUNsaWNrLmVtaXQoY2VsbCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIGxhc3RPck5leHQoeWVhcjogRGF0ZSkge1xyXG4gICAgY29uc3QgeWVhclN0ciA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHllYXIsICd5eXl5JykgYXMgc3RyaW5nO1xyXG4gICAgcmV0dXJuIHllYXJTdHIgPCBgJHt0aGlzLnN0YXJ0fWAgfHwgeWVhclN0ciA+IGAke3RoaXMuZW5kfWA7XHJcbiAgfVxyXG5cclxuICByYW5nZURpc2FibGVkKGRhdGU6IERhdGUpIHtcclxuICAgIGlmICh0aGlzLnJhbmdlVHlwZSA9PT0gJ2VuZCcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucmFuZ2VTdGFydCAhPT0gJycgJiYgZGF0ZS5nZXRUaW1lKCkgPCB0aGlzLnJhbmdlU3RhcnQhO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnJhbmdlVHlwZSA9PT0gJ3N0YXJ0Jykge1xyXG4gICAgICByZXR1cm4gdGhpcy5yYW5nZUVuZCAhPT0gJycgJiYgZGF0ZS5nZXRUaW1lKCkgPiB0aGlzLnJhbmdlRW5kITtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHNldERpc3BsYXkoZGF0ZTogRGF0ZSkge1xyXG4gICAgdGhpcy5kaXNwbGF5ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIDEpO1xyXG4gICAgdGhpcy5kaXNwbGF5Q2hhbmdlLmVtaXQodGhpcy5kaXNwbGF5KTtcclxuICAgIHRoaXMuc2V0WWVhcnModGhpcy5kaXNwbGF5KTtcclxuICB9XHJcblxyXG4gIG5leHRZZWFycyhudW06IG51bWJlcikge1xyXG4gICAgdGhpcy5zdGFydCArPSBudW07XHJcbiAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMuZGlzcGxheSk7XHJcbiAgICBkYXRlLnNldEZ1bGxZZWFyKHRoaXMuc3RhcnQpO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KGRhdGUpO1xyXG4gICAgdGhpcy55ZWFyQ2hhbmdlLmVtaXQobnVtKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlZZWFyKF9pbmRleDogbnVtYmVyLCBpdGVtOiBzdHJpbmcgfCBEYXRlIHwgWERhdGVDZWxsKSB7XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtcGlja2VyLXllYXJcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1waWNrZXIteWVhci1oZWFkZXJcIiAqbmdJZj1cInNob3dIZWFkZXJcIj5cclxuICAgIDx4LWxpbmsgW2NsYXNzLngtdmlzaWJpbGl0eV09XCIhbGFzdFllYXJCdG5cIiBpY29uPVwiZnRvLWNoZXZyb25zLWxlZnRcIiAoY2xpY2spPVwibmV4dFllYXJzKC0xMClcIj48L3gtbGluaz5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXBpY2tlci15ZWFyLXllYXItbW9udGhcIj5cclxuICAgICAgPHgtbGluaz57eyBzdGFydCB9fTwveC1saW5rPiAtXHJcbiAgICAgIDx4LWxpbms+e3sgZW5kIH19PC94LWxpbms+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx4LWxpbmsgW2NsYXNzLngtdmlzaWJpbGl0eV09XCIhbmV4dFllYXJCdG5cIiBpY29uPVwiZnRvLWNoZXZyb25zLXJpZ2h0XCIgKGNsaWNrKT1cIm5leHRZZWFycygxMClcIj48L3gtbGluaz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC1waWNrZXIteWVhci1ib2R5XCI+XHJcbiAgICA8dGFibGUgY2VsbHNwYWNpbmc9XCIwXCIgY2VsbHBhZGRpbmc9XCIwXCI+XHJcbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgeWVhcnMgb2YgY2h1bmtEYXRlc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHllYXIgb2YgeWVhcnM7IHRyYWNrQnk6IHRyYWNrQnlZZWFyXCI+XHJcbiAgICAgICAgICA8dGRcclxuICAgICAgICAgICAgY2xhc3M9XCJ4LXBpY2tlci1kYXRlLWl0ZW1cIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWRpc2FibGVkXT1cInllYXIuaXNEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbGFzdC1vci1uZXh0XT1cInllYXIuaXNMYXN0T3JOZXh0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1ub3ddPVwieWVhci5pc05vd1wiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtZmlyc3QtZGF5XT1cInllYXIuaXNGaXJzdERheVwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbGFzdC1kYXldPVwieWVhci5pc0xhc3REYXlcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLXN0YXJ0XT1cInJhbmdlUGlja2VyICYmIGlzU3RhcnRZZWFyKHllYXIuZGF0ZSEpXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1lbmRdPVwicmFuZ2VQaWNrZXIgJiYgaXNFbmRZZWFyKHllYXIuZGF0ZSEpXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1zdGFydC1sZWZ0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZVN0YXJ0TGVmdFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2Utc3RhcnQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlU3RhcnRSaWdodFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtZW5kLWxlZnRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlRW5kTGVmdFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtZW5kLXJpZ2h0XT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNSYW5nZUVuZFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlcl09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlclwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtaG92ZXItc3RhcnQtbGVmdF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlclN0YXJ0TGVmdFwiXHJcbiAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtcmFuZ2UtaG92ZXItc3RhcnQtcmlnaHRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlSG92ZXJTdGFydFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1lbmQtbGVmdF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlckVuZExlZnRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLXJhbmdlLWhvdmVyLWVuZC1yaWdodF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlckVuZFJpZ2h0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1zdGFydF09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzUmFuZ2VIb3ZlclN0YXJ0XCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1yYW5nZS1ob3Zlci1lbmRdPVwicmFuZ2VQaWNrZXIgJiYgeWVhci5pc1JhbmdlSG92ZXJFbmRcIlxyXG4gICAgICAgICAgICBbY2xhc3MueC1kYXRlLWluLXJhbmdlXT1cInJhbmdlUGlja2VyICYmIHllYXIuaXNJblJhbmdlXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1pbi1yYW5nZS1ob3Zlcl09XCJyYW5nZVBpY2tlciAmJiB5ZWFyLmlzSW5SYW5nZUhvdmVyXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1hY3RpdmVdPVwiIXJhbmdlUGlja2VyICYmICh5ZWFyLmRhdGUgfCBkYXRlIDogJ3l5eXknKSA9PT0gKG1vZGVsIHwgZGF0ZSA6ICd5eXl5JylcIlxyXG4gICAgICAgICAgICB0aXRsZT1cInt7IHllYXIuZGF0ZSB8IGRhdGUgOiAneXl5eScgfX1cIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiIXllYXIuaXNEaXNhYmxlZCAmJiB5ZWFyQ2xpY2soeWVhcilcIlxyXG4gICAgICAgICAgICAobW91c2VlbnRlcik9XCIheWVhci5pc0Rpc2FibGVkICYmIHJhbmdlUGlja2VyICYmIG9uVGRNb3VzZWVudGVyKHllYXIpXCJcclxuICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwiIXllYXIuaXNEaXNhYmxlZCAmJiByYW5nZVBpY2tlciAmJiBvblRkTW91c2VsZWF2ZSh5ZWFyKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIheWVhclRlbXBcIiBjbGFzcz1cIngtZGF0ZS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAge3sgeWVhci5kYXRlIHwgZGF0ZSA6ICd5eXl5JyB9fVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInllYXJUZW1wXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInllYXJUZW1wOyBjb250ZXh0OiB7IGRhdGUkOiB5ZWFyLmRhdGUgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvdHI+XHJcbiAgICA8L3RhYmxlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -1,27 +1,26 @@
1
1
  import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild, TemplateRef } from '@angular/core';
2
2
  import { XDescriptionItemPrefix, XDescriptionItemProperty } from './description.property';
3
3
  import * as i0 from "@angular/core";
4
- class XDescriptionItemComponent extends XDescriptionItemProperty {
4
+ export class XDescriptionItemComponent extends XDescriptionItemProperty {
5
5
  constructor() {
6
6
  super();
7
7
  }
8
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XDescriptionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XDescriptionItemComponent, selector: "x-description-item", viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
8
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XDescriptionItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XDescriptionItemComponent, selector: "x-description-item", viewQueries: [{ propertyName: "content", first: true, predicate: TemplateRef, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: `
10
10
  <ng-template>
11
11
  <ng-content></ng-content>
12
12
  </ng-template>
13
13
  `, isInline: true, styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
14
14
  }
15
- export { XDescriptionItemComponent };
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XDescriptionItemComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XDescriptionItemComponent, decorators: [{
17
16
  type: Component,
18
17
  args: [{ selector: `${XDescriptionItemPrefix}`, template: `
19
18
  <ng-template>
20
19
  <ng-content></ng-content>
21
20
  </ng-template>
22
21
  `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"] }]
23
- }], ctorParameters: function () { return []; }, propDecorators: { content: [{
22
+ }], ctorParameters: () => [], propDecorators: { content: [{
24
23
  type: ViewChild,
25
24
  args: [TemplateRef, { static: true }]
26
25
  }] } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRpb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kZXNjcmlwdGlvbi9kZXNjcmlwdGlvbi1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRTFGLE1BV2EseUJBQTBCLFNBQVEsd0JBQXdCO0lBRXJFO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO2lJQUpVLHlCQUF5QjtxSEFBekIseUJBQXlCLG1HQUN6QixXQUFXLHFGQVZaOzs7O0dBSVQ7O1NBS1UseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBWHJDLFNBQVM7K0JBQ0UsR0FBRyxzQkFBc0IsRUFBRSxZQUMzQjs7OztHQUlULGlCQUVjLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07MEVBR0wsT0FBTztzQkFBaEQsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdDaGlsZCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWERlc2NyaXB0aW9uSXRlbVByZWZpeCwgWERlc2NyaXB0aW9uSXRlbVByb3BlcnR5IH0gZnJvbSAnLi9kZXNjcmlwdGlvbi5wcm9wZXJ0eSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WERlc2NyaXB0aW9uSXRlbVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYCxcclxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS9pbmRleC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWERlc2NyaXB0aW9uSXRlbUNvbXBvbmVudCBleHRlbmRzIFhEZXNjcmlwdGlvbkl0ZW1Qcm9wZXJ0eSB7XHJcbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZiwgeyBzdGF0aWM6IHRydWUgfSkgY29udGVudCE6IFRlbXBsYXRlUmVmPHZvaWQ+O1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcbn1cclxuIl19
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRpb24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kZXNjcmlwdGlvbi9kZXNjcmlwdGlvbi1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBYTFGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSx3QkFBd0I7SUFFckU7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7aUlBSlUseUJBQXlCO3FIQUF6Qix5QkFBeUIsbUdBQ3pCLFdBQVcscUZBVlo7Ozs7R0FJVDs7MkZBS1UseUJBQXlCO2tCQVhyQyxTQUFTOytCQUNFLEdBQUcsc0JBQXNCLEVBQUUsWUFDM0I7Ozs7R0FJVCxpQkFFYyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO3dEQUdMLE9BQU87c0JBQWhELFNBQVM7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24sIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3Q2hpbGQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhEZXNjcmlwdGlvbkl0ZW1QcmVmaXgsIFhEZXNjcmlwdGlvbkl0ZW1Qcm9wZXJ0eSB9IGZyb20gJy4vZGVzY3JpcHRpb24ucHJvcGVydHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hEZXNjcmlwdGlvbkl0ZW1QcmVmaXh9YCxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUvaW5kZXguc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhEZXNjcmlwdGlvbkl0ZW1Db21wb25lbnQgZXh0ZW5kcyBYRGVzY3JpcHRpb25JdGVtUHJvcGVydHkge1xyXG4gIEBWaWV3Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pIGNvbnRlbnQhOiBUZW1wbGF0ZVJlZjx2b2lkPjtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -6,7 +6,7 @@ import * as i0 from "@angular/core";
6
6
  import * as i1 from "@ng-nest/ui/core";
7
7
  import * as i2 from "@angular/common";
8
8
  import * as i3 from "@ng-nest/ui/outlet";
9
- class XDescriptionComponent extends XDescriptionProperty {
9
+ export class XDescriptionComponent extends XDescriptionProperty {
10
10
  constructor(configService) {
11
11
  super();
12
12
  this.configService = configService;
@@ -51,15 +51,14 @@ class XDescriptionComponent extends XDescriptionProperty {
51
51
  });
52
52
  this.gridTemplateColumns = gridTemplateColumns.join(' ');
53
53
  }
54
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XDescriptionComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
55
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.5", type: XDescriptionComponent, selector: "x-description", queries: [{ propertyName: "items", predicate: XDescriptionItemComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\" *ngIf=\"title\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
54
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XDescriptionComponent, deps: [{ token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
55
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XDescriptionComponent, selector: "x-description", queries: [{ propertyName: "items", predicate: XDescriptionItemComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\" *ngIf=\"title\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
56
56
  }
57
- export { XDescriptionComponent };
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.5", ngImport: i0, type: XDescriptionComponent, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XDescriptionComponent, decorators: [{
59
58
  type: Component,
60
59
  args: [{ selector: `${XDescriptionPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-description\" [class.x-description-bordered]=\"bordered\" [ngClass]=\"classMap\">\r\n <div class=\"x-description-header\" *ngIf=\"title\">\r\n <div class=\"x-description-title\" *xOutlet=\"title\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n <div class=\"x-description-grid\" [style.grid-template-columns]=\"gridTemplateColumns\">\r\n <div\r\n *ngFor=\"let item of items; index as i\"\r\n class=\"x-description-item\"\r\n [style.grid-area]=\"item.gridArea ? item.gridArea : '1 / ' + (i + 1)\"\r\n [class.x-description-item-heading]=\"item.heading\"\r\n [ngClass]=\"setFlex(item)\"\r\n >\r\n <div class=\"x-description-item-label\">\r\n <ng-container *xOutlet=\"item.label\">{{ item.label }}</ng-container>\r\n </div>\r\n <div class=\"x-description-item-content\">\r\n <ng-template [ngTemplateOutlet]=\"item.content\"></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".x-description{margin:0;padding:0}.x-description-header{display:flex;align-items:center}.x-description-title{font-weight:700}.x-description-grid{display:grid;grid-auto-flow:row}.x-description-item{display:flex;align-items:baseline}.x-description-item.x-flex{display:flex}.x-description-item.x-justify-start{justify-content:flex-start}.x-description-item.x-justify-center{justify-content:center}.x-description-item.x-justify-end{justify-content:flex-end}.x-description-item.x-justify-space-between{justify-content:space-between}.x-description-item.x-justify-space-around{justify-content:space-around}.x-description-item.x-align-start{align-items:flex-start}.x-description-item.x-align-center{align-items:center}.x-description-item.x-align-end{align-items:flex-end}.x-description-item.x-direction-column{flex-direction:column}.x-description-item.x-direction-column-reverse{flex-direction:column-reverse}.x-description-item.x-direction-row{flex-direction:row}.x-description-item.x-direction-row-reverse{flex-direction:row-reverse}.x-description-item-heading{background-color:var(--x-background-a100)}.x-description-bordered .x-description-item{border:var(--x-border-width) var(--x-border-style) var(--x-border);margin-left:-1px;margin-top:-1px}.x-description-big .x-description-header{padding:var(--x-padding-big) 0}.x-description-big .x-description-item{padding:calc(var(--x-padding-big) / 2) 0}.x-description-big.x-description-bordered .x-description-item{padding:var(--x-padding-big)}.x-description-large .x-description-header{padding:var(--x-padding-large) 0}.x-description-large .x-description-item{padding:calc(var(--x-padding-large) / 2) 0}.x-description-large.x-description-bordered .x-description-item{padding:var(--x-padding-large)}.x-description-medium .x-description-header{padding:var(--x-padding-medium) 0}.x-description-medium .x-description-item{padding:calc(var(--x-padding-medium) / 2) 0}.x-description-medium.x-description-bordered .x-description-item{padding:var(--x-padding-medium)}.x-description-small .x-description-header{padding:var(--x-padding-small) 0}.x-description-small .x-description-item{padding:calc(var(--x-padding-small) / 2) 0}.x-description-small.x-description-bordered .x-description-item{padding:var(--x-padding-small)}.x-description-mini .x-description-header{padding:var(--x-padding-mini) 0}.x-description-mini .x-description-item{padding:calc(var(--x-padding-mini) / 2) 0}.x-description-mini.x-description-bordered .x-description-item{padding:var(--x-padding-mini)}\n"] }]
61
- }], ctorParameters: function () { return [{ type: i1.XConfigService }]; }, propDecorators: { items: [{
60
+ }], ctorParameters: () => [{ type: i1.XConfigService }], propDecorators: { items: [{
62
61
  type: ContentChildren,
63
62
  args: [XDescriptionItemComponent]
64
63
  }] } });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGVzY3JpcHRpb24vZGVzY3JpcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGVzY3JpcHRpb24vZGVzY3JpcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQWtCLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFFekUsTUFPYSxxQkFBc0IsU0FBUSxvQkFBb0I7SUFFN0QsWUFBbUIsYUFBNkI7UUFDOUMsS0FBSyxFQUFFLENBQUM7UUFEUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7SUFFaEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVc7UUFDVCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUc7WUFDZCxDQUFDLEdBQUcsa0JBQWtCLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUM3RCxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUErQjtRQUNyQyxJQUFJLE9BQU8sR0FBb0MsRUFBRSxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUFFLE9BQU8sQ0FBQyxhQUFhLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUN6RSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFBRSxPQUFPLENBQUMsV0FBVyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQUUsT0FBTyxDQUFDLGVBQWUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQy9FLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsbUJBQW1CO1lBQUUsT0FBTztRQUNyQyxJQUFJLG1CQUFtQixHQUFhLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRTtnQkFDWCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ25DO2lCQUFNLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRTtnQkFDakIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7YUFDekM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0QsQ0FBQztpSUE3Q1UscUJBQXFCO3FIQUFyQixxQkFBcUIsMkVBQ2YseUJBQXlCLHlFQ2I1QyxnOUJBdUJBOztTRFhhLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLEdBQUcsa0JBQWtCLEVBQUUsaUJBR2xCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07cUdBR0gsS0FBSztzQkFBaEQsZUFBZTt1QkFBQyx5QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29udGVudENoaWxkcmVuLCBRdWVyeUxpc3QsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWERlc2NyaXB0aW9uUHJlZml4LCBYRGVzY3JpcHRpb25Qcm9wZXJ0eSB9IGZyb20gJy4vZGVzY3JpcHRpb24ucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ2xlYXJDbGFzcywgWENvbmZpZ1NlcnZpY2UsIFhJc0NoYW5nZSwgWElzRW1wdHkgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWERlc2NyaXB0aW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vZGVzY3JpcHRpb24taXRlbS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hEZXNjcmlwdGlvblByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXNjcmlwdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc3R5bGUvaW5kZXguc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhEZXNjcmlwdGlvbkNvbXBvbmVudCBleHRlbmRzIFhEZXNjcmlwdGlvblByb3BlcnR5IHtcclxuICBAQ29udGVudENoaWxkcmVuKFhEZXNjcmlwdGlvbkl0ZW1Db21wb25lbnQpIGl0ZW1zITogUXVlcnlMaXN0PFhEZXNjcmlwdGlvbkl0ZW1Db21wb25lbnQ+O1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZSkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgY29uc3QgeyBzaXplIH0gPSBjaGFuZ2VzO1xyXG4gICAgWElzQ2hhbmdlKHNpemUpICYmIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0TWVyZ2UoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgWENsZWFyQ2xhc3ModGhpcy5jbGFzc01hcCk7XHJcbiAgICB0aGlzLmNsYXNzTWFwID0ge1xyXG4gICAgICBbYCR7WERlc2NyaXB0aW9uUHJlZml4fS0ke3RoaXMuc2l6ZX1gXTogIVhJc0VtcHR5KHRoaXMuc2l6ZSlcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBzZXRGbGV4KGl0ZW06IFhEZXNjcmlwdGlvbkl0ZW1Db21wb25lbnQpIHtcclxuICAgIGxldCBjbGFzc2VzOiB7IFtwcm9wZXJ0eTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XHJcbiAgICBpZiAoIVhJc0VtcHR5KGl0ZW0uanVzdGlmeSkpIGNsYXNzZXNbYHgtanVzdGlmeS0ke2l0ZW0uanVzdGlmeX1gXSA9IHRydWU7XHJcbiAgICBpZiAoIVhJc0VtcHR5KGl0ZW0uYWxpZ24pKSBjbGFzc2VzW2B4LWFsaWduLSR7aXRlbS5hbGlnbn1gXSA9IHRydWU7XHJcbiAgICBpZiAoIVhJc0VtcHR5KGl0ZW0uZGlyZWN0aW9uKSkgY2xhc3Nlc1tgeC1kaXJlY3Rpb24tJHtpdGVtLmRpcmVjdGlvbn1gXSA9IHRydWU7XHJcbiAgICByZXR1cm4gY2xhc3NlcztcclxuICB9XHJcblxyXG4gIHNldE1lcmdlKCkge1xyXG4gICAgaWYgKHRoaXMuZ3JpZFRlbXBsYXRlQ29sdW1ucykgcmV0dXJuO1xyXG4gICAgbGV0IGdyaWRUZW1wbGF0ZUNvbHVtbnM6IHN0cmluZ1tdID0gW107XHJcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgaWYgKHgud2lkdGgpIHtcclxuICAgICAgICBncmlkVGVtcGxhdGVDb2x1bW5zLnB1c2goeC53aWR0aCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoeC5mbGV4KSB7XHJcbiAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucy5wdXNoKGAke3guZmxleH1mcmApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZ3JpZFRlbXBsYXRlQ29sdW1ucyA9IGdyaWRUZW1wbGF0ZUNvbHVtbnMuam9pbignICcpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwieC1kZXNjcmlwdGlvblwiIFtjbGFzcy54LWRlc2NyaXB0aW9uLWJvcmRlcmVkXT1cImJvcmRlcmVkXCIgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1kZXNjcmlwdGlvbi1oZWFkZXJcIiAqbmdJZj1cInRpdGxlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1kZXNjcmlwdGlvbi10aXRsZVwiICp4T3V0bGV0PVwidGl0bGVcIj5cclxuICAgICAge3sgdGl0bGUgfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWRlc2NyaXB0aW9uLWdyaWRcIiBbc3R5bGUuZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zXT1cImdyaWRUZW1wbGF0ZUNvbHVtbnNcIj5cclxuICAgIDxkaXZcclxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGluZGV4IGFzIGlcIlxyXG4gICAgICBjbGFzcz1cIngtZGVzY3JpcHRpb24taXRlbVwiXHJcbiAgICAgIFtzdHlsZS5ncmlkLWFyZWFdPVwiaXRlbS5ncmlkQXJlYSA/IGl0ZW0uZ3JpZEFyZWEgOiAnMSAvICcgKyAoaSArIDEpXCJcclxuICAgICAgW2NsYXNzLngtZGVzY3JpcHRpb24taXRlbS1oZWFkaW5nXT1cIml0ZW0uaGVhZGluZ1wiXHJcbiAgICAgIFtuZ0NsYXNzXT1cInNldEZsZXgoaXRlbSlcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1kZXNjcmlwdGlvbi1pdGVtLWxhYmVsXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cIml0ZW0ubGFiZWxcIj57eyBpdGVtLmxhYmVsIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1kZXNjcmlwdGlvbi1pdGVtLWNvbnRlbnRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbS5jb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzY3JpcHRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGVzY3JpcHRpb24vZGVzY3JpcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGVzY3JpcHRpb24vZGVzY3JpcHRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQWtCLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7QUFTekUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLG9CQUFvQjtJQUU3RCxZQUFtQixhQUE2QjtRQUM5QyxLQUFLLEVBQUUsQ0FBQztRQURTLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtJQUVoRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDekIsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsV0FBVztRQUNULFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLENBQUMsR0FBRyxrQkFBa0IsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzdELENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQStCO1FBQ3JDLElBQUksT0FBTyxHQUFvQyxFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQUUsT0FBTyxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQ3pFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUFFLE9BQU8sQ0FBQyxXQUFXLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNuRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFBRSxPQUFPLENBQUMsZUFBZSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDL0UsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxtQkFBbUI7WUFBRSxPQUFPO1FBQ3JDLElBQUksbUJBQW1CLEdBQWEsRUFBRSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFO2dCQUNYLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDbkM7aUJBQU0sSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFO2dCQUNqQixtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQzthQUN6QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO2lJQTdDVSxxQkFBcUI7cUhBQXJCLHFCQUFxQiwyRUFDZix5QkFBeUIseUVDYjVDLGc5QkF1QkE7OzJGRFhhLHFCQUFxQjtrQkFQakMsU0FBUzsrQkFDRSxHQUFHLGtCQUFrQixFQUFFLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO21GQUdILEtBQUs7c0JBQWhELGVBQWU7dUJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhEZXNjcmlwdGlvblByZWZpeCwgWERlc2NyaXB0aW9uUHJvcGVydHkgfSBmcm9tICcuL2Rlc2NyaXB0aW9uLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWENsZWFyQ2xhc3MsIFhDb25maWdTZXJ2aWNlLCBYSXNDaGFuZ2UsIFhJc0VtcHR5IH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhEZXNjcmlwdGlvbkl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2Rlc2NyaXB0aW9uLWl0ZW0uY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYRGVzY3JpcHRpb25QcmVmaXh9YCxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGVzY3JpcHRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3N0eWxlL2luZGV4LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRGVzY3JpcHRpb25Db21wb25lbnQgZXh0ZW5kcyBYRGVzY3JpcHRpb25Qcm9wZXJ0eSB7XHJcbiAgQENvbnRlbnRDaGlsZHJlbihYRGVzY3JpcHRpb25JdGVtQ29tcG9uZW50KSBpdGVtcyE6IFF1ZXJ5TGlzdDxYRGVzY3JpcHRpb25JdGVtQ29tcG9uZW50PjtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGNvbnN0IHsgc2l6ZSB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShzaXplKSAmJiB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNldE1lcmdlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMuY2xhc3NNYXApO1xyXG4gICAgdGhpcy5jbGFzc01hcCA9IHtcclxuICAgICAgW2Ake1hEZXNjcmlwdGlvblByZWZpeH0tJHt0aGlzLnNpemV9YF06ICFYSXNFbXB0eSh0aGlzLnNpemUpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0RmxleChpdGVtOiBYRGVzY3JpcHRpb25JdGVtQ29tcG9uZW50KSB7XHJcbiAgICBsZXQgY2xhc3NlczogeyBbcHJvcGVydHk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xyXG4gICAgaWYgKCFYSXNFbXB0eShpdGVtLmp1c3RpZnkpKSBjbGFzc2VzW2B4LWp1c3RpZnktJHtpdGVtLmp1c3RpZnl9YF0gPSB0cnVlO1xyXG4gICAgaWYgKCFYSXNFbXB0eShpdGVtLmFsaWduKSkgY2xhc3Nlc1tgeC1hbGlnbi0ke2l0ZW0uYWxpZ259YF0gPSB0cnVlO1xyXG4gICAgaWYgKCFYSXNFbXB0eShpdGVtLmRpcmVjdGlvbikpIGNsYXNzZXNbYHgtZGlyZWN0aW9uLSR7aXRlbS5kaXJlY3Rpb259YF0gPSB0cnVlO1xyXG4gICAgcmV0dXJuIGNsYXNzZXM7XHJcbiAgfVxyXG5cclxuICBzZXRNZXJnZSgpIHtcclxuICAgIGlmICh0aGlzLmdyaWRUZW1wbGF0ZUNvbHVtbnMpIHJldHVybjtcclxuICAgIGxldCBncmlkVGVtcGxhdGVDb2x1bW5zOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgdGhpcy5pdGVtcy5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIGlmICh4LndpZHRoKSB7XHJcbiAgICAgICAgZ3JpZFRlbXBsYXRlQ29sdW1ucy5wdXNoKHgud2lkdGgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHguZmxleCkge1xyXG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnMucHVzaChgJHt4LmZsZXh9ZnJgKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmdyaWRUZW1wbGF0ZUNvbHVtbnMgPSBncmlkVGVtcGxhdGVDb2x1bW5zLmpvaW4oJyAnKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtZGVzY3JpcHRpb25cIiBbY2xhc3MueC1kZXNjcmlwdGlvbi1ib3JkZXJlZF09XCJib3JkZXJlZFwiIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtZGVzY3JpcHRpb24taGVhZGVyXCIgKm5nSWY9XCJ0aXRsZVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtZGVzY3JpcHRpb24tdGl0bGVcIiAqeE91dGxldD1cInRpdGxlXCI+XHJcbiAgICAgIHt7IHRpdGxlIH19XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC1kZXNjcmlwdGlvbi1ncmlkXCIgW3N0eWxlLmdyaWQtdGVtcGxhdGUtY29sdW1uc109XCJncmlkVGVtcGxhdGVDb2x1bW5zXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBpbmRleCBhcyBpXCJcclxuICAgICAgY2xhc3M9XCJ4LWRlc2NyaXB0aW9uLWl0ZW1cIlxyXG4gICAgICBbc3R5bGUuZ3JpZC1hcmVhXT1cIml0ZW0uZ3JpZEFyZWEgPyBpdGVtLmdyaWRBcmVhIDogJzEgLyAnICsgKGkgKyAxKVwiXHJcbiAgICAgIFtjbGFzcy54LWRlc2NyaXB0aW9uLWl0ZW0taGVhZGluZ109XCJpdGVtLmhlYWRpbmdcIlxyXG4gICAgICBbbmdDbGFzc109XCJzZXRGbGV4KGl0ZW0pXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtZGVzY3JpcHRpb24taXRlbS1sYWJlbFwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJpdGVtLmxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtZGVzY3JpcHRpb24taXRlbS1jb250ZW50XCI+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW0uY29udGVudFwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=