@ng-nest/ui 17.0.1 → 17.0.3

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 (724) hide show
  1. package/affix/affix.component.d.ts +1 -2
  2. package/affix/affix.module.d.ts +1 -3
  3. package/alert/alert.component.d.ts +4 -5
  4. package/alert/alert.module.d.ts +1 -8
  5. package/anchor/anchor-inner.component.d.ts +1 -1
  6. package/anchor/anchor.component.d.ts +6 -7
  7. package/anchor/anchor.module.d.ts +2 -6
  8. package/api/api.component.d.ts +4 -4
  9. package/api/api.module.d.ts +1 -2
  10. package/auto-complete/auto-complete-portal.component.d.ts +3 -5
  11. package/auto-complete/auto-complete.component.d.ts +12 -13
  12. package/auto-complete/auto-complete.module.d.ts +1 -9
  13. package/avatar/avatar-group.component.d.ts +1 -2
  14. package/avatar/avatar.component.d.ts +6 -7
  15. package/avatar/avatar.module.d.ts +2 -6
  16. package/back-top/back-top.component.d.ts +7 -12
  17. package/back-top/back-top.module.d.ts +1 -5
  18. package/badge/badge.component.d.ts +3 -8
  19. package/badge/badge.module.d.ts +1 -3
  20. package/base-form/base-form.component.d.ts +1 -1
  21. package/base-form/base-form.module.d.ts +1 -2
  22. package/border/border.component.d.ts +4 -4
  23. package/border/border.module.d.ts +1 -1
  24. package/button/button.component.d.ts +8 -10
  25. package/button/button.module.d.ts +1 -5
  26. package/button/buttons.component.d.ts +4 -5
  27. package/calendar/calendar.component.d.ts +9 -14
  28. package/calendar/calendar.module.d.ts +1 -10
  29. package/card/card.component.d.ts +2 -6
  30. package/card/card.module.d.ts +1 -5
  31. package/carousel/carousel-panel.component.d.ts +10 -13
  32. package/carousel/carousel.component.d.ts +4 -8
  33. package/carousel/carousel.module.d.ts +1 -5
  34. package/cascade/cascade-portal.component.d.ts +4 -5
  35. package/cascade/cascade.component.d.ts +14 -13
  36. package/cascade/cascade.module.d.ts +1 -9
  37. package/checkbox/checkbox.component.d.ts +6 -9
  38. package/checkbox/checkbox.module.d.ts +1 -8
  39. package/collapse/collapse-panel.component.d.ts +5 -8
  40. package/collapse/collapse.component.d.ts +3 -7
  41. package/collapse/collapse.module.d.ts +1 -5
  42. package/color/color.component.d.ts +4 -6
  43. package/color/color.module.d.ts +1 -3
  44. package/color-picker/color-picker-portal.component.d.ts +7 -11
  45. package/color-picker/color-picker.component.d.ts +11 -12
  46. package/color-picker/color-picker.module.d.ts +1 -11
  47. package/comment/comment-reply.component.d.ts +4 -9
  48. package/comment/comment.component.d.ts +5 -9
  49. package/comment/comment.module.d.ts +1 -11
  50. package/container/aside.component.d.ts +5 -5
  51. package/container/container.component.d.ts +2 -3
  52. package/container/container.module.d.ts +1 -3
  53. package/container/footer.component.d.ts +5 -7
  54. package/container/header.component.d.ts +5 -7
  55. package/container/main.component.d.ts +4 -4
  56. package/crumb/crumb.component.d.ts +4 -6
  57. package/crumb/crumb.module.d.ts +1 -5
  58. package/date-picker/date-picker-portal.component.d.ts +5 -9
  59. package/date-picker/date-picker.component.d.ts +14 -16
  60. package/date-picker/date-picker.module.d.ts +2 -21
  61. package/date-picker/date-quarter.pipe.d.ts +1 -1
  62. package/date-picker/date-range-portal.component.d.ts +1 -1
  63. package/date-picker/date-range.component.d.ts +17 -19
  64. package/date-picker/picker-date.component.d.ts +8 -12
  65. package/date-picker/picker-month.component.d.ts +8 -11
  66. package/date-picker/picker-quarter.component.d.ts +9 -14
  67. package/date-picker/picker-year.component.d.ts +5 -8
  68. package/description/description-item.component.d.ts +1 -2
  69. package/description/description.component.d.ts +4 -5
  70. package/description/description.module.d.ts +2 -5
  71. package/dialog/dialog-container.component.d.ts +1 -2
  72. package/dialog/dialog-portal.component.d.ts +1 -1
  73. package/dialog/dialog-portal.directives.d.ts +13 -17
  74. package/dialog/dialog.component.d.ts +15 -17
  75. package/dialog/dialog.module.d.ts +1 -14
  76. package/dialog/dialog.service.d.ts +8 -10
  77. package/doc/doc.component.d.ts +6 -6
  78. package/doc/doc.module.d.ts +1 -2
  79. package/drag/drag.directive.d.ts +5 -6
  80. package/drag/drag.module.d.ts +1 -2
  81. package/drawer/drawer-container.component.d.ts +1 -2
  82. package/drawer/drawer-portal.component.d.ts +1 -2
  83. package/drawer/drawer-portal.directives.d.ts +5 -6
  84. package/drawer/drawer.component.d.ts +10 -15
  85. package/drawer/drawer.module.d.ts +2 -8
  86. package/drawer/drawer.service.d.ts +5 -7
  87. package/dropdown/dropdown-portal.component.d.ts +1 -1
  88. package/dropdown/dropdown.component.d.ts +10 -13
  89. package/dropdown/dropdown.module.d.ts +1 -7
  90. package/empty/empty.component.d.ts +4 -7
  91. package/empty/empty.module.d.ts +1 -6
  92. package/esm2022/affix/affix.component.mjs +11 -11
  93. package/esm2022/affix/affix.module.mjs +6 -9
  94. package/esm2022/affix/affix.property.mjs +3 -3
  95. package/esm2022/alert/alert.component.mjs +19 -19
  96. package/esm2022/alert/alert.module.mjs +6 -14
  97. package/esm2022/alert/alert.property.mjs +4 -4
  98. package/esm2022/anchor/anchor-inner.component.mjs +5 -4
  99. package/esm2022/anchor/anchor.component.mjs +18 -21
  100. package/esm2022/anchor/anchor.module.mjs +6 -11
  101. package/esm2022/anchor/anchor.property.mjs +7 -7
  102. package/esm2022/api/api.component.mjs +14 -12
  103. package/esm2022/api/api.module.mjs +6 -8
  104. package/esm2022/auto-complete/auto-complete-portal.component.mjs +15 -16
  105. package/esm2022/auto-complete/auto-complete.component.mjs +44 -31
  106. package/esm2022/auto-complete/auto-complete.module.mjs +7 -16
  107. package/esm2022/auto-complete/auto-complete.property.mjs +3 -3
  108. package/esm2022/avatar/avatar-group.component.mjs +7 -7
  109. package/esm2022/avatar/avatar.component.mjs +17 -19
  110. package/esm2022/avatar/avatar.module.mjs +6 -11
  111. package/esm2022/avatar/avatar.property.mjs +7 -7
  112. package/esm2022/back-top/back-top.component.mjs +23 -29
  113. package/esm2022/back-top/back-top.module.mjs +6 -11
  114. package/esm2022/back-top/back-top.property.mjs +3 -3
  115. package/esm2022/badge/badge.component.mjs +18 -23
  116. package/esm2022/badge/badge.module.mjs +6 -9
  117. package/esm2022/badge/badge.property.mjs +3 -3
  118. package/esm2022/base-form/base-form.component.mjs +11 -6
  119. package/esm2022/base-form/base-form.module.mjs +7 -8
  120. package/esm2022/base-form/base-form.property.mjs +4 -4
  121. package/esm2022/border/border.component.mjs +14 -12
  122. package/esm2022/border/border.module.mjs +6 -6
  123. package/esm2022/button/button.component.mjs +19 -24
  124. package/esm2022/button/button.module.mjs +6 -11
  125. package/esm2022/button/button.property.mjs +7 -7
  126. package/esm2022/button/buttons.component.mjs +15 -15
  127. package/esm2022/calendar/calendar.component.mjs +38 -30
  128. package/esm2022/calendar/calendar.module.mjs +6 -16
  129. package/esm2022/calendar/calendar.property.mjs +3 -3
  130. package/esm2022/card/card.component.mjs +14 -17
  131. package/esm2022/card/card.module.mjs +6 -11
  132. package/esm2022/card/card.property.mjs +3 -3
  133. package/esm2022/carousel/carousel-panel.component.mjs +36 -34
  134. package/esm2022/carousel/carousel.component.mjs +19 -26
  135. package/esm2022/carousel/carousel.module.mjs +7 -12
  136. package/esm2022/carousel/carousel.property.mjs +6 -6
  137. package/esm2022/cascade/cascade-portal.component.mjs +20 -20
  138. package/esm2022/cascade/cascade.component.mjs +34 -29
  139. package/esm2022/cascade/cascade.module.mjs +7 -16
  140. package/esm2022/cascade/cascade.property.mjs +3 -3
  141. package/esm2022/checkbox/checkbox.component.mjs +31 -27
  142. package/esm2022/checkbox/checkbox.module.mjs +6 -14
  143. package/esm2022/checkbox/checkbox.property.mjs +3 -3
  144. package/esm2022/collapse/collapse-panel.component.mjs +18 -21
  145. package/esm2022/collapse/collapse.component.mjs +11 -15
  146. package/esm2022/collapse/collapse.module.mjs +6 -11
  147. package/esm2022/collapse/collapse.property.mjs +6 -6
  148. package/esm2022/color/color.component.mjs +14 -19
  149. package/esm2022/color/color.module.mjs +6 -9
  150. package/esm2022/color/color.property.mjs +3 -3
  151. package/esm2022/color-picker/color-picker-portal.component.mjs +45 -35
  152. package/esm2022/color-picker/color-picker.component.mjs +36 -35
  153. package/esm2022/color-picker/color-picker.module.mjs +7 -44
  154. package/esm2022/color-picker/color-picker.property.mjs +3 -3
  155. package/esm2022/comment/comment-reply.component.mjs +18 -19
  156. package/esm2022/comment/comment.component.mjs +30 -25
  157. package/esm2022/comment/comment.module.mjs +6 -43
  158. package/esm2022/comment/comment.property.mjs +7 -7
  159. package/esm2022/container/aside.component.mjs +15 -13
  160. package/esm2022/container/container.component.mjs +14 -14
  161. package/esm2022/container/container.module.mjs +7 -37
  162. package/esm2022/container/container.property.mjs +12 -12
  163. package/esm2022/container/footer.component.mjs +17 -21
  164. package/esm2022/container/header.component.mjs +17 -21
  165. package/esm2022/container/main.component.mjs +14 -12
  166. package/esm2022/core/config/config.service.mjs +11 -6
  167. package/esm2022/core/services/http.service.mjs +3 -3
  168. package/esm2022/core/services/preloading-strategy.service.mjs +6 -5
  169. package/esm2022/core/services/storage.service.mjs +3 -3
  170. package/esm2022/core/theme/theme.service.mjs +3 -3
  171. package/esm2022/crumb/crumb.component.mjs +15 -19
  172. package/esm2022/crumb/crumb.module.mjs +6 -11
  173. package/esm2022/crumb/crumb.property.mjs +3 -3
  174. package/esm2022/date-picker/date-picker-portal.component.mjs +38 -29
  175. package/esm2022/date-picker/date-picker.component.mjs +52 -47
  176. package/esm2022/date-picker/date-picker.module.mjs +7 -108
  177. package/esm2022/date-picker/date-picker.property.mjs +18 -18
  178. package/esm2022/date-picker/date-quarter.pipe.mjs +5 -5
  179. package/esm2022/date-picker/date-range-portal.component.mjs +25 -13
  180. package/esm2022/date-picker/date-range.component.mjs +50 -51
  181. package/esm2022/date-picker/picker-date.component.mjs +45 -43
  182. package/esm2022/date-picker/picker-month.component.mjs +31 -30
  183. package/esm2022/date-picker/picker-quarter.component.mjs +31 -32
  184. package/esm2022/date-picker/picker-year.component.mjs +26 -25
  185. package/esm2022/description/description-item.component.mjs +6 -9
  186. package/esm2022/description/description.component.mjs +13 -14
  187. package/esm2022/description/description.module.mjs +6 -10
  188. package/esm2022/description/description.property.mjs +6 -6
  189. package/esm2022/dialog/dialog-container.component.mjs +7 -7
  190. package/esm2022/dialog/dialog-portal.component.mjs +22 -11
  191. package/esm2022/dialog/dialog-portal.directives.mjs +48 -48
  192. package/esm2022/dialog/dialog-ref.mjs +1 -1
  193. package/esm2022/dialog/dialog.component.mjs +40 -48
  194. package/esm2022/dialog/dialog.module.mjs +12 -71
  195. package/esm2022/dialog/dialog.property.mjs +6 -6
  196. package/esm2022/dialog/dialog.service.mjs +16 -17
  197. package/esm2022/doc/doc.component.mjs +12 -10
  198. package/esm2022/doc/doc.module.mjs +6 -8
  199. package/esm2022/drag/drag.directive.mjs +11 -11
  200. package/esm2022/drag/drag.module.mjs +6 -8
  201. package/esm2022/drag/drag.property.mjs +3 -3
  202. package/esm2022/drawer/drawer-container.component.mjs +7 -7
  203. package/esm2022/drawer/drawer-portal.component.mjs +12 -12
  204. package/esm2022/drawer/drawer-portal.directives.mjs +22 -21
  205. package/esm2022/drawer/drawer.component.mjs +23 -33
  206. package/esm2022/drawer/drawer.module.mjs +10 -27
  207. package/esm2022/drawer/drawer.property.mjs +6 -6
  208. package/esm2022/drawer/drawer.service.mjs +15 -15
  209. package/esm2022/dropdown/dropdown-portal.component.mjs +8 -7
  210. package/esm2022/dropdown/dropdown.component.mjs +18 -22
  211. package/esm2022/dropdown/dropdown.module.mjs +7 -14
  212. package/esm2022/dropdown/dropdown.property.mjs +3 -3
  213. package/esm2022/empty/empty.component.mjs +20 -18
  214. package/esm2022/empty/empty.module.mjs +6 -12
  215. package/esm2022/empty/empty.property.mjs +3 -3
  216. package/esm2022/examples/examples.component.mjs +12 -10
  217. package/esm2022/examples/examples.module.mjs +6 -8
  218. package/esm2022/find/find.component.mjs +48 -33
  219. package/esm2022/find/find.module.mjs +6 -54
  220. package/esm2022/find/find.property.mjs +3 -3
  221. package/esm2022/form/control.component.mjs +67 -40
  222. package/esm2022/form/form.component.mjs +28 -22
  223. package/esm2022/form/form.module.mjs +6 -71
  224. package/esm2022/form/form.property.mjs +6 -6
  225. package/esm2022/highlight/highlight.component.mjs +26 -24
  226. package/esm2022/highlight/highlight.module.mjs +6 -10
  227. package/esm2022/highlight/highlight.property.mjs +3 -3
  228. package/esm2022/i18n/i18n.directive.mjs +14 -11
  229. package/esm2022/i18n/i18n.module.mjs +6 -6
  230. package/esm2022/i18n/i18n.pipe.mjs +6 -5
  231. package/esm2022/i18n/i18n.service.mjs +9 -13
  232. package/esm2022/icon/icon.component.mjs +21 -22
  233. package/esm2022/icon/icon.module.mjs +6 -11
  234. package/esm2022/icon/icon.property.mjs +4 -4
  235. package/esm2022/icon/icon.service.mjs +36 -35
  236. package/esm2022/image/image-group.component.mjs +12 -6
  237. package/esm2022/image/image-preview.component.mjs +26 -32
  238. package/esm2022/image/image.component.mjs +30 -30
  239. package/esm2022/image/image.module.mjs +6 -15
  240. package/esm2022/image/image.property.mjs +6 -6
  241. package/esm2022/inner/inner.component.mjs +14 -14
  242. package/esm2022/inner/inner.module.mjs +6 -9
  243. package/esm2022/inner/inner.property.mjs +3 -3
  244. package/esm2022/input/input-group.component.mjs +12 -14
  245. package/esm2022/input/input.component.mjs +33 -35
  246. package/esm2022/input/input.module.mjs +6 -13
  247. package/esm2022/input/input.property.mjs +6 -6
  248. package/esm2022/input-number/input-number.component.mjs +23 -27
  249. package/esm2022/input-number/input-number.module.mjs +6 -13
  250. package/esm2022/input-number/input-number.property.mjs +3 -3
  251. package/esm2022/keyword/keyword.directive.mjs +14 -14
  252. package/esm2022/keyword/keyword.module.mjs +6 -9
  253. package/esm2022/keyword/keyword.property.mjs +5 -5
  254. package/esm2022/layout/col.component.mjs +15 -19
  255. package/esm2022/layout/layout.module.mjs +6 -9
  256. package/esm2022/layout/layout.property.mjs +7 -7
  257. package/esm2022/layout/row.component.mjs +13 -13
  258. package/esm2022/link/link.component.mjs +17 -19
  259. package/esm2022/link/link.module.mjs +6 -12
  260. package/esm2022/link/link.property.mjs +3 -3
  261. package/esm2022/list/list-drop-group.directive.mjs +5 -4
  262. package/esm2022/list/list-option.component.mjs +16 -17
  263. package/esm2022/list/list.component.mjs +36 -33
  264. package/esm2022/list/list.module.mjs +6 -54
  265. package/esm2022/list/list.property.mjs +6 -6
  266. package/esm2022/loading/loading.component.mjs +19 -22
  267. package/esm2022/loading/loading.module.mjs +6 -12
  268. package/esm2022/loading/loading.property.mjs +3 -3
  269. package/esm2022/menu/menu-node.component.mjs +17 -18
  270. package/esm2022/menu/menu.component.mjs +21 -27
  271. package/esm2022/menu/menu.module.mjs +6 -13
  272. package/esm2022/menu/menu.property.mjs +6 -6
  273. package/esm2022/message/message.component.mjs +10 -16
  274. package/esm2022/message/message.module.mjs +7 -14
  275. package/esm2022/message/message.service.mjs +13 -13
  276. package/esm2022/message-box/message-box.component.mjs +21 -12
  277. package/esm2022/message-box/message-box.module.mjs +7 -49
  278. package/esm2022/message-box/message-box.service.mjs +13 -12
  279. package/esm2022/notification/notification.component.mjs +10 -16
  280. package/esm2022/notification/notification.module.mjs +7 -14
  281. package/esm2022/notification/notification.service.mjs +15 -11
  282. package/esm2022/outlet/outlet.directive.mjs +10 -10
  283. package/esm2022/outlet/outlet.module.mjs +6 -8
  284. package/esm2022/page-header/page-header.component.mjs +18 -19
  285. package/esm2022/page-header/page-header.module.mjs +6 -10
  286. package/esm2022/page-header/page-header.property.mjs +3 -3
  287. package/esm2022/pagination/pagination.component.mjs +37 -33
  288. package/esm2022/pagination/pagination.module.mjs +6 -15
  289. package/esm2022/pagination/pagination.property.mjs +3 -3
  290. package/esm2022/pattern/pattern.component.mjs +12 -10
  291. package/esm2022/pattern/pattern.module.mjs +6 -8
  292. package/esm2022/popconfirm/popconfirm.component.mjs +23 -26
  293. package/esm2022/popconfirm/popconfirm.module.mjs +6 -13
  294. package/esm2022/popconfirm/popconfirm.property.mjs +3 -3
  295. package/esm2022/popover/popover-portal.component.mjs +16 -16
  296. package/esm2022/popover/popover.directive.mjs +17 -19
  297. package/esm2022/popover/popover.module.mjs +7 -13
  298. package/esm2022/popover/popover.property.mjs +3 -3
  299. package/esm2022/portal/portal.module.mjs +8 -11
  300. package/esm2022/portal/portal.service.mjs +13 -12
  301. package/esm2022/progress/progress.component.mjs +16 -19
  302. package/esm2022/progress/progress.module.mjs +6 -11
  303. package/esm2022/progress/progress.property.mjs +3 -3
  304. package/esm2022/radio/radio.component.mjs +21 -25
  305. package/esm2022/radio/radio.module.mjs +6 -14
  306. package/esm2022/radio/radio.property.mjs +3 -3
  307. package/esm2022/rate/rate.component.mjs +22 -22
  308. package/esm2022/rate/rate.module.mjs +6 -13
  309. package/esm2022/rate/rate.property.mjs +3 -3
  310. package/esm2022/resizable/resizable.directive.mjs +57 -46
  311. package/esm2022/resizable/resizable.module.mjs +7 -9
  312. package/esm2022/resizable/resizable.property.mjs +5 -5
  313. package/esm2022/result/result.component.mjs +15 -19
  314. package/esm2022/result/result.module.mjs +6 -11
  315. package/esm2022/result/result.property.mjs +3 -3
  316. package/esm2022/ripple/ripple.directive.mjs +12 -11
  317. package/esm2022/ripple/ripple.module.mjs +7 -10
  318. package/esm2022/ripple/ripple.property.mjs +3 -3
  319. package/esm2022/select/select-portal.component.mjs +7 -6
  320. package/esm2022/select/select.component.mjs +51 -50
  321. package/esm2022/select/select.module.mjs +7 -48
  322. package/esm2022/select/select.property.mjs +3 -3
  323. package/esm2022/skeleton/skeleton.component.mjs +14 -17
  324. package/esm2022/skeleton/skeleton.module.mjs +6 -10
  325. package/esm2022/skeleton/skeleton.property.mjs +3 -3
  326. package/esm2022/slider/slider.component.mjs +38 -39
  327. package/esm2022/slider/slider.module.mjs +7 -13
  328. package/esm2022/slider/slider.property.mjs +3 -3
  329. package/esm2022/slider-select/slider-select.component.mjs +46 -38
  330. package/esm2022/slider-select/slider-select.module.mjs +6 -38
  331. package/esm2022/slider-select/slider-select.property.mjs +3 -3
  332. package/esm2022/statistic/countdown.component.mjs +15 -16
  333. package/esm2022/statistic/statistic.component.mjs +13 -14
  334. package/esm2022/statistic/statistic.module.mjs +6 -11
  335. package/esm2022/statistic/statistic.property.mjs +6 -6
  336. package/esm2022/steps/steps.component.mjs +17 -22
  337. package/esm2022/steps/steps.module.mjs +6 -11
  338. package/esm2022/steps/steps.property.mjs +3 -3
  339. package/esm2022/switch/switch.component.mjs +18 -18
  340. package/esm2022/switch/switch.module.mjs +6 -13
  341. package/esm2022/switch/switch.property.mjs +3 -3
  342. package/esm2022/table/table-body.component.mjs +23 -13
  343. package/esm2022/table/table-foot.component.mjs +12 -16
  344. package/esm2022/table/table-head.component.mjs +35 -31
  345. package/esm2022/table/table.component.mjs +22 -13
  346. package/esm2022/table/table.module.mjs +6 -71
  347. package/esm2022/table/table.property.mjs +12 -12
  348. package/esm2022/tabs/tab-content.component.mjs +13 -11
  349. package/esm2022/tabs/tab-link.directive.mjs +11 -9
  350. package/esm2022/tabs/tab.component.mjs +11 -11
  351. package/esm2022/tabs/tabs.component.mjs +28 -27
  352. package/esm2022/tabs/tabs.module.mjs +7 -28
  353. package/esm2022/tabs/tabs.property.mjs +6 -6
  354. package/esm2022/tag/tag.component.mjs +16 -20
  355. package/esm2022/tag/tag.module.mjs +6 -11
  356. package/esm2022/tag/tag.property.mjs +3 -3
  357. package/esm2022/text-retract/text-retract.component.mjs +16 -19
  358. package/esm2022/text-retract/text-retract.module.mjs +6 -12
  359. package/esm2022/text-retract/text-retract.property.mjs +3 -3
  360. package/esm2022/textarea/textarea.component.mjs +24 -25
  361. package/esm2022/textarea/textarea.module.mjs +6 -12
  362. package/esm2022/textarea/textarea.property.mjs +3 -3
  363. package/esm2022/theme/theme.component.mjs +42 -31
  364. package/esm2022/theme/theme.module.mjs +6 -42
  365. package/esm2022/theme/theme.property.mjs +3 -3
  366. package/esm2022/time-ago/time-ago.module.mjs +6 -8
  367. package/esm2022/time-ago/time-ago.pipe.mjs +21 -21
  368. package/esm2022/time-picker/time-picker-frame.component.mjs +30 -30
  369. package/esm2022/time-picker/time-picker-portal.component.mjs +18 -20
  370. package/esm2022/time-picker/time-picker.component.mjs +40 -41
  371. package/esm2022/time-picker/time-picker.module.mjs +7 -48
  372. package/esm2022/time-picker/time-picker.property.mjs +3 -3
  373. package/esm2022/time-range/time-range.module.mjs +7 -7
  374. package/esm2022/time-range/time-range.pipe.mjs +5 -5
  375. package/esm2022/timeline/timeline.component.mjs +17 -20
  376. package/esm2022/timeline/timeline.module.mjs +6 -13
  377. package/esm2022/timeline/timeline.property.mjs +3 -3
  378. package/esm2022/tooltip/tooltip-portal.component.mjs +16 -16
  379. package/esm2022/tooltip/tooltip.directive.mjs +16 -19
  380. package/esm2022/tooltip/tooltip.module.mjs +7 -13
  381. package/esm2022/tooltip/tooltip.property.mjs +3 -3
  382. package/esm2022/transfer/transfer.component.mjs +70 -55
  383. package/esm2022/transfer/transfer.module.mjs +6 -59
  384. package/esm2022/transfer/transfer.property.mjs +3 -3
  385. package/esm2022/tree/tree-node.component.mjs +36 -30
  386. package/esm2022/tree/tree.component.mjs +12 -16
  387. package/esm2022/tree/tree.module.mjs +6 -43
  388. package/esm2022/tree/tree.property.mjs +6 -6
  389. package/esm2022/tree/tree.service.mjs +6 -5
  390. package/esm2022/tree-file/tree-file.component.mjs +34 -31
  391. package/esm2022/tree-file/tree-file.module.mjs +6 -15
  392. package/esm2022/tree-file/tree-file.property.mjs +3 -3
  393. package/esm2022/tree-select/tree-select-portal.component.mjs +24 -26
  394. package/esm2022/tree-select/tree-select.component.mjs +52 -51
  395. package/esm2022/tree-select/tree-select.module.mjs +8 -56
  396. package/esm2022/tree-select/tree-select.property.mjs +3 -3
  397. package/esm2022/typography/typography.component.mjs +12 -12
  398. package/esm2022/typography/typography.module.mjs +6 -9
  399. package/esm2022/typography/typography.property.mjs +3 -3
  400. package/esm2022/upload/upload-portal.component.mjs +11 -12
  401. package/esm2022/upload/upload.component.mjs +42 -43
  402. package/esm2022/upload/upload.module.mjs +6 -55
  403. package/esm2022/upload/upload.property.mjs +3 -3
  404. package/examples/examples.component.d.ts +6 -6
  405. package/examples/examples.module.d.ts +1 -2
  406. package/fesm2022/ng-nest-ui-affix.mjs +18 -21
  407. package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
  408. package/fesm2022/ng-nest-ui-alert.mjs +25 -32
  409. package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
  410. package/fesm2022/ng-nest-ui-anchor.mjs +32 -37
  411. package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
  412. package/fesm2022/ng-nest-ui-api.mjs +18 -18
  413. package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
  414. package/fesm2022/ng-nest-ui-auto-complete.mjs +65 -57
  415. package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
  416. package/fesm2022/ng-nest-ui-avatar.mjs +33 -38
  417. package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
  418. package/fesm2022/ng-nest-ui-back-top.mjs +30 -39
  419. package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
  420. package/fesm2022/ng-nest-ui-badge.mjs +25 -32
  421. package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
  422. package/fesm2022/ng-nest-ui-base-form.mjs +19 -14
  423. package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
  424. package/fesm2022/ng-nest-ui-border.mjs +18 -16
  425. package/fesm2022/ng-nest-ui-border.mjs.map +1 -1
  426. package/fesm2022/ng-nest-ui-button.mjs +40 -49
  427. package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
  428. package/fesm2022/ng-nest-ui-calendar.mjs +44 -44
  429. package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
  430. package/fesm2022/ng-nest-ui-card.mjs +21 -28
  431. package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
  432. package/fesm2022/ng-nest-ui-carousel.mjs +62 -68
  433. package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
  434. package/fesm2022/ng-nest-ui-cascade.mjs +58 -58
  435. package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
  436. package/fesm2022/ng-nest-ui-checkbox.mjs +37 -39
  437. package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
  438. package/fesm2022/ng-nest-ui-collapse.mjs +36 -47
  439. package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
  440. package/fesm2022/ng-nest-ui-color-picker.mjs +84 -106
  441. package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
  442. package/fesm2022/ng-nest-ui-color.mjs +22 -28
  443. package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
  444. package/fesm2022/ng-nest-ui-comment.mjs +51 -83
  445. package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
  446. package/fesm2022/ng-nest-ui-container.mjs +80 -114
  447. package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
  448. package/fesm2022/ng-nest-ui-core.mjs +24 -18
  449. package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
  450. package/fesm2022/ng-nest-ui-crumb.mjs +22 -30
  451. package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
  452. package/fesm2022/ng-nest-ui-date-picker.mjs +277 -326
  453. package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
  454. package/fesm2022/ng-nest-ui-description.mjs +28 -35
  455. package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
  456. package/fesm2022/ng-nest-ui-dialog.mjs +193 -242
  457. package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
  458. package/fesm2022/ng-nest-ui-doc.mjs +16 -16
  459. package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
  460. package/fesm2022/ng-nest-ui-drag.mjs +19 -20
  461. package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
  462. package/fesm2022/ng-nest-ui-drawer.mjs +128 -149
  463. package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
  464. package/fesm2022/ng-nest-ui-dropdown.mjs +33 -38
  465. package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
  466. package/fesm2022/ng-nest-ui-empty.mjs +26 -31
  467. package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
  468. package/fesm2022/ng-nest-ui-examples.mjs +16 -16
  469. package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
  470. package/fesm2022/ng-nest-ui-find.mjs +55 -86
  471. package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
  472. package/fesm2022/ng-nest-ui-form.mjs +98 -126
  473. package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
  474. package/fesm2022/ng-nest-ui-highlight.mjs +33 -33
  475. package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
  476. package/fesm2022/ng-nest-ui-i18n.mjs +29 -29
  477. package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
  478. package/fesm2022/ng-nest-ui-icon.mjs +62 -64
  479. package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
  480. package/fesm2022/ng-nest-ui-image.mjs +69 -75
  481. package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
  482. package/fesm2022/ng-nest-ui-inner.mjs +21 -24
  483. package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
  484. package/fesm2022/ng-nest-ui-input-number.mjs +31 -38
  485. package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
  486. package/fesm2022/ng-nest-ui-input.mjs +51 -60
  487. package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
  488. package/fesm2022/ng-nest-ui-keyword.mjs +22 -24
  489. package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
  490. package/fesm2022/ng-nest-ui-layout.mjs +35 -41
  491. package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
  492. package/fesm2022/ng-nest-ui-link.mjs +24 -31
  493. package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
  494. package/fesm2022/ng-nest-ui-list.mjs +63 -100
  495. package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
  496. package/fesm2022/ng-nest-ui-loading.mjs +26 -34
  497. package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
  498. package/fesm2022/ng-nest-ui-menu.mjs +42 -54
  499. package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
  500. package/fesm2022/ng-nest-ui-message-box.mjs +38 -66
  501. package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
  502. package/fesm2022/ng-nest-ui-message.mjs +26 -37
  503. package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
  504. package/fesm2022/ng-nest-ui-notification.mjs +28 -35
  505. package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
  506. package/fesm2022/ng-nest-ui-outlet.mjs +14 -16
  507. package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
  508. package/fesm2022/ng-nest-ui-page-header.mjs +25 -30
  509. package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
  510. package/fesm2022/ng-nest-ui-pagination.mjs +43 -47
  511. package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
  512. package/fesm2022/ng-nest-ui-pattern.mjs +16 -16
  513. package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
  514. package/fesm2022/ng-nest-ui-popconfirm.mjs +30 -40
  515. package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
  516. package/fesm2022/ng-nest-ui-popover.mjs +39 -44
  517. package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
  518. package/fesm2022/ng-nest-ui-portal.mjs +26 -26
  519. package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
  520. package/fesm2022/ng-nest-ui-progress.mjs +22 -29
  521. package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
  522. package/fesm2022/ng-nest-ui-radio.mjs +28 -38
  523. package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
  524. package/fesm2022/ng-nest-ui-rate.mjs +29 -34
  525. package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
  526. package/fesm2022/ng-nest-ui-resizable.mjs +67 -57
  527. package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
  528. package/fesm2022/ng-nest-ui-result.mjs +22 -30
  529. package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
  530. package/fesm2022/ng-nest-ui-ripple.mjs +20 -21
  531. package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
  532. package/fesm2022/ng-nest-ui-select.mjs +66 -100
  533. package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
  534. package/fesm2022/ng-nest-ui-skeleton.mjs +21 -27
  535. package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
  536. package/fesm2022/ng-nest-ui-slider-select.mjs +53 -73
  537. package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
  538. package/fesm2022/ng-nest-ui-slider.mjs +46 -52
  539. package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
  540. package/fesm2022/ng-nest-ui-statistic.mjs +34 -40
  541. package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
  542. package/fesm2022/ng-nest-ui-steps.mjs +24 -33
  543. package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
  544. package/fesm2022/ng-nest-ui-switch.mjs +25 -30
  545. package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
  546. package/fesm2022/ng-nest-ui-table.mjs +111 -154
  547. package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
  548. package/fesm2022/ng-nest-ui-tabs.mjs +67 -79
  549. package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
  550. package/fesm2022/ng-nest-ui-tag.mjs +23 -31
  551. package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
  552. package/fesm2022/ng-nest-ui-text-retract.mjs +22 -30
  553. package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
  554. package/fesm2022/ng-nest-ui-textarea.mjs +31 -36
  555. package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
  556. package/fesm2022/ng-nest-ui-theme.mjs +49 -71
  557. package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
  558. package/fesm2022/ng-nest-ui-time-ago.mjs +24 -26
  559. package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
  560. package/fesm2022/ng-nest-ui-time-picker.mjs +89 -127
  561. package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
  562. package/fesm2022/ng-nest-ui-time-range.mjs +10 -10
  563. package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
  564. package/fesm2022/ng-nest-ui-timeline.mjs +24 -33
  565. package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
  566. package/fesm2022/ng-nest-ui-tooltip.mjs +38 -44
  567. package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
  568. package/fesm2022/ng-nest-ui-transfer.mjs +76 -111
  569. package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
  570. package/fesm2022/ng-nest-ui-tree-file.mjs +41 -46
  571. package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
  572. package/fesm2022/ng-nest-ui-tree-select.mjs +83 -126
  573. package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
  574. package/fesm2022/ng-nest-ui-tree.mjs +60 -89
  575. package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
  576. package/fesm2022/ng-nest-ui-typography.mjs +19 -21
  577. package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
  578. package/fesm2022/ng-nest-ui-upload.mjs +58 -106
  579. package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
  580. package/find/find.component.d.ts +6 -8
  581. package/find/find.module.d.ts +1 -13
  582. package/form/control.component.d.ts +6 -7
  583. package/form/form.component.d.ts +5 -8
  584. package/form/form.module.d.ts +1 -24
  585. package/highlight/highlight.component.d.ts +12 -10
  586. package/highlight/highlight.module.d.ts +1 -4
  587. package/i18n/i18n.directive.d.ts +6 -7
  588. package/i18n/i18n.module.d.ts +1 -1
  589. package/i18n/i18n.pipe.d.ts +1 -1
  590. package/i18n/i18n.service.d.ts +3 -2
  591. package/icon/icon.component.d.ts +7 -9
  592. package/icon/icon.module.d.ts +1 -3
  593. package/icon/icon.property.d.ts +1 -1
  594. package/icon/icon.service.d.ts +6 -7
  595. package/image/image-group.component.d.ts +3 -1
  596. package/image/image-preview.component.d.ts +5 -10
  597. package/image/image.component.d.ts +9 -14
  598. package/image/image.module.d.ts +3 -11
  599. package/inner/inner.component.d.ts +2 -3
  600. package/inner/inner.module.d.ts +1 -3
  601. package/input/input-group.component.d.ts +3 -6
  602. package/input/input.component.d.ts +8 -10
  603. package/input/input.module.d.ts +2 -8
  604. package/input-number/input-number.component.d.ts +5 -6
  605. package/input-number/input-number.module.d.ts +1 -7
  606. package/keyword/keyword.directive.d.ts +3 -4
  607. package/keyword/keyword.module.d.ts +1 -3
  608. package/keyword/keyword.property.d.ts +1 -1
  609. package/layout/col.component.d.ts +5 -7
  610. package/layout/layout.module.d.ts +1 -3
  611. package/layout/row.component.d.ts +3 -4
  612. package/link/link.component.d.ts +5 -7
  613. package/link/link.module.d.ts +1 -6
  614. package/list/list-drop-group.directive.d.ts +1 -1
  615. package/list/list-option.component.d.ts +6 -7
  616. package/list/list.component.d.ts +9 -12
  617. package/list/list.module.d.ts +1 -13
  618. package/loading/loading.component.d.ts +7 -10
  619. package/loading/loading.module.d.ts +1 -6
  620. package/menu/menu-node.component.d.ts +6 -7
  621. package/menu/menu.component.d.ts +4 -8
  622. package/menu/menu.module.d.ts +1 -7
  623. package/message/message.component.d.ts +3 -7
  624. package/message/message.module.d.ts +1 -5
  625. package/message/message.service.d.ts +4 -5
  626. package/message-box/message-box.component.d.ts +1 -1
  627. package/message-box/message-box.module.d.ts +1 -11
  628. package/message-box/message-box.service.d.ts +2 -5
  629. package/notification/notification.component.d.ts +3 -7
  630. package/notification/notification.module.d.ts +1 -5
  631. package/notification/notification.service.d.ts +1 -3
  632. package/outlet/outlet.directive.d.ts +4 -5
  633. package/outlet/outlet.module.d.ts +1 -2
  634. package/package.json +36 -36
  635. package/page-header/page-header.component.d.ts +5 -7
  636. package/page-header/page-header.module.d.ts +1 -4
  637. package/pagination/pagination.component.d.ts +8 -11
  638. package/pagination/pagination.module.d.ts +1 -9
  639. package/pattern/pattern.component.d.ts +4 -4
  640. package/pattern/pattern.module.d.ts +1 -2
  641. package/popconfirm/popconfirm.component.d.ts +6 -9
  642. package/popconfirm/popconfirm.module.d.ts +1 -7
  643. package/popover/popover-portal.component.d.ts +4 -5
  644. package/popover/popover.directive.d.ts +9 -10
  645. package/popover/popover.module.d.ts +1 -6
  646. package/portal/portal.module.d.ts +1 -3
  647. package/portal/portal.service.d.ts +3 -4
  648. package/progress/progress.component.d.ts +3 -7
  649. package/progress/progress.module.d.ts +1 -5
  650. package/radio/radio.component.d.ts +6 -9
  651. package/radio/radio.module.d.ts +1 -8
  652. package/rate/rate.component.d.ts +6 -8
  653. package/rate/rate.module.d.ts +1 -7
  654. package/resizable/resizable.directive.d.ts +5 -7
  655. package/resizable/resizable.module.d.ts +1 -2
  656. package/resizable/resizable.property.d.ts +1 -1
  657. package/result/result.component.d.ts +3 -7
  658. package/result/result.module.d.ts +1 -5
  659. package/ripple/ripple.directive.d.ts +4 -5
  660. package/ripple/ripple.module.d.ts +1 -3
  661. package/select/select-portal.component.d.ts +1 -1
  662. package/select/select.component.d.ts +14 -15
  663. package/select/select.module.d.ts +1 -12
  664. package/skeleton/skeleton.component.d.ts +3 -6
  665. package/skeleton/skeleton.module.d.ts +1 -4
  666. package/slider/slider.component.d.ts +5 -8
  667. package/slider/slider.module.d.ts +1 -7
  668. package/slider-select/slider-select.component.d.ts +6 -7
  669. package/slider-select/slider-select.module.d.ts +1 -9
  670. package/statistic/countdown.component.d.ts +6 -7
  671. package/statistic/statistic.component.d.ts +2 -3
  672. package/statistic/statistic.module.d.ts +1 -5
  673. package/steps/steps.component.d.ts +4 -8
  674. package/steps/steps.module.d.ts +1 -5
  675. package/style/core/index.css +1 -1
  676. package/style/params/colors.scss +1 -1
  677. package/switch/switch.component.d.ts +6 -7
  678. package/switch/switch.module.d.ts +1 -7
  679. package/table/table-body.component.d.ts +1 -1
  680. package/table/table-foot.component.d.ts +3 -6
  681. package/table/table-head.component.d.ts +5 -8
  682. package/table/table.component.d.ts +1 -1
  683. package/table/table.module.d.ts +4 -17
  684. package/tabs/tab-content.component.d.ts +6 -6
  685. package/tabs/tab-link.directive.d.ts +2 -2
  686. package/tabs/tab.component.d.ts +2 -3
  687. package/tabs/tabs.component.d.ts +8 -9
  688. package/tabs/tabs.module.d.ts +3 -9
  689. package/tag/tag.component.d.ts +4 -8
  690. package/tag/tag.module.d.ts +1 -5
  691. package/text-retract/text-retract.component.d.ts +6 -10
  692. package/text-retract/text-retract.module.d.ts +1 -6
  693. package/textarea/textarea.component.d.ts +5 -7
  694. package/textarea/textarea.module.d.ts +1 -6
  695. package/theme/theme.component.d.ts +8 -9
  696. package/theme/theme.module.d.ts +1 -10
  697. package/time-ago/time-ago.module.d.ts +1 -1
  698. package/time-ago/time-ago.pipe.d.ts +6 -9
  699. package/time-picker/time-picker-frame.component.d.ts +5 -6
  700. package/time-picker/time-picker-portal.component.d.ts +5 -7
  701. package/time-picker/time-picker.component.d.ts +14 -16
  702. package/time-picker/time-picker.module.d.ts +2 -13
  703. package/time-range/time-range.module.d.ts +1 -1
  704. package/time-range/time-range.pipe.d.ts +1 -1
  705. package/timeline/timeline.component.d.ts +5 -8
  706. package/timeline/timeline.module.d.ts +1 -7
  707. package/tooltip/tooltip-portal.component.d.ts +4 -5
  708. package/tooltip/tooltip.directive.d.ts +8 -9
  709. package/tooltip/tooltip.module.d.ts +1 -6
  710. package/transfer/transfer.component.d.ts +6 -9
  711. package/transfer/transfer.module.d.ts +1 -15
  712. package/tree/tree-node.component.d.ts +6 -10
  713. package/tree/tree.component.d.ts +1 -1
  714. package/tree/tree.module.d.ts +1 -11
  715. package/tree-file/tree-file.component.d.ts +5 -10
  716. package/tree-file/tree-file.module.d.ts +1 -9
  717. package/tree-select/tree-select-portal.component.d.ts +5 -7
  718. package/tree-select/tree-select.component.d.ts +14 -15
  719. package/tree-select/tree-select.module.d.ts +1 -14
  720. package/typography/typography.component.d.ts +3 -4
  721. package/typography/typography.module.d.ts +1 -3
  722. package/upload/upload-portal.component.d.ts +5 -7
  723. package/upload/upload.component.d.ts +12 -16
  724. package/upload/upload.module.d.ts +1 -14
@@ -1,22 +1,30 @@
1
- import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild } from '@angular/core';
1
+ import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, Renderer2, ViewChild, inject } from '@angular/core';
2
2
  import { XFindProperty, XFindPrefix } from './find.property';
3
- import { XClearClass, XResize, XIsUndefined, XIsChange, XIsEmpty } from '@ng-nest/ui/core';
3
+ import { XClearClass, XResize, XIsUndefined, XIsChange, XConfigService, XIsEmpty } from '@ng-nest/ui/core';
4
+ import { XTableComponent } from '@ng-nest/ui/table';
5
+ import { XDialogComponent } from '@ng-nest/ui/dialog';
6
+ import { XButtonComponent } from '@ng-nest/ui/button';
4
7
  import { debounceTime, takeUntil } from 'rxjs/operators';
5
8
  import { Subject, Observable } from 'rxjs';
6
- import { XValueAccessor } from '@ng-nest/ui/base-form';
9
+ import { XTreeComponent } from '@ng-nest/ui/tree';
10
+ import { XValueAccessor, XControlValueAccessor } from '@ng-nest/ui/base-form';
11
+ import { XTagComponent } from '@ng-nest/ui/tag';
12
+ import { XEmptyComponent } from '@ng-nest/ui/empty';
13
+ import { XIconComponent } from '@ng-nest/ui/icon';
14
+ import { XInputComponent } from '@ng-nest/ui/input';
15
+ import { NgClass } from '@angular/common';
16
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
7
17
  import * as i0 from "@angular/core";
8
- import * as i1 from "@ng-nest/ui/core";
9
- import * as i2 from "@angular/common";
10
- import * as i3 from "@angular/forms";
11
- import * as i4 from "@ng-nest/ui/tag";
12
- import * as i5 from "@ng-nest/ui/button";
13
- import * as i6 from "@ng-nest/ui/dialog";
14
- import * as i7 from "@ng-nest/ui/table";
15
- import * as i8 from "@ng-nest/ui/tree";
16
- import * as i9 from "@ng-nest/ui/icon";
17
- import * as i10 from "@ng-nest/ui/empty";
18
- import * as i11 from "@ng-nest/ui/input";
18
+ import * as i1 from "@angular/forms";
19
19
  export class XFindComponent extends XFindProperty {
20
+ constructor() {
21
+ super(...arguments);
22
+ this.height = 100;
23
+ this._unSubject = new Subject();
24
+ this.renderer = inject(Renderer2);
25
+ this.cdr = inject(ChangeDetectorRef);
26
+ this.configService = inject(XConfigService);
27
+ }
20
28
  get tableRef() {
21
29
  return this._tableRef;
22
30
  }
@@ -42,7 +50,9 @@ export class XFindComponent extends XFindProperty {
42
50
  return this.tableColumns?.length > 0;
43
51
  }
44
52
  get hasTree() {
45
- return ((Array.isArray(this.treeData) && this.treeData.length > 0) || this.treeData instanceof Function || this.treeData instanceof Observable);
53
+ return ((Array.isArray(this.treeData) && this.treeData.length > 0) ||
54
+ this.treeData instanceof Function ||
55
+ this.treeData instanceof Observable);
46
56
  }
47
57
  get hasTreeTable() {
48
58
  return this.hasTable && this.hasTree;
@@ -57,14 +67,6 @@ export class XFindComponent extends XFindProperty {
57
67
  this.value = value;
58
68
  this.cdr.detectChanges();
59
69
  }
60
- constructor(renderer, cdr, configService) {
61
- super();
62
- this.renderer = renderer;
63
- this.cdr = cdr;
64
- this.configService = configService;
65
- this.height = 100;
66
- this._unSubject = new Subject();
67
- }
68
70
  ngOnChanges(simples) {
69
71
  const { tableData, labelAlign, size } = simples;
70
72
  XIsChange(tableData) && this.setTableCheckedRow();
@@ -284,7 +286,10 @@ export class XFindComponent extends XFindProperty {
284
286
  field.operation = '=';
285
287
  }
286
288
  else {
287
- this.tableQuery.filter = [...this.tableQuery.filter, { field: this.treeTableConnect, value: node.id, operation: '=' }];
289
+ this.tableQuery.filter = [
290
+ ...this.tableQuery.filter,
291
+ { field: this.treeTableConnect, value: node.id, operation: '=' }
292
+ ];
288
293
  }
289
294
  this.tableCom.change(1);
290
295
  this.treeActivatedId = node.id;
@@ -295,9 +300,6 @@ export class XFindComponent extends XFindProperty {
295
300
  treeCheckboxChange(node) {
296
301
  this.treeMultiple(node);
297
302
  }
298
- trackByItem(_index, item) {
299
- return item.id;
300
- }
301
303
  formControlChanges() {
302
304
  this.ngOnInit();
303
305
  this.ngAfterViewInit();
@@ -328,13 +330,26 @@ export class XFindComponent extends XFindProperty {
328
330
  this.tableCom.change(1);
329
331
  this.cdr.detectChanges();
330
332
  }
331
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFindComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
332
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XFindComponent, selector: "x-find", providers: [XValueAccessor(XFindComponent)], viewQueries: [{ propertyName: "find", first: true, predicate: ["find"], descendants: true, static: true }, { propertyName: "dialogCom", first: true, predicate: ["dialogCom"], descendants: true }, { propertyName: "tableCom", first: true, predicate: ["tableCom"], descendants: true }, { propertyName: "treeCom", first: true, predicate: ["treeCom"], descendants: true }, { propertyName: "buttonCom", first: true, predicate: ["buttonCom"], descendants: true }, { propertyName: "tableRef", first: true, predicate: ["tableRef"], descendants: true }, { propertyName: "treeRef", first: true, predicate: ["treeRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [class.x-find-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button\r\n #buttonCom\r\n icon=\"fto-search\"\r\n [onlyIcon]=\"!bordered\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n attrType=\"button\"\r\n (click)=\"showModal()\"\r\n ></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag\r\n *ngFor=\"let item of value; index as i; trackBy: trackByItem\"\r\n closable\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [disabled]=\"disabled\"\r\n (close)=\"tagClose(i)\"\r\n >{{ item[columnLabel] }}</x-tag\r\n >\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input [label]=\"search.label\" direction=\"row\" (xKeydown)=\"searchKeyDown($event)\" [(ngModel)]=\"search.value\"></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '\u67E5\u8BE2' }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [allowCheckRow]=\"multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" [content]=\"dialogEmptyContent\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-find{margin:0;padding:0;width:100%}.x-find.x-flex{display:flex}.x-find.x-justify-start{justify-content:flex-start}.x-find.x-justify-center{justify-content:center}.x-find.x-justify-end{justify-content:flex-end}.x-find.x-justify-space-between{justify-content:space-between}.x-find.x-justify-space-around{justify-content:space-around}.x-find.x-align-start{align-items:flex-start}.x-find.x-align-center{align-items:center}.x-find.x-align-end{align-items:flex-end}.x-find.x-direction-column{flex-direction:column}.x-find.x-direction-column-reverse{flex-direction:column-reverse}.x-find.x-direction-row{flex-direction:row}.x-find.x-direction-row-reverse{flex-direction:row-reverse}.x-find>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-find>label.x-text-align-start{text-align:start}.x-find>label.x-text-align-center{text-align:center}.x-find>label.x-text-align-end{text-align:end}.x-find-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-find-row{flex:1;display:flex;align-items:flex-start;position:relative}.x-find-tags{margin:-.0625rem -.0625rem -.0625rem .4375rem}.x-find-tags>x-tag{margin:.0625rem}.x-find.x-required>label{color:var(--x-danger)}.x-find.x-direction-row>label{padding:0 .5rem 0 0}.x-find.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-find.x-direction-column,.x-find.x-direction-column-reverse{align-items:inherit}.x-find-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-find-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-find-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-find-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-find-small .x-find-tags{margin-top:-.1875rem}.x-find-small .x-find-tags>x-tag{margin-top:.125rem}.x-find-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-find-mini .x-find-tags{margin-top:-.25rem}.x-find-mini .x-find-tags>x-tag{margin-top:.125rem}.x-find-dialog{flex:1;display:flex}.x-find-dialog-table{flex:1;min-height:18.75rem;height:-moz-fit-content;height:fit-content}.x-find-dialog-tree{flex:1;min-height:18.75rem;max-height:25rem;overflow-y:auto}.x-find-dialog-tree .x-tree-node-content.x-activated{color:var(--x-primary)}.x-find-dialog-tree-node{flex:1;display:flex;align-items:center;justify-content:space-between}.x-find-dialog-tree-node>span{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}.x-find-dialog-tree-table .x-find-dialog-tree{flex:initial;min-height:initial;max-height:initial;width:14rem;margin-right:1rem;padding-right:1rem;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-find-dialog-checked{margin-left:1rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:1rem;width:10rem;overflow-y:auto;height:100%}.x-find-dialog-checked x-tag{display:block}.x-find-dialog-checked x-tag:not(:first-child){margin-top:.5rem}.x-find-dialog-checked x-tag .x-tag{width:100%;display:flex;justify-content:space-between}.x-find-dialog-checked x-tag .x-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-find-dialog-checked.x-find-empty{display:flex;align-items:center;justify-content:center}.x-find-search{display:flex;padding:.3rem}.x-find-search .x-input,.x-find-search x-input{width:15rem}.x-find-search .x-button{margin-left:.5rem}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.XTagComponent, selector: "x-tag" }, { kind: "component", type: i5.XButtonComponent, selector: "x-button" }, { kind: "component", type: i6.XDialogComponent, selector: "x-dialog" }, { kind: "component", type: i7.XTableComponent, selector: "x-table" }, { kind: "component", type: i8.XTreeComponent, selector: "x-tree" }, { kind: "component", type: i9.XIconComponent, selector: "x-icon" }, { kind: "component", type: i10.XEmptyComponent, selector: "x-empty" }, { kind: "component", type: i11.XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
333
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFindComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
334
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.7", type: XFindComponent, isStandalone: true, selector: "x-find", providers: [XValueAccessor(XFindComponent)], viewQueries: [{ propertyName: "find", first: true, predicate: ["find"], descendants: true, static: true }, { propertyName: "dialogCom", first: true, predicate: ["dialogCom"], descendants: true }, { propertyName: "tableCom", first: true, predicate: ["tableCom"], descendants: true }, { propertyName: "treeCom", first: true, predicate: ["treeCom"], descendants: true }, { propertyName: "buttonCom", first: true, predicate: ["buttonCom"], descendants: true }, { propertyName: "tableRef", first: true, predicate: ["tableRef"], descendants: true }, { propertyName: "treeRef", first: true, predicate: ["treeRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n @if (label) {\r\n <label [class.x-find-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n }\r\n <div class=\"x-find-row\">\r\n <x-button\r\n #buttonCom\r\n icon=\"fto-search\"\r\n [onlyIcon]=\"!bordered\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n attrType=\"button\"\r\n (click)=\"showModal()\"\r\n ></x-button>\r\n <div class=\"x-find-tags\">\r\n @if (multiple) {\r\n @for (item of value; track item.id; let i = $index) {\r\n <x-tag closable [size]=\"size\" [bordered]=\"bordered\" [disabled]=\"disabled\" (close)=\"tagClose(i)\">{{\r\n item[columnLabel]\r\n }}</x-tag>\r\n }\r\n } @else if (value) {\r\n <x-tag closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [className]=\"'x-find-dialog-container'\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n @if (hasTree) {\r\n <div class=\"x-find-dialog-tree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n }\r\n @if (hasTable) {\r\n <div class=\"x-find-dialog-table\" #tableRef>\r\n @if (hasSearch) {\r\n <div class=\"x-find-search\">\r\n <x-input\r\n [label]=\"search.label\"\r\n direction=\"row\"\r\n (xKeydown)=\"searchKeyDown($event)\"\r\n [(ngModel)]=\"search.value\"\r\n ></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '\u67E5\u8BE2' }}</x-button>\r\n </div>\r\n }\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [allowCheckRow]=\"multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n }\r\n @if (multiple) {\r\n <div class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n @if (getEmpty) {\r\n <x-empty [content]=\"dialogEmptyContent\"></x-empty>\r\n }\r\n <div class=\"x-find-dialog-tags\">\r\n @for (item of temp; track item.id; let i = $index) {\r\n <x-tag closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n @if (node.$checked) {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-find{margin:0;padding:0;width:100%}.x-find.x-flex{display:flex}.x-find.x-justify-start{justify-content:flex-start}.x-find.x-justify-center{justify-content:center}.x-find.x-justify-end{justify-content:flex-end}.x-find.x-justify-space-between{justify-content:space-between}.x-find.x-justify-space-around{justify-content:space-around}.x-find.x-align-start{align-items:flex-start}.x-find.x-align-center{align-items:center}.x-find.x-align-end{align-items:flex-end}.x-find.x-direction-column{flex-direction:column}.x-find.x-direction-column-reverse{flex-direction:column-reverse}.x-find.x-direction-row{flex-direction:row}.x-find.x-direction-row-reverse{flex-direction:row-reverse}.x-find>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-find>label.x-text-align-start{text-align:start}.x-find>label.x-text-align-center{text-align:center}.x-find>label.x-text-align-end{text-align:end}.x-find-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-find-row{flex:1;display:flex;align-items:flex-start;position:relative}.x-find-tags{margin:-.0625rem -.0625rem -.0625rem .4375rem}.x-find-tags>x-tag{margin:.0625rem}.x-find.x-required>label{color:var(--x-danger)}.x-find.x-direction-row>label{padding:0 .5rem 0 0}.x-find.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-find.x-direction-column,.x-find.x-direction-column-reverse{align-items:inherit}.x-find-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-find-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-find-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-find-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-find-small .x-find-tags{margin-top:-.1875rem}.x-find-small .x-find-tags>x-tag{margin-top:.125rem}.x-find-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-find-mini .x-find-tags{margin-top:-.25rem}.x-find-mini .x-find-tags>x-tag{margin-top:.125rem}.x-find-dialog{flex:1;display:flex}.x-find-dialog-table{flex:1;min-height:18.75rem;height:-moz-fit-content;height:fit-content}.x-find-dialog-tree{flex:1;min-height:18.75rem;max-height:25rem;overflow-y:auto}.x-find-dialog-tree .x-tree-node-content.x-activated{color:var(--x-primary)}.x-find-dialog-tree-node{flex:1;display:flex;align-items:center;justify-content:space-between}.x-find-dialog-tree-node>span{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}.x-find-dialog-tree-table .x-find-dialog-tree{flex:initial;min-height:initial;max-height:initial;width:14rem;margin-right:1rem;padding-right:1rem;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-find-dialog-checked{margin-left:1rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:1rem;width:10rem;overflow-y:auto;height:100%}.x-find-dialog-checked x-tag{display:block}.x-find-dialog-checked x-tag:not(:first-child){margin-top:.5rem}.x-find-dialog-checked x-tag .x-tag{width:100%;display:flex;justify-content:space-between}.x-find-dialog-checked x-tag .x-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-find-dialog-checked.x-find-empty{display:flex;align-items:center;justify-content:center}.x-find-dialog-container .x-dialog-content{overflow:initial}.x-find-search{display:flex;padding:.3rem}.x-find-search .x-input,.x-find-search x-input{width:15rem}.x-find-search .x-button{margin-left:.5rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XTagComponent, selector: "x-tag" }, { kind: "component", type: XButtonComponent, selector: "x-button" }, { kind: "component", type: XDialogComponent, selector: "x-dialog" }, { kind: "component", type: XTableComponent, selector: "x-table" }, { kind: "component", type: XTreeComponent, selector: "x-tree" }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XEmptyComponent, selector: "x-empty" }, { kind: "component", type: XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
333
335
  }
334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFindComponent, decorators: [{
336
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFindComponent, decorators: [{
335
337
  type: Component,
336
- args: [{ selector: `${XFindPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XFindComponent)], template: "<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [class.x-find-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button\r\n #buttonCom\r\n icon=\"fto-search\"\r\n [onlyIcon]=\"!bordered\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n attrType=\"button\"\r\n (click)=\"showModal()\"\r\n ></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag\r\n *ngFor=\"let item of value; index as i; trackBy: trackByItem\"\r\n closable\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [disabled]=\"disabled\"\r\n (close)=\"tagClose(i)\"\r\n >{{ item[columnLabel] }}</x-tag\r\n >\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input [label]=\"search.label\" direction=\"row\" (xKeydown)=\"searchKeyDown($event)\" [(ngModel)]=\"search.value\"></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '\u67E5\u8BE2' }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [allowCheckRow]=\"multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" [content]=\"dialogEmptyContent\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-find{margin:0;padding:0;width:100%}.x-find.x-flex{display:flex}.x-find.x-justify-start{justify-content:flex-start}.x-find.x-justify-center{justify-content:center}.x-find.x-justify-end{justify-content:flex-end}.x-find.x-justify-space-between{justify-content:space-between}.x-find.x-justify-space-around{justify-content:space-around}.x-find.x-align-start{align-items:flex-start}.x-find.x-align-center{align-items:center}.x-find.x-align-end{align-items:flex-end}.x-find.x-direction-column{flex-direction:column}.x-find.x-direction-column-reverse{flex-direction:column-reverse}.x-find.x-direction-row{flex-direction:row}.x-find.x-direction-row-reverse{flex-direction:row-reverse}.x-find>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-find>label.x-text-align-start{text-align:start}.x-find>label.x-text-align-center{text-align:center}.x-find>label.x-text-align-end{text-align:end}.x-find-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-find-row{flex:1;display:flex;align-items:flex-start;position:relative}.x-find-tags{margin:-.0625rem -.0625rem -.0625rem .4375rem}.x-find-tags>x-tag{margin:.0625rem}.x-find.x-required>label{color:var(--x-danger)}.x-find.x-direction-row>label{padding:0 .5rem 0 0}.x-find.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-find.x-direction-column,.x-find.x-direction-column-reverse{align-items:inherit}.x-find-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-find-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-find-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-find-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-find-small .x-find-tags{margin-top:-.1875rem}.x-find-small .x-find-tags>x-tag{margin-top:.125rem}.x-find-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-find-mini .x-find-tags{margin-top:-.25rem}.x-find-mini .x-find-tags>x-tag{margin-top:.125rem}.x-find-dialog{flex:1;display:flex}.x-find-dialog-table{flex:1;min-height:18.75rem;height:-moz-fit-content;height:fit-content}.x-find-dialog-tree{flex:1;min-height:18.75rem;max-height:25rem;overflow-y:auto}.x-find-dialog-tree .x-tree-node-content.x-activated{color:var(--x-primary)}.x-find-dialog-tree-node{flex:1;display:flex;align-items:center;justify-content:space-between}.x-find-dialog-tree-node>span{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}.x-find-dialog-tree-table .x-find-dialog-tree{flex:initial;min-height:initial;max-height:initial;width:14rem;margin-right:1rem;padding-right:1rem;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-find-dialog-checked{margin-left:1rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:1rem;width:10rem;overflow-y:auto;height:100%}.x-find-dialog-checked x-tag{display:block}.x-find-dialog-checked x-tag:not(:first-child){margin-top:.5rem}.x-find-dialog-checked x-tag .x-tag{width:100%;display:flex;justify-content:space-between}.x-find-dialog-checked x-tag .x-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-find-dialog-checked.x-find-empty{display:flex;align-items:center;justify-content:center}.x-find-search{display:flex;padding:.3rem}.x-find-search .x-input,.x-find-search x-input{width:15rem}.x-find-search .x-button{margin-left:.5rem}\n"] }]
337
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }], propDecorators: { find: [{
338
+ args: [{ selector: `${XFindPrefix}`, standalone: true, imports: [
339
+ NgClass,
340
+ FormsModule,
341
+ ReactiveFormsModule,
342
+ XTagComponent,
343
+ XButtonComponent,
344
+ XDialogComponent,
345
+ XTableComponent,
346
+ XTreeComponent,
347
+ XIconComponent,
348
+ XEmptyComponent,
349
+ XInputComponent,
350
+ XControlValueAccessor
351
+ ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XFindComponent)], template: "<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n @if (label) {\r\n <label [class.x-find-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n }\r\n <div class=\"x-find-row\">\r\n <x-button\r\n #buttonCom\r\n icon=\"fto-search\"\r\n [onlyIcon]=\"!bordered\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n attrType=\"button\"\r\n (click)=\"showModal()\"\r\n ></x-button>\r\n <div class=\"x-find-tags\">\r\n @if (multiple) {\r\n @for (item of value; track item.id; let i = $index) {\r\n <x-tag closable [size]=\"size\" [bordered]=\"bordered\" [disabled]=\"disabled\" (close)=\"tagClose(i)\">{{\r\n item[columnLabel]\r\n }}</x-tag>\r\n }\r\n } @else if (value) {\r\n <x-tag closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [className]=\"'x-find-dialog-container'\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n @if (hasTree) {\r\n <div class=\"x-find-dialog-tree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n }\r\n @if (hasTable) {\r\n <div class=\"x-find-dialog-table\" #tableRef>\r\n @if (hasSearch) {\r\n <div class=\"x-find-search\">\r\n <x-input\r\n [label]=\"search.label\"\r\n direction=\"row\"\r\n (xKeydown)=\"searchKeyDown($event)\"\r\n [(ngModel)]=\"search.value\"\r\n ></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '\u67E5\u8BE2' }}</x-button>\r\n </div>\r\n }\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [allowCheckRow]=\"multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n }\r\n @if (multiple) {\r\n <div class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n @if (getEmpty) {\r\n <x-empty [content]=\"dialogEmptyContent\"></x-empty>\r\n }\r\n <div class=\"x-find-dialog-tags\">\r\n @for (item of temp; track item.id; let i = $index) {\r\n <x-tag closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n @if (node.$checked) {\r\n <x-icon type=\"fto-check\"></x-icon>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-find{margin:0;padding:0;width:100%}.x-find.x-flex{display:flex}.x-find.x-justify-start{justify-content:flex-start}.x-find.x-justify-center{justify-content:center}.x-find.x-justify-end{justify-content:flex-end}.x-find.x-justify-space-between{justify-content:space-between}.x-find.x-justify-space-around{justify-content:space-around}.x-find.x-align-start{align-items:flex-start}.x-find.x-align-center{align-items:center}.x-find.x-align-end{align-items:flex-end}.x-find.x-direction-column{flex-direction:column}.x-find.x-direction-column-reverse{flex-direction:column-reverse}.x-find.x-direction-row{flex-direction:row}.x-find.x-direction-row-reverse{flex-direction:row-reverse}.x-find>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-find>label.x-text-align-start{text-align:start}.x-find>label.x-text-align-center{text-align:center}.x-find>label.x-text-align-end{text-align:end}.x-find-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-find-row{flex:1;display:flex;align-items:flex-start;position:relative}.x-find-tags{margin:-.0625rem -.0625rem -.0625rem .4375rem}.x-find-tags>x-tag{margin:.0625rem}.x-find.x-required>label{color:var(--x-danger)}.x-find.x-direction-row>label{padding:0 .5rem 0 0}.x-find.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-find.x-direction-column,.x-find.x-direction-column-reverse{align-items:inherit}.x-find-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-find-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-find-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-find-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-find-small .x-find-tags{margin-top:-.1875rem}.x-find-small .x-find-tags>x-tag{margin-top:.125rem}.x-find-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-find-mini .x-find-tags{margin-top:-.25rem}.x-find-mini .x-find-tags>x-tag{margin-top:.125rem}.x-find-dialog{flex:1;display:flex}.x-find-dialog-table{flex:1;min-height:18.75rem;height:-moz-fit-content;height:fit-content}.x-find-dialog-tree{flex:1;min-height:18.75rem;max-height:25rem;overflow-y:auto}.x-find-dialog-tree .x-tree-node-content.x-activated{color:var(--x-primary)}.x-find-dialog-tree-node{flex:1;display:flex;align-items:center;justify-content:space-between}.x-find-dialog-tree-node>span{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}.x-find-dialog-tree-table .x-find-dialog-tree{flex:initial;min-height:initial;max-height:initial;width:14rem;margin-right:1rem;padding-right:1rem;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-find-dialog-checked{margin-left:1rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:1rem;width:10rem;overflow-y:auto;height:100%}.x-find-dialog-checked x-tag{display:block}.x-find-dialog-checked x-tag:not(:first-child){margin-top:.5rem}.x-find-dialog-checked x-tag .x-tag{width:100%;display:flex;justify-content:space-between}.x-find-dialog-checked x-tag .x-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-find-dialog-checked.x-find-empty{display:flex;align-items:center;justify-content:center}.x-find-dialog-container .x-dialog-content{overflow:initial}.x-find-search{display:flex;padding:.3rem}.x-find-search .x-input,.x-find-search x-input{width:15rem}.x-find-search .x-button{margin-left:.5rem}\n"] }]
352
+ }], propDecorators: { find: [{
338
353
  type: ViewChild,
339
354
  args: ['find', { static: true }]
340
355
  }], dialogCom: [{
@@ -356,4 +371,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
356
371
  type: ViewChild,
357
372
  args: ['treeRef']
358
373
  }] } });
359
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9maW5kL2ZpbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZmluZC9maW5kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUl2QixTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFrQixRQUFRLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7QUFJNUgsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFVdkQsTUFBTSxPQUFPLGNBQWUsU0FBUSxhQUFhO0lBUS9DLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQ1csUUFBUSxDQUFDLEtBQWlCO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO0lBQ0gsQ0FBQztJQUdELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQ1csT0FBTyxDQUFDLEtBQWlCO1FB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O3NCQUF4QyxTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ1gsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQUNDLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFDQyxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBQ0ksU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQU9YLFFBQVE7c0JBRGxCLFNBQVM7dUJBQUMsVUFBVTtnQkFhVixPQUFPO3NCQURqQixTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEZpbmRQcm9wZXJ0eSwgWEZpbmRQcmVmaXggfSBmcm9tICcuL2ZpbmQucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQ2xlYXJDbGFzcywgWFJlc2l6ZSwgWElzVW5kZWZpbmVkLCBYSXNDaGFuZ2UsIFhDb25maWdTZXJ2aWNlLCBYSXNFbXB0eSwgWFJlc2l6ZU9ic2VydmVyIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhUYWJsZUNvbXBvbmVudCwgWFRhYmxlUm93IH0gZnJvbSAnQG5nLW5lc3QvdWkvdGFibGUnO1xyXG5pbXBvcnQgeyBYRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvZGlhbG9nJztcclxuaW1wb3J0IHsgWEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFhUcmVlTm9kZSwgWFRyZWVDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS90cmVlJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hGaW5kUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZpbmQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhGaW5kQ29tcG9uZW50KV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhGaW5kQ29tcG9uZW50IGV4dGVuZHMgWEZpbmRQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgnZmluZCcsIHsgc3RhdGljOiB0cnVlIH0pIGZpbmQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdkaWFsb2dDb20nKSBkaWFsb2dDb20hOiBYRGlhbG9nQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlQ29tJykgdGFibGVDb20hOiBYVGFibGVDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgndHJlZUNvbScpIHRyZWVDb20hOiBYVHJlZUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdidXR0b25Db20nKSBidXR0b25Db20hOiBYQnV0dG9uQ29tcG9uZW50O1xyXG5cclxuICBwcml2YXRlIF90YWJsZVJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIHB1YmxpYyBnZXQgdGFibGVSZWYoKTogRWxlbWVudFJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFibGVSZWY7XHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlUmVmJylcclxuICBwdWJsaWMgc2V0IHRhYmxlUmVmKHZhbHVlOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLl90YWJsZVJlZiA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlICYmIHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5zZXRTdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RyZWVSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBwdWJsaWMgZ2V0IHRyZWVSZWYoKTogRWxlbWVudFJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJlZVJlZjtcclxuICB9XHJcbiAgQFZpZXdDaGlsZCgndHJlZVJlZicpXHJcbiAgcHVibGljIHNldCB0cmVlUmVmKHZhbHVlOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLl90cmVlUmVmID0gdmFsdWU7XHJcbiAgICBpZiAodmFsdWUgJiYgdGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLnNldFN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEVtcHR5KCkge1xyXG4gICAgcmV0dXJuICF0aGlzLnRlbXAgfHwgdGhpcy50ZW1wLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcblxyXG4gIGdldCBoYXNUYWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRhYmxlQ29sdW1ucz8ubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIGdldCBoYXNUcmVlKCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgKEFycmF5LmlzQXJyYXkodGhpcy50cmVlRGF0YSkgJiYgdGhpcy50cmVlRGF0YS5sZW5ndGggPiAwKSB8fCB0aGlzLnRyZWVEYXRhIGluc3RhbmNlb2YgRnVuY3Rpb24gfHwgdGhpcy50cmVlRGF0YSBpbnN0YW5jZW9mIE9ic2VydmFibGVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzVHJlZVRhYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzVGFibGUgJiYgdGhpcy5oYXNUcmVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc1RyZWVNdWx0aXBsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmhhc1RyZWUgJiYgIXRoaXMuaGFzVHJlZVRhYmxlICYmIHRoaXMubXVsdGlwbGU7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzU2VhcmNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoICYmIHRoaXMuaGFzVGFibGU7XHJcbiAgfVxyXG5cclxuICB0ZW1wOiBhbnk7XHJcbiAgaGVpZ2h0ID0gMTAwO1xyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyITogWFJlc2l6ZU9ic2VydmVyO1xyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLCBwdWJsaWMgb3ZlcnJpZGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgY29uc3QgeyB0YWJsZURhdGEsIGxhYmVsQWxpZ24sIHNpemUgfSA9IHNpbXBsZXM7XHJcbiAgICBYSXNDaGFuZ2UodGFibGVEYXRhKSAmJiB0aGlzLnNldFRhYmxlQ2hlY2tlZFJvdygpO1xyXG4gICAgWElzQ2hhbmdlKGxhYmVsQWxpZ24sIHNpemUpICYmIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRGbGV4KHRoaXMuZmluZC5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICAgIHRoaXMuc2V0TXVsdGlwbGUoKTtcclxuICAgIHRoaXMuc2V0V2lkdGgoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIGlmICh0aGlzLnZhbHVlKSB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMubGFiZWxNYXAsIHRoaXMuY2xhc3NNYXApO1xyXG4gICAgdGhpcy5sYWJlbE1hcFtgeC10ZXh0LWFsaWduLSR7dGhpcy5sYWJlbEFsaWdufWBdID0gdGhpcy5sYWJlbEFsaWduID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgdGhpcy5jbGFzc01hcFtgeC1maW5kLSR7dGhpcy5zaXplfWBdID0gIVhJc0VtcHR5KHRoaXMuc2l6ZSk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJzY3JpYmUoKSB7XHJcbiAgICBsZXQgcmVzaXplUmVmOiBFbGVtZW50W10gPSBbXTtcclxuICAgIGlmICh0aGlzLmhhc1RhYmxlKSB7XHJcbiAgICAgIHJlc2l6ZVJlZiA9IFt0aGlzLnRhYmxlUmVmPy5uYXRpdmVFbGVtZW50XTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmhhc1RyZWUgJiYgIXRoaXMuaGFzVHJlZVRhYmxlKSB7XHJcbiAgICAgIHJlc2l6ZVJlZi5wdXNoKHRoaXMudHJlZVJlZj8ubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgWFJlc2l6ZSguLi5yZXNpemVSZWYpXHJcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgzMCksIHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXIgPSB4LnJlc2l6ZU9ic2VydmVyO1xyXG4gICAgICAgIGlmICh0aGlzLnRhYmxlUmVmKSB7XHJcbiAgICAgICAgICB0aGlzLmhlaWdodCA9IHRoaXMudGFibGVSZWYubmF0aXZlRWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy50cmVlUmVmPy5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldE11bHRpcGxlKCkge1xyXG4gICAgaWYgKCF0aGlzLm11bHRpcGxlKSByZXR1cm47XHJcbiAgICBpZiAodGhpcy5oYXNUYWJsZSkge1xyXG4gICAgICBpZiAoIXRoaXMudGFibGVDb2x1bW5zLmZpbmQoKHgpID0+IHgucm93Q2hlY2tlZCkpIHtcclxuICAgICAgICB0aGlzLnRhYmxlQ29sdW1ucyA9IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgaWQ6ICckY2hlY2tlZCcsXHJcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLmRpYWxvZ0NoZWNrYm94TGFiZWwsXHJcbiAgICAgICAgICAgIHJvd0NoZWNrZWQ6IHRydWUsXHJcbiAgICAgICAgICAgIHR5cGU6ICdjaGVja2JveCcsXHJcbiAgICAgICAgICAgIHdpZHRoOiB0aGlzLmRpYWxvZ0NoZWNrYm94V2lkdGhcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAuLi50aGlzLnRhYmxlQ29sdW1uc1xyXG4gICAgICAgIF07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFdpZHRoKCkge1xyXG4gICAgaWYgKFhJc1VuZGVmaW5lZCh0aGlzLmRpYWxvZ1dpZHRoKSkge1xyXG4gICAgICBpZiAoKHRoaXMuaGFzVGFibGUgJiYgdGhpcy5oYXNUcmVlKSB8fCB0aGlzLmhhc1RhYmxlKSB7XHJcbiAgICAgICAgdGhpcy5kaWFsb2dXaWR0aCA9ICc1MHJlbSc7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5oYXNUcmVlICYmIHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1dpZHRoID0gJzMwcmVtJztcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1dpZHRoID0gJzIwcmVtJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd01vZGFsKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IHRydWU7XHJcbiAgICB0aGlzLmRpYWxvZ1Zpc2libGVDaGFuZ2UuZW1pdCh0aGlzLmRpYWxvZ1Zpc2libGUpO1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHtcclxuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICB0aGlzLnRlbXAgPSAodGhpcy52YWx1ZSBhcyBBcnJheTxhbnk+KS5tYXAoKHgpID0+IE9iamVjdC5hc3NpZ24oe30sIHgpKTtcclxuICAgICAgICB0aGlzLnNldFRhYmxlQ2hlY2tlZFJvdygpO1xyXG4gICAgICAgIHRoaXMuc2V0VHJlZUNoZWNrZWQoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRhYmxlQWN0aXZhdGVkUm93ID0gdGhpcy52YWx1ZTtcclxuICAgICAgICBpZiAoIXRoaXMuaGFzVHJlZVRhYmxlICYmIHRoaXMuaGFzVHJlZSkge1xyXG4gICAgICAgICAgdGhpcy50cmVlQWN0aXZhdGVkSWQgPSB0aGlzLnZhbHVlLmlkO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50ZW1wID0gdGhpcy5tdWx0aXBsZSA/IFtdIDogbnVsbDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmhhc1RhYmxlKSB7XHJcbiAgICAgIHRoaXMudGFibGVDb20udmlydHVhbEJvZHk/LnNjcm9sbFRvSW5kZXgoMCk7XHJcbiAgICAgIHRoaXMudGFibGVDb20udmlydHVhbEJvZHk/LmNoZWNrVmlld3BvcnRTaXplKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRUYWJsZUNoZWNrZWRSb3coKSB7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUgfHwgWElzVW5kZWZpbmVkKHRoaXMudGVtcCkpIHJldHVybjtcclxuICAgIGNvbnN0IGlkcyA9ICh0aGlzLnRlbXAgYXMgQXJyYXk8YW55PikubWFwKCh4KSA9PiB4LmlkKTtcclxuICAgIHRoaXMudGFibGVDaGVja2VkUm93ID0ge1xyXG4gICAgICAuLi50aGlzLnRhYmxlQ2hlY2tlZFJvdyxcclxuICAgICAgJGNoZWNrZWQ6IGlkc1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldFRyZWVDaGVja2VkKCkge1xyXG4gICAgaWYgKHRoaXMuaGFzVHJlZU11bHRpcGxlKSB0aGlzLnRyZWVDaGVja2VkID0gdGhpcy50ZW1wLm1hcCgoeDogYW55KSA9PiB4LmlkKTtcclxuICB9XHJcblxyXG4gIHN1cmUoKSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy50ZW1wO1xyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2xWYWxpZGF0b3IoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlTW9kYWwoKSB7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBkaWFsb2dDbG9zZURvbmUoKSB7XHJcbiAgICBpZiAodGhpcy5oYXNUcmVlKSB7XHJcbiAgICAgIHRoaXMudHJlZUFjdGl2YXRlZElkID0gbnVsbDtcclxuICAgICAgdGhpcy50ZW1wID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHRlbXBDbG9zZShpbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpIHtcclxuICAgIHRoaXMudGVtcC5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgaWYgKHRoaXMuaGFzVGFibGUpIHtcclxuICAgICAgbGV0IGl0ID0gdGhpcy50YWJsZUNvbT8udGFibGVEYXRhLmZpbmQoKHgpID0+IGl0ZW0uaWQgPT09IHguaWQpO1xyXG4gICAgICBpZiAoaXQpIHtcclxuICAgICAgICBpdFsnJGNoZWNrZWQnXSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMudGFibGVDb20/LmJvZHlDaGFuZ2UoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgbGV0IGl0ID0gdGhpcy50cmVlQ29tPy50cmVlRGF0YS5maW5kKCh4KSA9PiBpdGVtLmlkID09PSB4LmlkKTtcclxuICAgICAgaWYgKGl0KSB7XHJcbiAgICAgICAgaXQuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgIGl0LmNoYW5nZSAmJiBpdC5jaGFuZ2UoKTtcclxuICAgICAgICB0aGlzLnRyZWVDb20/LmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0YWdDbG9zZShpbmRleDogbnVtYmVyID0gLTEpIHtcclxuICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgIHRoaXMudmFsdWUuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgICB0aGlzLnRhYmxlQWN0aXZhdGVkUm93ID0gbnVsbDtcclxuICAgICAgaWYgKCF0aGlzLmhhc1RyZWVUYWJsZSAmJiB0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgICB0aGlzLnRyZWVBY3RpdmF0ZWRJZCA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sVmFsaWRhdG9yKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0YWJsZUFjdGl2YXRlZFJvd0NoYW5nZShkYXRhOiBYVGFibGVSb3cpIHtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMucm93TXVsdGlwbGUoZGF0YSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRlbXAgPSBkYXRhO1xyXG4gICAgICB0aGlzLmRpYWxvZ1Zpc2libGUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zdXJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb3dNdWx0aXBsZShkYXRhOiBYVGFibGVSb3cpIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy50ZW1wID09PSAndW5kZWZpbmVkJykgdGhpcy50ZW1wID0gW107XHJcbiAgICAvLyBkYXRhWyckY2hlY2tlZCddID0gIWRhdGFbJyRjaGVja2VkJ107XHJcbiAgICBpZiAoZGF0YVsnJGNoZWNrZWQnXSkge1xyXG4gICAgICB0aGlzLnRlbXAgPSBbLi4udGhpcy50ZW1wLCBkYXRhXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGVtcC5zcGxpY2UoXHJcbiAgICAgICAgKHRoaXMudGVtcCBhcyBBcnJheTxhbnk+KS5maW5kSW5kZXgoKHgpID0+IHguaWQgPT09IGRhdGEuaWQpLFxyXG4gICAgICAgIDFcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRyZWVNdWx0aXBsZShub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIGlmICh0eXBlb2YgdGhpcy50ZW1wID09PSAndW5kZWZpbmVkJykgdGhpcy50ZW1wID0gW107XHJcbiAgICAvLyBub2RlLiRjaGVja2VkID0gIW5vZGUuJGNoZWNrZWQ7XHJcbiAgICBpZiAobm9kZS5jaGVja2VkKSB7XHJcbiAgICAgIHRoaXMudGVtcCA9IFsuLi50aGlzLnRlbXAsIG5vZGVdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50ZW1wLnNwbGljZShcclxuICAgICAgICAodGhpcy50ZW1wIGFzIEFycmF5PGFueT4pLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gbm9kZS5pZCksXHJcbiAgICAgICAgMVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJlZUFjdGl2YXRlZENsaWNrKG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgaWYgKCF0aGlzLmhhc1RyZWVUYWJsZSAmJiB0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAvLyB0aGlzLnRyZWVNdWx0aXBsZShub2RlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRlbXAgPSBub2RlO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGFzVHJlZVRhYmxlICYmIHRoaXMudHJlZVRhYmxlQ29ubmVjdCkge1xyXG4gICAgICBpZiAoIXRoaXMudGFibGVRdWVyeSkgdGhpcy50YWJsZVF1ZXJ5ID0ge307XHJcbiAgICAgIGlmICghdGhpcy50YWJsZVF1ZXJ5LmZpbHRlcikgdGhpcy50YWJsZVF1ZXJ5LmZpbHRlciA9IFtdO1xyXG4gICAgICBsZXQgZmllbGQgPSB0aGlzLnRhYmxlUXVlcnkuZmlsdGVyLmZpbmQoKHgpID0+IHguZmllbGQgPT09IHRoaXMudHJlZVRhYmxlQ29ubmVjdCk7XHJcbiAgICAgIGlmIChmaWVsZCkge1xyXG4gICAgICAgIGZpZWxkLnZhbHVlID0gbm9kZS5pZDtcclxuICAgICAgICBmaWVsZC5vcGVyYXRpb24gPSAnPSc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy50YWJsZVF1ZXJ5LmZpbHRlciA9IFsuLi50aGlzLnRhYmxlUXVlcnkuZmlsdGVyLCB7IGZpZWxkOiB0aGlzLnRyZWVUYWJsZUNvbm5lY3QsIHZhbHVlOiBub2RlLmlkLCBvcGVyYXRpb246ICc9JyB9XTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRhYmxlQ29tLmNoYW5nZSgxKTtcclxuICAgICAgdGhpcy50cmVlQWN0aXZhdGVkSWQgPSBub2RlLmlkO1xyXG4gICAgfVxyXG4gICAgdGhpcy50cmVlQWN0aXZhdGVkQ2hhbmdlLmVtaXQobm9kZSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmVlQ2hlY2tib3hDaGFuZ2Uobm9kZTogWFRyZWVOb2RlKSB7XHJcbiAgICB0aGlzLnRyZWVNdWx0aXBsZShub2RlKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlJdGVtKF9pbmRleDogbnVtYmVyLCBpdGVtOiBhbnkpIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2xDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgIHRoaXMudHJlZUNvbT8uc2V0RGF0YSgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLnNlYXJjaENsaWNrKCk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0RlbGV0ZScpIHtcclxuICAgICAgdGhpcy5zZWFyY2gudmFsdWUgPSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlYXJjaENsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmhhc1NlYXJjaCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50YWJsZVF1ZXJ5ID0gdGhpcy50YWJsZVF1ZXJ5IHx8IFtdO1xyXG4gICAgdGhpcy50YWJsZVF1ZXJ5LmZpbHRlciA9IHRoaXMudGFibGVRdWVyeS5maWx0ZXIgfHwgW107XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMudGFibGVRdWVyeS5maWx0ZXIuZmluZCgoeCkgPT4geC5maWVsZCA9PT0gdGhpcy5zZWFyY2guZmllbGQpO1xyXG5cclxuICAgIGlmIChmaWVsZCkge1xyXG4gICAgICBmaWVsZC52YWx1ZSA9IHRoaXMuc2VhcmNoLnZhbHVlIHx8ICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJsZVF1ZXJ5LmZpbHRlciA9IFsuLi50aGlzLnRhYmxlUXVlcnk/LmZpbHRlciwgdGhpcy5zZWFyY2hdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGFibGVDb20uY2hhbmdlKDEpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgI2ZpbmRcclxuICBjbGFzcz1cIngtZmluZFwiXHJcbiAgW2NsYXNzLngtZmxleF09XCJqdXN0aWZ5IHx8IGFsaWduIHx8IGRpcmVjdGlvblwiXHJcbiAgW2NsYXNzLngtY2hlY2tlZF09XCJ2YWx1ZVwiXHJcbiAgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtjbGFzcy54LXJlcXVpcmVkXT1cInJlcXVpcmVkSXNFbXB0eVwiXHJcbiAgW2NsYXNzLngtaW52YWxpZF09XCJpbnZhbGlkXCJcclxuICBbbmdDbGFzc109XCJjbGFzc01hcFwiXHJcbj5cclxuICA8bGFiZWwgKm5nSWY9XCJsYWJlbFwiIFtjbGFzcy54LWZpbmQtbGFiZWwtcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbc3R5bGUud2lkdGhdPVwibGFiZWxXaWR0aFwiIFtuZ0NsYXNzXT1cImxhYmVsTWFwXCI+e3sgbGFiZWwgfX08L2xhYmVsPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWZpbmQtcm93XCI+XHJcbiAgICA8eC1idXR0b25cclxuICAgICAgI2J1dHRvbkNvbVxyXG4gICAgICBpY29uPVwiZnRvLXNlYXJjaFwiXHJcbiAgICAgIFtvbmx5SWNvbl09XCIhYm9yZGVyZWRcIlxyXG4gICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgYXR0clR5cGU9XCJidXR0b25cIlxyXG4gICAgICAoY2xpY2spPVwic2hvd01vZGFsKClcIlxyXG4gICAgPjwveC1idXR0b24+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1maW5kLXRhZ3NcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlOyBlbHNlIHNpbmdsZVRwbFwiPlxyXG4gICAgICAgIDx4LXRhZ1xyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgdmFsdWU7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCJcclxuICAgICAgICAgIGNsb3NhYmxlXHJcbiAgICAgICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgICAgIFtib3JkZXJlZF09XCJib3JkZXJlZFwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgKGNsb3NlKT1cInRhZ0Nsb3NlKGkpXCJcclxuICAgICAgICAgID57eyBpdGVtW2NvbHVtbkxhYmVsXSB9fTwveC10YWdcclxuICAgICAgICA+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3NpbmdsZVRwbD5cclxuICAgICAgICA8eC10YWcgKm5nSWY9XCJ2YWx1ZVwiIGNsb3NhYmxlIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtib3JkZXJlZF09XCJib3JkZXJlZFwiIFtzaXplXT1cInNpemVcIiAoY2xvc2UpPVwidGFnQ2xvc2UoKVwiPnt7XHJcbiAgICAgICAgICB2YWx1ZVtjb2x1bW5MYWJlbF1cclxuICAgICAgICB9fTwveC10YWc+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48eC1kaWFsb2dcclxuICAjZGlhbG9nQ29tXHJcbiAgW3RpdGxlXT1cImRpYWxvZ1RpdGxlXCJcclxuICBbd2lkdGhdPVwiZGlhbG9nV2lkdGhcIlxyXG4gIFtoZWlnaHRdPVwiZGlhbG9nSGVpZ2h0XCJcclxuICBbYnV0dG9uc0NlbnRlcl09XCJkaWFsb2dCdXR0b25zQ2VudGVyXCJcclxuICBbKHZpc2libGUpXT1cImRpYWxvZ1Zpc2libGVcIlxyXG4gICh2aXNpYmxlQ2hhbmdlKT1cImRpYWxvZ1Zpc2libGVDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAoY2xvc2VEb25lKT1cImRpYWxvZ0Nsb3NlRG9uZSgpXCJcclxuICAoY2FuY2VsKT1cImNsb3NlTW9kYWwoKVwiXHJcbiAgKGNsb3NlKT1cImNsb3NlTW9kYWwoKVwiXHJcbiAgKGNvbmZpcm0pPVwic3VyZSgpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWZpbmQtZGlhbG9nXCIgW2NsYXNzLngtZmluZC1kaWFsb2ctdHJlZS10YWJsZV09XCJoYXNUYWJsZSAmJiBoYXNUcmVlXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1maW5kLWRpYWxvZy10cmVlXCIgKm5nSWY9XCJoYXNUcmVlXCIgI3RyZWVSZWYgW3N0eWxlLmhlaWdodC5weF09XCJoYXNUcmVlVGFibGUgJiYgbXVsdGlwbGUgJiYgaGVpZ2h0XCI+XHJcbiAgICAgIDx4LXRyZWVcclxuICAgICAgICAjdHJlZUNvbVxyXG4gICAgICAgIFtkYXRhXT1cInRyZWVEYXRhXCJcclxuICAgICAgICBub2RlSGVpZ2h0PVwiMS44XCJcclxuICAgICAgICBbKG1hbnVhbCldPVwiZGlhbG9nVmlzaWJsZVwiXHJcbiAgICAgICAgW2FjdGl2YXRlZElkXT1cInRyZWVBY3RpdmF0ZWRJZFwiXHJcbiAgICAgICAgW2V4cGFuZGVkTGV2ZWxdPVwidHJlZUV4cGFuZGVkTGV2ZWxcIlxyXG4gICAgICAgIChhY3RpdmF0ZWRDaGFuZ2UpPVwidHJlZUFjdGl2YXRlZENsaWNrKCRldmVudClcIlxyXG4gICAgICAgIFtjaGVja2JveF09XCJoYXNUcmVlTXVsdGlwbGVcIlxyXG4gICAgICAgIFtjaGVja2VkXT1cInRyZWVDaGVja2VkXCJcclxuICAgICAgICAoY2hlY2tib3hDaGFuZ2UpPVwidHJlZUNoZWNrYm94Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtsZXZlbENoZWNrXT1cIiFoYXNUcmVlTXVsdGlwbGVcIlxyXG4gICAgICA+PC94LXRyZWU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LWZpbmQtZGlhbG9nLXRhYmxlXCIgKm5nSWY9XCJoYXNUYWJsZVwiICN0YWJsZVJlZj5cclxuICAgICAgPGRpdiBjbGFzcz1cIngtZmluZC1zZWFyY2hcIiAqbmdJZj1cImhhc1NlYXJjaFwiPlxyXG4gICAgICAgIDx4LWlucHV0IFtsYWJlbF09XCJzZWFyY2gubGFiZWxcIiBkaXJlY3Rpb249XCJyb3dcIiAoeEtleWRvd24pPVwic2VhcmNoS2V5RG93bigkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJzZWFyY2gudmFsdWVcIj48L3gtaW5wdXQ+XHJcbiAgICAgICAgPHgtYnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgcGxhaW4gKGNsaWNrKT1cInNlYXJjaENsaWNrKClcIj57eyBzZWFyY2guYnV0dG9uIHx8ICfmn6Xor6InIH19PC94LWJ1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDx4LXRhYmxlXHJcbiAgICAgICAgI3RhYmxlQ29tXHJcbiAgICAgICAgW2RhdGFdPVwidGFibGVEYXRhXCJcclxuICAgICAgICBbY29sdW1uc109XCJ0YWJsZUNvbHVtbnNcIlxyXG4gICAgICAgIFsobWFudWFsKV09XCJkaWFsb2dWaXNpYmxlXCJcclxuICAgICAgICBbKGluZGV4KV09XCJ0YWJsZUluZGV4XCJcclxuICAgICAgICBbKHNpemUpXT1cInRhYmxlU2l6ZVwiXHJcbiAgICAgICAgW3F1ZXJ5XT1cInRhYmxlUXVlcnlcIlxyXG4gICAgICAgIFt0b3RhbF09XCJ0YWJsZVRvdGFsXCJcclxuICAgICAgICBbYWxsb3dTZWxlY3RSb3ddPVwiIW11bHRpcGxlXCJcclxuICAgICAgICBbYWxsb3dDaGVja1Jvd109XCJtdWx0aXBsZVwiXHJcbiAgICAgICAgW2NoZWNrZWRSb3ddPVwidGFibGVDaGVja2VkUm93XCJcclxuICAgICAgICBbbG9hZGluZ109XCJ0YWJsZUxvYWRpbmdcIlxyXG4gICAgICAgIChpbmRleENoYW5nZSk9XCJ0YWJsZUluZGV4Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHNvcnRDaGFuZ2UpPVwidGFibGVTb3J0Q2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgWyhhY3RpdmF0ZWRSb3cpXT1cInRhYmxlQWN0aXZhdGVkUm93XCJcclxuICAgICAgICAoYWN0aXZhdGVkUm93Q2hhbmdlKT1cInRhYmxlQWN0aXZhdGVkUm93Q2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgIFtyb3dIZWlnaHRdPVwidGFibGVSb3dIZWlnaHRcIlxyXG4gICAgICAgIFtib2R5SGVpZ2h0XT1cInRhYmxlQm9keUhlaWdodFwiXHJcbiAgICAgICAgW3ZpcnR1YWxTY3JvbGxdPVwidGFibGVWaXJ0dWFsU2Nyb2xsXCJcclxuICAgICAgICBbbWluQnVmZmVyUHhdPVwidGFibGVNaW5CdWZmZXJQeFwiXHJcbiAgICAgICAgW21heEJ1ZmZlclB4XT1cInRhYmxlTWF4QnVmZmVyUHhcIlxyXG4gICAgICAgIFthZGFwdGlvbkhlaWdodF09XCJ0YWJsZUFkYXB0aW9uSGVpZ2h0XCJcclxuICAgICAgICBbZG9jUGVyY2VudF09XCJ0YWJsZURvY1BlcmNlbnRcIlxyXG4gICAgICA+PC94LXRhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwibXVsdGlwbGVcIiBjbGFzcz1cIngtZmluZC1kaWFsb2ctY2hlY2tlZFwiIFtjbGFzcy54LWZpbmQtZW1wdHldPVwiZ2V0RW1wdHlcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiPlxyXG4gICAgICA8eC1lbXB0eSAqbmdJZj1cImdldEVtcHR5XCIgW2NvbnRlbnRdPVwiZGlhbG9nRW1wdHlDb250ZW50XCI+PC94LWVtcHR5PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1maW5kLWRpYWxvZy10YWdzXCI+XHJcbiAgICAgICAgPHgtdGFnICpuZ0Zvcj1cImxldCBpdGVtIG9mIHRlbXA7IGluZGV4IGFzIGk7IHRyYWNrQnk6IHRyYWNrQnlJdGVtXCIgY2xvc2FibGUgKGNsb3NlKT1cInRlbXBDbG9zZShpLCBpdGVtKVwiPlxyXG4gICAgICAgICAgPHNwYW4+e3sgaXRlbVtjb2x1bW5MYWJlbF0gfX08L3NwYW4+XHJcbiAgICAgICAgPC94LXRhZz5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC94LWRpYWxvZz5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdHJlZUxhYmVsVHBsIGxldC1ub2RlPVwiJG5vZGVcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1maW5kLWRpYWxvZy10cmVlLW5vZGVcIj5cclxuICAgIDxzcGFuPnt7IG5vZGUubGFiZWwgfX0gPC9zcGFuPlxyXG4gICAgPHgtaWNvbiB0eXBlPVwiZnRvLWNoZWNrXCIgKm5nSWY9XCJub2RlLiRjaGVja2VkXCI+PC94LWljb24+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
374
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9maW5kL2ZpbmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZmluZC9maW5kLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULFNBQVMsRUFFVCxNQUFNLEVBSVAsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsV0FBVyxFQUNYLE9BQU8sRUFDUCxZQUFZLEVBQ1osU0FBUyxFQUNULGNBQWMsRUFDZCxRQUFRLEVBRVQsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsZUFBZSxFQUFhLE1BQU0sbUJBQW1CLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQWEsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUF5QmxFLE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQXZCakQ7O1FBbUZFLFdBQU0sR0FBRyxHQUFHLENBQUM7UUFFTCxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVFqQyxhQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVCLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUN6QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQWtSeEM7SUFsVkMsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFDVyxRQUFRLENBQUMsS0FBaUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdkIsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBR0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFDVyxPQUFPLENBQUMsS0FBaUI7UUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBSSxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMxQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUNMLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxRQUFRLFlBQVksUUFBUTtZQUNqQyxJQUFJLENBQUMsUUFBUSxZQUFZLFVBQVUsQ0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUM3RCxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdEMsQ0FBQztJQVFRLFVBQVUsQ0FBQyxLQUFVO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQU1ELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDaEQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ2xELFNBQVMsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0YsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFdBQVc7UUFDVCxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksU0FBUyxHQUFjLEVBQUUsQ0FBQztRQUM5QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQztTQUM1QztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsR0FBRyxTQUFTLENBQUM7YUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2xELFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2YsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsY0FBYyxDQUFDO1lBQ3hDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7YUFDeEQ7aUJBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLFlBQVksQ0FBQzthQUN4RDtZQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDM0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHO29CQUNsQjt3QkFDRSxFQUFFLEVBQUUsVUFBVTt3QkFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjt3QkFDL0IsVUFBVSxFQUFFLElBQUk7d0JBQ2hCLElBQUksRUFBRSxVQUFVO3dCQUNoQixLQUFLLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtxQkFDaEM7b0JBQ0QsR0FBRyxJQUFJLENBQUMsWUFBWTtpQkFDckIsQ0FBQzthQUNIO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDcEQsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7YUFDNUI7aUJBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDO2FBQzVCO2lCQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7YUFDNUI7U0FDRjtJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDMUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDbEQsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQixJQUFJLENBQUMsSUFBSSxHQUFJLElBQUksQ0FBQyxLQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDeEUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUN2QjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztpQkFDdEM7YUFDRjtTQUNGO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO1NBQ2hEO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTztRQUN0RCxNQUFNLEdBQUcsR0FBSSxJQUFJLENBQUMsSUFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsZUFBZSxHQUFHO1lBQ3JCLEdBQUcsSUFBSSxDQUFDLGVBQWU7WUFDdkIsUUFBUSxFQUFFLEdBQUc7U0FDZCxDQUFDO0lBQ0osQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxlQUFlO1lBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBUztRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEUsSUFBSSxFQUFFLEVBQUU7Z0JBQ04sRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQzthQUM3QjtTQUNGO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUQsSUFBSSxFQUFFLEVBQUU7Z0JBQ04sRUFBRSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ25CLEVBQUUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQzthQUNuQztTQUNGO1FBRUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsUUFBUSxDQUFDLFFBQWdCLENBQUMsQ0FBQztRQUN6QixJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDN0I7YUFBTTtZQUNMLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7YUFDN0I7U0FDRjtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELHVCQUF1QixDQUFDLElBQWU7UUFDckMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFlO1FBQ3pCLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVc7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNyRCx3Q0FBd0M7UUFDeEMsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNsQzthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQ2IsSUFBSSxDQUFDLElBQW1CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsRUFDNUQsQ0FBQyxDQUNGLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFlO1FBQzFCLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVc7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNyRCxrQ0FBa0M7UUFDbEMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEM7YUFBTTtZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUNiLElBQUksQ0FBQyxJQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQzVELENBQUMsQ0FDRixDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFlO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNqQiwyQkFBMkI7YUFDNUI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7YUFDbEI7U0FDRjthQUFNLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDckQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO2dCQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU07Z0JBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ3pELElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUNsRixJQUFJLEtBQUssRUFBRTtnQkFDVCxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3RCLEtBQUssQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO2FBQ3ZCO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHO29CQUN2QixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTtvQkFDekIsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUU7aUJBQ2pFLENBQUM7YUFDSDtZQUNELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztTQUNoQztRQUNELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBZTtRQUNoQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFvQjtRQUNoQyxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUNwQjthQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoRixJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1NBQ3ZDO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3BFO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDO2lJQXpWVSxjQUFjO3FIQUFkLGNBQWMscURBRmQsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFDLENBQUMsNHJCQzVEN0MscTFKQXdJQSxrbUhEN0ZJLE9BQU8sbUZBQ1AsV0FBVyw4VkFDWCxtQkFBbUIsK0JBQ25CLGFBQWEsa0RBQ2IsZ0JBQWdCLHFEQUNoQixnQkFBZ0IscURBQ2hCLGVBQWUsb0RBQ2YsY0FBYyxtREFDZCxjQUFjLG1EQUNkLGVBQWUsb0RBQ2YsZUFBZTs7MkZBU04sY0FBYztrQkF2QjFCLFNBQVM7K0JBQ0UsR0FBRyxXQUFXLEVBQUUsY0FDZCxJQUFJLFdBQ1A7d0JBQ1AsT0FBTzt3QkFDUCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixlQUFlO3dCQUNmLHFCQUFxQjtxQkFDdEIsaUJBR2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsZ0JBQWdCLENBQUM7OEJBR04sSUFBSTtzQkFBeEMsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNYLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDQyxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ0MsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNJLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFPWCxRQUFRO3NCQURsQixTQUFTO3VCQUFDLFVBQVU7Z0JBYVYsT0FBTztzQkFEakIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIGluamVjdCxcclxuICBPbkNoYW5nZXMsXHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWEZpbmRQcm9wZXJ0eSwgWEZpbmRQcmVmaXggfSBmcm9tICcuL2ZpbmQucHJvcGVydHknO1xyXG5pbXBvcnQge1xyXG4gIFhDbGVhckNsYXNzLFxyXG4gIFhSZXNpemUsXHJcbiAgWElzVW5kZWZpbmVkLFxyXG4gIFhJc0NoYW5nZSxcclxuICBYQ29uZmlnU2VydmljZSxcclxuICBYSXNFbXB0eSxcclxuICBYUmVzaXplT2JzZXJ2ZXJcclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFRhYmxlQ29tcG9uZW50LCBYVGFibGVSb3cgfSBmcm9tICdAbmctbmVzdC91aS90YWJsZSc7XHJcbmltcG9ydCB7IFhEaWFsb2dDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9kaWFsb2cnO1xyXG5pbXBvcnQgeyBYQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWFRyZWVOb2RlLCBYVHJlZUNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3RyZWUnO1xyXG5pbXBvcnQgeyBYVmFsdWVBY2Nlc3NvciwgWENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWFRhZ0NvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL3RhZyc7XHJcbmltcG9ydCB7IFhFbXB0eUNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2VtcHR5JztcclxuaW1wb3J0IHsgWEljb25Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9pY29uJztcclxuaW1wb3J0IHsgWElucHV0Q29tcG9uZW50IH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQnO1xyXG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WEZpbmRQcmVmaXh9YCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBYVGFnQ29tcG9uZW50LFxyXG4gICAgWEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFhEaWFsb2dDb21wb25lbnQsXHJcbiAgICBYVGFibGVDb21wb25lbnQsXHJcbiAgICBYVHJlZUNvbXBvbmVudCxcclxuICAgIFhJY29uQ29tcG9uZW50LFxyXG4gICAgWEVtcHR5Q29tcG9uZW50LFxyXG4gICAgWElucHV0Q29tcG9uZW50LFxyXG4gICAgWENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmluZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZmluZC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbWFZhbHVlQWNjZXNzb3IoWEZpbmRDb21wb25lbnQpXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWEZpbmRDb21wb25lbnQgZXh0ZW5kcyBYRmluZFByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgQFZpZXdDaGlsZCgnZmluZCcsIHsgc3RhdGljOiB0cnVlIH0pIGZpbmQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdkaWFsb2dDb20nKSBkaWFsb2dDb20hOiBYRGlhbG9nQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlQ29tJykgdGFibGVDb20hOiBYVGFibGVDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgndHJlZUNvbScpIHRyZWVDb20hOiBYVHJlZUNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKCdidXR0b25Db20nKSBidXR0b25Db20hOiBYQnV0dG9uQ29tcG9uZW50O1xyXG5cclxuICBwcml2YXRlIF90YWJsZVJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIHB1YmxpYyBnZXQgdGFibGVSZWYoKTogRWxlbWVudFJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdGFibGVSZWY7XHJcbiAgfVxyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlUmVmJylcclxuICBwdWJsaWMgc2V0IHRhYmxlUmVmKHZhbHVlOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLl90YWJsZVJlZiA9IHZhbHVlO1xyXG4gICAgaWYgKHZhbHVlICYmIHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5zZXRTdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3RyZWVSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBwdWJsaWMgZ2V0IHRyZWVSZWYoKTogRWxlbWVudFJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdHJlZVJlZjtcclxuICB9XHJcbiAgQFZpZXdDaGlsZCgndHJlZVJlZicpXHJcbiAgcHVibGljIHNldCB0cmVlUmVmKHZhbHVlOiBFbGVtZW50UmVmKSB7XHJcbiAgICB0aGlzLl90cmVlUmVmID0gdmFsdWU7XHJcbiAgICBpZiAodmFsdWUgJiYgdGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICB0aGlzLnNldFN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEVtcHR5KCkge1xyXG4gICAgcmV0dXJuICF0aGlzLnRlbXAgfHwgdGhpcy50ZW1wLmxlbmd0aCA9PT0gMDtcclxuICB9XHJcblxyXG4gIGdldCBoYXNUYWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnRhYmxlQ29sdW1ucz8ubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIGdldCBoYXNUcmVlKCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgKEFycmF5LmlzQXJyYXkodGhpcy50cmVlRGF0YSkgJiYgdGhpcy50cmVlRGF0YS5sZW5ndGggPiAwKSB8fFxyXG4gICAgICB0aGlzLnRyZWVEYXRhIGluc3RhbmNlb2YgRnVuY3Rpb24gfHxcclxuICAgICAgdGhpcy50cmVlRGF0YSBpbnN0YW5jZW9mIE9ic2VydmFibGVcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzVHJlZVRhYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzVGFibGUgJiYgdGhpcy5oYXNUcmVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc1RyZWVNdWx0aXBsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmhhc1RyZWUgJiYgIXRoaXMuaGFzVHJlZVRhYmxlICYmIHRoaXMubXVsdGlwbGU7XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzU2VhcmNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VhcmNoICYmIHRoaXMuaGFzVGFibGU7XHJcbiAgfVxyXG5cclxuICB0ZW1wOiBhbnk7XHJcbiAgaGVpZ2h0ID0gMTAwO1xyXG5cclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHByaXZhdGUgX3Jlc2l6ZU9ic2VydmVyITogWFJlc2l6ZU9ic2VydmVyO1xyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcclxuICBvdmVycmlkZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIGNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoWENvbmZpZ1NlcnZpY2UpO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCB7IHRhYmxlRGF0YSwgbGFiZWxBbGlnbiwgc2l6ZSB9ID0gc2ltcGxlcztcclxuICAgIFhJc0NoYW5nZSh0YWJsZURhdGEpICYmIHRoaXMuc2V0VGFibGVDaGVja2VkUm93KCk7XHJcbiAgICBYSXNDaGFuZ2UobGFiZWxBbGlnbiwgc2l6ZSkgJiYgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldEZsZXgodGhpcy5maW5kLm5hdGl2ZUVsZW1lbnQsIHRoaXMucmVuZGVyZXIsIHRoaXMuanVzdGlmeSwgdGhpcy5hbGlnbiwgdGhpcy5kaXJlY3Rpb24pO1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gICAgdGhpcy5zZXRNdWx0aXBsZSgpO1xyXG4gICAgdGhpcy5zZXRXaWR0aCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKHRoaXMudmFsdWUpIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgWENsZWFyQ2xhc3ModGhpcy5sYWJlbE1hcCwgdGhpcy5jbGFzc01hcCk7XHJcbiAgICB0aGlzLmxhYmVsTWFwW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ259YF0gPSB0aGlzLmxhYmVsQWxpZ24gPyB0cnVlIDogZmFsc2U7XHJcbiAgICB0aGlzLmNsYXNzTWFwW2B4LWZpbmQtJHt0aGlzLnNpemV9YF0gPSAhWElzRW1wdHkodGhpcy5zaXplKTtcclxuICB9XHJcblxyXG4gIHNldFN1YnNjcmliZSgpIHtcclxuICAgIGxldCByZXNpemVSZWY6IEVsZW1lbnRbXSA9IFtdO1xyXG4gICAgaWYgKHRoaXMuaGFzVGFibGUpIHtcclxuICAgICAgcmVzaXplUmVmID0gW3RoaXMudGFibGVSZWY/Lm5hdGl2ZUVsZW1lbnRdO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaGFzVHJlZSAmJiAhdGhpcy5oYXNUcmVlVGFibGUpIHtcclxuICAgICAgcmVzaXplUmVmLnB1c2godGhpcy50cmVlUmVmPy5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICBYUmVzaXplKC4uLnJlc2l6ZVJlZilcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDMwKSwgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLl9yZXNpemVPYnNlcnZlciA9IHgucmVzaXplT2JzZXJ2ZXI7XHJcbiAgICAgICAgaWYgKHRoaXMudGFibGVSZWYpIHtcclxuICAgICAgICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy50YWJsZVJlZi5uYXRpdmVFbGVtZW50LmNsaWVudEhlaWdodDtcclxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaGFzVHJlZSkge1xyXG4gICAgICAgICAgdGhpcy5oZWlnaHQgPSB0aGlzLnRyZWVSZWY/Lm5hdGl2ZUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0TXVsdGlwbGUoKSB7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlwbGUpIHJldHVybjtcclxuICAgIGlmICh0aGlzLmhhc1RhYmxlKSB7XHJcbiAgICAgIGlmICghdGhpcy50YWJsZUNvbHVtbnMuZmluZCgoeCkgPT4geC5yb3dDaGVja2VkKSkge1xyXG4gICAgICAgIHRoaXMudGFibGVDb2x1bW5zID0gW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogJyRjaGVja2VkJyxcclxuICAgICAgICAgICAgbGFiZWw6IHRoaXMuZGlhbG9nQ2hlY2tib3hMYWJlbCxcclxuICAgICAgICAgICAgcm93Q2hlY2tlZDogdHJ1ZSxcclxuICAgICAgICAgICAgdHlwZTogJ2NoZWNrYm94JyxcclxuICAgICAgICAgICAgd2lkdGg6IHRoaXMuZGlhbG9nQ2hlY2tib3hXaWR0aFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIC4uLnRoaXMudGFibGVDb2x1bW5zXHJcbiAgICAgICAgXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0V2lkdGgoKSB7XHJcbiAgICBpZiAoWElzVW5kZWZpbmVkKHRoaXMuZGlhbG9nV2lkdGgpKSB7XHJcbiAgICAgIGlmICgodGhpcy5oYXNUYWJsZSAmJiB0aGlzLmhhc1RyZWUpIHx8IHRoaXMuaGFzVGFibGUpIHtcclxuICAgICAgICB0aGlzLmRpYWxvZ1dpZHRoID0gJzUwcmVtJztcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmhhc1RyZWUgJiYgdGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nV2lkdGggPSAnMzByZW0nO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaGFzVHJlZSkge1xyXG4gICAgICAgIHRoaXMuZGlhbG9nV2lkdGggPSAnMjByZW0nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93TW9kYWwoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5kaWFsb2dWaXNpYmxlID0gdHJ1ZTtcclxuICAgIHRoaXMuZGlhbG9nVmlzaWJsZUNoYW5nZS5lbWl0KHRoaXMuZGlhbG9nVmlzaWJsZSk7XHJcbiAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgIHRoaXMudGVtcCA9ICh0aGlzLnZhbHVlIGFzIEFycmF5PGFueT4pLm1hcCgoeCkgPT4gT2JqZWN0LmFzc2lnbih7fSwgeCkpO1xyXG4gICAgICAgIHRoaXMuc2V0VGFibGVDaGVja2VkUm93KCk7XHJcbiAgICAgICAgdGhpcy5zZXRUcmVlQ2hlY2tlZCgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudGFibGVBY3RpdmF0ZWRSb3cgPSB0aGlzLnZhbHVlO1xyXG4gICAgICAgIGlmICghdGhpcy5oYXNUcmVlVGFibGUgJiYgdGhpcy5oYXNUcmVlKSB7XHJcbiAgICAgICAgICB0aGlzLnRyZWVBY3RpdmF0ZWRJZCA9IHRoaXMudmFsdWUuaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRlbXAgPSB0aGlzLm11bHRpcGxlID8gW10gOiBudWxsO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaGFzVGFibGUpIHtcclxuICAgICAgdGhpcy50YWJsZUNvbS52aXJ0dWFsQm9keT8uc2Nyb2xsVG9JbmRleCgwKTtcclxuICAgICAgdGhpcy50YWJsZUNvbS52aXJ0dWFsQm9keT8uY2hlY2tWaWV3cG9ydFNpemUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFRhYmxlQ2hlY2tlZFJvdygpIHtcclxuICAgIGlmICghdGhpcy5tdWx0aXBsZSB8fCBYSXNVbmRlZmluZWQodGhpcy50ZW1wKSkgcmV0dXJuO1xyXG4gICAgY29uc3QgaWRzID0gKHRoaXMudGVtcCBhcyBBcnJheTxhbnk+KS5tYXAoKHgpID0+IHguaWQpO1xyXG4gICAgdGhpcy50YWJsZUNoZWNrZWRSb3cgPSB7XHJcbiAgICAgIC4uLnRoaXMudGFibGVDaGVja2VkUm93LFxyXG4gICAgICAkY2hlY2tlZDogaWRzXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0VHJlZUNoZWNrZWQoKSB7XHJcbiAgICBpZiAodGhpcy5oYXNUcmVlTXVsdGlwbGUpIHRoaXMudHJlZUNoZWNrZWQgPSB0aGlzLnRlbXAubWFwKCh4OiBhbnkpID0+IHguaWQpO1xyXG4gIH1cclxuXHJcbiAgc3VyZSgpIHtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLnRlbXA7XHJcbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbFZhbGlkYXRvcigpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VNb2RhbCgpIHtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGRpYWxvZ0Nsb3NlRG9uZSgpIHtcclxuICAgIGlmICh0aGlzLmhhc1RyZWUpIHtcclxuICAgICAgdGhpcy50cmVlQWN0aXZhdGVkSWQgPSBudWxsO1xyXG4gICAgICB0aGlzLnRlbXAgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGVtcENsb3NlKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkge1xyXG4gICAgdGhpcy50ZW1wLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICBpZiAodGhpcy5oYXNUYWJsZSkge1xyXG4gICAgICBsZXQgaXQgPSB0aGlzLnRhYmxlQ29tPy50YWJsZURhdGEuZmluZCgoeCkgPT4gaXRlbS5pZCA9PT0geC5pZCk7XHJcbiAgICAgIGlmIChpdCkge1xyXG4gICAgICAgIGl0WyckY2hlY2tlZCddID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy50YWJsZUNvbT8uYm9keUNoYW5nZSgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGFzVHJlZSkge1xyXG4gICAgICBsZXQgaXQgPSB0aGlzLnRyZWVDb20/LnRyZWVEYXRhLmZpbmQoKHgpID0+IGl0ZW0uaWQgPT09IHguaWQpO1xyXG4gICAgICBpZiAoaXQpIHtcclxuICAgICAgICBpdC5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgaXQuY2hhbmdlICYmIGl0LmNoYW5nZSgpO1xyXG4gICAgICAgIHRoaXMudHJlZUNvbT8uY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRhZ0Nsb3NlKGluZGV4OiBudW1iZXIgPSAtMSkge1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy52YWx1ZS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy52YWx1ZSA9IG51bGw7XHJcbiAgICAgIHRoaXMudGFibGVBY3RpdmF0ZWRSb3cgPSBudWxsO1xyXG4gICAgICBpZiAoIXRoaXMuaGFzVHJlZVRhYmxlICYmIHRoaXMuaGFzVHJlZSkge1xyXG4gICAgICAgIHRoaXMudHJlZUFjdGl2YXRlZElkID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2xWYWxpZGF0b3IoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRhYmxlQWN0aXZhdGVkUm93Q2hhbmdlKGRhdGE6IFhUYWJsZVJvdykge1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5yb3dNdWx0aXBsZShkYXRhKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudGVtcCA9IGRhdGE7XHJcbiAgICAgIHRoaXMuZGlhbG9nVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnN1cmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJvd011bHRpcGxlKGRhdGE6IFhUYWJsZVJvdykge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnRlbXAgPT09ICd1bmRlZmluZWQnKSB0aGlzLnRlbXAgPSBbXTtcclxuICAgIC8vIGRhdGFbJyRjaGVja2VkJ10gPSAhZGF0YVsnJGNoZWNrZWQnXTtcclxuICAgIGlmIChkYXRhWyckY2hlY2tlZCddKSB7XHJcbiAgICAgIHRoaXMudGVtcCA9IFsuLi50aGlzLnRlbXAsIGRhdGFdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50ZW1wLnNwbGljZShcclxuICAgICAgICAodGhpcy50ZW1wIGFzIEFycmF5PGFueT4pLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gZGF0YS5pZCksXHJcbiAgICAgICAgMVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdHJlZU11bHRpcGxlKG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnRlbXAgPT09ICd1bmRlZmluZWQnKSB0aGlzLnRlbXAgPSBbXTtcclxuICAgIC8vIG5vZGUuJGNoZWNrZWQgPSAhbm9kZS4kY2hlY2tlZDtcclxuICAgIGlmIChub2RlLmNoZWNrZWQpIHtcclxuICAgICAgdGhpcy50ZW1wID0gWy4uLnRoaXMudGVtcCwgbm9kZV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRlbXAuc3BsaWNlKFxyXG4gICAgICAgICh0aGlzLnRlbXAgYXMgQXJyYXk8YW55PikuZmluZEluZGV4KCh4KSA9PiB4LmlkID09PSBub2RlLmlkKSxcclxuICAgICAgICAxXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICB0cmVlQWN0aXZhdGVkQ2xpY2sobm9kZTogWFRyZWVOb2RlKSB7XHJcbiAgICBpZiAoIXRoaXMuaGFzVHJlZVRhYmxlICYmIHRoaXMuaGFzVHJlZSkge1xyXG4gICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgIC8vIHRoaXMudHJlZU11bHRpcGxlKG5vZGUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudGVtcCA9IG5vZGU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5oYXNUcmVlVGFibGUgJiYgdGhpcy50cmVlVGFibGVDb25uZWN0KSB7XHJcbiAgICAgIGlmICghdGhpcy50YWJsZVF1ZXJ5KSB0aGlzLnRhYmxlUXVlcnkgPSB7fTtcclxuICAgICAgaWYgKCF0aGlzLnRhYmxlUXVlcnkuZmlsdGVyKSB0aGlzLnRhYmxlUXVlcnkuZmlsdGVyID0gW107XHJcbiAgICAgIGxldCBmaWVsZCA9IHRoaXMudGFibGVRdWVyeS5maWx0ZXIuZmluZCgoeCkgPT4geC5maWVsZCA9PT0gdGhpcy50cmVlVGFibGVDb25uZWN0KTtcclxuICAgICAgaWYgKGZpZWxkKSB7XHJcbiAgICAgICAgZmllbGQudmFsdWUgPSBub2RlLmlkO1xyXG4gICAgICAgIGZpZWxkLm9wZXJhdGlvbiA9ICc9JztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRhYmxlUXVlcnkuZmlsdGVyID0gW1xyXG4gICAgICAgICAgLi4udGhpcy50YWJsZVF1ZXJ5LmZpbHRlcixcclxuICAgICAgICAgIHsgZmllbGQ6IHRoaXMudHJlZVRhYmxlQ29ubmVjdCwgdmFsdWU6IG5vZGUuaWQsIG9wZXJhdGlvbjogJz0nIH1cclxuICAgICAgICBdO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudGFibGVDb20uY2hhbmdlKDEpO1xyXG4gICAgICB0aGlzLnRyZWVBY3RpdmF0ZWRJZCA9IG5vZGUuaWQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRyZWVBY3RpdmF0ZWRDaGFuZ2UuZW1pdChub2RlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRyZWVDaGVja2JveENoYW5nZShub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIHRoaXMudHJlZU11bHRpcGxlKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2xDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5uZ0FmdGVyVmlld0luaXQoKTtcclxuICAgIHRoaXMudHJlZUNvbT8uc2V0RGF0YSgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLnNlYXJjaENsaWNrKCk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0RlbGV0ZScpIHtcclxuICAgICAgdGhpcy5zZWFyY2gudmFsdWUgPSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlYXJjaENsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmhhc1NlYXJjaCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy50YWJsZVF1ZXJ5ID0gdGhpcy50YWJsZVF1ZXJ5IHx8IFtdO1xyXG4gICAgdGhpcy50YWJsZVF1ZXJ5LmZpbHRlciA9IHRoaXMudGFibGVRdWVyeS5maWx0ZXIgfHwgW107XHJcbiAgICBjb25zdCBmaWVsZCA9IHRoaXMudGFibGVRdWVyeS5maWx0ZXIuZmluZCgoeCkgPT4geC5maWVsZCA9PT0gdGhpcy5zZWFyY2guZmllbGQpO1xyXG5cclxuICAgIGlmIChmaWVsZCkge1xyXG4gICAgICBmaWVsZC52YWx1ZSA9IHRoaXMuc2VhcmNoLnZhbHVlIHx8ICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50YWJsZVF1ZXJ5LmZpbHRlciA9IFsuLi50aGlzLnRhYmxlUXVlcnk/LmZpbHRlciwgdGhpcy5zZWFyY2hdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGFibGVDb20uY2hhbmdlKDEpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgI2ZpbmRcclxuICBjbGFzcz1cIngtZmluZFwiXHJcbiAgW2NsYXNzLngtZmxleF09XCJqdXN0aWZ5IHx8IGFsaWduIHx8IGRpcmVjdGlvblwiXHJcbiAgW2NsYXNzLngtY2hlY2tlZF09XCJ2YWx1ZVwiXHJcbiAgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtjbGFzcy54LXJlcXVpcmVkXT1cInJlcXVpcmVkSXNFbXB0eVwiXHJcbiAgW2NsYXNzLngtaW52YWxpZF09XCJpbnZhbGlkXCJcclxuICBbbmdDbGFzc109XCJjbGFzc01hcFwiXHJcbj5cclxuICBAaWYgKGxhYmVsKSB7XHJcbiAgICA8bGFiZWwgW2NsYXNzLngtZmluZC1sYWJlbC1yZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtzdHlsZS53aWR0aF09XCJsYWJlbFdpZHRoXCIgW25nQ2xhc3NdPVwibGFiZWxNYXBcIj57eyBsYWJlbCB9fTwvbGFiZWw+XHJcbiAgfVxyXG4gIDxkaXYgY2xhc3M9XCJ4LWZpbmQtcm93XCI+XHJcbiAgICA8eC1idXR0b25cclxuICAgICAgI2J1dHRvbkNvbVxyXG4gICAgICBpY29uPVwiZnRvLXNlYXJjaFwiXHJcbiAgICAgIFtvbmx5SWNvbl09XCIhYm9yZGVyZWRcIlxyXG4gICAgICBbc2l6ZV09XCJzaXplXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgYXR0clR5cGU9XCJidXR0b25cIlxyXG4gICAgICAoY2xpY2spPVwic2hvd01vZGFsKClcIlxyXG4gICAgPjwveC1idXR0b24+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1maW5kLXRhZ3NcIj5cclxuICAgICAgQGlmIChtdWx0aXBsZSkge1xyXG4gICAgICAgIEBmb3IgKGl0ZW0gb2YgdmFsdWU7IHRyYWNrIGl0ZW0uaWQ7IGxldCBpID0gJGluZGV4KSB7XHJcbiAgICAgICAgICA8eC10YWcgY2xvc2FibGUgW3NpemVdPVwic2l6ZVwiIFtib3JkZXJlZF09XCJib3JkZXJlZFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIChjbG9zZSk9XCJ0YWdDbG9zZShpKVwiPnt7XHJcbiAgICAgICAgICAgIGl0ZW1bY29sdW1uTGFiZWxdXHJcbiAgICAgICAgICB9fTwveC10YWc+XHJcbiAgICAgICAgfVxyXG4gICAgICB9IEBlbHNlIGlmICh2YWx1ZSkge1xyXG4gICAgICAgIDx4LXRhZyBjbG9zYWJsZSBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbYm9yZGVyZWRdPVwiYm9yZGVyZWRcIiBbc2l6ZV09XCJzaXplXCIgKGNsb3NlKT1cInRhZ0Nsb3NlKClcIj57e1xyXG4gICAgICAgICAgdmFsdWVbY29sdW1uTGFiZWxdXHJcbiAgICAgICAgfX08L3gtdGFnPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48eC1kaWFsb2dcclxuICAjZGlhbG9nQ29tXHJcbiAgW3RpdGxlXT1cImRpYWxvZ1RpdGxlXCJcclxuICBbd2lkdGhdPVwiZGlhbG9nV2lkdGhcIlxyXG4gIFtoZWlnaHRdPVwiZGlhbG9nSGVpZ2h0XCJcclxuICBbYnV0dG9uc0NlbnRlcl09XCJkaWFsb2dCdXR0b25zQ2VudGVyXCJcclxuICBbY2xhc3NOYW1lXT1cIid4LWZpbmQtZGlhbG9nLWNvbnRhaW5lcidcIlxyXG4gIFsodmlzaWJsZSldPVwiZGlhbG9nVmlzaWJsZVwiXHJcbiAgKHZpc2libGVDaGFuZ2UpPVwiZGlhbG9nVmlzaWJsZUNoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gIChjbG9zZURvbmUpPVwiZGlhbG9nQ2xvc2VEb25lKClcIlxyXG4gIChjYW5jZWwpPVwiY2xvc2VNb2RhbCgpXCJcclxuICAoY2xvc2UpPVwiY2xvc2VNb2RhbCgpXCJcclxuICAoY29uZmlybSk9XCJzdXJlKClcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cIngtZmluZC1kaWFsb2dcIiBbY2xhc3MueC1maW5kLWRpYWxvZy10cmVlLXRhYmxlXT1cImhhc1RhYmxlICYmIGhhc1RyZWVcIj5cclxuICAgIEBpZiAoaGFzVHJlZSkge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwieC1maW5kLWRpYWxvZy10cmVlXCIgI3RyZWVSZWYgW3N0eWxlLmhlaWdodC5weF09XCJoYXNUcmVlVGFibGUgJiYgbXVsdGlwbGUgJiYgaGVpZ2h0XCI+XHJcbiAgICAgICAgPHgtdHJlZVxyXG4gICAgICAgICAgI3RyZWVDb21cclxuICAgICAgICAgIFtkYXRhXT1cInRyZWVEYXRhXCJcclxuICAgICAgICAgIG5vZGVIZWlnaHQ9XCIxLjhcIlxyXG4gICAgICAgICAgWyhtYW51YWwpXT1cImRpYWxvZ1Zpc2libGVcIlxyXG4gICAgICAgICAgW2FjdGl2YXRlZElkXT1cInRyZWVBY3RpdmF0ZWRJZFwiXHJcbiAgICAgICAgICBbZXhwYW5kZWRMZXZlbF09XCJ0cmVlRXhwYW5kZWRMZXZlbFwiXHJcbiAgICAgICAgICAoYWN0aXZhdGVkQ2hhbmdlKT1cInRyZWVBY3RpdmF0ZWRDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgIFtjaGVja2JveF09XCJoYXNUcmVlTXVsdGlwbGVcIlxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwidHJlZUNoZWNrZWRcIlxyXG4gICAgICAgICAgKGNoZWNrYm94Q2hhbmdlKT1cInRyZWVDaGVja2JveENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIFtsZXZlbENoZWNrXT1cIiFoYXNUcmVlTXVsdGlwbGVcIlxyXG4gICAgICAgID48L3gtdHJlZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICBAaWYgKGhhc1RhYmxlKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LWZpbmQtZGlhbG9nLXRhYmxlXCIgI3RhYmxlUmVmPlxyXG4gICAgICAgIEBpZiAoaGFzU2VhcmNoKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwieC1maW5kLXNlYXJjaFwiPlxyXG4gICAgICAgICAgICA8eC1pbnB1dFxyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCJzZWFyY2gubGFiZWxcIlxyXG4gICAgICAgICAgICAgIGRpcmVjdGlvbj1cInJvd1wiXHJcbiAgICAgICAgICAgICAgKHhLZXlkb3duKT1cInNlYXJjaEtleURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJzZWFyY2gudmFsdWVcIlxyXG4gICAgICAgICAgICA+PC94LWlucHV0PlxyXG4gICAgICAgICAgICA8eC1idXR0b24gdHlwZT1cInByaW1hcnlcIiBwbGFpbiAoY2xpY2spPVwic2VhcmNoQ2xpY2soKVwiPnt7IHNlYXJjaC5idXR0b24gfHwgJ+afpeivoicgfX08L3gtYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIDx4LXRhYmxlXHJcbiAgICAgICAgICAjdGFibGVDb21cclxuICAgICAgICAgIFtkYXRhXT1cInRhYmxlRGF0YVwiXHJcbiAgICAgICAgICBbY29sdW1uc109XCJ0YWJsZUNvbHVtbnNcIlxyXG4gICAgICAgICAgWyhtYW51YWwpXT1cImRpYWxvZ1Zpc2libGVcIlxyXG4gICAgICAgICAgWyhpbmRleCldPVwidGFibGVJbmRleFwiXHJcbiAgICAgICAgICBbKHNpemUpXT1cInRhYmxlU2l6ZVwiXHJcbiAgICAgICAgICBbcXVlcnldPVwidGFibGVRdWVyeVwiXHJcbiAgICAgICAgICBbdG90YWxdPVwidGFibGVUb3RhbFwiXHJcbiAgICAgICAgICBbYWxsb3dTZWxlY3RSb3ddPVwiIW11bHRpcGxlXCJcclxuICAgICAgICAgIFthbGxvd0NoZWNrUm93XT1cIm11bHRpcGxlXCJcclxuICAgICAgICAgIFtjaGVja2VkUm93XT1cInRhYmxlQ2hlY2tlZFJvd1wiXHJcbiAgICAgICAgICBbbG9hZGluZ109XCJ0YWJsZUxvYWRpbmdcIlxyXG4gICAgICAgICAgKGluZGV4Q2hhbmdlKT1cInRhYmxlSW5kZXhDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgIChzb3J0Q2hhbmdlKT1cInRhYmxlU29ydENoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgWyhhY3RpdmF0ZWRSb3cpXT1cInRhYmxlQWN0aXZhdGVkUm93XCJcclxuICAgICAgICAgIChhY3RpdmF0ZWRSb3dDaGFuZ2UpPVwidGFibGVBY3RpdmF0ZWRSb3dDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbcm93SGVpZ2h0XT1cInRhYmxlUm93SGVpZ2h0XCJcclxuICAgICAgICAgIFtib2R5SGVpZ2h0XT1cInRhYmxlQm9keUhlaWdodFwiXHJcbiAgICAgICAgICBbdmlydHVhbFNjcm9sbF09XCJ0YWJsZVZpcnR1YWxTY3JvbGxcIlxyXG4gICAgICAgICAgW21pbkJ1ZmZlclB4XT1cInRhYmxlTWluQnVmZmVyUHhcIlxyXG4gICAgICAgICAgW21heEJ1ZmZlclB4XT1cInRhYmxlTWF4QnVmZmVyUHhcIlxyXG4gICAgICAgICAgW2FkYXB0aW9uSGVpZ2h0XT1cInRhYmxlQWRhcHRpb25IZWlnaHRcIlxyXG4gICAgICAgICAgW2RvY1BlcmNlbnRdPVwidGFibGVEb2NQZXJjZW50XCJcclxuICAgICAgICA+PC94LXRhYmxlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICAgIEBpZiAobXVsdGlwbGUpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cIngtZmluZC1kaWFsb2ctY2hlY2tlZFwiIFtjbGFzcy54LWZpbmQtZW1wdHldPVwiZ2V0RW1wdHlcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImhlaWdodFwiPlxyXG4gICAgICAgIEBpZiAoZ2V0RW1wdHkpIHtcclxuICAgICAgICAgIDx4LWVtcHR5IFtjb250ZW50XT1cImRpYWxvZ0VtcHR5Q29udGVudFwiPjwveC1lbXB0eT5cclxuICAgICAgICB9XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtZmluZC1kaWFsb2ctdGFnc1wiPlxyXG4gICAgICAgICAgQGZvciAoaXRlbSBvZiB0ZW1wOyB0cmFjayBpdGVtLmlkOyBsZXQgaSA9ICRpbmRleCkge1xyXG4gICAgICAgICAgICA8eC10YWcgY2xvc2FibGUgKGNsb3NlKT1cInRlbXBDbG9zZShpLCBpdGVtKVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW1bY29sdW1uTGFiZWxdIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3gtdGFnPlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC94LWRpYWxvZz5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjdHJlZUxhYmVsVHBsIGxldC1ub2RlPVwiJG5vZGVcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1maW5kLWRpYWxvZy10cmVlLW5vZGVcIj5cclxuICAgIDxzcGFuPnt7IG5vZGUubGFiZWwgfX0gPC9zcGFuPlxyXG4gICAgQGlmIChub2RlLiRjaGVja2VkKSB7XHJcbiAgICAgIDx4LWljb24gdHlwZT1cImZ0by1jaGVja1wiPjwveC1pY29uPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
@@ -1,64 +1,16 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
2
  import { XFindComponent } from './find.component';
5
- import { XFindProperty } from './find.property';
6
- import { XButtonModule } from '@ng-nest/ui/button';
7
- import { XDialogModule } from '@ng-nest/ui/dialog';
8
- import { XTableModule } from '@ng-nest/ui/table';
9
- import { XTagModule } from '@ng-nest/ui/tag';
10
- import { XEmptyModule } from '@ng-nest/ui/empty';
11
- import { XTreeModule } from '@ng-nest/ui/tree';
12
- import { XIconModule } from '@ng-nest/ui/icon';
13
- import { XBaseFormModule } from '@ng-nest/ui/base-form';
14
- import { XInputModule } from '@ng-nest/ui/input';
15
3
  import * as i0 from "@angular/core";
16
4
  export class XFindModule {
17
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFindModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.2", ngImport: i0, type: XFindModule, declarations: [XFindComponent, XFindProperty], imports: [CommonModule,
19
- FormsModule,
20
- ReactiveFormsModule,
21
- XTagModule,
22
- XButtonModule,
23
- XDialogModule,
24
- XTableModule,
25
- XTreeModule,
26
- XIconModule,
27
- XEmptyModule,
28
- XInputModule,
29
- XBaseFormModule], exports: [XFindComponent] }); }
30
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFindModule, imports: [CommonModule,
31
- FormsModule,
32
- ReactiveFormsModule,
33
- XTagModule,
34
- XButtonModule,
35
- XDialogModule,
36
- XTableModule,
37
- XTreeModule,
38
- XIconModule,
39
- XEmptyModule,
40
- XInputModule,
41
- XBaseFormModule] }); }
5
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFindModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.7", ngImport: i0, type: XFindModule, imports: [XFindComponent], exports: [XFindComponent] }); }
7
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFindModule, imports: [XFindComponent] }); }
42
8
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFindModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFindModule, decorators: [{
44
10
  type: NgModule,
45
11
  args: [{
46
- declarations: [XFindComponent, XFindProperty],
47
12
  exports: [XFindComponent],
48
- imports: [
49
- CommonModule,
50
- FormsModule,
51
- ReactiveFormsModule,
52
- XTagModule,
53
- XButtonModule,
54
- XDialogModule,
55
- XTableModule,
56
- XTreeModule,
57
- XIconModule,
58
- XEmptyModule,
59
- XInputModule,
60
- XBaseFormModule
61
- ]
13
+ imports: [XFindComponent]
62
14
  }]
63
15
  }] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9maW5kL2ZpbmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQW9CakQsTUFBTSxPQUFPLFdBQVc7aUlBQVgsV0FBVztrSUFBWCxXQUFXLGlCQWpCUCxjQUFjLEVBQUUsYUFBYSxhQUcxQyxZQUFZO1lBQ1osV0FBVztZQUNYLG1CQUFtQjtZQUNuQixVQUFVO1lBQ1YsYUFBYTtZQUNiLGFBQWE7WUFDYixZQUFZO1lBQ1osV0FBVztZQUNYLFdBQVc7WUFDWCxZQUFZO1lBQ1osWUFBWTtZQUNaLGVBQWUsYUFiUCxjQUFjO2tJQWdCYixXQUFXLFlBZHBCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFVBQVU7WUFDVixhQUFhO1lBQ2IsYUFBYTtZQUNiLFlBQVk7WUFDWixXQUFXO1lBQ1gsV0FBVztZQUNYLFlBQVk7WUFDWixZQUFZO1lBQ1osZUFBZTs7MkZBR04sV0FBVztrQkFsQnZCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLGFBQWEsQ0FBQztvQkFDN0MsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUN6QixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsVUFBVTt3QkFDVixhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGVBQWU7cUJBQ2hCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhGaW5kQ29tcG9uZW50IH0gZnJvbSAnLi9maW5kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhGaW5kUHJvcGVydHkgfSBmcm9tICcuL2ZpbmQucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYnV0dG9uJztcclxuaW1wb3J0IHsgWERpYWxvZ01vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2RpYWxvZyc7XHJcbmltcG9ydCB7IFhUYWJsZU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3RhYmxlJztcclxuaW1wb3J0IHsgWFRhZ01vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL3RhZyc7XHJcbmltcG9ydCB7IFhFbXB0eU1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2VtcHR5JztcclxuaW1wb3J0IHsgWFRyZWVNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS90cmVlJztcclxuaW1wb3J0IHsgWEljb25Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9pY29uJztcclxuaW1wb3J0IHsgWEJhc2VGb3JtTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvYmFzZS1mb3JtJztcclxuaW1wb3J0IHsgWElucHV0TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaW5wdXQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtYRmluZENvbXBvbmVudCwgWEZpbmRQcm9wZXJ0eV0sXHJcbiAgZXhwb3J0czogW1hGaW5kQ29tcG9uZW50XSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBYVGFnTW9kdWxlLFxyXG4gICAgWEJ1dHRvbk1vZHVsZSxcclxuICAgIFhEaWFsb2dNb2R1bGUsXHJcbiAgICBYVGFibGVNb2R1bGUsXHJcbiAgICBYVHJlZU1vZHVsZSxcclxuICAgIFhJY29uTW9kdWxlLFxyXG4gICAgWEVtcHR5TW9kdWxlLFxyXG4gICAgWElucHV0TW9kdWxlLFxyXG4gICAgWEJhc2VGb3JtTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWEZpbmRNb2R1bGUge31cclxuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9maW5kL2ZpbmQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQU1sRCxNQUFNLE9BQU8sV0FBVztpSUFBWCxXQUFXO2tJQUFYLFdBQVcsWUFGWixjQUFjLGFBRGQsY0FBYztrSUFHYixXQUFXLFlBRlosY0FBYzs7MkZBRWIsV0FBVztrQkFKdkIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQ3pCLE9BQU8sRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYRmluZENvbXBvbmVudCB9IGZyb20gJy4vZmluZC5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBleHBvcnRzOiBbWEZpbmRDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtYRmluZENvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhGaW5kTW9kdWxlIHt9XHJcbiJdfQ==
@@ -107,8 +107,8 @@ export class XFindProperty extends XControlValueAccessor {
107
107
  */
108
108
  this.treeChecked = [];
109
109
  }
110
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFindProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
111
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: XFindProperty, selector: "x-find-property", inputs: { size: "size", bordered: "bordered", multiple: "multiple", columnLabel: "columnLabel", dialogTitle: "dialogTitle", dialogCheckboxLabel: "dialogCheckboxLabel", dialogCheckboxWidth: "dialogCheckboxWidth", dialogEmptyContent: "dialogEmptyContent", dialogWidth: "dialogWidth", dialogHeight: "dialogHeight", dialogVisible: "dialogVisible", dialogButtonsCenter: "dialogButtonsCenter", tableData: "tableData", tableIndex: "tableIndex", tableSize: "tableSize", tableQuery: "tableQuery", tableTotal: "tableTotal", tableColumns: "tableColumns", tableActivatedRow: "tableActivatedRow", tableCheckedRow: "tableCheckedRow", tableLoading: "tableLoading", tableVirtualScroll: "tableVirtualScroll", tableBodyHeight: "tableBodyHeight", tableMinBufferPx: "tableMinBufferPx", tableMaxBufferPx: "tableMaxBufferPx", tableAdaptionHeight: "tableAdaptionHeight", tableDocPercent: "tableDocPercent", tableRowHeight: "tableRowHeight", treeData: "treeData", treeActivatedId: "treeActivatedId", treeExpandedLevel: "treeExpandedLevel", treeChecked: "treeChecked", treeCheckbox: "treeCheckbox", treeTableConnect: "treeTableConnect", search: "search" }, outputs: { dialogVisibleChange: "dialogVisibleChange", tableIndexChange: "tableIndexChange", tableSizeChange: "tableSizeChange", tableSortChange: "tableSortChange", tableRowEmit: "tableRowEmit", treeActivatedChange: "treeActivatedChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
110
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFindProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
111
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.7", type: XFindProperty, selector: "x-find-property", inputs: { size: "size", bordered: "bordered", multiple: "multiple", columnLabel: "columnLabel", dialogTitle: "dialogTitle", dialogCheckboxLabel: "dialogCheckboxLabel", dialogCheckboxWidth: "dialogCheckboxWidth", dialogEmptyContent: "dialogEmptyContent", dialogWidth: "dialogWidth", dialogHeight: "dialogHeight", dialogVisible: "dialogVisible", dialogButtonsCenter: "dialogButtonsCenter", tableData: "tableData", tableIndex: "tableIndex", tableSize: "tableSize", tableQuery: "tableQuery", tableTotal: "tableTotal", tableColumns: "tableColumns", tableActivatedRow: "tableActivatedRow", tableCheckedRow: "tableCheckedRow", tableLoading: "tableLoading", tableVirtualScroll: "tableVirtualScroll", tableBodyHeight: "tableBodyHeight", tableMinBufferPx: "tableMinBufferPx", tableMaxBufferPx: "tableMaxBufferPx", tableAdaptionHeight: "tableAdaptionHeight", tableDocPercent: "tableDocPercent", tableRowHeight: "tableRowHeight", treeData: "treeData", treeActivatedId: "treeActivatedId", treeExpandedLevel: "treeExpandedLevel", treeChecked: "treeChecked", treeCheckbox: "treeCheckbox", treeTableConnect: "treeTableConnect", search: "search" }, outputs: { dialogVisibleChange: "dialogVisibleChange", tableIndexChange: "tableIndexChange", tableSizeChange: "tableSizeChange", tableSortChange: "tableSortChange", tableRowEmit: "tableRowEmit", treeActivatedChange: "treeActivatedChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
112
112
  }
113
113
  __decorate([
114
114
  XWithConfig(X_CONFIG_NAME, 'medium')
@@ -180,7 +180,7 @@ __decorate([
180
180
  __decorate([
181
181
  XInputBoolean()
182
182
  ], XFindProperty.prototype, "treeCheckbox", void 0);
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: XFindProperty, decorators: [{
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.7", ngImport: i0, type: XFindProperty, decorators: [{
184
184
  type: Component,
185
185
  args: [{ selector: `${XFindPrefix}-property`, template: '' }]
186
186
  }], propDecorators: { size: [{