@ng-nest/ui 18.0.5 → 18.0.7

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 (578) hide show
  1. package/checkbox/checkbox.component.d.ts +1 -1
  2. package/core/config/config.d.ts +6 -0
  3. package/esm2022/affix/affix.component.mjs +4 -4
  4. package/esm2022/affix/affix.module.mjs +4 -4
  5. package/esm2022/affix/affix.property.mjs +3 -3
  6. package/esm2022/alert/alert.component.mjs +5 -5
  7. package/esm2022/alert/alert.module.mjs +4 -4
  8. package/esm2022/alert/alert.property.mjs +3 -3
  9. package/esm2022/anchor/anchor-inner.component.mjs +3 -3
  10. package/esm2022/anchor/anchor.component.mjs +5 -5
  11. package/esm2022/anchor/anchor.module.mjs +4 -4
  12. package/esm2022/anchor/anchor.property.mjs +6 -6
  13. package/esm2022/api/api.component.mjs +4 -4
  14. package/esm2022/api/api.module.mjs +4 -4
  15. package/esm2022/auto-complete/auto-complete-portal.component.mjs +3 -3
  16. package/esm2022/auto-complete/auto-complete.component.mjs +5 -5
  17. package/esm2022/auto-complete/auto-complete.module.mjs +4 -4
  18. package/esm2022/auto-complete/auto-complete.property.mjs +3 -3
  19. package/esm2022/avatar/avatar-group.component.mjs +3 -3
  20. package/esm2022/avatar/avatar.component.mjs +5 -5
  21. package/esm2022/avatar/avatar.module.mjs +4 -4
  22. package/esm2022/avatar/avatar.property.mjs +6 -6
  23. package/esm2022/back-top/back-top.component.mjs +5 -5
  24. package/esm2022/back-top/back-top.module.mjs +4 -4
  25. package/esm2022/back-top/back-top.property.mjs +3 -3
  26. package/esm2022/badge/badge.component.mjs +5 -5
  27. package/esm2022/badge/badge.module.mjs +4 -4
  28. package/esm2022/badge/badge.property.mjs +3 -3
  29. package/esm2022/base-form/base-form.module.mjs +4 -4
  30. package/esm2022/base-form/base-form.property.mjs +6 -6
  31. package/esm2022/button/button.component.mjs +5 -5
  32. package/esm2022/button/button.module.mjs +4 -4
  33. package/esm2022/button/button.property.mjs +6 -6
  34. package/esm2022/button/buttons.component.mjs +4 -4
  35. package/esm2022/calendar/calendar.component.mjs +5 -5
  36. package/esm2022/calendar/calendar.module.mjs +4 -4
  37. package/esm2022/calendar/calendar.property.mjs +3 -3
  38. package/esm2022/card/card.component.mjs +5 -5
  39. package/esm2022/card/card.module.mjs +4 -4
  40. package/esm2022/card/card.property.mjs +3 -3
  41. package/esm2022/carousel/carousel-panel.component.mjs +5 -5
  42. package/esm2022/carousel/carousel.component.mjs +5 -5
  43. package/esm2022/carousel/carousel.module.mjs +4 -4
  44. package/esm2022/carousel/carousel.property.mjs +6 -6
  45. package/esm2022/cascade/cascade-portal.component.mjs +3 -3
  46. package/esm2022/cascade/cascade.component.mjs +5 -5
  47. package/esm2022/cascade/cascade.module.mjs +4 -4
  48. package/esm2022/cascade/cascade.property.mjs +3 -3
  49. package/esm2022/checkbox/checkbox.component.mjs +5 -5
  50. package/esm2022/checkbox/checkbox.module.mjs +4 -4
  51. package/esm2022/checkbox/checkbox.property.mjs +3 -3
  52. package/esm2022/collapse/collapse-panel.component.mjs +5 -5
  53. package/esm2022/collapse/collapse.component.mjs +4 -4
  54. package/esm2022/collapse/collapse.module.mjs +4 -4
  55. package/esm2022/collapse/collapse.property.mjs +6 -6
  56. package/esm2022/color/color.component.mjs +4 -4
  57. package/esm2022/color/color.module.mjs +4 -4
  58. package/esm2022/color/color.property.mjs +3 -3
  59. package/esm2022/color-picker/color-picker-portal.component.mjs +4 -4
  60. package/esm2022/color-picker/color-picker.component.mjs +5 -5
  61. package/esm2022/color-picker/color-picker.module.mjs +4 -4
  62. package/esm2022/color-picker/color-picker.property.mjs +3 -3
  63. package/esm2022/comment/comment-reply.component.mjs +3 -3
  64. package/esm2022/comment/comment.component.mjs +5 -5
  65. package/esm2022/comment/comment.module.mjs +4 -4
  66. package/esm2022/comment/comment.property.mjs +6 -6
  67. package/esm2022/container/aside.component.mjs +4 -4
  68. package/esm2022/container/container.component.mjs +4 -4
  69. package/esm2022/container/container.module.mjs +4 -4
  70. package/esm2022/container/container.property.mjs +12 -12
  71. package/esm2022/container/footer.component.mjs +4 -4
  72. package/esm2022/container/header.component.mjs +4 -4
  73. package/esm2022/container/main.component.mjs +4 -4
  74. package/esm2022/core/config/config.mjs +1 -1
  75. package/esm2022/core/config/config.service.mjs +3 -3
  76. package/esm2022/core/services/http.service.mjs +3 -3
  77. package/esm2022/core/services/preloading-strategy.service.mjs +3 -3
  78. package/esm2022/core/services/storage.service.mjs +3 -3
  79. package/esm2022/core/theme/theme.service.mjs +3 -3
  80. package/esm2022/crumb/crumb.component.mjs +5 -5
  81. package/esm2022/crumb/crumb.module.mjs +4 -4
  82. package/esm2022/crumb/crumb.property.mjs +3 -3
  83. package/esm2022/date-picker/date-picker-portal.component.mjs +3 -3
  84. package/esm2022/date-picker/date-picker.component.mjs +5 -5
  85. package/esm2022/date-picker/date-picker.module.mjs +4 -4
  86. package/esm2022/date-picker/date-picker.property.mjs +18 -18
  87. package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
  88. package/esm2022/date-picker/date-range-portal.component.mjs +3 -3
  89. package/esm2022/date-picker/date-range.component.mjs +5 -5
  90. package/esm2022/date-picker/picker-date.component.mjs +3 -3
  91. package/esm2022/date-picker/picker-month.component.mjs +3 -3
  92. package/esm2022/date-picker/picker-quarter.component.mjs +3 -3
  93. package/esm2022/date-picker/picker-year.component.mjs +3 -3
  94. package/esm2022/description/description-item.component.mjs +3 -3
  95. package/esm2022/description/description.component.mjs +3 -3
  96. package/esm2022/description/description.module.mjs +4 -4
  97. package/esm2022/description/description.property.mjs +6 -6
  98. package/esm2022/dialog/dialog-container.component.mjs +5 -5
  99. package/esm2022/dialog/dialog-portal.component.mjs +5 -5
  100. package/esm2022/dialog/dialog-portal.directives.mjs +18 -18
  101. package/esm2022/dialog/dialog.component.mjs +5 -5
  102. package/esm2022/dialog/dialog.module.mjs +4 -4
  103. package/esm2022/dialog/dialog.property.mjs +6 -6
  104. package/esm2022/dialog/dialog.service.mjs +3 -3
  105. package/esm2022/doc/doc.component.mjs +4 -4
  106. package/esm2022/doc/doc.module.mjs +4 -4
  107. package/esm2022/drag/drag.directive.mjs +3 -3
  108. package/esm2022/drag/drag.module.mjs +4 -4
  109. package/esm2022/drag/drag.property.mjs +3 -3
  110. package/esm2022/drawer/drawer-container.component.mjs +5 -5
  111. package/esm2022/drawer/drawer-portal.component.mjs +5 -5
  112. package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
  113. package/esm2022/drawer/drawer.component.mjs +5 -5
  114. package/esm2022/drawer/drawer.module.mjs +4 -4
  115. package/esm2022/drawer/drawer.property.mjs +6 -6
  116. package/esm2022/drawer/drawer.service.mjs +3 -3
  117. package/esm2022/dropdown/dropdown-portal.component.mjs +3 -3
  118. package/esm2022/dropdown/dropdown.component.mjs +4 -4
  119. package/esm2022/dropdown/dropdown.module.mjs +4 -4
  120. package/esm2022/dropdown/dropdown.property.mjs +3 -3
  121. package/esm2022/empty/empty.component.mjs +5 -5
  122. package/esm2022/empty/empty.module.mjs +4 -4
  123. package/esm2022/empty/empty.property.mjs +3 -3
  124. package/esm2022/examples/examples.component.mjs +4 -4
  125. package/esm2022/examples/examples.module.mjs +4 -4
  126. package/esm2022/find/find.component.mjs +5 -5
  127. package/esm2022/find/find.module.mjs +4 -4
  128. package/esm2022/find/find.property.mjs +3 -3
  129. package/esm2022/form/control.component.mjs +3 -3
  130. package/esm2022/form/form.component.mjs +5 -5
  131. package/esm2022/form/form.module.mjs +4 -4
  132. package/esm2022/form/form.property.mjs +6 -6
  133. package/esm2022/highlight/highlight.component.mjs +5 -5
  134. package/esm2022/highlight/highlight.module.mjs +4 -4
  135. package/esm2022/highlight/highlight.property.mjs +3 -3
  136. package/esm2022/highlight/highlight.service.mjs +3 -3
  137. package/esm2022/i18n/i18n.directive.mjs +3 -3
  138. package/esm2022/i18n/i18n.module.mjs +4 -4
  139. package/esm2022/i18n/i18n.pipe.mjs +3 -3
  140. package/esm2022/i18n/i18n.property.mjs +1 -1
  141. package/esm2022/i18n/i18n.service.mjs +3 -3
  142. package/esm2022/i18n/languages/ar_EG.mjs +8 -2
  143. package/esm2022/i18n/languages/bg_BG.mjs +8 -2
  144. package/esm2022/i18n/languages/ca_ES.mjs +8 -2
  145. package/esm2022/i18n/languages/cs_CZ.mjs +8 -2
  146. package/esm2022/i18n/languages/da_DK.mjs +8 -2
  147. package/esm2022/i18n/languages/de_DE.mjs +8 -2
  148. package/esm2022/i18n/languages/el_GR.mjs +8 -2
  149. package/esm2022/i18n/languages/en_GB.mjs +8 -2
  150. package/esm2022/i18n/languages/en_US.mjs +8 -2
  151. package/esm2022/i18n/languages/es_ES.mjs +8 -2
  152. package/esm2022/i18n/languages/et_EE.mjs +8 -2
  153. package/esm2022/i18n/languages/fa_IR.mjs +8 -2
  154. package/esm2022/i18n/languages/fi_FI.mjs +8 -2
  155. package/esm2022/i18n/languages/fr_BE.mjs +8 -2
  156. package/esm2022/i18n/languages/fr_FR.mjs +8 -2
  157. package/esm2022/i18n/languages/he_IL.mjs +8 -2
  158. package/esm2022/i18n/languages/hi_IN.mjs +8 -2
  159. package/esm2022/i18n/languages/hr_HR.mjs +8 -2
  160. package/esm2022/i18n/languages/hu_HU.mjs +8 -2
  161. package/esm2022/i18n/languages/hy_AM.mjs +8 -2
  162. package/esm2022/i18n/languages/id_ID.mjs +8 -2
  163. package/esm2022/i18n/languages/is_IS.mjs +8 -2
  164. package/esm2022/i18n/languages/it_IT.mjs +8 -2
  165. package/esm2022/i18n/languages/ja_JP.mjs +8 -2
  166. package/esm2022/i18n/languages/ka_GE.mjs +8 -2
  167. package/esm2022/i18n/languages/kn_IN.mjs +8 -2
  168. package/esm2022/i18n/languages/ko_KR.mjs +8 -2
  169. package/esm2022/i18n/languages/ku_IQ.mjs +8 -2
  170. package/esm2022/i18n/languages/lv_LV.mjs +8 -2
  171. package/esm2022/i18n/languages/mn_MN.mjs +8 -2
  172. package/esm2022/i18n/languages/ms_MY.mjs +8 -2
  173. package/esm2022/i18n/languages/nb_NO.mjs +8 -2
  174. package/esm2022/i18n/languages/ne_NP.mjs +8 -2
  175. package/esm2022/i18n/languages/nl_BE.mjs +8 -2
  176. package/esm2022/i18n/languages/nl_NL.mjs +8 -2
  177. package/esm2022/i18n/languages/pl_PL.mjs +8 -2
  178. package/esm2022/i18n/languages/pt_BR.mjs +8 -2
  179. package/esm2022/i18n/languages/pt_PT.mjs +8 -2
  180. package/esm2022/i18n/languages/ro_RO.mjs +8 -2
  181. package/esm2022/i18n/languages/ru_RU.mjs +8 -2
  182. package/esm2022/i18n/languages/sk_SK.mjs +8 -2
  183. package/esm2022/i18n/languages/sl_SI.mjs +8 -2
  184. package/esm2022/i18n/languages/sr_RS.mjs +8 -2
  185. package/esm2022/i18n/languages/sv_SE.mjs +8 -2
  186. package/esm2022/i18n/languages/ta_IN.mjs +8 -2
  187. package/esm2022/i18n/languages/th_TH.mjs +8 -2
  188. package/esm2022/i18n/languages/tr_TR.mjs +8 -2
  189. package/esm2022/i18n/languages/uk_UA.mjs +8 -2
  190. package/esm2022/i18n/languages/vi_VN.mjs +8 -2
  191. package/esm2022/i18n/languages/zh_CN.mjs +8 -2
  192. package/esm2022/i18n/languages/zh_TW.mjs +8 -2
  193. package/esm2022/icon/icon.component.mjs +4 -4
  194. package/esm2022/icon/icon.module.mjs +4 -4
  195. package/esm2022/icon/icon.property.mjs +3 -3
  196. package/esm2022/icon/icon.service.mjs +3 -3
  197. package/esm2022/image/image-group.component.mjs +3 -3
  198. package/esm2022/image/image-preview.component.mjs +5 -5
  199. package/esm2022/image/image.component.mjs +5 -5
  200. package/esm2022/image/image.module.mjs +4 -4
  201. package/esm2022/image/image.property.mjs +6 -6
  202. package/esm2022/inner/inner.component.mjs +4 -4
  203. package/esm2022/inner/inner.module.mjs +4 -4
  204. package/esm2022/inner/inner.property.mjs +3 -3
  205. package/esm2022/input/input-group.component.mjs +3 -3
  206. package/esm2022/input/input.component.mjs +5 -5
  207. package/esm2022/input/input.module.mjs +4 -4
  208. package/esm2022/input/input.property.mjs +6 -6
  209. package/esm2022/input-number/input-number.component.mjs +5 -5
  210. package/esm2022/input-number/input-number.module.mjs +4 -4
  211. package/esm2022/input-number/input-number.property.mjs +3 -3
  212. package/esm2022/keyword/keyword.directive.mjs +3 -3
  213. package/esm2022/keyword/keyword.module.mjs +4 -4
  214. package/esm2022/keyword/keyword.property.mjs +3 -3
  215. package/esm2022/layout/col.component.mjs +3 -3
  216. package/esm2022/layout/layout.module.mjs +4 -4
  217. package/esm2022/layout/layout.property.mjs +6 -6
  218. package/esm2022/layout/row.component.mjs +3 -3
  219. package/esm2022/link/link.component.mjs +5 -5
  220. package/esm2022/link/link.module.mjs +4 -4
  221. package/esm2022/link/link.property.mjs +3 -3
  222. package/esm2022/list/list-drop-group.directive.mjs +3 -3
  223. package/esm2022/list/list-option.component.mjs +3 -3
  224. package/esm2022/list/list.component.mjs +11 -11
  225. package/esm2022/list/list.module.mjs +4 -4
  226. package/esm2022/list/list.property.mjs +6 -6
  227. package/esm2022/loading/loading.component.mjs +5 -5
  228. package/esm2022/loading/loading.module.mjs +4 -4
  229. package/esm2022/loading/loading.property.mjs +3 -3
  230. package/esm2022/menu/menu-node.component.mjs +3 -3
  231. package/esm2022/menu/menu.component.mjs +3 -3
  232. package/esm2022/menu/menu.module.mjs +4 -4
  233. package/esm2022/menu/menu.property.mjs +6 -6
  234. package/esm2022/message/message.component.mjs +3 -3
  235. package/esm2022/message/message.module.mjs +4 -4
  236. package/esm2022/message/message.service.mjs +3 -3
  237. package/esm2022/message-box/message-box.component.mjs +3 -3
  238. package/esm2022/message-box/message-box.module.mjs +4 -4
  239. package/esm2022/message-box/message-box.service.mjs +3 -3
  240. package/esm2022/notification/notification.component.mjs +3 -3
  241. package/esm2022/notification/notification.module.mjs +4 -4
  242. package/esm2022/notification/notification.service.mjs +3 -3
  243. package/esm2022/outlet/outlet.directive.mjs +3 -3
  244. package/esm2022/outlet/outlet.module.mjs +4 -4
  245. package/esm2022/page-header/page-header.component.mjs +5 -5
  246. package/esm2022/page-header/page-header.module.mjs +4 -4
  247. package/esm2022/page-header/page-header.property.mjs +3 -3
  248. package/esm2022/pagination/pagination.component.mjs +91 -29
  249. package/esm2022/pagination/pagination.module.mjs +4 -4
  250. package/esm2022/pagination/pagination.property.mjs +23 -8
  251. package/esm2022/pattern/pattern.component.mjs +4 -4
  252. package/esm2022/pattern/pattern.module.mjs +4 -4
  253. package/esm2022/popconfirm/popconfirm.component.mjs +5 -5
  254. package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
  255. package/esm2022/popconfirm/popconfirm.property.mjs +3 -3
  256. package/esm2022/popover/popover-portal.component.mjs +5 -5
  257. package/esm2022/popover/popover.directive.mjs +3 -3
  258. package/esm2022/popover/popover.module.mjs +4 -4
  259. package/esm2022/popover/popover.property.mjs +3 -3
  260. package/esm2022/portal/portal.module.mjs +4 -4
  261. package/esm2022/portal/portal.service.mjs +3 -3
  262. package/esm2022/progress/progress.component.mjs +5 -5
  263. package/esm2022/progress/progress.module.mjs +4 -4
  264. package/esm2022/progress/progress.property.mjs +3 -3
  265. package/esm2022/radio/radio.component.mjs +5 -5
  266. package/esm2022/radio/radio.module.mjs +4 -4
  267. package/esm2022/radio/radio.property.mjs +3 -3
  268. package/esm2022/rate/rate.component.mjs +5 -5
  269. package/esm2022/rate/rate.module.mjs +4 -4
  270. package/esm2022/rate/rate.property.mjs +3 -3
  271. package/esm2022/resizable/resizable.directive.mjs +3 -3
  272. package/esm2022/resizable/resizable.module.mjs +4 -4
  273. package/esm2022/resizable/resizable.property.mjs +3 -3
  274. package/esm2022/result/result.component.mjs +5 -5
  275. package/esm2022/result/result.module.mjs +4 -4
  276. package/esm2022/result/result.property.mjs +3 -3
  277. package/esm2022/ripple/ripple.directive.mjs +3 -3
  278. package/esm2022/ripple/ripple.module.mjs +4 -4
  279. package/esm2022/ripple/ripple.property.mjs +3 -3
  280. package/esm2022/select/select-portal.component.mjs +3 -3
  281. package/esm2022/select/select.component.mjs +5 -5
  282. package/esm2022/select/select.module.mjs +4 -4
  283. package/esm2022/select/select.property.mjs +5 -5
  284. package/esm2022/skeleton/skeleton.component.mjs +3 -3
  285. package/esm2022/skeleton/skeleton.module.mjs +4 -4
  286. package/esm2022/skeleton/skeleton.property.mjs +3 -3
  287. package/esm2022/slider/slider.component.mjs +5 -5
  288. package/esm2022/slider/slider.module.mjs +4 -4
  289. package/esm2022/slider/slider.property.mjs +3 -3
  290. package/esm2022/slider-select/slider-select.component.mjs +5 -5
  291. package/esm2022/slider-select/slider-select.module.mjs +4 -4
  292. package/esm2022/slider-select/slider-select.property.mjs +3 -3
  293. package/esm2022/statistic/countdown.component.mjs +3 -3
  294. package/esm2022/statistic/statistic.component.mjs +3 -3
  295. package/esm2022/statistic/statistic.module.mjs +4 -4
  296. package/esm2022/statistic/statistic.property.mjs +6 -6
  297. package/esm2022/steps/steps.component.mjs +5 -5
  298. package/esm2022/steps/steps.module.mjs +4 -4
  299. package/esm2022/steps/steps.property.mjs +3 -3
  300. package/esm2022/switch/switch.component.mjs +5 -5
  301. package/esm2022/switch/switch.module.mjs +4 -4
  302. package/esm2022/switch/switch.property.mjs +3 -3
  303. package/esm2022/table/table-body.component.mjs +3 -3
  304. package/esm2022/table/table-foot.component.mjs +3 -3
  305. package/esm2022/table/table-head.component.mjs +4 -4
  306. package/esm2022/table/table.component.mjs +5 -5
  307. package/esm2022/table/table.module.mjs +4 -4
  308. package/esm2022/table/table.property.mjs +28 -13
  309. package/esm2022/tabs/tab-content.component.mjs +3 -3
  310. package/esm2022/tabs/tab-link.directive.mjs +6 -6
  311. package/esm2022/tabs/tab.component.mjs +3 -3
  312. package/esm2022/tabs/tabs.component.mjs +5 -5
  313. package/esm2022/tabs/tabs.module.mjs +4 -4
  314. package/esm2022/tabs/tabs.property.mjs +6 -6
  315. package/esm2022/tag/tag.component.mjs +5 -5
  316. package/esm2022/tag/tag.module.mjs +4 -4
  317. package/esm2022/tag/tag.property.mjs +3 -3
  318. package/esm2022/text-retract/text-retract.component.mjs +5 -5
  319. package/esm2022/text-retract/text-retract.module.mjs +4 -4
  320. package/esm2022/text-retract/text-retract.property.mjs +3 -3
  321. package/esm2022/textarea/textarea.component.mjs +5 -5
  322. package/esm2022/textarea/textarea.module.mjs +4 -4
  323. package/esm2022/textarea/textarea.property.mjs +3 -3
  324. package/esm2022/theme/theme.component.mjs +5 -5
  325. package/esm2022/theme/theme.module.mjs +4 -4
  326. package/esm2022/theme/theme.property.mjs +3 -3
  327. package/esm2022/time-ago/time-ago.module.mjs +4 -4
  328. package/esm2022/time-ago/time-ago.pipe.mjs +3 -3
  329. package/esm2022/time-picker/time-picker-frame.component.mjs +5 -5
  330. package/esm2022/time-picker/time-picker-portal.component.mjs +3 -3
  331. package/esm2022/time-picker/time-picker.component.mjs +5 -5
  332. package/esm2022/time-picker/time-picker.module.mjs +4 -4
  333. package/esm2022/time-picker/time-picker.property.mjs +3 -3
  334. package/esm2022/time-range/time-range.module.mjs +4 -4
  335. package/esm2022/time-range/time-range.pipe.mjs +3 -3
  336. package/esm2022/timeline/timeline.component.mjs +5 -5
  337. package/esm2022/timeline/timeline.module.mjs +4 -4
  338. package/esm2022/timeline/timeline.property.mjs +3 -3
  339. package/esm2022/tooltip/tooltip-portal.component.mjs +5 -5
  340. package/esm2022/tooltip/tooltip.directive.mjs +3 -3
  341. package/esm2022/tooltip/tooltip.module.mjs +4 -4
  342. package/esm2022/tooltip/tooltip.property.mjs +3 -3
  343. package/esm2022/transfer/transfer.component.mjs +5 -5
  344. package/esm2022/transfer/transfer.module.mjs +4 -4
  345. package/esm2022/transfer/transfer.property.mjs +3 -3
  346. package/esm2022/tree/tree-node.component.mjs +5 -5
  347. package/esm2022/tree/tree.component.mjs +4 -4
  348. package/esm2022/tree/tree.module.mjs +4 -4
  349. package/esm2022/tree/tree.property.mjs +6 -6
  350. package/esm2022/tree/tree.service.mjs +3 -3
  351. package/esm2022/tree-file/tree-file.component.mjs +5 -5
  352. package/esm2022/tree-file/tree-file.module.mjs +4 -4
  353. package/esm2022/tree-file/tree-file.property.mjs +3 -3
  354. package/esm2022/tree-select/tree-select-portal.component.mjs +3 -3
  355. package/esm2022/tree-select/tree-select.component.mjs +5 -5
  356. package/esm2022/tree-select/tree-select.module.mjs +4 -4
  357. package/esm2022/tree-select/tree-select.property.mjs +3 -3
  358. package/esm2022/typography/typography.component.mjs +4 -4
  359. package/esm2022/typography/typography.module.mjs +4 -4
  360. package/esm2022/typography/typography.property.mjs +3 -3
  361. package/esm2022/upload/upload-portal.component.mjs +5 -5
  362. package/esm2022/upload/upload.component.mjs +5 -5
  363. package/esm2022/upload/upload.module.mjs +4 -4
  364. package/esm2022/upload/upload.property.mjs +3 -3
  365. package/fesm2022/ng-nest-ui-affix.mjs +11 -11
  366. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  367. package/fesm2022/ng-nest-ui-alert.mjs +11 -11
  368. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  369. package/fesm2022/ng-nest-ui-anchor.mjs +17 -17
  370. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  371. package/fesm2022/ng-nest-ui-api.mjs +8 -8
  372. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  373. package/fesm2022/ng-nest-ui-auto-complete.mjs +14 -14
  374. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  375. package/fesm2022/ng-nest-ui-avatar.mjs +17 -17
  376. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  377. package/fesm2022/ng-nest-ui-back-top.mjs +11 -11
  378. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  379. package/fesm2022/ng-nest-ui-badge.mjs +11 -11
  380. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  381. package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
  382. package/fesm2022/ng-nest-ui-button.mjs +18 -18
  383. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  384. package/fesm2022/ng-nest-ui-calendar.mjs +11 -11
  385. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  386. package/fesm2022/ng-nest-ui-card.mjs +11 -11
  387. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  388. package/fesm2022/ng-nest-ui-carousel.mjs +18 -18
  389. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  390. package/fesm2022/ng-nest-ui-cascade.mjs +14 -14
  391. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  392. package/fesm2022/ng-nest-ui-checkbox.mjs +11 -11
  393. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  394. package/fesm2022/ng-nest-ui-collapse.mjs +18 -18
  395. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  396. package/fesm2022/ng-nest-ui-color-picker.mjs +14 -14
  397. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  398. package/fesm2022/ng-nest-ui-color.mjs +11 -11
  399. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  400. package/fesm2022/ng-nest-ui-comment.mjs +17 -17
  401. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  402. package/fesm2022/ng-nest-ui-container.mjs +36 -36
  403. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  404. package/fesm2022/ng-nest-ui-core.mjs +15 -15
  405. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  406. package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
  407. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  408. package/fesm2022/ng-nest-ui-date-picker.mjs +51 -51
  409. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  410. package/fesm2022/ng-nest-ui-description.mjs +16 -16
  411. package/fesm2022/ng-nest-ui-dialog.mjs +44 -44
  412. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  413. package/fesm2022/ng-nest-ui-doc.mjs +8 -8
  414. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  415. package/fesm2022/ng-nest-ui-drag.mjs +10 -10
  416. package/fesm2022/ng-nest-ui-drawer.mjs +35 -35
  417. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  418. package/fesm2022/ng-nest-ui-dropdown.mjs +14 -14
  419. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  420. package/fesm2022/ng-nest-ui-empty.mjs +11 -11
  421. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  422. package/fesm2022/ng-nest-ui-examples.mjs +8 -8
  423. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  424. package/fesm2022/ng-nest-ui-find.mjs +11 -11
  425. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  426. package/fesm2022/ng-nest-ui-form.mjs +17 -17
  427. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  428. package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
  429. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  430. package/fesm2022/ng-nest-ui-i18n.mjs +370 -64
  431. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  432. package/fesm2022/ng-nest-ui-icon.mjs +14 -14
  433. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  434. package/fesm2022/ng-nest-ui-image.mjs +21 -21
  435. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  436. package/fesm2022/ng-nest-ui-inner.mjs +11 -11
  437. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  438. package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
  439. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  440. package/fesm2022/ng-nest-ui-input.mjs +17 -17
  441. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  442. package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
  443. package/fesm2022/ng-nest-ui-layout.mjs +16 -16
  444. package/fesm2022/ng-nest-ui-link.mjs +11 -11
  445. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  446. package/fesm2022/ng-nest-ui-list.mjs +26 -26
  447. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  448. package/fesm2022/ng-nest-ui-loading.mjs +11 -11
  449. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  450. package/fesm2022/ng-nest-ui-menu.mjs +16 -16
  451. package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
  452. package/fesm2022/ng-nest-ui-message.mjs +10 -10
  453. package/fesm2022/ng-nest-ui-notification.mjs +10 -10
  454. package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
  455. package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
  456. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  457. package/fesm2022/ng-nest-ui-pagination.mjs +116 -39
  458. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  459. package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
  460. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  461. package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
  462. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  463. package/fesm2022/ng-nest-ui-popover.mjs +14 -14
  464. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  465. package/fesm2022/ng-nest-ui-portal.mjs +7 -7
  466. package/fesm2022/ng-nest-ui-progress.mjs +11 -11
  467. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  468. package/fesm2022/ng-nest-ui-radio.mjs +11 -11
  469. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  470. package/fesm2022/ng-nest-ui-rate.mjs +11 -11
  471. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  472. package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
  473. package/fesm2022/ng-nest-ui-result.mjs +11 -11
  474. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  475. package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
  476. package/fesm2022/ng-nest-ui-select.mjs +15 -15
  477. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  478. package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
  479. package/fesm2022/ng-nest-ui-slider-select.mjs +11 -11
  480. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  481. package/fesm2022/ng-nest-ui-slider.mjs +11 -11
  482. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  483. package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
  484. package/fesm2022/ng-nest-ui-steps.mjs +11 -11
  485. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  486. package/fesm2022/ng-nest-ui-switch.mjs +11 -11
  487. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  488. package/fesm2022/ng-nest-ui-table.mjs +44 -29
  489. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  490. package/fesm2022/ng-nest-ui-tabs.mjs +26 -26
  491. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  492. package/fesm2022/ng-nest-ui-tag.mjs +11 -11
  493. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  494. package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
  495. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  496. package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
  497. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  498. package/fesm2022/ng-nest-ui-theme.mjs +11 -11
  499. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  500. package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
  501. package/fesm2022/ng-nest-ui-time-picker.mjs +18 -18
  502. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  503. package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
  504. package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
  505. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  506. package/fesm2022/ng-nest-ui-tooltip.mjs +14 -14
  507. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  508. package/fesm2022/ng-nest-ui-transfer.mjs +11 -11
  509. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  510. package/fesm2022/ng-nest-ui-tree-file.mjs +11 -11
  511. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  512. package/fesm2022/ng-nest-ui-tree-select.mjs +14 -14
  513. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  514. package/fesm2022/ng-nest-ui-tree.mjs +20 -20
  515. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  516. package/fesm2022/ng-nest-ui-typography.mjs +11 -11
  517. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  518. package/fesm2022/ng-nest-ui-upload.mjs +15 -15
  519. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  520. package/i18n/i18n.property.d.ts +6 -0
  521. package/i18n/languages/ar_EG.d.ts +6 -0
  522. package/i18n/languages/bg_BG.d.ts +6 -0
  523. package/i18n/languages/ca_ES.d.ts +6 -0
  524. package/i18n/languages/cs_CZ.d.ts +6 -0
  525. package/i18n/languages/da_DK.d.ts +6 -0
  526. package/i18n/languages/de_DE.d.ts +6 -0
  527. package/i18n/languages/el_GR.d.ts +6 -0
  528. package/i18n/languages/en_GB.d.ts +6 -0
  529. package/i18n/languages/en_US.d.ts +6 -0
  530. package/i18n/languages/es_ES.d.ts +6 -0
  531. package/i18n/languages/et_EE.d.ts +6 -0
  532. package/i18n/languages/fa_IR.d.ts +6 -0
  533. package/i18n/languages/fi_FI.d.ts +6 -0
  534. package/i18n/languages/fr_BE.d.ts +6 -0
  535. package/i18n/languages/fr_FR.d.ts +6 -0
  536. package/i18n/languages/he_IL.d.ts +6 -0
  537. package/i18n/languages/hi_IN.d.ts +6 -0
  538. package/i18n/languages/hr_HR.d.ts +6 -0
  539. package/i18n/languages/hu_HU.d.ts +6 -0
  540. package/i18n/languages/hy_AM.d.ts +6 -0
  541. package/i18n/languages/id_ID.d.ts +6 -0
  542. package/i18n/languages/is_IS.d.ts +6 -0
  543. package/i18n/languages/it_IT.d.ts +6 -0
  544. package/i18n/languages/ja_JP.d.ts +6 -0
  545. package/i18n/languages/ka_GE.d.ts +6 -0
  546. package/i18n/languages/kn_IN.d.ts +6 -0
  547. package/i18n/languages/ko_KR.d.ts +6 -0
  548. package/i18n/languages/ku_IQ.d.ts +6 -0
  549. package/i18n/languages/lv_LV.d.ts +6 -0
  550. package/i18n/languages/mn_MN.d.ts +6 -0
  551. package/i18n/languages/ms_MY.d.ts +6 -0
  552. package/i18n/languages/nb_NO.d.ts +6 -0
  553. package/i18n/languages/ne_NP.d.ts +6 -0
  554. package/i18n/languages/nl_BE.d.ts +6 -0
  555. package/i18n/languages/nl_NL.d.ts +6 -0
  556. package/i18n/languages/pl_PL.d.ts +6 -0
  557. package/i18n/languages/pt_BR.d.ts +6 -0
  558. package/i18n/languages/pt_PT.d.ts +6 -0
  559. package/i18n/languages/ro_RO.d.ts +6 -0
  560. package/i18n/languages/ru_RU.d.ts +6 -0
  561. package/i18n/languages/sk_SK.d.ts +6 -0
  562. package/i18n/languages/sl_SI.d.ts +6 -0
  563. package/i18n/languages/sr_RS.d.ts +6 -0
  564. package/i18n/languages/sv_SE.d.ts +6 -0
  565. package/i18n/languages/ta_IN.d.ts +6 -0
  566. package/i18n/languages/th_TH.d.ts +6 -0
  567. package/i18n/languages/tr_TR.d.ts +6 -0
  568. package/i18n/languages/uk_UA.d.ts +6 -0
  569. package/i18n/languages/vi_VN.d.ts +6 -0
  570. package/i18n/languages/zh_CN.d.ts +6 -0
  571. package/i18n/languages/zh_TW.d.ts +6 -0
  572. package/package.json +115 -115
  573. package/pagination/pagination.component.d.ts +24 -0
  574. package/pagination/pagination.property.d.ts +31 -5
  575. package/radio/radio.component.d.ts +1 -1
  576. package/select/select.property.d.ts +1 -4
  577. package/style/mixins/reset.scss +4 -2
  578. package/table/table.property.d.ts +17 -1
@@ -341,10 +341,10 @@ export class XSliderSelectComponent extends XSliderSelectProperty {
341
341
  }
342
342
  }
343
343
  }
344
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XSliderSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
345
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: XSliderSelectComponent, isStandalone: true, selector: "x-slider-select", host: { properties: { "class.x-slider-select-vertical": "this.getVertical" } }, providers: [XValueAccessor(XSliderSelectComponent)], viewQueries: [{ propertyName: "sliderSelect", first: true, predicate: ["sliderSelect"], descendants: true, isSignal: true }, { propertyName: "dragStartRef", first: true, predicate: ["dragStartRef"], descendants: true, isSignal: true }, { propertyName: "dragEndRef", first: true, predicate: ["dragEndRef"], descendants: true, isSignal: true }, { propertyName: "railRef", first: true, predicate: ["railRef"], descendants: true, isSignal: true }, { propertyName: "processRef", first: true, predicate: ["processRef"], descendants: true, isSignal: true }, { propertyName: "tooltips", predicate: XTooltipDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #sliderSelect\r\n class=\"x-slider-select\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-slider-select-reverse]=\"reverse()\"\r\n [class.x-slider-select-range]=\"range()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-slider-select-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-slider-select-inner\" #innerRef>\r\n <div class=\"x-slider-select-rail\" #railRef>\r\n <div></div>\r\n </div>\r\n <div class=\"x-slider-select-drags\">\r\n <div class=\"x-slider-select-track\" #trackRef>\r\n <div\r\n #processRef\r\n class=\"x-slider-select-process\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed() || !range()\"\r\n [cdkDragBoundary]=\"trackRef\"\r\n (cdkDragStarted)=\"started($event, 'both')\"\r\n (cdkDragEnded)=\"ended($event, 'both')\"\r\n (cdkDragMoved)=\"moved($event, 'both')\"\r\n ></div>\r\n </div>\r\n <div class=\"x-slider-select-marks\">\r\n @for (mark of markList(); track mark.label) {\r\n <div class=\"x-slider-select-mark\" [ngStyle]=\"mark.style\">\r\n <span class=\"x-slider-select-mark-label\">{{ mark.label }}</span>\r\n </div>\r\n }\r\n </div>\r\n <div\r\n #dragStartRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'start')\"\r\n (cdkDragEnded)=\"ended($event, 'start')\"\r\n (cdkDragMoved)=\"moved($event, 'start')\"\r\n >\r\n <div\r\n #tooltipStart\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"startVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip() && !showStartTooltip()\"\r\n [content]=\"tooltipStartTpl\"\r\n [(visible)]=\"startVisible\"\r\n [manual]=\"startManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipStartTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: startDisplayValue() }\">{{\r\n startDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n <div\r\n [hidden]=\"!range()\"\r\n #dragEndRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'end')\"\r\n (cdkDragEnded)=\"ended($event, 'end')\"\r\n (cdkDragMoved)=\"moved($event, 'end')\"\r\n >\r\n <div\r\n #tooltipEnd\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"endVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip() && !showEndTooltip()\"\r\n [content]=\"tooltipEndTpl\"\r\n [(visible)]=\"endVisible\"\r\n [manual]=\"endManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipEndTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: endDisplayValue() }\">{{\r\n endDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-slider-select{display:inline-block;width:12rem}.x-slider-select{margin:0;padding:0;width:100%}.x-slider-select.x-flex{display:flex}.x-slider-select.x-justify-start{justify-content:flex-start}.x-slider-select.x-justify-center{justify-content:center}.x-slider-select.x-justify-end{justify-content:flex-end}.x-slider-select.x-justify-space-between{justify-content:space-between}.x-slider-select.x-justify-space-around{justify-content:space-around}.x-slider-select.x-align-start{align-items:flex-start}.x-slider-select.x-align-center{align-items:center}.x-slider-select.x-align-end{align-items:flex-end}.x-slider-select.x-direction-column{flex-direction:column}.x-slider-select.x-direction-column-reverse{flex-direction:column-reverse}.x-slider-select.x-direction-row{flex-direction:row}.x-slider-select.x-direction-row-reverse{flex-direction:row-reverse}.x-slider-select>label{display:inline-block;white-space:nowrap;height:var(--x-height-medium);line-height:var(--x-height-medium);color:var(--x-text-300);font-weight:600}.x-slider-select>label.x-text-align-start{text-align:start}.x-slider-select>label.x-text-align-center{text-align:center}.x-slider-select>label.x-text-align-end{text-align:end}.x-slider-select-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-slider-select-inner{flex:1;position:relative;display:flex;align-items:center;padding-right:1rem}.x-slider-select-rail{position:absolute;margin-left:.5rem;width:calc(100% - 1rem);background-color:var(--x-border-100);height:calc(var(--x-height-medium) / 4);border-radius:var(--x-border-radius)}.x-slider-select-rail>div{width:100%;height:100%;border-radius:var(--x-border-radius)}.x-slider-select-track{margin-left:.5rem;width:100%;border-radius:var(--x-border-radius);position:absolute}.x-slider-select-process{height:calc(var(--x-height-medium) / 4);background-color:var(--x-primary);border-radius:var(--x-border-radius);width:0%;position:relative}.x-slider-select-drags{position:relative;width:100%;height:var(--x-height-medium);display:flex;align-items:center}.x-slider-select-drag{position:absolute;cursor:pointer}.x-slider-select-marks{position:absolute;margin-left:.5rem;width:100%;height:var(--x-height-medium);display:flex;align-items:center}.x-slider-select-mark{position:absolute;transform:translate(-50%);border-radius:1rem;display:flex;align-items:center;justify-content:center}.x-slider-select-mark:before{content:\" \";position:absolute;width:.75rem;height:.75rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100);border-radius:1rem}.x-slider-select-mark-label{transform:translateY(1rem)}.x-slider-select-button:not(.x-slider-select-custom-button){border-radius:1rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100)}.x-slider-select-button{width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;transition:var(--x-animation-duration-base)}.x-slider-select-button:hover,.x-slider-select-button-actived{transform:scale(1.2)}.x-slider-select-bar{width:100%;height:100%}.x-slider-select.x-invalid>label,.x-slider-select.x-required>label{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row>x-icon,.x-slider-select.x-required>.x-slider-select-row>x-icon{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row:before,.x-slider-select.x-required>.x-slider-select-row:before{content:\" \";z-index:2;position:absolute;height:var(--x-height-medium);line-height:var(--x-height-medium);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius);width:.125rem;background-color:var(--x-danger)}.x-slider-select.x-disabled .x-slider-select-rail{background-color:var(--x-border-300)}.x-slider-select.x-disabled .x-slider-select-process{background-color:var(--x-primary-400)}.x-slider-select.x-disabled .x-slider-select-drag{cursor:not-allowed}.x-slider-select.x-disabled .x-slider-select-button:not(.x-slider-select-custom-button){border-color:var(--x-primary-400)}.x-slider-select.x-flex.x-direction-row>label{padding:0 .5rem 0 0}.x-slider-select.x-flex.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-slider-select.x-flex.x-direction-column,.x-slider-select.x-flex.x-direction-column-reverse{align-items:inherit}.x-slider-select-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-500);padding:0 var(--x-padding-medium);right:0}.x-slider-select:hover:not(.x-disabled) .x-slider-select-process{background-color:var(--x-primary-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-button{border-color:var(--x-primary-100)}.x-slider-select-reverse .x-slider-select-inner{padding-right:0;padding-left:1rem}.x-slider-select-reverse .x-slider-select-rail{margin-left:-.5rem}.x-slider-select-reverse .x-slider-select-marks{margin-right:.5rem}.x-slider-select-reverse .x-slider-select-mark{transform:translate(50%)}.x-slider-select-reverse .x-slider-select-track{display:flex;justify-content:flex-end;margin-right:.5rem}.x-slider-select-reverse .x-slider-select-drags{justify-content:flex-end;right:auto}.x-slider-select-vertical{width:initial;height:12rem}.x-slider-select-vertical .x-slider-select{height:100%}.x-slider-select-vertical .x-slider-select-inner{padding-right:initial;padding-top:1rem;align-items:initial;justify-content:center;height:100%}.x-slider-select-vertical .x-slider-select-rail{margin-left:initial;margin-top:-.5rem;height:calc(100% - 1rem);width:calc(var(--x-height-medium) / 4)}.x-slider-select-vertical .x-slider-select-track{display:flex;align-items:flex-end;margin-left:initial;margin-bottom:.5rem;width:calc(var(--x-height-medium) / 4);height:100%}.x-slider-select-vertical .x-slider-select-marks{display:flex;align-items:flex-end;justify-content:center;margin-left:initial;margin-bottom:.5rem;width:calc(var(--x-height-medium) / 4);height:100%}.x-slider-select-vertical .x-slider-select-mark{transform:translate(0) translateY(50%)}.x-slider-select-vertical .x-slider-select-mark-label{transform:translate(50%) translateY(0);margin-left:1rem}.x-slider-select-vertical .x-slider-select-process{height:0%;width:calc(var(--x-height-medium) / 4)}.x-slider-select-vertical .x-slider-select-drags{height:100%;width:var(--x-height-medium);align-items:flex-end;justify-content:center;right:auto}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-inner{padding-left:initial;padding-bottom:1rem;padding-top:initial}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-rail{margin-top:.5rem}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-track,.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-marks{align-items:flex-start;margin-bottom:-.5rem;margin-right:initial}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-mark{transform:translate(0) translateY(-50%)}.x-slider-select-range .x-slider-select-process{cursor:pointer}.x-slider-select:not(.x-slider-select-reverse) .x-slider-select-drag{left:auto}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: XTooltipDirective, selector: "[x-tooltip], x-tooltip" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
344
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
345
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XSliderSelectComponent, isStandalone: true, selector: "x-slider-select", host: { properties: { "class.x-slider-select-vertical": "this.getVertical" } }, providers: [XValueAccessor(XSliderSelectComponent)], viewQueries: [{ propertyName: "sliderSelect", first: true, predicate: ["sliderSelect"], descendants: true, isSignal: true }, { propertyName: "dragStartRef", first: true, predicate: ["dragStartRef"], descendants: true, isSignal: true }, { propertyName: "dragEndRef", first: true, predicate: ["dragEndRef"], descendants: true, isSignal: true }, { propertyName: "railRef", first: true, predicate: ["railRef"], descendants: true, isSignal: true }, { propertyName: "processRef", first: true, predicate: ["processRef"], descendants: true, isSignal: true }, { propertyName: "tooltips", predicate: XTooltipDirective, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #sliderSelect\r\n class=\"x-slider-select\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-slider-select-reverse]=\"reverse()\"\r\n [class.x-slider-select-range]=\"range()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-slider-select-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-slider-select-inner\" #innerRef>\r\n <div class=\"x-slider-select-rail\" #railRef>\r\n <div></div>\r\n </div>\r\n <div class=\"x-slider-select-drags\">\r\n <div class=\"x-slider-select-track\" #trackRef>\r\n <div\r\n #processRef\r\n class=\"x-slider-select-process\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed() || !range()\"\r\n [cdkDragBoundary]=\"trackRef\"\r\n (cdkDragStarted)=\"started($event, 'both')\"\r\n (cdkDragEnded)=\"ended($event, 'both')\"\r\n (cdkDragMoved)=\"moved($event, 'both')\"\r\n ></div>\r\n </div>\r\n <div class=\"x-slider-select-marks\">\r\n @for (mark of markList(); track mark.label) {\r\n <div class=\"x-slider-select-mark\" [ngStyle]=\"mark.style\">\r\n <span class=\"x-slider-select-mark-label\">{{ mark.label }}</span>\r\n </div>\r\n }\r\n </div>\r\n <div\r\n #dragStartRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'start')\"\r\n (cdkDragEnded)=\"ended($event, 'start')\"\r\n (cdkDragMoved)=\"moved($event, 'start')\"\r\n >\r\n <div\r\n #tooltipStart\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"startVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip() && !showStartTooltip()\"\r\n [content]=\"tooltipStartTpl\"\r\n [(visible)]=\"startVisible\"\r\n [manual]=\"startManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipStartTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: startDisplayValue() }\">{{\r\n startDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n <div\r\n [hidden]=\"!range()\"\r\n #dragEndRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'end')\"\r\n (cdkDragEnded)=\"ended($event, 'end')\"\r\n (cdkDragMoved)=\"moved($event, 'end')\"\r\n >\r\n <div\r\n #tooltipEnd\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"endVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip() && !showEndTooltip()\"\r\n [content]=\"tooltipEndTpl\"\r\n [(visible)]=\"endVisible\"\r\n [manual]=\"endManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipEndTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: endDisplayValue() }\">{{\r\n endDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-slider-select{display:inline-block;width:12rem}.x-slider-select{margin:0;padding:0}.x-slider-select{width:100%}.x-slider-select.x-flex{display:flex}.x-slider-select.x-justify-start{justify-content:flex-start}.x-slider-select.x-justify-center{justify-content:center}.x-slider-select.x-justify-end{justify-content:flex-end}.x-slider-select.x-justify-space-between{justify-content:space-between}.x-slider-select.x-justify-space-around{justify-content:space-around}.x-slider-select.x-align-start{align-items:flex-start}.x-slider-select.x-align-center{align-items:center}.x-slider-select.x-align-end{align-items:flex-end}.x-slider-select.x-direction-column{flex-direction:column}.x-slider-select.x-direction-column-reverse{flex-direction:column-reverse}.x-slider-select.x-direction-row{flex-direction:row}.x-slider-select.x-direction-row-reverse{flex-direction:row-reverse}.x-slider-select>label{display:inline-block;white-space:nowrap;height:var(--x-height-medium);line-height:var(--x-height-medium);color:var(--x-text-300);font-weight:600}.x-slider-select>label.x-text-align-start{text-align:start}.x-slider-select>label.x-text-align-center{text-align:center}.x-slider-select>label.x-text-align-end{text-align:end}.x-slider-select-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-slider-select-inner{flex:1;position:relative;display:flex;align-items:center;padding-right:1rem}.x-slider-select-rail{position:absolute;margin-left:.5rem;width:calc(100% - 1rem);background-color:var(--x-border-100);height:calc(var(--x-height-medium) / 4);border-radius:var(--x-border-radius)}.x-slider-select-rail>div{width:100%;height:100%;border-radius:var(--x-border-radius)}.x-slider-select-track{margin-left:.5rem;width:100%;border-radius:var(--x-border-radius);position:absolute}.x-slider-select-process{height:calc(var(--x-height-medium) / 4);background-color:var(--x-primary);border-radius:var(--x-border-radius);width:0%;position:relative}.x-slider-select-drags{position:relative;width:100%;height:var(--x-height-medium);display:flex;align-items:center}.x-slider-select-drag{position:absolute;cursor:pointer}.x-slider-select-marks{position:absolute;margin-left:.5rem;width:100%;height:var(--x-height-medium);display:flex;align-items:center}.x-slider-select-mark{position:absolute;transform:translate(-50%);border-radius:1rem;display:flex;align-items:center;justify-content:center}.x-slider-select-mark:before{content:\" \";position:absolute;width:.75rem;height:.75rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100);border-radius:1rem}.x-slider-select-mark-label{transform:translateY(1rem)}.x-slider-select-button:not(.x-slider-select-custom-button){border-radius:1rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100)}.x-slider-select-button{width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;transition:var(--x-animation-duration-base)}.x-slider-select-button:hover,.x-slider-select-button-actived{transform:scale(1.2)}.x-slider-select-bar{width:100%;height:100%}.x-slider-select.x-invalid>label,.x-slider-select.x-required>label{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row>x-icon,.x-slider-select.x-required>.x-slider-select-row>x-icon{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row:before,.x-slider-select.x-required>.x-slider-select-row:before{content:\" \";z-index:2;position:absolute;height:var(--x-height-medium);line-height:var(--x-height-medium);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius);width:.125rem;background-color:var(--x-danger)}.x-slider-select.x-disabled .x-slider-select-rail{background-color:var(--x-border-300)}.x-slider-select.x-disabled .x-slider-select-process{background-color:var(--x-primary-400)}.x-slider-select.x-disabled .x-slider-select-drag{cursor:not-allowed}.x-slider-select.x-disabled .x-slider-select-button:not(.x-slider-select-custom-button){border-color:var(--x-primary-400)}.x-slider-select.x-flex.x-direction-row>label{padding:0 .5rem 0 0}.x-slider-select.x-flex.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-slider-select.x-flex.x-direction-column,.x-slider-select.x-flex.x-direction-column-reverse{align-items:inherit}.x-slider-select-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-500);padding:0 var(--x-padding-medium);right:0}.x-slider-select:hover:not(.x-disabled) .x-slider-select-process{background-color:var(--x-primary-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-button{border-color:var(--x-primary-100)}.x-slider-select-reverse .x-slider-select-inner{padding-right:0;padding-left:1rem}.x-slider-select-reverse .x-slider-select-rail{margin-left:-.5rem}.x-slider-select-reverse .x-slider-select-marks{margin-right:.5rem}.x-slider-select-reverse .x-slider-select-mark{transform:translate(50%)}.x-slider-select-reverse .x-slider-select-track{display:flex;justify-content:flex-end;margin-right:.5rem}.x-slider-select-reverse .x-slider-select-drags{justify-content:flex-end;right:auto}.x-slider-select-vertical{width:initial;height:12rem}.x-slider-select-vertical .x-slider-select{height:100%}.x-slider-select-vertical .x-slider-select-inner{padding-right:initial;padding-top:1rem;align-items:initial;justify-content:center;height:100%}.x-slider-select-vertical .x-slider-select-rail{margin-left:initial;margin-top:-.5rem;height:calc(100% - 1rem);width:calc(var(--x-height-medium) / 4)}.x-slider-select-vertical .x-slider-select-track{display:flex;align-items:flex-end;margin-left:initial;margin-bottom:.5rem;width:calc(var(--x-height-medium) / 4);height:100%}.x-slider-select-vertical .x-slider-select-marks{display:flex;align-items:flex-end;justify-content:center;margin-left:initial;margin-bottom:.5rem;width:calc(var(--x-height-medium) / 4);height:100%}.x-slider-select-vertical .x-slider-select-mark{transform:translate(0) translateY(50%)}.x-slider-select-vertical .x-slider-select-mark-label{transform:translate(50%) translateY(0);margin-left:1rem}.x-slider-select-vertical .x-slider-select-process{height:0%;width:calc(var(--x-height-medium) / 4)}.x-slider-select-vertical .x-slider-select-drags{height:100%;width:var(--x-height-medium);align-items:flex-end;justify-content:center;right:auto}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-inner{padding-left:initial;padding-bottom:1rem;padding-top:initial}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-rail{margin-top:.5rem}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-track,.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-marks{align-items:flex-start;margin-bottom:-.5rem;margin-right:initial}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-mark{transform:translate(0) translateY(-50%)}.x-slider-select-range .x-slider-select-process{cursor:pointer}.x-slider-select:not(.x-slider-select-reverse) .x-slider-select-drag{left:auto}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: XTooltipDirective, selector: "[x-tooltip], x-tooltip" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
346
346
  }
347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XSliderSelectComponent, decorators: [{
347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderSelectComponent, decorators: [{
348
348
  type: Component,
349
349
  args: [{ selector: `${XSliderSelectPrefix}`, standalone: true, imports: [
350
350
  NgClass,
@@ -355,9 +355,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
355
355
  XTooltipDirective,
356
356
  XDragDirective,
357
357
  XOutletDirective
358
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XSliderSelectComponent)], template: "<div\r\n #sliderSelect\r\n class=\"x-slider-select\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-slider-select-reverse]=\"reverse()\"\r\n [class.x-slider-select-range]=\"range()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-slider-select-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-slider-select-inner\" #innerRef>\r\n <div class=\"x-slider-select-rail\" #railRef>\r\n <div></div>\r\n </div>\r\n <div class=\"x-slider-select-drags\">\r\n <div class=\"x-slider-select-track\" #trackRef>\r\n <div\r\n #processRef\r\n class=\"x-slider-select-process\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed() || !range()\"\r\n [cdkDragBoundary]=\"trackRef\"\r\n (cdkDragStarted)=\"started($event, 'both')\"\r\n (cdkDragEnded)=\"ended($event, 'both')\"\r\n (cdkDragMoved)=\"moved($event, 'both')\"\r\n ></div>\r\n </div>\r\n <div class=\"x-slider-select-marks\">\r\n @for (mark of markList(); track mark.label) {\r\n <div class=\"x-slider-select-mark\" [ngStyle]=\"mark.style\">\r\n <span class=\"x-slider-select-mark-label\">{{ mark.label }}</span>\r\n </div>\r\n }\r\n </div>\r\n <div\r\n #dragStartRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'start')\"\r\n (cdkDragEnded)=\"ended($event, 'start')\"\r\n (cdkDragMoved)=\"moved($event, 'start')\"\r\n >\r\n <div\r\n #tooltipStart\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"startVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip() && !showStartTooltip()\"\r\n [content]=\"tooltipStartTpl\"\r\n [(visible)]=\"startVisible\"\r\n [manual]=\"startManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipStartTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: startDisplayValue() }\">{{\r\n startDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n <div\r\n [hidden]=\"!range()\"\r\n #dragEndRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'end')\"\r\n (cdkDragEnded)=\"ended($event, 'end')\"\r\n (cdkDragMoved)=\"moved($event, 'end')\"\r\n >\r\n <div\r\n #tooltipEnd\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"endVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip() && !showEndTooltip()\"\r\n [content]=\"tooltipEndTpl\"\r\n [(visible)]=\"endVisible\"\r\n [manual]=\"endManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipEndTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: endDisplayValue() }\">{{\r\n endDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-slider-select{display:inline-block;width:12rem}.x-slider-select{margin:0;padding:0;width:100%}.x-slider-select.x-flex{display:flex}.x-slider-select.x-justify-start{justify-content:flex-start}.x-slider-select.x-justify-center{justify-content:center}.x-slider-select.x-justify-end{justify-content:flex-end}.x-slider-select.x-justify-space-between{justify-content:space-between}.x-slider-select.x-justify-space-around{justify-content:space-around}.x-slider-select.x-align-start{align-items:flex-start}.x-slider-select.x-align-center{align-items:center}.x-slider-select.x-align-end{align-items:flex-end}.x-slider-select.x-direction-column{flex-direction:column}.x-slider-select.x-direction-column-reverse{flex-direction:column-reverse}.x-slider-select.x-direction-row{flex-direction:row}.x-slider-select.x-direction-row-reverse{flex-direction:row-reverse}.x-slider-select>label{display:inline-block;white-space:nowrap;height:var(--x-height-medium);line-height:var(--x-height-medium);color:var(--x-text-300);font-weight:600}.x-slider-select>label.x-text-align-start{text-align:start}.x-slider-select>label.x-text-align-center{text-align:center}.x-slider-select>label.x-text-align-end{text-align:end}.x-slider-select-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-slider-select-inner{flex:1;position:relative;display:flex;align-items:center;padding-right:1rem}.x-slider-select-rail{position:absolute;margin-left:.5rem;width:calc(100% - 1rem);background-color:var(--x-border-100);height:calc(var(--x-height-medium) / 4);border-radius:var(--x-border-radius)}.x-slider-select-rail>div{width:100%;height:100%;border-radius:var(--x-border-radius)}.x-slider-select-track{margin-left:.5rem;width:100%;border-radius:var(--x-border-radius);position:absolute}.x-slider-select-process{height:calc(var(--x-height-medium) / 4);background-color:var(--x-primary);border-radius:var(--x-border-radius);width:0%;position:relative}.x-slider-select-drags{position:relative;width:100%;height:var(--x-height-medium);display:flex;align-items:center}.x-slider-select-drag{position:absolute;cursor:pointer}.x-slider-select-marks{position:absolute;margin-left:.5rem;width:100%;height:var(--x-height-medium);display:flex;align-items:center}.x-slider-select-mark{position:absolute;transform:translate(-50%);border-radius:1rem;display:flex;align-items:center;justify-content:center}.x-slider-select-mark:before{content:\" \";position:absolute;width:.75rem;height:.75rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100);border-radius:1rem}.x-slider-select-mark-label{transform:translateY(1rem)}.x-slider-select-button:not(.x-slider-select-custom-button){border-radius:1rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100)}.x-slider-select-button{width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;transition:var(--x-animation-duration-base)}.x-slider-select-button:hover,.x-slider-select-button-actived{transform:scale(1.2)}.x-slider-select-bar{width:100%;height:100%}.x-slider-select.x-invalid>label,.x-slider-select.x-required>label{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row>x-icon,.x-slider-select.x-required>.x-slider-select-row>x-icon{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row:before,.x-slider-select.x-required>.x-slider-select-row:before{content:\" \";z-index:2;position:absolute;height:var(--x-height-medium);line-height:var(--x-height-medium);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius);width:.125rem;background-color:var(--x-danger)}.x-slider-select.x-disabled .x-slider-select-rail{background-color:var(--x-border-300)}.x-slider-select.x-disabled .x-slider-select-process{background-color:var(--x-primary-400)}.x-slider-select.x-disabled .x-slider-select-drag{cursor:not-allowed}.x-slider-select.x-disabled .x-slider-select-button:not(.x-slider-select-custom-button){border-color:var(--x-primary-400)}.x-slider-select.x-flex.x-direction-row>label{padding:0 .5rem 0 0}.x-slider-select.x-flex.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-slider-select.x-flex.x-direction-column,.x-slider-select.x-flex.x-direction-column-reverse{align-items:inherit}.x-slider-select-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-500);padding:0 var(--x-padding-medium);right:0}.x-slider-select:hover:not(.x-disabled) .x-slider-select-process{background-color:var(--x-primary-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-button{border-color:var(--x-primary-100)}.x-slider-select-reverse .x-slider-select-inner{padding-right:0;padding-left:1rem}.x-slider-select-reverse .x-slider-select-rail{margin-left:-.5rem}.x-slider-select-reverse .x-slider-select-marks{margin-right:.5rem}.x-slider-select-reverse .x-slider-select-mark{transform:translate(50%)}.x-slider-select-reverse .x-slider-select-track{display:flex;justify-content:flex-end;margin-right:.5rem}.x-slider-select-reverse .x-slider-select-drags{justify-content:flex-end;right:auto}.x-slider-select-vertical{width:initial;height:12rem}.x-slider-select-vertical .x-slider-select{height:100%}.x-slider-select-vertical .x-slider-select-inner{padding-right:initial;padding-top:1rem;align-items:initial;justify-content:center;height:100%}.x-slider-select-vertical .x-slider-select-rail{margin-left:initial;margin-top:-.5rem;height:calc(100% - 1rem);width:calc(var(--x-height-medium) / 4)}.x-slider-select-vertical .x-slider-select-track{display:flex;align-items:flex-end;margin-left:initial;margin-bottom:.5rem;width:calc(var(--x-height-medium) / 4);height:100%}.x-slider-select-vertical .x-slider-select-marks{display:flex;align-items:flex-end;justify-content:center;margin-left:initial;margin-bottom:.5rem;width:calc(var(--x-height-medium) / 4);height:100%}.x-slider-select-vertical .x-slider-select-mark{transform:translate(0) translateY(50%)}.x-slider-select-vertical .x-slider-select-mark-label{transform:translate(50%) translateY(0);margin-left:1rem}.x-slider-select-vertical .x-slider-select-process{height:0%;width:calc(var(--x-height-medium) / 4)}.x-slider-select-vertical .x-slider-select-drags{height:100%;width:var(--x-height-medium);align-items:flex-end;justify-content:center;right:auto}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-inner{padding-left:initial;padding-bottom:1rem;padding-top:initial}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-rail{margin-top:.5rem}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-track,.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-marks{align-items:flex-start;margin-bottom:-.5rem;margin-right:initial}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-mark{transform:translate(0) translateY(-50%)}.x-slider-select-range .x-slider-select-process{cursor:pointer}.x-slider-select:not(.x-slider-select-reverse) .x-slider-select-drag{left:auto}\n"] }]
358
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XSliderSelectComponent)], template: "<div\r\n #sliderSelect\r\n class=\"x-slider-select\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-slider-select-reverse]=\"reverse()\"\r\n [class.x-slider-select-range]=\"range()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-slider-select-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-slider-select-inner\" #innerRef>\r\n <div class=\"x-slider-select-rail\" #railRef>\r\n <div></div>\r\n </div>\r\n <div class=\"x-slider-select-drags\">\r\n <div class=\"x-slider-select-track\" #trackRef>\r\n <div\r\n #processRef\r\n class=\"x-slider-select-process\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed() || !range()\"\r\n [cdkDragBoundary]=\"trackRef\"\r\n (cdkDragStarted)=\"started($event, 'both')\"\r\n (cdkDragEnded)=\"ended($event, 'both')\"\r\n (cdkDragMoved)=\"moved($event, 'both')\"\r\n ></div>\r\n </div>\r\n <div class=\"x-slider-select-marks\">\r\n @for (mark of markList(); track mark.label) {\r\n <div class=\"x-slider-select-mark\" [ngStyle]=\"mark.style\">\r\n <span class=\"x-slider-select-mark-label\">{{ mark.label }}</span>\r\n </div>\r\n }\r\n </div>\r\n <div\r\n #dragStartRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'start')\"\r\n (cdkDragEnded)=\"ended($event, 'start')\"\r\n (cdkDragMoved)=\"moved($event, 'start')\"\r\n >\r\n <div\r\n #tooltipStart\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"startVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip() && !showStartTooltip()\"\r\n [content]=\"tooltipStartTpl\"\r\n [(visible)]=\"startVisible\"\r\n [manual]=\"startManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipStartTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: startDisplayValue() }\">{{\r\n startDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n <div\r\n [hidden]=\"!range()\"\r\n #dragEndRef\r\n class=\"x-slider-select-drag\"\r\n cdkDrag\r\n [cdkDragLockAxis]=\"vertical() ? 'y' : 'x'\"\r\n [cdkDragDisabled]=\"disabledComputed()\"\r\n [cdkDragBoundary]=\"innerRef\"\r\n (cdkDragStarted)=\"started($event, 'end')\"\r\n (cdkDragEnded)=\"ended($event, 'end')\"\r\n (cdkDragMoved)=\"moved($event, 'end')\"\r\n >\r\n <div\r\n #tooltipEnd\r\n x-tooltip\r\n tabindex=\"0\"\r\n class=\"x-slider-select-button\"\r\n [class.x-slider-select-button-actived]=\"endVisible()\"\r\n [class.x-slider-select-custom-button]=\"customButton()\"\r\n placement=\"top\"\r\n [disabled]=\"!showTooltip() && !showEndTooltip()\"\r\n [content]=\"tooltipEndTpl\"\r\n [(visible)]=\"endVisible\"\r\n [manual]=\"endManual()\"\r\n >\r\n <ng-container *xOutlet=\"customButton()\">{{ customButton() }}</ng-container>\r\n </div>\r\n <ng-template #tooltipEndTpl>\r\n <ng-container *xOutlet=\"tooltipCustom(); context: { $value: endDisplayValue() }\">{{\r\n endDisplayValue()\r\n }}</ng-container>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-slider-select{display:inline-block;width:12rem}.x-slider-select{margin:0;padding:0}.x-slider-select{width:100%}.x-slider-select.x-flex{display:flex}.x-slider-select.x-justify-start{justify-content:flex-start}.x-slider-select.x-justify-center{justify-content:center}.x-slider-select.x-justify-end{justify-content:flex-end}.x-slider-select.x-justify-space-between{justify-content:space-between}.x-slider-select.x-justify-space-around{justify-content:space-around}.x-slider-select.x-align-start{align-items:flex-start}.x-slider-select.x-align-center{align-items:center}.x-slider-select.x-align-end{align-items:flex-end}.x-slider-select.x-direction-column{flex-direction:column}.x-slider-select.x-direction-column-reverse{flex-direction:column-reverse}.x-slider-select.x-direction-row{flex-direction:row}.x-slider-select.x-direction-row-reverse{flex-direction:row-reverse}.x-slider-select>label{display:inline-block;white-space:nowrap;height:var(--x-height-medium);line-height:var(--x-height-medium);color:var(--x-text-300);font-weight:600}.x-slider-select>label.x-text-align-start{text-align:start}.x-slider-select>label.x-text-align-center{text-align:center}.x-slider-select>label.x-text-align-end{text-align:end}.x-slider-select-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-slider-select-inner{flex:1;position:relative;display:flex;align-items:center;padding-right:1rem}.x-slider-select-rail{position:absolute;margin-left:.5rem;width:calc(100% - 1rem);background-color:var(--x-border-100);height:calc(var(--x-height-medium) / 4);border-radius:var(--x-border-radius)}.x-slider-select-rail>div{width:100%;height:100%;border-radius:var(--x-border-radius)}.x-slider-select-track{margin-left:.5rem;width:100%;border-radius:var(--x-border-radius);position:absolute}.x-slider-select-process{height:calc(var(--x-height-medium) / 4);background-color:var(--x-primary);border-radius:var(--x-border-radius);width:0%;position:relative}.x-slider-select-drags{position:relative;width:100%;height:var(--x-height-medium);display:flex;align-items:center}.x-slider-select-drag{position:absolute;cursor:pointer}.x-slider-select-marks{position:absolute;margin-left:.5rem;width:100%;height:var(--x-height-medium);display:flex;align-items:center}.x-slider-select-mark{position:absolute;transform:translate(-50%);border-radius:1rem;display:flex;align-items:center;justify-content:center}.x-slider-select-mark:before{content:\" \";position:absolute;width:.75rem;height:.75rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100);border-radius:1rem}.x-slider-select-mark-label{transform:translateY(1rem)}.x-slider-select-button:not(.x-slider-select-custom-button){border-radius:1rem;border:calc(var(--x-border-width) * 2) solid var(--x-primary);background-color:var(--x-background-a100)}.x-slider-select-button{width:1rem;height:1rem;display:flex;align-items:center;justify-content:center;transition:var(--x-animation-duration-base)}.x-slider-select-button:hover,.x-slider-select-button-actived{transform:scale(1.2)}.x-slider-select-bar{width:100%;height:100%}.x-slider-select.x-invalid>label,.x-slider-select.x-required>label{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row>x-icon,.x-slider-select.x-required>.x-slider-select-row>x-icon{color:var(--x-danger)}.x-slider-select.x-invalid>.x-slider-select-row:before,.x-slider-select.x-required>.x-slider-select-row:before{content:\" \";z-index:2;position:absolute;height:var(--x-height-medium);line-height:var(--x-height-medium);border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius);width:.125rem;background-color:var(--x-danger)}.x-slider-select.x-disabled .x-slider-select-rail{background-color:var(--x-border-300)}.x-slider-select.x-disabled .x-slider-select-process{background-color:var(--x-primary-400)}.x-slider-select.x-disabled .x-slider-select-drag{cursor:not-allowed}.x-slider-select.x-disabled .x-slider-select-button:not(.x-slider-select-custom-button){border-color:var(--x-primary-400)}.x-slider-select.x-flex.x-direction-row>label{padding:0 .5rem 0 0}.x-slider-select.x-flex.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-slider-select.x-flex.x-direction-column,.x-slider-select.x-flex.x-direction-column-reverse{align-items:inherit}.x-slider-select-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-500);padding:0 var(--x-padding-medium);right:0}.x-slider-select:hover:not(.x-disabled) .x-slider-select-process{background-color:var(--x-primary-100)}.x-slider-select:hover:not(.x-disabled) .x-slider-select-button{border-color:var(--x-primary-100)}.x-slider-select-reverse .x-slider-select-inner{padding-right:0;padding-left:1rem}.x-slider-select-reverse .x-slider-select-rail{margin-left:-.5rem}.x-slider-select-reverse .x-slider-select-marks{margin-right:.5rem}.x-slider-select-reverse .x-slider-select-mark{transform:translate(50%)}.x-slider-select-reverse .x-slider-select-track{display:flex;justify-content:flex-end;margin-right:.5rem}.x-slider-select-reverse .x-slider-select-drags{justify-content:flex-end;right:auto}.x-slider-select-vertical{width:initial;height:12rem}.x-slider-select-vertical .x-slider-select{height:100%}.x-slider-select-vertical .x-slider-select-inner{padding-right:initial;padding-top:1rem;align-items:initial;justify-content:center;height:100%}.x-slider-select-vertical .x-slider-select-rail{margin-left:initial;margin-top:-.5rem;height:calc(100% - 1rem);width:calc(var(--x-height-medium) / 4)}.x-slider-select-vertical .x-slider-select-track{display:flex;align-items:flex-end;margin-left:initial;margin-bottom:.5rem;width:calc(var(--x-height-medium) / 4);height:100%}.x-slider-select-vertical .x-slider-select-marks{display:flex;align-items:flex-end;justify-content:center;margin-left:initial;margin-bottom:.5rem;width:calc(var(--x-height-medium) / 4);height:100%}.x-slider-select-vertical .x-slider-select-mark{transform:translate(0) translateY(50%)}.x-slider-select-vertical .x-slider-select-mark-label{transform:translate(50%) translateY(0);margin-left:1rem}.x-slider-select-vertical .x-slider-select-process{height:0%;width:calc(var(--x-height-medium) / 4)}.x-slider-select-vertical .x-slider-select-drags{height:100%;width:var(--x-height-medium);align-items:flex-end;justify-content:center;right:auto}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-inner{padding-left:initial;padding-bottom:1rem;padding-top:initial}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-rail{margin-top:.5rem}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-track,.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-marks{align-items:flex-start;margin-bottom:-.5rem;margin-right:initial}.x-slider-select-vertical .x-slider-select-reverse .x-slider-select-mark{transform:translate(0) translateY(-50%)}.x-slider-select-range .x-slider-select-process{cursor:pointer}.x-slider-select:not(.x-slider-select-reverse) .x-slider-select-drag{left:auto}\n"] }]
359
359
  }], propDecorators: { getVertical: [{
360
360
  type: HostBinding,
361
361
  args: ['class.x-slider-select-vertical']
362
362
  }] } });
363
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9zbGlkZXItc2VsZWN0L3NsaWRlci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyLXNlbGVjdC9zbGlkZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFHVixXQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQXFCLE1BQU0sMEJBQTBCLENBQUM7QUFDekcsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFtQixTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9B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aS90b29sdGlwJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgaW5qZWN0LFxyXG4gIHNpZ25hbCxcclxuICB2aWV3Q2hpbGQsXHJcbiAgdmlld0NoaWxkcmVuLFxyXG4gIGNvbXB1dGVkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhTbGlkZXJTZWxlY3RQcm9wZXJ0eSwgWFNsaWRlclNlbGVjdFByZWZpeCwgWFNsaWRlclNlbGVjdE1hcmsgfSBmcm9tICcuL3NsaWRlci1zZWxlY3QucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNFbXB0eSwgWElzVW5kZWZpbmVkLCBYUmVzaXplLCBYUmVzaXplT2JzZXJ2ZXIsIFhJc051bWJlciwgWElzQXJyYXksIFhJc051bGwgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhEcmFnRGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvZHJhZyc7XHJcbmltcG9ydCB7IFhPdXRsZXREaXJlY3RpdmUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgdHlwZSB7IENka0RyYWdNb3ZlLCBDZGtEcmFnU3RhcnQsIENka0RyYWdFbmQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYU2xpZGVyU2VsZWN0UHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTmdTdHlsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgWFRvb2x0aXBEaXJlY3RpdmUsXHJcbiAgICBYRHJhZ0RpcmVjdGl2ZSxcclxuICAgIFhPdXRsZXREaXJlY3RpdmVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXItc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXItc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYU2xpZGVyU2VsZWN0Q29tcG9uZW50KV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhTbGlkZXJTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBYU2xpZGVyU2VsZWN0UHJvcGVydHkgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIHNsaWRlclNlbGVjdCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ3NsaWRlclNlbGVjdCcpO1xyXG4gIGRyYWdTdGFydFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ2RyYWdTdGFydFJlZicpO1xyXG4gIGRyYWdFbmRSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdkcmFnRW5kUmVmJyk7XHJcbiAgcmFpbFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ3JhaWxSZWYnKTtcclxuICBwcm9jZXNzUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PigncHJvY2Vzc1JlZicpO1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MueC1zbGlkZXItc2VsZWN0LXZlcnRpY2FsJykgZ2V0IGdldFZlcnRpY2FsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmVydGljYWwoKTtcclxuICB9XHJcbiAgdG9vbHRpcHMgPSB2aWV3Q2hpbGRyZW4oWFRvb2x0aXBEaXJlY3RpdmUpO1xyXG4gIHRvb2x0aXBTdGFydCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBzKCkubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b29sdGlwcygpIVswXTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH0pO1xyXG4gIHRvb2x0aXBFbmQgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy50b29sdGlwcygpLmxlbmd0aCA+IDEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudG9vbHRpcHMoKSFbMV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9KTtcclxuXHJcbiAgb3ZlcnJpZGUgdmFsdWUgPSBzaWduYWw8bnVtYmVyIHwgbnVtYmVyW10+KDApO1xyXG4gIHN0YXJ0aW5nID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgc3RhcnRPZmZzZXQgPSBzaWduYWwoMCk7XHJcbiAgc3RhcnRWaXNpYmxlID0gc2lnbmFsKGZhbHNlKTtcclxuICBzdGFydE1hbnVhbCA9IHNpZ25hbChmYWxzZSk7XHJcbiAgc3RhcnQgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XHJcbiAgc3RhcnREaXNwbGF5VmFsdWUgPSBzaWduYWwoJzAnKTtcclxuICBzaG93U3RhcnRUb29sdGlwID0gc2lnbmFsKHRydWUpO1xyXG5cclxuICBlbmRPZmZzZXQgPSBzaWduYWwoMCk7XHJcbiAgZW5kVmlzaWJsZSA9IHNpZ25hbChmYWxzZSk7XHJcbiAgZW5kTWFudWFsID0gc2lnbmFsKGZhbHNlKTtcclxuICBlbmQgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XHJcbiAgZW5kRGlzcGxheVZhbHVlID0gc2lnbmFsKCcwJyk7XHJcbiAgc2hvd0VuZFRvb2x0aXAgPSBzaWduYWwodHJ1ZSk7XHJcblxyXG4gIG1hcmtMaXN0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLm1hcmtzKCkpIHJldHVybiBbXTtcclxuICAgIGNvbnN0IG1hcmtzOiBYU2xpZGVyU2VsZWN0TWFya1tdID0gW107XHJcbiAgICBmb3IgKGxldCBtYXJrIG9mIHRoaXMubWFya3MoKSkge1xyXG4gICAgICBjb25zdCBtazogWFNsaWRlclNlbGVjdE1hcmsgPSB7XHJcbiAgICAgICAgdmFsdWU6IG1hcmsudmFsdWUsXHJcbiAgICAgICAgbGFiZWw6IG1hcmsubGFiZWwsXHJcbiAgICAgICAgc3R5bGU6IHsgLi4ubWFyay5zdHlsZSB9XHJcbiAgICAgIH07XHJcbiAgICAgIG1rLm9mZnNldCA9IHRoaXMuZ2V0T2Zmc2V0KG1hcmsudmFsdWUpO1xyXG5cclxuICAgICAgaWYgKHRoaXMucmV2ZXJzZSgpKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudmVydGljYWwoKSkge1xyXG4gICAgICAgICAgbWsuc3R5bGUhWyd0b3AnXSA9IGAke21rLm9mZnNldH0lYDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbWsuc3R5bGUhWydyaWdodCddID0gYCR7bWsub2Zmc2V0fSVgO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy52ZXJ0aWNhbCgpKSB7XHJcbiAgICAgICAgICBtay5zdHlsZSFbJ2JvdHRvbSddID0gYCR7bWsub2Zmc2V0fSVgO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBtay5zdHlsZSFbJ2xlZnQnXSA9IGAke21rLm9mZnNldH0lYDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgbWFya3MucHVzaChtayk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbWFya3M7XHJcbiAgfSk7XHJcblxyXG4gIHByaXZhdGUgdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyITogWFJlc2l6ZU9ic2VydmVyO1xyXG4gIGlzTnVtYmVyID0gY29tcHV0ZWQoKCkgPT4gWElzTnVtYmVyKHRoaXMudmFsdWUoKSkgJiYgIVhJc0FycmF5KHRoaXMudmFsdWUoKSkpO1xyXG4gIGlzQXJyYXkgPSBjb21wdXRlZCgoKSA9PiBYSXNBcnJheSh0aGlzLnZhbHVlKCkpKTtcclxuXHJcbiAgY2xhc3NNYXAgPSBjb21wdXRlZCgoKSA9PiAoe1xyXG4gICAgW2B4LWp1c3RpZnktJHt0aGlzLmp1c3RpZnkoKX1gXTogISF0aGlzLmp1c3RpZnkoKSxcclxuICAgIFtgeC1hbGlnbi0ke3RoaXMuYWxpZ24oKX1gXTogISF0aGlzLmFsaWduKCksXHJcbiAgICBbYHgtZGlyZWN0aW9uLSR7dGhpcy5kaXJlY3Rpb24oKX1gXTogISF0aGlzLmRpcmVjdGlvbigpXHJcbiAgfSkpO1xyXG4gIGxhYmVsTWFwU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gKHtcclxuICAgIFtgeC10ZXh0LWFsaWduLSR7dGhpcy5sYWJlbEFsaWduKCl9YF06ICEhdGhpcy5sYWJlbEFsaWduKClcclxuICB9KSk7XHJcblxyXG4gIHByZWNpc2lvblNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IHByZWNpc2lvbiA9IHRoaXMucHJlY2lzaW9uKCk7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHByZWNpc2lvbikgfHwgIVhJc0VtcHR5KHRoaXMuc3RlcCgpKSkge1xyXG4gICAgICBsZXQgc3RlcFN0ciA9IFN0cmluZyh0aGlzLnN0ZXAoKSk7XHJcbiAgICAgIGxldCBpbmRleHBvaW50ID0gc3RlcFN0ci5pbmRleE9mKCcuJyk7XHJcbiAgICAgIGlmIChpbmRleHBvaW50ID09PSAtMSkge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBzdGVwU3RyLmxlbmd0aCAtIChpbmRleHBvaW50ICsgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwcmVjaXNpb247XHJcbiAgfSk7XHJcblxyXG4gIG92ZXJyaWRlIHJlcXVpcmVkSXNFbXB0eSA9IGNvbXB1dGVkKFxyXG4gICAgKCkgPT4gdGhpcy52YWxpZGF0b3JDb21wdXRlZCgpICYmIHRoaXMucmVxdWlyZWRDb21wdXRlZCgpICYmIChYSXNFbXB0eSh0aGlzLnZhbHVlKCkpIHx8IHRoaXMudmFsdWUoKSA9PT0gMClcclxuICApO1xyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudW1iZXJbXSkge1xyXG4gICAgaWYgKHRoaXMuc3RhcnRpbmcoKSkgcmV0dXJuO1xyXG4gICAgaWYgKFhJc051bGwodmFsdWUpIHx8IFhJc1VuZGVmaW5lZCh2YWx1ZSkpIHtcclxuICAgICAgaWYgKHRoaXMucmFuZ2UoKSkge1xyXG4gICAgICAgIHZhbHVlID0gW3RoaXMubWluKCksIHRoaXMubWluKCldO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHZhbHVlID0gdGhpcy5taW4oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xyXG4gICAgdGhpcy5zZXRMZWZ0KCk7XHJcbiAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG4gIG92ZXJyaWRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgWFJlc2l6ZSh0aGlzLnNsaWRlclNlbGVjdCgpLm5hdGl2ZUVsZW1lbnQpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICB0aGlzLnNldExlZnQoKTtcclxuICAgICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy51blN1YmplY3QuY29tcGxldGUoKTtcclxuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZSgpIHtcclxuICAgIGNvbnN0IGdldFZhbCA9IChvZmZzZXQ6IG51bWJlcikgPT4ge1xyXG4gICAgICByZXR1cm4gcGFyc2VGbG9hdChcclxuICAgICAgICBOdW1iZXIoKCh0aGlzLm1heCgpIC0gdGhpcy5taW4oKSkgKiBvZmZzZXQpIC8gMTAwICsgdGhpcy5taW4oKSkudG9GaXhlZCh0aGlzLnByZWNpc2lvblNpZ25hbCgpKVxyXG4gICAgICApO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IHN0YXJ0VmFsID0gZ2V0VmFsKHRoaXMuc3RhcnRPZmZzZXQoKSk7XHJcbiAgICBpZiAodGhpcy5pc051bWJlcigpKSB7XHJcbiAgICAgIHRoaXMudmFsdWUuc2V0KHN0YXJ0VmFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGVuZFZhbCA9IGdldFZhbCh0aGlzLmVuZE9mZnNldCgpKTtcclxuICAgICAgaWYgKGVuZFZhbCA8IHN0YXJ0VmFsKSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZS5zZXQoW2VuZFZhbCwgc3RhcnRWYWxdKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZhbHVlLnNldChbc3RhcnRWYWwsIGVuZFZhbF0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUoKSk7XHJcbiAgfVxyXG5cclxuICBnZXRPZmZzZXQodmFsOiBudW1iZXIpIHtcclxuICAgIHJldHVybiBNYXRoLmFicyhcclxuICAgICAgTWF0aC5yb3VuZCgoKHZhbCArICh0aGlzLnJldmVyc2UoKSA/IC10aGlzLm1pbigpIDogdGhpcy5taW4oKSkpICogMTAwKSAvICh0aGlzLm1heCgpIC0gdGhpcy5taW4oKSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2V0TGVmdCgpIHtcclxuICAgIGxldCBzdGFydFZhbCA9IDAsXHJcbiAgICAgIGVuZFZhbCA9IDA7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUoKTtcclxuICAgIGlmICh0aGlzLmlzTnVtYmVyKCkpIHtcclxuICAgICAgc3RhcnRWYWwgPSB2YWx1ZSBhcyBudW1iZXI7XHJcbiAgICB9IGVsc2UgaWYgKFhJc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHN0YXJ0VmFsID0gdmFsdWVbMF07XHJcbiAgICAgIGVuZFZhbCA9IHZhbHVlWzFdO1xyXG4gICAgICB0aGlzLmVuZE9mZnNldC5zZXQodGhpcy5nZXRPZmZzZXQoZW5kVmFsKSk7XHJcbiAgICAgIHRoaXMuZW5kLnNldCh0aGlzLmVuZE9mZnNldCgpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0T2Zmc2V0LnNldCh0aGlzLmdldE9mZnNldChzdGFydFZhbCkpO1xyXG4gICAgdGhpcy5zdGFydC5zZXQodGhpcy5zdGFydE9mZnNldCgpKTtcclxuXHJcbiAgICB0aGlzLnNldERyYWcoKTtcclxuICB9XHJcblxyXG4gIHNldERpc3BsYXlWYWx1ZSgpIHtcclxuICAgIGNvbnN0IGRpc3BsYXlWYWwgPSAodmFsOiBudW1iZXIpID0+IHtcclxuICAgICAgcmV0dXJuIE51bWJlcih2YWwpLnRvRml4ZWQodGhpcy5wcmVjaXNpb25TaWduYWwoKSk7XHJcbiAgICB9O1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XHJcbiAgICBpZiAodGhpcy5pc051bWJlcigpKSB7XHJcbiAgICAgIHRoaXMuc3RhcnREaXNwbGF5VmFsdWUuc2V0KGRpc3BsYXlWYWwodmFsdWUgYXMgbnVtYmVyKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoWElzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICBpZiAodGhpcy5zdGFydE9mZnNldCgpID4gdGhpcy5lbmRPZmZzZXQoKSkge1xyXG4gICAgICAgICAgdGhpcy5zdGFydERpc3BsYXlWYWx1ZS5zZXQoZGlzcGxheVZhbCh2YWx1ZVsxXSkpO1xyXG4gICAgICAgICAgdGhpcy5lbmREaXNwbGF5VmFsdWUuc2V0KGRpc3BsYXlWYWwodmFsdWVbMF0pKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zdGFydERpc3BsYXlWYWx1ZS5zZXQoZGlzcGxheVZhbCh2YWx1ZVswXSkpO1xyXG4gICAgICAgICAgdGhpcy5lbmREaXNwbGF5VmFsdWUuc2V0KGRpc3BsYXlWYWwodmFsdWVbMV0pKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXJ0ZWQoZHJhZzogQ2RrRHJhZ1N0YXJ0LCB0eXBlOiAnc3RhcnQnIHwgJ2VuZCcgfCAnYm90aCcgPSAnc3RhcnQnKSB7XHJcbiAgICB0aGlzLnN0YXJ0aW5nLnNldCh0cnVlKTtcclxuICAgIGlmIChbJ3N0YXJ0JywgJ2JvdGgnXS5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICBjb25zdCBzdGFydCA9IHRoaXMuc3RhcnRPZmZzZXQoKTtcclxuICAgICAgdGhpcy5zdGFydC5zZXQoc3RhcnQpO1xyXG4gICAgICBpZiAodGhpcy5zaG93U3RhcnRUb29sdGlwKCkpIHtcclxuICAgICAgICB0aGlzLnN0YXJ0TWFudWFsLnNldCh0cnVlKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VmlzaWJsZS5zZXQodHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChbJ2VuZCcsICdib3RoJ10uaW5jbHVkZXModHlwZSkpIHtcclxuICAgICAgY29uc3QgZW5kID0gdGhpcy5lbmRPZmZzZXQoKTtcclxuICAgICAgdGhpcy5lbmQuc2V0KGVuZCk7XHJcbiAgICAgIGlmICh0aGlzLnNob3dFbmRUb29sdGlwKCkpIHtcclxuICAgICAgICB0aGlzLmVuZE1hbnVhbC5zZXQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5lbmRWaXNpYmxlLnNldCh0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbFZhbGlkYXRvcigpO1xyXG4gICAgdGhpcy5kcmFnU3RhcnRFbWl0LmVtaXQoZHJhZyk7XHJcbiAgfVxyXG5cclxuICBtb3ZlZChkcmFnOiBDZGtEcmFnTW92ZSwgdHlwZTogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2JvdGgnID0gJ3N0YXJ0Jykge1xyXG4gICAgbGV0IHRyYW5zZm9ybSA9IGRyYWcuc291cmNlLmdldEZyZWVEcmFnUG9zaXRpb24oKTtcclxuICAgIHRoaXMuc2V0RHJhZyh0aGlzLnZlcnRpY2FsKCkgPyB0cmFuc2Zvcm0ueSA6IHRyYW5zZm9ybS54LCB0eXBlKTtcclxuICAgIGRyYWcuc291cmNlLnJlc2V0KCk7XHJcbiAgICBpZiAoWydzdGFydCcsICdib3RoJ10uaW5jbHVkZXModHlwZSkgJiYgdGhpcy5zaG93U3RhcnRUb29sdGlwKCkpIHtcclxuICAgICAgdGhpcy50b29sdGlwU3RhcnQoKT8udXBkYXRlUG9ydGFsKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoWydlbmQnLCAnYm90aCddLmluY2x1ZGVzKHR5cGUpICYmIHRoaXMuc2hvd0VuZFRvb2x0aXAoKSkge1xyXG4gICAgICB0aGlzLnRvb2x0aXBFbmQoKT8udXBkYXRlUG9ydGFsKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZSgpO1xyXG4gICAgdGhpcy5kcmFnTW92ZUVtaXQuZW1pdChkcmFnKTtcclxuICB9XHJcblxyXG4gIGVuZGVkKGRyYWc6IENka0RyYWdFbmQsIHR5cGU6ICdzdGFydCcgfCAnZW5kJyB8ICdib3RoJyA9ICdzdGFydCcpIHtcclxuICAgIGlmIChbJ3N0YXJ0JywgJ2JvdGgnXS5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICBpZiAodGhpcy5zaG93U3RhcnRUb29sdGlwKCkpIHtcclxuICAgICAgICB0aGlzLnN0YXJ0TWFudWFsLnNldChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5zdGFydFZpc2libGUuc2V0KGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKFsnZW5kJywgJ2JvdGgnXS5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICBpZiAodGhpcy5zaG93RW5kVG9vbHRpcCgpKSB7XHJcbiAgICAgICAgdGhpcy5lbmRNYW51YWwuc2V0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLmVuZFZpc2libGUuc2V0KGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zdGFydGluZy5zZXQoZmFsc2UpO1xyXG4gICAgdGhpcy5kcmFnRW5kRW1pdC5lbWl0KGRyYWcpO1xyXG4gIH1cclxuXHJcbiAgc2V0RHJhZyhkaXN0YW5jZTogbnVtYmVyID0gMCwgdHlwZTogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2JvdGgnID0gJ2JvdGgnKSB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMucmFpbFJlZigpLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ICE9PSAnZnVuY3Rpb24nKSByZXR1cm47XHJcbiAgICBsZXQgcmFpbEJveCA9IHRoaXMucmFpbFJlZigpLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBsZXQgcmFpbEJveExlbmd0aCA9IHRoaXMudmVydGljYWwoKSA/IHJhaWxCb3guaGVpZ2h0IDogcmFpbEJveC53aWR0aDtcclxuICAgIGxldCBzdGVwTGVuZ3RoID0gcmFpbEJveExlbmd0aCAvICgodGhpcy5tYXgoKSAtIHRoaXMubWluKCkpIC8gdGhpcy5zdGVwKCkpO1xyXG4gICAgbGV0IG9mZnNldCA9IE1hdGguYWJzKGRpc3RhbmNlICUgc3RlcExlbmd0aCk7XHJcbiAgICBsZXQgZGlzID1cclxuICAgICAgb2Zmc2V0IDwgc3RlcExlbmd0aCAvIDJcclxuICAgICAgICA/IGRpc3RhbmNlID4gMFxyXG4gICAgICAgICAgPyBkaXN0YW5jZSAtIG9mZnNldFxyXG4gICAgICAgICAgOiBkaXN0YW5jZSArIG9mZnNldFxyXG4gICAgICAgIDogZGlzdGFuY2UgPiAwXHJcbiAgICAgICAgICA/IGRpc3RhbmNlICsgc3RlcExlbmd0aCAtIG9mZnNldFxyXG4gICAgICAgICAgOiBkaXN0YW5jZSAtIHN0ZXBMZW5ndGggKyBvZmZzZXQ7XHJcblxyXG4gICAgY29uc3Qgc2V0T2Zmc2V0ID0gKGQ6IG51bWJlcikgPT4ge1xyXG4gICAgICBsZXQgeDEgPSAoZCAvIDEwMCkgKiByYWlsQm94TGVuZ3RoO1xyXG4gICAgICBpZiAodGhpcy52ZXJ0aWNhbCgpKSB7XHJcbiAgICAgICAgeDEgKz0gdGhpcy5yZXZlcnNlKCkgPyBkaXMgOiAtZGlzO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHgxICs9IHRoaXMucmV2ZXJzZSgpID8gLWRpcyA6IGRpcztcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gTWF0aC5yb3VuZCgoeDEgLyByYWlsQm94TGVuZ3RoKSAqIDEwMCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0eXBlID09PSAnYm90aCcpIHtcclxuICAgICAgdGhpcy5zdGFydE9mZnNldC5zZXQoc2V0T2Zmc2V0KHRoaXMuc3RhcnQoKSEpKTtcclxuICAgICAgdGhpcy5lbmRPZmZzZXQuc2V0KHNldE9mZnNldCh0aGlzLmVuZCgpISkpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnc3RhcnQnKSB7XHJcbiAgICAgIHRoaXMuc3RhcnRPZmZzZXQuc2V0KHNldE9mZnNldCh0aGlzLnN0YXJ0KCkhKSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdlbmQnKSB7XHJcbiAgICAgIHRoaXMuZW5kT2Zmc2V0LnNldChzZXRPZmZzZXQodGhpcy5lbmQoKSEpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldERyYWdTdHlsZXMoKTtcclxuICB9XHJcblxyXG4gIHNldERyYWdTdHlsZXMoKSB7XHJcbiAgICBpZiAodGhpcy52ZXJ0aWNhbCgpKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzQXJyYXkoKSkge1xyXG4gICAgICAgIGNvbnN0IHdkID0gTWF0aC5hYnModGhpcy5lbmRPZmZzZXQoKSAtIHRoaXMuc3RhcnRPZmZzZXQoKSk7XHJcbiAgICAgICAgY29uc3QgbHQgPSB0aGlzLmVuZE9mZnNldCgpID4gdGhpcy5zdGFydE9mZnNldCgpID8gdGhpcy5zdGFydE9mZnNldCgpIDogdGhpcy5lbmRPZmZzZXQoKTtcclxuICAgICAgICBpZiAodGhpcy5yZXZlcnNlKCkpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kcmFnU3RhcnRSZWYoKS5uYXRpdmVFbGVtZW50LCAndG9wJywgYCR7dGhpcy5zdGFydE9mZnNldCgpfSVgKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kcmFnRW5kUmVmKCkubmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAke3RoaXMuZW5kT2Zmc2V0KCl9JWApO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYoKS5uYXRpdmVFbGVtZW50LCAndG9wJywgYCR7bHR9JWApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJhZ1N0YXJ0UmVmKCkubmF0aXZlRWxlbWVudCwgJ2JvdHRvbScsIGAke3RoaXMuc3RhcnRPZmZzZXQoKX0lYCk7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJhZ0VuZFJlZigpLm5hdGl2ZUVsZW1lbnQsICdib3R0b20nLCBgJHt0aGlzLmVuZE9mZnNldCgpfSVgKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wcm9jZXNzUmVmKCkubmF0aXZlRWxlbWVudCwgJ2JvdHRvbScsIGAke2x0fSVgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYoKS5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7d2R9JWApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLnJldmVyc2UoKSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyYWdTdGFydFJlZigpLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCBgJHt0aGlzLnN0YXJ0T2Zmc2V0KCl9JWApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJhZ1N0YXJ0UmVmKCkubmF0aXZlRWxlbWVudCwgJ2JvdHRvbScsIGAke3RoaXMuc3RhcnRPZmZzZXQoKX0lYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wcm9jZXNzUmVmKCkubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke3RoaXMuc3RhcnRPZmZzZXQoKX0lYCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmlzQXJyYXkoKSkge1xyXG4gICAgICAgIGNvbnN0IHdkID0gTWF0aC5hYnModGhpcy5lbmRPZmZzZXQoKSAtIHRoaXMuc3RhcnRPZmZzZXQoKSk7XHJcbiAgICAgICAgY29uc3QgbHQgPSB0aGlzLmVuZE9mZnNldCgpID4gdGhpcy5zdGFydE9mZnNldCgpID8gdGhpcy5zdGFydE9mZnNldCgpIDogdGhpcy5lbmRPZmZzZXQoKTtcclxuICAgICAgICBpZiAodGhpcy5yZXZlcnNlKCkpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kcmFnU3RhcnRSZWYoKS5uYXRpdmVFbGVtZW50LCAncmlnaHQnLCBgJHt0aGlzLnN0YXJ0T2Zmc2V0KCl9JWApO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyYWdFbmRSZWYoKS5uYXRpdmVFbGVtZW50LCAncmlnaHQnLCBgJHt0aGlzLmVuZE9mZnNldCgpfSVgKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wcm9jZXNzUmVmKCkubmF0aXZlRWxlbWVudCwgJ3JpZ2h0JywgYCR7bHR9JWApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJhZ1N0YXJ0UmVmKCkubmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHt0aGlzLnN0YXJ0T2Zmc2V0KCl9JWApO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyYWdFbmRSZWYoKS5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIGAke3RoaXMuZW5kT2Zmc2V0KCl9JWApO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYoKS5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIGAke2x0fSVgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYoKS5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3ZH0lYCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMucmV2ZXJzZSgpKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJhZ1N0YXJ0UmVmKCkubmF0aXZlRWxlbWVudCwgJ3JpZ2h0JywgYCR7dGhpcy5zdGFydE9mZnNldCgpfSVgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyYWdTdGFydFJlZigpLm5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7dGhpcy5zdGFydE9mZnNldCgpfSVgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYoKS5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt0aGlzLnN0YXJ0T2Zmc2V0KCl9JWApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAjc2xpZGVyU2VsZWN0XHJcbiAgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3RcIlxyXG4gIFtjbGFzcy54LWZsZXhdPVwianVzdGlmeSgpIHx8IGFsaWduKCkgfHwgZGlyZWN0aW9uKClcIlxyXG4gIFtjbGFzcy54LWRpc2FibGVkXT1cImRpc2FibGVkQ29tcHV0ZWQoKVwiXHJcbiAgW2NsYXNzLngtcmVxdWlyZWRdPVwicmVxdWlyZWRJc0VtcHR5KClcIlxyXG4gIFtjbGFzcy54LWludmFsaWRdPVwiaW52YWxpZCgpXCJcclxuICBbY2xhc3MueC1zbGlkZXItc2VsZWN0LXJldmVyc2VdPVwicmV2ZXJzZSgpXCJcclxuICBbY2xhc3MueC1zbGlkZXItc2VsZWN0LXJhbmdlXT1cInJhbmdlKClcIlxyXG4gIFtuZ0NsYXNzXT1cImNsYXNzTWFwKClcIlxyXG4+XHJcbiAgQGlmIChsYWJlbCgpKSB7XHJcbiAgICA8bGFiZWxcclxuICAgICAgW2NsYXNzLngtc2xpZGVyLXNlbGVjdC1sYWJlbC1yZXF1aXJlZF09XCJyZXF1aXJlZENvbXB1dGVkKClcIlxyXG4gICAgICBbc3R5bGUud2lkdGhdPVwibGFiZWxXaWR0aCgpXCJcclxuICAgICAgW25nQ2xhc3NdPVwibGFiZWxNYXBTaWduYWwoKVwiXHJcbiAgICAgID57eyBsYWJlbCgpIH19PC9sYWJlbFxyXG4gICAgPlxyXG4gIH1cclxuICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LWlubmVyXCIgI2lubmVyUmVmPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1yYWlsXCIgI3JhaWxSZWY+XHJcbiAgICAgIDxkaXY+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtZHJhZ3NcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC10cmFja1wiICN0cmFja1JlZj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAjcHJvY2Vzc1JlZlxyXG4gICAgICAgICAgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtcHJvY2Vzc1wiXHJcbiAgICAgICAgICBjZGtEcmFnXHJcbiAgICAgICAgICBbY2RrRHJhZ0xvY2tBeGlzXT1cInZlcnRpY2FsKCkgPyAneScgOiAneCdcIlxyXG4gICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJkaXNhYmxlZENvbXB1dGVkKCkgfHwgIXJhbmdlKClcIlxyXG4gICAgICAgICAgW2Nka0RyYWdCb3VuZGFyeV09XCJ0cmFja1JlZlwiXHJcbiAgICAgICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwic3RhcnRlZCgkZXZlbnQsICdib3RoJylcIlxyXG4gICAgICAgICAgKGNka0RyYWdFbmRlZCk9XCJlbmRlZCgkZXZlbnQsICdib3RoJylcIlxyXG4gICAgICAgICAgKGNka0RyYWdNb3ZlZCk9XCJtb3ZlZCgkZXZlbnQsICdib3RoJylcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtbWFya3NcIj5cclxuICAgICAgICBAZm9yIChtYXJrIG9mIG1hcmtMaXN0KCk7IHRyYWNrIG1hcmsubGFiZWwpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtbWFya1wiIFtuZ1N0eWxlXT1cIm1hcmsuc3R5bGVcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtbWFyay1sYWJlbFwiPnt7IG1hcmsubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgI2RyYWdTdGFydFJlZlxyXG4gICAgICAgIGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LWRyYWdcIlxyXG4gICAgICAgIGNka0RyYWdcclxuICAgICAgICBbY2RrRHJhZ0xvY2tBeGlzXT1cInZlcnRpY2FsKCkgPyAneScgOiAneCdcIlxyXG4gICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiZGlzYWJsZWRDb21wdXRlZCgpXCJcclxuICAgICAgICBbY2RrRHJhZ0JvdW5kYXJ5XT1cImlubmVyUmVmXCJcclxuICAgICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwic3RhcnRlZCgkZXZlbnQsICdzdGFydCcpXCJcclxuICAgICAgICAoY2RrRHJhZ0VuZGVkKT1cImVuZGVkKCRldmVudCwgJ3N0YXJ0JylcIlxyXG4gICAgICAgIChjZGtEcmFnTW92ZWQpPVwibW92ZWQoJGV2ZW50LCAnc3RhcnQnKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAjdG9vbHRpcFN0YXJ0XHJcbiAgICAgICAgICB4LXRvb2x0aXBcclxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXHJcbiAgICAgICAgICBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1idXR0b25cIlxyXG4gICAgICAgICAgW2NsYXNzLngtc2xpZGVyLXNlbGVjdC1idXR0b24tYWN0aXZlZF09XCJzdGFydFZpc2libGUoKVwiXHJcbiAgICAgICAgICBbY2xhc3MueC1zbGlkZXItc2VsZWN0LWN1c3RvbS1idXR0b25dPVwiY3VzdG9tQnV0dG9uKClcIlxyXG4gICAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2hvd1Rvb2x0aXAoKSAmJiAhc2hvd1N0YXJ0VG9vbHRpcCgpXCJcclxuICAgICAgICAgIFtjb250ZW50XT1cInRvb2x0aXBTdGFydFRwbFwiXHJcbiAgICAgICAgICBbKHZpc2libGUpXT1cInN0YXJ0VmlzaWJsZVwiXHJcbiAgICAgICAgICBbbWFudWFsXT1cInN0YXJ0TWFudWFsKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJjdXN0b21CdXR0b24oKVwiPnt7IGN1c3RvbUJ1dHRvbigpIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICN0b29sdGlwU3RhcnRUcGw+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwidG9vbHRpcEN1c3RvbSgpOyBjb250ZXh0OiB7ICR2YWx1ZTogc3RhcnREaXNwbGF5VmFsdWUoKSB9XCI+e3tcclxuICAgICAgICAgICAgc3RhcnREaXNwbGF5VmFsdWUoKVxyXG4gICAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIFtoaWRkZW5dPVwiIXJhbmdlKClcIlxyXG4gICAgICAgICNkcmFnRW5kUmVmXHJcbiAgICAgICAgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtZHJhZ1wiXHJcbiAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgIFtjZGtEcmFnTG9ja0F4aXNdPVwidmVydGljYWwoKSA/ICd5JyA6ICd4J1wiXHJcbiAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJkaXNhYmxlZENvbXB1dGVkKClcIlxyXG4gICAgICAgIFtjZGtEcmFnQm91bmRhcnldPVwiaW5uZXJSZWZcIlxyXG4gICAgICAgIChjZGtEcmFnU3RhcnRlZCk9XCJzdGFydGVkKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgICAoY2RrRHJhZ0VuZGVkKT1cImVuZGVkKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgICAoY2RrRHJhZ01vdmVkKT1cIm1vdmVkKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICN0b29sdGlwRW5kXHJcbiAgICAgICAgICB4LXRvb2x0aXBcclxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXHJcbiAgICAgICAgICBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1idXR0b25cIlxyXG4gICAgICAgICAgW2NsYXNzLngtc2xpZGVyLXNlbGVjdC1idXR0b24tYWN0aXZlZF09XCJlbmRWaXNpYmxlKClcIlxyXG4gICAgICAgICAgW2NsYXNzLngtc2xpZGVyLXNlbGVjdC1jdXN0b20tYnV0dG9uXT1cImN1c3RvbUJ1dHRvbigpXCJcclxuICAgICAgICAgIHBsYWNlbWVudD1cInRvcFwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIXNob3dUb29sdGlwKCkgJiYgIXNob3dFbmRUb29sdGlwKClcIlxyXG4gICAgICAgICAgW2NvbnRlbnRdPVwidG9vbHRpcEVuZFRwbFwiXHJcbiAgICAgICAgICBbKHZpc2libGUpXT1cImVuZFZpc2libGVcIlxyXG4gICAgICAgICAgW21hbnVhbF09XCJlbmRNYW51YWwoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImN1c3RvbUJ1dHRvbigpXCI+e3sgY3VzdG9tQnV0dG9uKCkgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBFbmRUcGw+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwidG9vbHRpcEN1c3RvbSgpOyBjb250ZXh0OiB7ICR2YWx1ZTogZW5kRGlzcGxheVZhbHVlKCkgfVwiPnt7XHJcbiAgICAgICAgICAgIGVuZERpc3BsYXlWYWx1ZSgpXHJcbiAgICAgICAgICB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
363
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9zbGlkZXItc2VsZWN0L3NsaWRlci1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvc2xpZGVyLXNlbGVjdC9zbGlkZXItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hELE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFHVixXQUFXLEVBQ1gsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEVBQ1QsWUFBWSxFQUNaLFFBQVEsRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQXFCLE1BQU0sMEJBQTBCLENBQUM7QUFDekcsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFtQixTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9B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aS90b29sdGlwJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgT25EZXN0cm95LFxyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgaW5qZWN0LFxyXG4gIHNpZ25hbCxcclxuICB2aWV3Q2hpbGQsXHJcbiAgdmlld0NoaWxkcmVuLFxyXG4gIGNvbXB1dGVkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhTbGlkZXJTZWxlY3RQcm9wZXJ0eSwgWFNsaWRlclNlbGVjdFByZWZpeCwgWFNsaWRlclNlbGVjdE1hcmsgfSBmcm9tICcuL3NsaWRlci1zZWxlY3QucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYSXNFbXB0eSwgWElzVW5kZWZpbmVkLCBYUmVzaXplLCBYUmVzaXplT2JzZXJ2ZXIsIFhJc051bWJlciwgWElzQXJyYXksIFhJc051bGwgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhEcmFnRGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvZHJhZyc7XHJcbmltcG9ydCB7IFhPdXRsZXREaXJlY3RpdmUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgdHlwZSB7IENka0RyYWdNb3ZlLCBDZGtEcmFnU3RhcnQsIENka0RyYWdFbmQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYU2xpZGVyU2VsZWN0UHJlZml4fWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ0NsYXNzLFxyXG4gICAgTmdTdHlsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIERyYWdEcm9wTW9kdWxlLFxyXG4gICAgWFRvb2x0aXBEaXJlY3RpdmUsXHJcbiAgICBYRHJhZ0RpcmVjdGl2ZSxcclxuICAgIFhPdXRsZXREaXJlY3RpdmVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbGlkZXItc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zbGlkZXItc2VsZWN0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYU2xpZGVyU2VsZWN0Q29tcG9uZW50KV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhTbGlkZXJTZWxlY3RDb21wb25lbnQgZXh0ZW5kcyBYU2xpZGVyU2VsZWN0UHJvcGVydHkgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xyXG4gIHNsaWRlclNlbGVjdCA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ3NsaWRlclNlbGVjdCcpO1xyXG4gIGRyYWdTdGFydFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ2RyYWdTdGFydFJlZicpO1xyXG4gIGRyYWdFbmRSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KCdkcmFnRW5kUmVmJyk7XHJcbiAgcmFpbFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oJ3JhaWxSZWYnKTtcclxuICBwcm9jZXNzUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PigncHJvY2Vzc1JlZicpO1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MueC1zbGlkZXItc2VsZWN0LXZlcnRpY2FsJykgZ2V0IGdldFZlcnRpY2FsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmVydGljYWwoKTtcclxuICB9XHJcbiAgdG9vbHRpcHMgPSB2aWV3Q2hpbGRyZW4oWFRvb2x0aXBEaXJlY3RpdmUpO1xyXG4gIHRvb2x0aXBTdGFydCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGlmICh0aGlzLnRvb2x0aXBzKCkubGVuZ3RoID4gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy50b29sdGlwcygpIVswXTtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH0pO1xyXG4gIHRvb2x0aXBFbmQgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICBpZiAodGhpcy50b29sdGlwcygpLmxlbmd0aCA+IDEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudG9vbHRpcHMoKSFbMV07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9KTtcclxuXHJcbiAgb3ZlcnJpZGUgdmFsdWUgPSBzaWduYWw8bnVtYmVyIHwgbnVtYmVyW10+KDApO1xyXG4gIHN0YXJ0aW5nID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgc3RhcnRPZmZzZXQgPSBzaWduYWwoMCk7XHJcbiAgc3RhcnRWaXNpYmxlID0gc2lnbmFsKGZhbHNlKTtcclxuICBzdGFydE1hbnVhbCA9IHNpZ25hbChmYWxzZSk7XHJcbiAgc3RhcnQgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XHJcbiAgc3RhcnREaXNwbGF5VmFsdWUgPSBzaWduYWwoJzAnKTtcclxuICBzaG93U3RhcnRUb29sdGlwID0gc2lnbmFsKHRydWUpO1xyXG5cclxuICBlbmRPZmZzZXQgPSBzaWduYWwoMCk7XHJcbiAgZW5kVmlzaWJsZSA9IHNpZ25hbChmYWxzZSk7XHJcbiAgZW5kTWFudWFsID0gc2lnbmFsKGZhbHNlKTtcclxuICBlbmQgPSBzaWduYWw8bnVtYmVyIHwgbnVsbD4obnVsbCk7XHJcbiAgZW5kRGlzcGxheVZhbHVlID0gc2lnbmFsKCcwJyk7XHJcbiAgc2hvd0VuZFRvb2x0aXAgPSBzaWduYWwodHJ1ZSk7XHJcblxyXG4gIG1hcmtMaXN0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgaWYgKCF0aGlzLm1hcmtzKCkpIHJldHVybiBbXTtcclxuICAgIGNvbnN0IG1hcmtzOiBYU2xpZGVyU2VsZWN0TWFya1tdID0gW107XHJcbiAgICBmb3IgKGxldCBtYXJrIG9mIHRoaXMubWFya3MoKSkge1xyXG4gICAgICBjb25zdCBtazogWFNsaWRlclNlbGVjdE1hcmsgPSB7XHJcbiAgICAgICAgdmFsdWU6IG1hcmsudmFsdWUsXHJcbiAgICAgICAgbGFiZWw6IG1hcmsubGFiZWwsXHJcbiAgICAgICAgc3R5bGU6IHsgLi4ubWFyay5zdHlsZSB9XHJcbiAgICAgIH07XHJcbiAgICAgIG1rLm9mZnNldCA9IHRoaXMuZ2V0T2Zmc2V0KG1hcmsudmFsdWUpO1xyXG5cclxuICAgICAgaWYgKHRoaXMucmV2ZXJzZSgpKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudmVydGljYWwoKSkge1xyXG4gICAgICAgICAgbWsuc3R5bGUhWyd0b3AnXSA9IGAke21rLm9mZnNldH0lYDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbWsuc3R5bGUhWydyaWdodCddID0gYCR7bWsub2Zmc2V0fSVgO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAodGhpcy52ZXJ0aWNhbCgpKSB7XHJcbiAgICAgICAgICBtay5zdHlsZSFbJ2JvdHRvbSddID0gYCR7bWsub2Zmc2V0fSVgO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBtay5zdHlsZSFbJ2xlZnQnXSA9IGAke21rLm9mZnNldH0lYDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgbWFya3MucHVzaChtayk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbWFya3M7XHJcbiAgfSk7XHJcblxyXG4gIHByaXZhdGUgdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyITogWFJlc2l6ZU9ic2VydmVyO1xyXG4gIGlzTnVtYmVyID0gY29tcHV0ZWQoKCkgPT4gWElzTnVtYmVyKHRoaXMudmFsdWUoKSkgJiYgIVhJc0FycmF5KHRoaXMudmFsdWUoKSkpO1xyXG4gIGlzQXJyYXkgPSBjb21wdXRlZCgoKSA9PiBYSXNBcnJheSh0aGlzLnZhbHVlKCkpKTtcclxuXHJcbiAgY2xhc3NNYXAgPSBjb21wdXRlZCgoKSA9PiAoe1xyXG4gICAgW2B4LWp1c3RpZnktJHt0aGlzLmp1c3RpZnkoKX1gXTogISF0aGlzLmp1c3RpZnkoKSxcclxuICAgIFtgeC1hbGlnbi0ke3RoaXMuYWxpZ24oKX1gXTogISF0aGlzLmFsaWduKCksXHJcbiAgICBbYHgtZGlyZWN0aW9uLSR7dGhpcy5kaXJlY3Rpb24oKX1gXTogISF0aGlzLmRpcmVjdGlvbigpXHJcbiAgfSkpO1xyXG4gIGxhYmVsTWFwU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gKHtcclxuICAgIFtgeC10ZXh0LWFsaWduLSR7dGhpcy5sYWJlbEFsaWduKCl9YF06ICEhdGhpcy5sYWJlbEFsaWduKClcclxuICB9KSk7XHJcblxyXG4gIHByZWNpc2lvblNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IHByZWNpc2lvbiA9IHRoaXMucHJlY2lzaW9uKCk7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHByZWNpc2lvbikgfHwgIVhJc0VtcHR5KHRoaXMuc3RlcCgpKSkge1xyXG4gICAgICBsZXQgc3RlcFN0ciA9IFN0cmluZyh0aGlzLnN0ZXAoKSk7XHJcbiAgICAgIGxldCBpbmRleHBvaW50ID0gc3RlcFN0ci5pbmRleE9mKCcuJyk7XHJcbiAgICAgIGlmIChpbmRleHBvaW50ID09PSAtMSkge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBzdGVwU3RyLmxlbmd0aCAtIChpbmRleHBvaW50ICsgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBwcmVjaXNpb247XHJcbiAgfSk7XHJcblxyXG4gIG92ZXJyaWRlIHJlcXVpcmVkSXNFbXB0eSA9IGNvbXB1dGVkKFxyXG4gICAgKCkgPT4gdGhpcy52YWxpZGF0b3JDb21wdXRlZCgpICYmIHRoaXMucmVxdWlyZWRDb21wdXRlZCgpICYmIChYSXNFbXB0eSh0aGlzLnZhbHVlKCkpIHx8IHRoaXMudmFsdWUoKSA9PT0gMClcclxuICApO1xyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBudW1iZXJbXSkge1xyXG4gICAgaWYgKHRoaXMuc3RhcnRpbmcoKSkgcmV0dXJuO1xyXG4gICAgaWYgKFhJc051bGwodmFsdWUpIHx8IFhJc1VuZGVmaW5lZCh2YWx1ZSkpIHtcclxuICAgICAgaWYgKHRoaXMucmFuZ2UoKSkge1xyXG4gICAgICAgIHZhbHVlID0gW3RoaXMubWluKCksIHRoaXMubWluKCldO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHZhbHVlID0gdGhpcy5taW4oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy52YWx1ZS5zZXQodmFsdWUpO1xyXG4gICAgdGhpcy5zZXRMZWZ0KCk7XHJcbiAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xyXG4gIG92ZXJyaWRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgWFJlc2l6ZSh0aGlzLnNsaWRlclNlbGVjdCgpLm5hdGl2ZUVsZW1lbnQpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0geC5yZXNpemVPYnNlcnZlcjtcclxuICAgICAgICB0aGlzLnNldExlZnQoKTtcclxuICAgICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy51blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy51blN1YmplY3QuY29tcGxldGUoKTtcclxuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZSgpIHtcclxuICAgIGNvbnN0IGdldFZhbCA9IChvZmZzZXQ6IG51bWJlcikgPT4ge1xyXG4gICAgICByZXR1cm4gcGFyc2VGbG9hdChcclxuICAgICAgICBOdW1iZXIoKCh0aGlzLm1heCgpIC0gdGhpcy5taW4oKSkgKiBvZmZzZXQpIC8gMTAwICsgdGhpcy5taW4oKSkudG9GaXhlZCh0aGlzLnByZWNpc2lvblNpZ25hbCgpKVxyXG4gICAgICApO1xyXG4gICAgfTtcclxuICAgIGNvbnN0IHN0YXJ0VmFsID0gZ2V0VmFsKHRoaXMuc3RhcnRPZmZzZXQoKSk7XHJcbiAgICBpZiAodGhpcy5pc051bWJlcigpKSB7XHJcbiAgICAgIHRoaXMudmFsdWUuc2V0KHN0YXJ0VmFsKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGVuZFZhbCA9IGdldFZhbCh0aGlzLmVuZE9mZnNldCgpKTtcclxuICAgICAgaWYgKGVuZFZhbCA8IHN0YXJ0VmFsKSB7XHJcbiAgICAgICAgdGhpcy52YWx1ZS5zZXQoW2VuZFZhbCwgc3RhcnRWYWxdKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnZhbHVlLnNldChbc3RhcnRWYWwsIGVuZFZhbF0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlKSB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUoKSk7XHJcbiAgfVxyXG5cclxuICBnZXRPZmZzZXQodmFsOiBudW1iZXIpIHtcclxuICAgIHJldHVybiBNYXRoLmFicyhcclxuICAgICAgTWF0aC5yb3VuZCgoKHZhbCArICh0aGlzLnJldmVyc2UoKSA/IC10aGlzLm1pbigpIDogdGhpcy5taW4oKSkpICogMTAwKSAvICh0aGlzLm1heCgpIC0gdGhpcy5taW4oKSkpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc2V0TGVmdCgpIHtcclxuICAgIGxldCBzdGFydFZhbCA9IDAsXHJcbiAgICAgIGVuZFZhbCA9IDA7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUoKTtcclxuICAgIGlmICh0aGlzLmlzTnVtYmVyKCkpIHtcclxuICAgICAgc3RhcnRWYWwgPSB2YWx1ZSBhcyBudW1iZXI7XHJcbiAgICB9IGVsc2UgaWYgKFhJc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAxKSB7XHJcbiAgICAgIHN0YXJ0VmFsID0gdmFsdWVbMF07XHJcbiAgICAgIGVuZFZhbCA9IHZhbHVlWzFdO1xyXG4gICAgICB0aGlzLmVuZE9mZnNldC5zZXQodGhpcy5nZXRPZmZzZXQoZW5kVmFsKSk7XHJcbiAgICAgIHRoaXMuZW5kLnNldCh0aGlzLmVuZE9mZnNldCgpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnN0YXJ0T2Zmc2V0LnNldCh0aGlzLmdldE9mZnNldChzdGFydFZhbCkpO1xyXG4gICAgdGhpcy5zdGFydC5zZXQodGhpcy5zdGFydE9mZnNldCgpKTtcclxuXHJcbiAgICB0aGlzLnNldERyYWcoKTtcclxuICB9XHJcblxyXG4gIHNldERpc3BsYXlWYWx1ZSgpIHtcclxuICAgIGNvbnN0IGRpc3BsYXlWYWwgPSAodmFsOiBudW1iZXIpID0+IHtcclxuICAgICAgcmV0dXJuIE51bWJlcih2YWwpLnRvRml4ZWQodGhpcy5wcmVjaXNpb25TaWduYWwoKSk7XHJcbiAgICB9O1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlKCk7XHJcbiAgICBpZiAodGhpcy5pc051bWJlcigpKSB7XHJcbiAgICAgIHRoaXMuc3RhcnREaXNwbGF5VmFsdWUuc2V0KGRpc3BsYXlWYWwodmFsdWUgYXMgbnVtYmVyKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoWElzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICBpZiAodGhpcy5zdGFydE9mZnNldCgpID4gdGhpcy5lbmRPZmZzZXQoKSkge1xyXG4gICAgICAgICAgdGhpcy5zdGFydERpc3BsYXlWYWx1ZS5zZXQoZGlzcGxheVZhbCh2YWx1ZVsxXSkpO1xyXG4gICAgICAgICAgdGhpcy5lbmREaXNwbGF5VmFsdWUuc2V0KGRpc3BsYXlWYWwodmFsdWVbMF0pKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zdGFydERpc3BsYXlWYWx1ZS5zZXQoZGlzcGxheVZhbCh2YWx1ZVswXSkpO1xyXG4gICAgICAgICAgdGhpcy5lbmREaXNwbGF5VmFsdWUuc2V0KGRpc3BsYXlWYWwodmFsdWVbMV0pKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN0YXJ0ZWQoZHJhZzogQ2RrRHJhZ1N0YXJ0LCB0eXBlOiAnc3RhcnQnIHwgJ2VuZCcgfCAnYm90aCcgPSAnc3RhcnQnKSB7XHJcbiAgICB0aGlzLnN0YXJ0aW5nLnNldCh0cnVlKTtcclxuICAgIGlmIChbJ3N0YXJ0JywgJ2JvdGgnXS5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICBjb25zdCBzdGFydCA9IHRoaXMuc3RhcnRPZmZzZXQoKTtcclxuICAgICAgdGhpcy5zdGFydC5zZXQoc3RhcnQpO1xyXG4gICAgICBpZiAodGhpcy5zaG93U3RhcnRUb29sdGlwKCkpIHtcclxuICAgICAgICB0aGlzLnN0YXJ0TWFudWFsLnNldCh0cnVlKTtcclxuICAgICAgICB0aGlzLnN0YXJ0VmlzaWJsZS5zZXQodHJ1ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChbJ2VuZCcsICdib3RoJ10uaW5jbHVkZXModHlwZSkpIHtcclxuICAgICAgY29uc3QgZW5kID0gdGhpcy5lbmRPZmZzZXQoKTtcclxuICAgICAgdGhpcy5lbmQuc2V0KGVuZCk7XHJcbiAgICAgIGlmICh0aGlzLnNob3dFbmRUb29sdGlwKCkpIHtcclxuICAgICAgICB0aGlzLmVuZE1hbnVhbC5zZXQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5lbmRWaXNpYmxlLnNldCh0cnVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5mb3JtQ29udHJvbFZhbGlkYXRvcigpO1xyXG4gICAgdGhpcy5kcmFnU3RhcnRFbWl0LmVtaXQoZHJhZyk7XHJcbiAgfVxyXG5cclxuICBtb3ZlZChkcmFnOiBDZGtEcmFnTW92ZSwgdHlwZTogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2JvdGgnID0gJ3N0YXJ0Jykge1xyXG4gICAgbGV0IHRyYW5zZm9ybSA9IGRyYWcuc291cmNlLmdldEZyZWVEcmFnUG9zaXRpb24oKTtcclxuICAgIHRoaXMuc2V0RHJhZyh0aGlzLnZlcnRpY2FsKCkgPyB0cmFuc2Zvcm0ueSA6IHRyYW5zZm9ybS54LCB0eXBlKTtcclxuICAgIGRyYWcuc291cmNlLnJlc2V0KCk7XHJcbiAgICBpZiAoWydzdGFydCcsICdib3RoJ10uaW5jbHVkZXModHlwZSkgJiYgdGhpcy5zaG93U3RhcnRUb29sdGlwKCkpIHtcclxuICAgICAgdGhpcy50b29sdGlwU3RhcnQoKT8udXBkYXRlUG9ydGFsKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoWydlbmQnLCAnYm90aCddLmluY2x1ZGVzKHR5cGUpICYmIHRoaXMuc2hvd0VuZFRvb2x0aXAoKSkge1xyXG4gICAgICB0aGlzLnRvb2x0aXBFbmQoKT8udXBkYXRlUG9ydGFsKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoYW5nZSgpO1xyXG4gICAgdGhpcy5kcmFnTW92ZUVtaXQuZW1pdChkcmFnKTtcclxuICB9XHJcblxyXG4gIGVuZGVkKGRyYWc6IENka0RyYWdFbmQsIHR5cGU6ICdzdGFydCcgfCAnZW5kJyB8ICdib3RoJyA9ICdzdGFydCcpIHtcclxuICAgIGlmIChbJ3N0YXJ0JywgJ2JvdGgnXS5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICBpZiAodGhpcy5zaG93U3RhcnRUb29sdGlwKCkpIHtcclxuICAgICAgICB0aGlzLnN0YXJ0TWFudWFsLnNldChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5zdGFydFZpc2libGUuc2V0KGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKFsnZW5kJywgJ2JvdGgnXS5pbmNsdWRlcyh0eXBlKSkge1xyXG4gICAgICBpZiAodGhpcy5zaG93RW5kVG9vbHRpcCgpKSB7XHJcbiAgICAgICAgdGhpcy5lbmRNYW51YWwuc2V0KGZhbHNlKTtcclxuICAgICAgICB0aGlzLmVuZFZpc2libGUuc2V0KGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zdGFydGluZy5zZXQoZmFsc2UpO1xyXG4gICAgdGhpcy5kcmFnRW5kRW1pdC5lbWl0KGRyYWcpO1xyXG4gIH1cclxuXHJcbiAgc2V0RHJhZyhkaXN0YW5jZTogbnVtYmVyID0gMCwgdHlwZTogJ3N0YXJ0JyB8ICdlbmQnIHwgJ2JvdGgnID0gJ2JvdGgnKSB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMucmFpbFJlZigpLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0ICE9PSAnZnVuY3Rpb24nKSByZXR1cm47XHJcbiAgICBsZXQgcmFpbEJveCA9IHRoaXMucmFpbFJlZigpLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICBsZXQgcmFpbEJveExlbmd0aCA9IHRoaXMudmVydGljYWwoKSA/IHJhaWxCb3guaGVpZ2h0IDogcmFpbEJveC53aWR0aDtcclxuICAgIGxldCBzdGVwTGVuZ3RoID0gcmFpbEJveExlbmd0aCAvICgodGhpcy5tYXgoKSAtIHRoaXMubWluKCkpIC8gdGhpcy5zdGVwKCkpO1xyXG4gICAgbGV0IG9mZnNldCA9IE1hdGguYWJzKGRpc3RhbmNlICUgc3RlcExlbmd0aCk7XHJcbiAgICBsZXQgZGlzID1cclxuICAgICAgb2Zmc2V0IDwgc3RlcExlbmd0aCAvIDJcclxuICAgICAgICA/IGRpc3RhbmNlID4gMFxyXG4gICAgICAgICAgPyBkaXN0YW5jZSAtIG9mZnNldFxyXG4gICAgICAgICAgOiBkaXN0YW5jZSArIG9mZnNldFxyXG4gICAgICAgIDogZGlzdGFuY2UgPiAwXHJcbiAgICAgICAgICA/IGRpc3RhbmNlICsgc3RlcExlbmd0aCAtIG9mZnNldFxyXG4gICAgICAgICAgOiBkaXN0YW5jZSAtIHN0ZXBMZW5ndGggKyBvZmZzZXQ7XHJcblxyXG4gICAgY29uc3Qgc2V0T2Zmc2V0ID0gKGQ6IG51bWJlcikgPT4ge1xyXG4gICAgICBsZXQgeDEgPSAoZCAvIDEwMCkgKiByYWlsQm94TGVuZ3RoO1xyXG4gICAgICBpZiAodGhpcy52ZXJ0aWNhbCgpKSB7XHJcbiAgICAgICAgeDEgKz0gdGhpcy5yZXZlcnNlKCkgPyBkaXMgOiAtZGlzO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHgxICs9IHRoaXMucmV2ZXJzZSgpID8gLWRpcyA6IGRpcztcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gTWF0aC5yb3VuZCgoeDEgLyByYWlsQm94TGVuZ3RoKSAqIDEwMCk7XHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh0eXBlID09PSAnYm90aCcpIHtcclxuICAgICAgdGhpcy5zdGFydE9mZnNldC5zZXQoc2V0T2Zmc2V0KHRoaXMuc3RhcnQoKSEpKTtcclxuICAgICAgdGhpcy5lbmRPZmZzZXQuc2V0KHNldE9mZnNldCh0aGlzLmVuZCgpISkpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnc3RhcnQnKSB7XHJcbiAgICAgIHRoaXMuc3RhcnRPZmZzZXQuc2V0KHNldE9mZnNldCh0aGlzLnN0YXJ0KCkhKSk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdlbmQnKSB7XHJcbiAgICAgIHRoaXMuZW5kT2Zmc2V0LnNldChzZXRPZmZzZXQodGhpcy5lbmQoKSEpKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldERyYWdTdHlsZXMoKTtcclxuICB9XHJcblxyXG4gIHNldERyYWdTdHlsZXMoKSB7XHJcbiAgICBpZiAodGhpcy52ZXJ0aWNhbCgpKSB7XHJcbiAgICAgIGlmICh0aGlzLmlzQXJyYXkoKSkge1xyXG4gICAgICAgIGNvbnN0IHdkID0gTWF0aC5hYnModGhpcy5lbmRPZmZzZXQoKSAtIHRoaXMuc3RhcnRPZmZzZXQoKSk7XHJcbiAgICAgICAgY29uc3QgbHQgPSB0aGlzLmVuZE9mZnNldCgpID4gdGhpcy5zdGFydE9mZnNldCgpID8gdGhpcy5zdGFydE9mZnNldCgpIDogdGhpcy5lbmRPZmZzZXQoKTtcclxuICAgICAgICBpZiAodGhpcy5yZXZlcnNlKCkpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kcmFnU3RhcnRSZWYoKS5uYXRpdmVFbGVtZW50LCAndG9wJywgYCR7dGhpcy5zdGFydE9mZnNldCgpfSVgKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kcmFnRW5kUmVmKCkubmF0aXZlRWxlbWVudCwgJ3RvcCcsIGAke3RoaXMuZW5kT2Zmc2V0KCl9JWApO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYoKS5uYXRpdmVFbGVtZW50LCAndG9wJywgYCR7bHR9JWApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJhZ1N0YXJ0UmVmKCkubmF0aXZlRWxlbWVudCwgJ2JvdHRvbScsIGAke3RoaXMuc3RhcnRPZmZzZXQoKX0lYCk7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJhZ0VuZFJlZigpLm5hdGl2ZUVsZW1lbnQsICdib3R0b20nLCBgJHt0aGlzLmVuZE9mZnNldCgpfSVgKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wcm9jZXNzUmVmKCkubmF0aXZlRWxlbWVudCwgJ2JvdHRvbScsIGAke2x0fSVgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYoKS5uYXRpdmVFbGVtZW50LCAnaGVpZ2h0JywgYCR7d2R9JWApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aGlzLnJldmVyc2UoKSkge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyYWdTdGFydFJlZigpLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCBgJHt0aGlzLnN0YXJ0T2Zmc2V0KCl9JWApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJhZ1N0YXJ0UmVmKCkubmF0aXZlRWxlbWVudCwgJ2JvdHRvbScsIGAke3RoaXMuc3RhcnRPZmZzZXQoKX0lYCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wcm9jZXNzUmVmKCkubmF0aXZlRWxlbWVudCwgJ2hlaWdodCcsIGAke3RoaXMuc3RhcnRPZmZzZXQoKX0lYCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLmlzQXJyYXkoKSkge1xyXG4gICAgICAgIGNvbnN0IHdkID0gTWF0aC5hYnModGhpcy5lbmRPZmZzZXQoKSAtIHRoaXMuc3RhcnRPZmZzZXQoKSk7XHJcbiAgICAgICAgY29uc3QgbHQgPSB0aGlzLmVuZE9mZnNldCgpID4gdGhpcy5zdGFydE9mZnNldCgpID8gdGhpcy5zdGFydE9mZnNldCgpIDogdGhpcy5lbmRPZmZzZXQoKTtcclxuICAgICAgICBpZiAodGhpcy5yZXZlcnNlKCkpIHtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5kcmFnU3RhcnRSZWYoKS5uYXRpdmVFbGVtZW50LCAncmlnaHQnLCBgJHt0aGlzLnN0YXJ0T2Zmc2V0KCl9JWApO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyYWdFbmRSZWYoKS5uYXRpdmVFbGVtZW50LCAncmlnaHQnLCBgJHt0aGlzLmVuZE9mZnNldCgpfSVgKTtcclxuICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5wcm9jZXNzUmVmKCkubmF0aXZlRWxlbWVudCwgJ3JpZ2h0JywgYCR7bHR9JWApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJhZ1N0YXJ0UmVmKCkubmF0aXZlRWxlbWVudCwgJ2xlZnQnLCBgJHt0aGlzLnN0YXJ0T2Zmc2V0KCl9JWApO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyYWdFbmRSZWYoKS5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIGAke3RoaXMuZW5kT2Zmc2V0KCl9JWApO1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYoKS5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIGAke2x0fSVgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYoKS5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt3ZH0lYCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMucmV2ZXJzZSgpKSB7XHJcbiAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZHJhZ1N0YXJ0UmVmKCkubmF0aXZlRWxlbWVudCwgJ3JpZ2h0JywgYCR7dGhpcy5zdGFydE9mZnNldCgpfSVgKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmRyYWdTdGFydFJlZigpLm5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgYCR7dGhpcy5zdGFydE9mZnNldCgpfSVgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnByb2Nlc3NSZWYoKS5uYXRpdmVFbGVtZW50LCAnd2lkdGgnLCBgJHt0aGlzLnN0YXJ0T2Zmc2V0KCl9JWApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAjc2xpZGVyU2VsZWN0XHJcbiAgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3RcIlxyXG4gIFtjbGFzcy54LWZsZXhdPVwianVzdGlmeSgpIHx8IGFsaWduKCkgfHwgZGlyZWN0aW9uKClcIlxyXG4gIFtjbGFzcy54LWRpc2FibGVkXT1cImRpc2FibGVkQ29tcHV0ZWQoKVwiXHJcbiAgW2NsYXNzLngtcmVxdWlyZWRdPVwicmVxdWlyZWRJc0VtcHR5KClcIlxyXG4gIFtjbGFzcy54LWludmFsaWRdPVwiaW52YWxpZCgpXCJcclxuICBbY2xhc3MueC1zbGlkZXItc2VsZWN0LXJldmVyc2VdPVwicmV2ZXJzZSgpXCJcclxuICBbY2xhc3MueC1zbGlkZXItc2VsZWN0LXJhbmdlXT1cInJhbmdlKClcIlxyXG4gIFtuZ0NsYXNzXT1cImNsYXNzTWFwKClcIlxyXG4+XHJcbiAgQGlmIChsYWJlbCgpKSB7XHJcbiAgICA8bGFiZWxcclxuICAgICAgW2NsYXNzLngtc2xpZGVyLXNlbGVjdC1sYWJlbC1yZXF1aXJlZF09XCJyZXF1aXJlZENvbXB1dGVkKClcIlxyXG4gICAgICBbc3R5bGUud2lkdGhdPVwibGFiZWxXaWR0aCgpXCJcclxuICAgICAgW25nQ2xhc3NdPVwibGFiZWxNYXBTaWduYWwoKVwiXHJcbiAgICAgID57eyBsYWJlbCgpIH19PC9sYWJlbFxyXG4gICAgPlxyXG4gIH1cclxuICA8ZGl2IGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LWlubmVyXCIgI2lubmVyUmVmPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1yYWlsXCIgI3JhaWxSZWY+XHJcbiAgICAgIDxkaXY+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtZHJhZ3NcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC10cmFja1wiICN0cmFja1JlZj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAjcHJvY2Vzc1JlZlxyXG4gICAgICAgICAgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtcHJvY2Vzc1wiXHJcbiAgICAgICAgICBjZGtEcmFnXHJcbiAgICAgICAgICBbY2RrRHJhZ0xvY2tBeGlzXT1cInZlcnRpY2FsKCkgPyAneScgOiAneCdcIlxyXG4gICAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJkaXNhYmxlZENvbXB1dGVkKCkgfHwgIXJhbmdlKClcIlxyXG4gICAgICAgICAgW2Nka0RyYWdCb3VuZGFyeV09XCJ0cmFja1JlZlwiXHJcbiAgICAgICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwic3RhcnRlZCgkZXZlbnQsICdib3RoJylcIlxyXG4gICAgICAgICAgKGNka0RyYWdFbmRlZCk9XCJlbmRlZCgkZXZlbnQsICdib3RoJylcIlxyXG4gICAgICAgICAgKGNka0RyYWdNb3ZlZCk9XCJtb3ZlZCgkZXZlbnQsICdib3RoJylcIlxyXG4gICAgICAgID48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtbWFya3NcIj5cclxuICAgICAgICBAZm9yIChtYXJrIG9mIG1hcmtMaXN0KCk7IHRyYWNrIG1hcmsubGFiZWwpIHtcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtbWFya1wiIFtuZ1N0eWxlXT1cIm1hcmsuc3R5bGVcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtbWFyay1sYWJlbFwiPnt7IG1hcmsubGFiZWwgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgI2RyYWdTdGFydFJlZlxyXG4gICAgICAgIGNsYXNzPVwieC1zbGlkZXItc2VsZWN0LWRyYWdcIlxyXG4gICAgICAgIGNka0RyYWdcclxuICAgICAgICBbY2RrRHJhZ0xvY2tBeGlzXT1cInZlcnRpY2FsKCkgPyAneScgOiAneCdcIlxyXG4gICAgICAgIFtjZGtEcmFnRGlzYWJsZWRdPVwiZGlzYWJsZWRDb21wdXRlZCgpXCJcclxuICAgICAgICBbY2RrRHJhZ0JvdW5kYXJ5XT1cImlubmVyUmVmXCJcclxuICAgICAgICAoY2RrRHJhZ1N0YXJ0ZWQpPVwic3RhcnRlZCgkZXZlbnQsICdzdGFydCcpXCJcclxuICAgICAgICAoY2RrRHJhZ0VuZGVkKT1cImVuZGVkKCRldmVudCwgJ3N0YXJ0JylcIlxyXG4gICAgICAgIChjZGtEcmFnTW92ZWQpPVwibW92ZWQoJGV2ZW50LCAnc3RhcnQnKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAjdG9vbHRpcFN0YXJ0XHJcbiAgICAgICAgICB4LXRvb2x0aXBcclxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXHJcbiAgICAgICAgICBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1idXR0b25cIlxyXG4gICAgICAgICAgW2NsYXNzLngtc2xpZGVyLXNlbGVjdC1idXR0b24tYWN0aXZlZF09XCJzdGFydFZpc2libGUoKVwiXHJcbiAgICAgICAgICBbY2xhc3MueC1zbGlkZXItc2VsZWN0LWN1c3RvbS1idXR0b25dPVwiY3VzdG9tQnV0dG9uKClcIlxyXG4gICAgICAgICAgcGxhY2VtZW50PVwidG9wXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhc2hvd1Rvb2x0aXAoKSAmJiAhc2hvd1N0YXJ0VG9vbHRpcCgpXCJcclxuICAgICAgICAgIFtjb250ZW50XT1cInRvb2x0aXBTdGFydFRwbFwiXHJcbiAgICAgICAgICBbKHZpc2libGUpXT1cInN0YXJ0VmlzaWJsZVwiXHJcbiAgICAgICAgICBbbWFudWFsXT1cInN0YXJ0TWFudWFsKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJjdXN0b21CdXR0b24oKVwiPnt7IGN1c3RvbUJ1dHRvbigpIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICN0b29sdGlwU3RhcnRUcGw+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwidG9vbHRpcEN1c3RvbSgpOyBjb250ZXh0OiB7ICR2YWx1ZTogc3RhcnREaXNwbGF5VmFsdWUoKSB9XCI+e3tcclxuICAgICAgICAgICAgc3RhcnREaXNwbGF5VmFsdWUoKVxyXG4gICAgICAgICAgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIFtoaWRkZW5dPVwiIXJhbmdlKClcIlxyXG4gICAgICAgICNkcmFnRW5kUmVmXHJcbiAgICAgICAgY2xhc3M9XCJ4LXNsaWRlci1zZWxlY3QtZHJhZ1wiXHJcbiAgICAgICAgY2RrRHJhZ1xyXG4gICAgICAgIFtjZGtEcmFnTG9ja0F4aXNdPVwidmVydGljYWwoKSA/ICd5JyA6ICd4J1wiXHJcbiAgICAgICAgW2Nka0RyYWdEaXNhYmxlZF09XCJkaXNhYmxlZENvbXB1dGVkKClcIlxyXG4gICAgICAgIFtjZGtEcmFnQm91bmRhcnldPVwiaW5uZXJSZWZcIlxyXG4gICAgICAgIChjZGtEcmFnU3RhcnRlZCk9XCJzdGFydGVkKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgICAoY2RrRHJhZ0VuZGVkKT1cImVuZGVkKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgICAoY2RrRHJhZ01vdmVkKT1cIm1vdmVkKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICN0b29sdGlwRW5kXHJcbiAgICAgICAgICB4LXRvb2x0aXBcclxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXHJcbiAgICAgICAgICBjbGFzcz1cIngtc2xpZGVyLXNlbGVjdC1idXR0b25cIlxyXG4gICAgICAgICAgW2NsYXNzLngtc2xpZGVyLXNlbGVjdC1idXR0b24tYWN0aXZlZF09XCJlbmRWaXNpYmxlKClcIlxyXG4gICAgICAgICAgW2NsYXNzLngtc2xpZGVyLXNlbGVjdC1jdXN0b20tYnV0dG9uXT1cImN1c3RvbUJ1dHRvbigpXCJcclxuICAgICAgICAgIHBsYWNlbWVudD1cInRvcFwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIXNob3dUb29sdGlwKCkgJiYgIXNob3dFbmRUb29sdGlwKClcIlxyXG4gICAgICAgICAgW2NvbnRlbnRdPVwidG9vbHRpcEVuZFRwbFwiXHJcbiAgICAgICAgICBbKHZpc2libGUpXT1cImVuZFZpc2libGVcIlxyXG4gICAgICAgICAgW21hbnVhbF09XCJlbmRNYW51YWwoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImN1c3RvbUJ1dHRvbigpXCI+e3sgY3VzdG9tQnV0dG9uKCkgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3Rvb2x0aXBFbmRUcGw+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICp4T3V0bGV0PVwidG9vbHRpcEN1c3RvbSgpOyBjb250ZXh0OiB7ICR2YWx1ZTogZW5kRGlzcGxheVZhbHVlKCkgfVwiPnt7XHJcbiAgICAgICAgICAgIGVuZERpc3BsYXlWYWx1ZSgpXHJcbiAgICAgICAgICB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { XSliderSelectComponent } from './slider-select.component';
3
3
  import * as i0 from "@angular/core";
4
4
  export class XSliderSelectModule {
5
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XSliderSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: XSliderSelectModule, imports: [XSliderSelectComponent], exports: [XSliderSelectComponent] }); }
7
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XSliderSelectModule, imports: [XSliderSelectComponent] }); }
5
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XSliderSelectModule, imports: [XSliderSelectComponent], exports: [XSliderSelectComponent] }); }
7
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderSelectModule, imports: [XSliderSelectComponent] }); }
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XSliderSelectModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderSelectModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  exports: [XSliderSelectComponent],
@@ -181,10 +181,10 @@ export class XSliderSelectProperty extends XFormControlFunction(X_SLIDER_SELECT_
181
181
  */
182
182
  this.dragEndEmit = output();
183
183
  }
184
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XSliderSelectProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
185
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XSliderSelectProperty, selector: "x-slider-select-property", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, precision: { classPropertyName: "precision", publicName: "precision", isSignal: true, isRequired: false, transformFunction: null }, showTooltip: { classPropertyName: "showTooltip", publicName: "showTooltip", isSignal: true, isRequired: false, transformFunction: null }, reverse: { classPropertyName: "reverse", publicName: "reverse", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null }, range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: false, transformFunction: null }, customButton: { classPropertyName: "customButton", publicName: "customButton", isSignal: true, isRequired: false, transformFunction: null }, marks: { classPropertyName: "marks", publicName: "marks", isSignal: true, isRequired: false, transformFunction: null }, tooltipCustom: { classPropertyName: "tooltipCustom", publicName: "tooltipCustom", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", dragStartEmit: "dragStartEmit", dragMoveEmit: "dragMoveEmit", dragEndEmit: "dragEndEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
184
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderSelectProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
185
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XSliderSelectProperty, selector: "x-slider-select-property", inputs: { min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, precision: { classPropertyName: "precision", publicName: "precision", isSignal: true, isRequired: false, transformFunction: null }, showTooltip: { classPropertyName: "showTooltip", publicName: "showTooltip", isSignal: true, isRequired: false, transformFunction: null }, reverse: { classPropertyName: "reverse", publicName: "reverse", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null }, range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: false, transformFunction: null }, customButton: { classPropertyName: "customButton", publicName: "customButton", isSignal: true, isRequired: false, transformFunction: null }, marks: { classPropertyName: "marks", publicName: "marks", isSignal: true, isRequired: false, transformFunction: null }, tooltipCustom: { classPropertyName: "tooltipCustom", publicName: "tooltipCustom", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", dragStartEmit: "dragStartEmit", dragMoveEmit: "dragMoveEmit", dragEndEmit: "dragEndEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
186
186
  }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XSliderSelectProperty, decorators: [{
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XSliderSelectProperty, decorators: [{
188
188
  type: Component,
189
189
  args: [{ selector: `${XSliderSelectPrefix}-property`, template: '' }]
190
190
  }] });
@@ -60,10 +60,10 @@ export class XCountdownComponent extends XCountdownProperty {
60
60
  this.finish.emit();
61
61
  }
62
62
  }
63
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XCountdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.6", type: XCountdownComponent, isStandalone: true, selector: "x-countdown", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff() | xTimeRange: format()\"\r\n [valueStyle]=\"valueStyle()\"\r\n [prefix]=\"prefix()\"\r\n [suffix]=\"suffix()\"\r\n [label]=\"label()\"\r\n ></x-statistic>\r\n</div>\r\n", styles: ["x-countdown{display:inline-block}\n"], dependencies: [{ kind: "component", type: XStatisticComponent, selector: "x-statistic" }, { kind: "pipe", type: XTimeRangePipe, name: "xTimeRange" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
63
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XCountdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
64
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: XCountdownComponent, isStandalone: true, selector: "x-countdown", usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff() | xTimeRange: format()\"\r\n [valueStyle]=\"valueStyle()\"\r\n [prefix]=\"prefix()\"\r\n [suffix]=\"suffix()\"\r\n [label]=\"label()\"\r\n ></x-statistic>\r\n</div>\r\n", styles: ["x-countdown{display:inline-block}\n"], dependencies: [{ kind: "component", type: XStatisticComponent, selector: "x-statistic" }, { kind: "pipe", type: XTimeRangePipe, name: "xTimeRange" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
65
65
  }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XCountdownComponent, decorators: [{
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XCountdownComponent, decorators: [{
67
67
  type: Component,
68
68
  args: [{ selector: `${XCountdownPrefix}`, standalone: true, imports: [XStatisticComponent, XTimeRangePipe], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"x-countdown\">\r\n <x-statistic\r\n [value]=\"diff() | xTimeRange: format()\"\r\n [valueStyle]=\"valueStyle()\"\r\n [prefix]=\"prefix()\"\r\n [suffix]=\"suffix()\"\r\n [label]=\"label()\"\r\n ></x-statistic>\r\n</div>\r\n", styles: ["x-countdown{display:inline-block}\n"] }]
69
69
  }] });
@@ -24,10 +24,10 @@ export class XStatisticComponent extends XStatisticProperty {
24
24
  return decimal;
25
25
  });
26
26
  }
27
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XStatisticComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: XStatisticComponent, isStandalone: true, selector: "x-statistic", usesInheritance: true, ngImport: i0, template: "<div #statistic class=\"x-statistic\">\r\n @if (label()) {\r\n <div class=\"x-statistic-label\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n }\r\n @if (value()) {\r\n <div class=\"x-statistic-value\" [ngStyle]=\"valueStyle()\">\r\n <ng-container *xOutlet=\"value()\">\r\n @if (prefix()) {\r\n <span class=\"x-statistic-value-prefix\">\r\n <ng-container *xOutlet=\"prefix()\">{{ prefix() }}</ng-container>\r\n </span>\r\n }\r\n @if (displayInt()) {\r\n <span class=\"x-statistic-value-int\">{{ displayInt() }}</span>\r\n }\r\n @if (displayDecimal()) {\r\n <span class=\"x-statistic-value-decimal\">{{ displayDecimal() }}</span>\r\n }\r\n @if (suffix()) {\r\n <span class=\"x-statistic-value-suffix\">\r\n <ng-container *xOutlet=\"suffix()\">{{ suffix() }}</ng-container>\r\n </span>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-statistic{margin:0;padding:0}.x-statistic-label{margin-bottom:.25rem;color:var(--x-text-400)}.x-statistic-value{font-size:1.5rem}.x-statistic-value-decimal,.x-statistic-value-suffix{font-size:1rem}.x-statistic-value-suffix{margin-left:.25rem}.x-statistic-value-prefix{margin-right:.25rem}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
27
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XStatisticComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
28
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XStatisticComponent, isStandalone: true, selector: "x-statistic", usesInheritance: true, ngImport: i0, template: "<div #statistic class=\"x-statistic\">\r\n @if (label()) {\r\n <div class=\"x-statistic-label\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n }\r\n @if (value()) {\r\n <div class=\"x-statistic-value\" [ngStyle]=\"valueStyle()\">\r\n <ng-container *xOutlet=\"value()\">\r\n @if (prefix()) {\r\n <span class=\"x-statistic-value-prefix\">\r\n <ng-container *xOutlet=\"prefix()\">{{ prefix() }}</ng-container>\r\n </span>\r\n }\r\n @if (displayInt()) {\r\n <span class=\"x-statistic-value-int\">{{ displayInt() }}</span>\r\n }\r\n @if (displayDecimal()) {\r\n <span class=\"x-statistic-value-decimal\">{{ displayDecimal() }}</span>\r\n }\r\n @if (suffix()) {\r\n <span class=\"x-statistic-value-suffix\">\r\n <ng-container *xOutlet=\"suffix()\">{{ suffix() }}</ng-container>\r\n </span>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-statistic{margin:0;padding:0}.x-statistic-label{margin-bottom:.25rem;color:var(--x-text-400)}.x-statistic-value{font-size:1.5rem}.x-statistic-value-decimal,.x-statistic-value-suffix{font-size:1rem}.x-statistic-value-suffix{margin-left:.25rem}.x-statistic-value-prefix{margin-right:.25rem}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XStatisticComponent, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XStatisticComponent, decorators: [{
31
31
  type: Component,
32
32
  args: [{ selector: `${XStatisticPrefix}`, standalone: true, imports: [NgStyle, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #statistic class=\"x-statistic\">\r\n @if (label()) {\r\n <div class=\"x-statistic-label\">\r\n <ng-container *xOutlet=\"label()\">{{ label() }}</ng-container>\r\n </div>\r\n }\r\n @if (value()) {\r\n <div class=\"x-statistic-value\" [ngStyle]=\"valueStyle()\">\r\n <ng-container *xOutlet=\"value()\">\r\n @if (prefix()) {\r\n <span class=\"x-statistic-value-prefix\">\r\n <ng-container *xOutlet=\"prefix()\">{{ prefix() }}</ng-container>\r\n </span>\r\n }\r\n @if (displayInt()) {\r\n <span class=\"x-statistic-value-int\">{{ displayInt() }}</span>\r\n }\r\n @if (displayDecimal()) {\r\n <span class=\"x-statistic-value-decimal\">{{ displayDecimal() }}</span>\r\n }\r\n @if (suffix()) {\r\n <span class=\"x-statistic-value-suffix\">\r\n <ng-container *xOutlet=\"suffix()\">{{ suffix() }}</ng-container>\r\n </span>\r\n }\r\n </ng-container>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".x-statistic{margin:0;padding:0}.x-statistic-label{margin-bottom:.25rem;color:var(--x-text-400)}.x-statistic-value{font-size:1.5rem}.x-statistic-value-decimal,.x-statistic-value-suffix{font-size:1rem}.x-statistic-value-suffix{margin-left:.25rem}.x-statistic-value-prefix{margin-right:.25rem}\n"] }]
33
33
  }] });
@@ -3,11 +3,11 @@ import { XStatisticComponent } from './statistic.component';
3
3
  import { XCountdownComponent } from './countdown.component';
4
4
  import * as i0 from "@angular/core";
5
5
  export class XStatisticModule {
6
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XStatisticModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: XStatisticModule, imports: [XStatisticComponent, XCountdownComponent], exports: [XStatisticComponent, XCountdownComponent] }); }
8
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XStatisticModule }); }
6
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XStatisticModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: XStatisticModule, imports: [XStatisticComponent, XCountdownComponent], exports: [XStatisticComponent, XCountdownComponent] }); }
8
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XStatisticModule }); }
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XStatisticModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XStatisticModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  exports: [XStatisticComponent, XCountdownComponent],
@@ -40,10 +40,10 @@ export class XStatisticProperty extends XPropertyFunction(X_STATISTIC_CONFIG_NAM
40
40
  */
41
41
  this.valueStyle = input({});
42
42
  }
43
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XStatisticProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
44
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XStatisticProperty, selector: "x-statistic-property", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, valueStyle: { classPropertyName: "valueStyle", publicName: "valueStyle", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
43
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XStatisticProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
44
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XStatisticProperty, selector: "x-statistic-property", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, valueStyle: { classPropertyName: "valueStyle", publicName: "valueStyle", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
45
45
  }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XStatisticProperty, decorators: [{
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XStatisticProperty, decorators: [{
47
47
  type: Component,
48
48
  args: [{ selector: `${XStatisticPrefix}-property`, template: '' }]
49
49
  }] });
@@ -96,10 +96,10 @@ export class XCountdownProperty extends XPropertyFunction(X_COUNTDOWN_CONFIG_NAM
96
96
  */
97
97
  this.finish = output();
98
98
  }
99
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XCountdownProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
100
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: XCountdownProperty, selector: "x-countdown-property", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, valueStyle: { classPropertyName: "valueStyle", publicName: "valueStyle", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { finish: "finish" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
99
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XCountdownProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
100
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.2", type: XCountdownProperty, selector: "x-countdown-property", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, prefix: { classPropertyName: "prefix", publicName: "prefix", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, valueStyle: { classPropertyName: "valueStyle", publicName: "valueStyle", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { finish: "finish" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
101
101
  }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: XCountdownProperty, decorators: [{
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XCountdownProperty, decorators: [{
103
103
  type: Component,
104
104
  args: [{ selector: `${XCountdownPrefix}-property`, template: '' }]
105
105
  }] });