@ng-nest/ui 13.1.6 → 13.1.9

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 (656) hide show
  1. package/core/animation/opacity.d.ts +2 -0
  2. package/core/animation/public-api.d.ts +1 -0
  3. package/core/config/config.d.ts +5 -0
  4. package/dialog/dialog-container.component.d.ts +8 -0
  5. package/dialog/dialog.component.d.ts +10 -2
  6. package/dialog/dialog.module.d.ts +15 -14
  7. package/dialog/dialog.property.d.ts +16 -2
  8. package/dialog/examples/en_US/default/container/README.md +6 -0
  9. package/dialog/examples/en_US/default/resizable/README.md +6 -0
  10. package/dialog/examples/zh_CN/default/container/README.md +6 -0
  11. package/dialog/public-api.d.ts +1 -0
  12. package/esm2020/affix/affix.component.mjs +4 -4
  13. package/esm2020/affix/affix.module.mjs +5 -5
  14. package/esm2020/affix/affix.property.mjs +4 -4
  15. package/esm2020/alert/alert.component.mjs +4 -4
  16. package/esm2020/alert/alert.module.mjs +5 -5
  17. package/esm2020/alert/alert.property.mjs +4 -4
  18. package/esm2020/anchor/anchor.component.mjs +4 -4
  19. package/esm2020/anchor/anchor.module.mjs +5 -5
  20. package/esm2020/anchor/anchor.property.mjs +4 -4
  21. package/esm2020/api/api.component.mjs +4 -4
  22. package/esm2020/api/api.module.mjs +5 -5
  23. package/esm2020/auto-complete/auto-complete-portal.component.mjs +4 -4
  24. package/esm2020/auto-complete/auto-complete.component.mjs +6 -5
  25. package/esm2020/auto-complete/auto-complete.module.mjs +5 -5
  26. package/esm2020/auto-complete/auto-complete.property.mjs +4 -4
  27. package/esm2020/avatar/avatar.component.mjs +4 -4
  28. package/esm2020/avatar/avatar.module.mjs +5 -5
  29. package/esm2020/avatar/avatar.property.mjs +4 -4
  30. package/esm2020/back-top/back-top.component.mjs +4 -4
  31. package/esm2020/back-top/back-top.module.mjs +5 -5
  32. package/esm2020/back-top/back-top.property.mjs +4 -4
  33. package/esm2020/badge/badge.component.mjs +4 -4
  34. package/esm2020/badge/badge.module.mjs +5 -5
  35. package/esm2020/badge/badge.property.mjs +4 -4
  36. package/esm2020/base-form/base-form.component.mjs +4 -4
  37. package/esm2020/base-form/base-form.module.mjs +5 -5
  38. package/esm2020/base-form/base-form.property.mjs +4 -4
  39. package/esm2020/border/border.component.mjs +4 -4
  40. package/esm2020/border/border.module.mjs +5 -5
  41. package/esm2020/button/button.component.mjs +4 -4
  42. package/esm2020/button/button.module.mjs +5 -5
  43. package/esm2020/button/button.property.mjs +7 -7
  44. package/esm2020/button/buttons.component.mjs +4 -4
  45. package/esm2020/calendar/calendar.component.mjs +4 -4
  46. package/esm2020/calendar/calendar.module.mjs +5 -5
  47. package/esm2020/calendar/calendar.property.mjs +4 -4
  48. package/esm2020/card/card.component.mjs +4 -4
  49. package/esm2020/card/card.module.mjs +5 -5
  50. package/esm2020/card/card.property.mjs +4 -4
  51. package/esm2020/carousel/carousel-panel.component.mjs +4 -4
  52. package/esm2020/carousel/carousel.component.mjs +4 -4
  53. package/esm2020/carousel/carousel.module.mjs +5 -5
  54. package/esm2020/carousel/carousel.property.mjs +7 -7
  55. package/esm2020/cascade/cascade-portal.component.mjs +4 -4
  56. package/esm2020/cascade/cascade.component.mjs +4 -4
  57. package/esm2020/cascade/cascade.module.mjs +5 -5
  58. package/esm2020/cascade/cascade.property.mjs +4 -4
  59. package/esm2020/checkbox/checkbox.component.mjs +4 -4
  60. package/esm2020/checkbox/checkbox.module.mjs +5 -5
  61. package/esm2020/checkbox/checkbox.property.mjs +4 -4
  62. package/esm2020/collapse/collapse-panel.component.mjs +4 -4
  63. package/esm2020/collapse/collapse.component.mjs +4 -4
  64. package/esm2020/collapse/collapse.module.mjs +5 -5
  65. package/esm2020/collapse/collapse.property.mjs +7 -7
  66. package/esm2020/color/color.component.mjs +4 -4
  67. package/esm2020/color/color.module.mjs +5 -5
  68. package/esm2020/color/color.property.mjs +4 -4
  69. package/esm2020/color-picker/color-picker-portal.component.mjs +5 -5
  70. package/esm2020/color-picker/color-picker.component.mjs +4 -4
  71. package/esm2020/color-picker/color-picker.module.mjs +5 -5
  72. package/esm2020/color-picker/color-picker.property.mjs +4 -4
  73. package/esm2020/comment/comment-reply.component.mjs +4 -4
  74. package/esm2020/comment/comment.component.mjs +4 -4
  75. package/esm2020/comment/comment.module.mjs +5 -5
  76. package/esm2020/comment/comment.property.mjs +7 -7
  77. package/esm2020/container/aside.component.mjs +4 -4
  78. package/esm2020/container/container.component.mjs +4 -4
  79. package/esm2020/container/container.module.mjs +5 -5
  80. package/esm2020/container/container.property.mjs +13 -13
  81. package/esm2020/container/footer.component.mjs +4 -4
  82. package/esm2020/container/header.component.mjs +4 -4
  83. package/esm2020/container/main.component.mjs +4 -4
  84. package/esm2020/core/animation/opacity.mjs +9 -0
  85. package/esm2020/core/animation/public-api.mjs +2 -1
  86. package/esm2020/core/config/config.mjs +1 -1
  87. package/esm2020/core/config/config.service.mjs +4 -4
  88. package/esm2020/core/interfaces/identify.type.mjs +1 -1
  89. package/esm2020/core/services/http.service.mjs +4 -4
  90. package/esm2020/core/services/preloading-strategy.service.mjs +4 -4
  91. package/esm2020/core/services/storage.service.mjs +4 -4
  92. package/esm2020/core/theme/theme.service.mjs +4 -4
  93. package/esm2020/crumb/crumb.component.mjs +4 -4
  94. package/esm2020/crumb/crumb.module.mjs +5 -5
  95. package/esm2020/crumb/crumb.property.mjs +4 -4
  96. package/esm2020/date-picker/date-picker-portal.component.mjs +4 -4
  97. package/esm2020/date-picker/date-picker.component.mjs +4 -4
  98. package/esm2020/date-picker/date-picker.module.mjs +5 -5
  99. package/esm2020/date-picker/date-picker.property.mjs +16 -16
  100. package/esm2020/date-picker/date-range-portal.component.mjs +4 -4
  101. package/esm2020/date-picker/date-range.component.mjs +4 -4
  102. package/esm2020/date-picker/picker-date.component.mjs +4 -4
  103. package/esm2020/date-picker/picker-month.component.mjs +4 -4
  104. package/esm2020/date-picker/picker-year.component.mjs +4 -4
  105. package/esm2020/description/description-item.component.mjs +4 -4
  106. package/esm2020/description/description.component.mjs +5 -5
  107. package/esm2020/description/description.module.mjs +5 -5
  108. package/esm2020/description/description.property.mjs +7 -7
  109. package/esm2020/dialog/dialog-container.component.mjs +29 -0
  110. package/esm2020/dialog/dialog-portal.component.mjs +4 -4
  111. package/esm2020/dialog/dialog-portal.directives.mjs +19 -19
  112. package/esm2020/dialog/dialog.component.mjs +69 -17
  113. package/esm2020/dialog/dialog.module.mjs +15 -8
  114. package/esm2020/dialog/dialog.property.mjs +24 -6
  115. package/esm2020/dialog/dialog.service.mjs +4 -4
  116. package/esm2020/dialog/public-api.mjs +2 -1
  117. package/esm2020/doc/doc.component.mjs +4 -4
  118. package/esm2020/doc/doc.module.mjs +5 -5
  119. package/esm2020/drawer/drawer-container.component.mjs +4 -4
  120. package/esm2020/drawer/drawer-portal.component.mjs +4 -4
  121. package/esm2020/drawer/drawer-portal.directives.mjs +10 -10
  122. package/esm2020/drawer/drawer.component.mjs +4 -4
  123. package/esm2020/drawer/drawer.module.mjs +5 -5
  124. package/esm2020/drawer/drawer.property.mjs +7 -7
  125. package/esm2020/drawer/drawer.service.mjs +4 -4
  126. package/esm2020/dropdown/dropdown-portal.component.mjs +4 -4
  127. package/esm2020/dropdown/dropdown.component.mjs +4 -4
  128. package/esm2020/dropdown/dropdown.module.mjs +5 -5
  129. package/esm2020/dropdown/dropdown.property.mjs +4 -4
  130. package/esm2020/empty/empty.component.mjs +4 -4
  131. package/esm2020/empty/empty.module.mjs +5 -5
  132. package/esm2020/empty/empty.property.mjs +4 -4
  133. package/esm2020/examples/examples.component.mjs +4 -4
  134. package/esm2020/examples/examples.module.mjs +5 -5
  135. package/esm2020/find/find.component.mjs +4 -4
  136. package/esm2020/find/find.module.mjs +5 -5
  137. package/esm2020/find/find.property.mjs +4 -4
  138. package/esm2020/form/control.component.mjs +4 -4
  139. package/esm2020/form/form.component.mjs +4 -4
  140. package/esm2020/form/form.module.mjs +5 -5
  141. package/esm2020/form/form.property.mjs +7 -7
  142. package/esm2020/highlight/highlight.component.mjs +4 -4
  143. package/esm2020/highlight/highlight.module.mjs +5 -5
  144. package/esm2020/highlight/highlight.property.mjs +4 -4
  145. package/esm2020/i18n/i18n.directive.mjs +4 -4
  146. package/esm2020/i18n/i18n.module.mjs +5 -5
  147. package/esm2020/i18n/i18n.pipe.mjs +4 -4
  148. package/esm2020/i18n/i18n.service.mjs +4 -4
  149. package/esm2020/icon/icon.component.mjs +4 -4
  150. package/esm2020/icon/icon.module.mjs +5 -5
  151. package/esm2020/icon/icon.property.mjs +4 -4
  152. package/esm2020/icon/icon.service.mjs +4 -4
  153. package/esm2020/inner/inner.component.mjs +4 -4
  154. package/esm2020/inner/inner.module.mjs +5 -5
  155. package/esm2020/inner/inner.property.mjs +4 -4
  156. package/esm2020/input/input-group.component.mjs +4 -4
  157. package/esm2020/input/input.component.mjs +4 -4
  158. package/esm2020/input/input.module.mjs +5 -5
  159. package/esm2020/input/input.property.mjs +7 -7
  160. package/esm2020/input-number/input-number.component.mjs +4 -4
  161. package/esm2020/input-number/input-number.module.mjs +5 -5
  162. package/esm2020/input-number/input-number.property.mjs +4 -4
  163. package/esm2020/layout/col.component.mjs +4 -4
  164. package/esm2020/layout/layout.module.mjs +5 -5
  165. package/esm2020/layout/layout.property.mjs +7 -7
  166. package/esm2020/layout/row.component.mjs +4 -4
  167. package/esm2020/link/link.component.mjs +4 -4
  168. package/esm2020/link/link.module.mjs +5 -5
  169. package/esm2020/link/link.property.mjs +4 -4
  170. package/esm2020/list/list-option.component.mjs +4 -4
  171. package/esm2020/list/list.component.mjs +4 -4
  172. package/esm2020/list/list.module.mjs +5 -5
  173. package/esm2020/list/list.property.mjs +7 -7
  174. package/esm2020/loading/loading.component.mjs +4 -4
  175. package/esm2020/loading/loading.module.mjs +5 -5
  176. package/esm2020/loading/loading.property.mjs +4 -4
  177. package/esm2020/menu/menu-node.component.mjs +4 -4
  178. package/esm2020/menu/menu.component.mjs +4 -4
  179. package/esm2020/menu/menu.module.mjs +5 -5
  180. package/esm2020/menu/menu.property.mjs +7 -7
  181. package/esm2020/message/message.component.mjs +4 -4
  182. package/esm2020/message/message.module.mjs +5 -5
  183. package/esm2020/message/message.service.mjs +4 -4
  184. package/esm2020/message-box/message-box.component.mjs +4 -4
  185. package/esm2020/message-box/message-box.module.mjs +5 -5
  186. package/esm2020/message-box/message-box.service.mjs +4 -4
  187. package/esm2020/notification/notification.component.mjs +4 -4
  188. package/esm2020/notification/notification.module.mjs +5 -5
  189. package/esm2020/notification/notification.service.mjs +4 -4
  190. package/esm2020/outlet/outlet.directive.mjs +4 -4
  191. package/esm2020/outlet/outlet.module.mjs +5 -5
  192. package/esm2020/page-header/page-header.component.mjs +4 -4
  193. package/esm2020/page-header/page-header.module.mjs +5 -5
  194. package/esm2020/page-header/page-header.property.mjs +4 -4
  195. package/esm2020/pagination/pagination.component.mjs +4 -4
  196. package/esm2020/pagination/pagination.module.mjs +5 -5
  197. package/esm2020/pagination/pagination.property.mjs +4 -4
  198. package/esm2020/pattern/pattern.component.mjs +4 -4
  199. package/esm2020/pattern/pattern.module.mjs +5 -5
  200. package/esm2020/popconfirm/popconfirm.component.mjs +4 -4
  201. package/esm2020/popconfirm/popconfirm.module.mjs +5 -5
  202. package/esm2020/popconfirm/popconfirm.property.mjs +4 -4
  203. package/esm2020/popover/popover-portal.component.mjs +4 -4
  204. package/esm2020/popover/popover.directive.mjs +4 -4
  205. package/esm2020/popover/popover.module.mjs +5 -5
  206. package/esm2020/popover/popover.property.mjs +4 -4
  207. package/esm2020/portal/portal.module.mjs +5 -5
  208. package/esm2020/portal/portal.service.mjs +39 -12
  209. package/esm2020/progress/progress.component.mjs +4 -4
  210. package/esm2020/progress/progress.module.mjs +5 -5
  211. package/esm2020/progress/progress.property.mjs +4 -4
  212. package/esm2020/radio/radio.component.mjs +4 -4
  213. package/esm2020/radio/radio.module.mjs +5 -5
  214. package/esm2020/radio/radio.property.mjs +4 -4
  215. package/esm2020/rate/rate.component.mjs +4 -4
  216. package/esm2020/rate/rate.module.mjs +5 -5
  217. package/esm2020/rate/rate.property.mjs +4 -4
  218. package/esm2020/resizable/resizable.directive.mjs +4 -4
  219. package/esm2020/resizable/resizable.module.mjs +5 -5
  220. package/esm2020/resizable/resizable.property.mjs +4 -4
  221. package/esm2020/result/result.component.mjs +4 -4
  222. package/esm2020/result/result.module.mjs +5 -5
  223. package/esm2020/result/result.property.mjs +4 -4
  224. package/esm2020/ripple/ripple.directive.mjs +4 -4
  225. package/esm2020/ripple/ripple.module.mjs +5 -5
  226. package/esm2020/ripple/ripple.property.mjs +4 -4
  227. package/esm2020/select/select-portal.component.mjs +4 -4
  228. package/esm2020/select/select.component.mjs +4 -4
  229. package/esm2020/select/select.module.mjs +5 -5
  230. package/esm2020/select/select.property.mjs +4 -4
  231. package/esm2020/skeleton/skeleton.component.mjs +4 -4
  232. package/esm2020/skeleton/skeleton.module.mjs +5 -5
  233. package/esm2020/skeleton/skeleton.property.mjs +4 -4
  234. package/esm2020/slider/slider.component.mjs +4 -4
  235. package/esm2020/slider/slider.module.mjs +5 -5
  236. package/esm2020/slider/slider.property.mjs +4 -4
  237. package/esm2020/slider-select/slider-select.component.mjs +4 -4
  238. package/esm2020/slider-select/slider-select.module.mjs +5 -5
  239. package/esm2020/slider-select/slider-select.property.mjs +4 -4
  240. package/esm2020/statistic/countdown.component.mjs +4 -4
  241. package/esm2020/statistic/statistic.component.mjs +4 -4
  242. package/esm2020/statistic/statistic.module.mjs +5 -5
  243. package/esm2020/statistic/statistic.property.mjs +7 -7
  244. package/esm2020/steps/steps.component.mjs +4 -4
  245. package/esm2020/steps/steps.module.mjs +5 -5
  246. package/esm2020/steps/steps.property.mjs +4 -4
  247. package/esm2020/switch/switch.component.mjs +4 -4
  248. package/esm2020/switch/switch.module.mjs +5 -5
  249. package/esm2020/switch/switch.property.mjs +4 -4
  250. package/esm2020/table/drag.directive.mjs +4 -4
  251. package/esm2020/table/table-body.component.mjs +16 -9
  252. package/esm2020/table/table-foot.component.mjs +4 -4
  253. package/esm2020/table/table-head.component.mjs +4 -4
  254. package/esm2020/table/table.component.mjs +67 -19
  255. package/esm2020/table/table.module.mjs +9 -5
  256. package/esm2020/table/table.property.mjs +54 -13
  257. package/esm2020/tabs/tab-content.component.mjs +4 -4
  258. package/esm2020/tabs/tab.component.mjs +4 -4
  259. package/esm2020/tabs/tabs.component.mjs +4 -4
  260. package/esm2020/tabs/tabs.module.mjs +5 -5
  261. package/esm2020/tabs/tabs.property.mjs +7 -7
  262. package/esm2020/tag/tag.component.mjs +4 -4
  263. package/esm2020/tag/tag.module.mjs +5 -5
  264. package/esm2020/tag/tag.property.mjs +4 -4
  265. package/esm2020/text-retract/text-retract.component.mjs +4 -4
  266. package/esm2020/text-retract/text-retract.module.mjs +5 -5
  267. package/esm2020/text-retract/text-retract.property.mjs +4 -4
  268. package/esm2020/textarea/textarea.component.mjs +4 -4
  269. package/esm2020/textarea/textarea.module.mjs +5 -5
  270. package/esm2020/textarea/textarea.property.mjs +4 -4
  271. package/esm2020/theme/theme.component.mjs +4 -4
  272. package/esm2020/theme/theme.module.mjs +5 -5
  273. package/esm2020/theme/theme.property.mjs +4 -4
  274. package/esm2020/time-ago/time-ago.module.mjs +5 -5
  275. package/esm2020/time-ago/time-ago.pipe.mjs +4 -4
  276. package/esm2020/time-picker/time-picker-frame.component.mjs +4 -4
  277. package/esm2020/time-picker/time-picker-portal.component.mjs +4 -4
  278. package/esm2020/time-picker/time-picker.component.mjs +4 -4
  279. package/esm2020/time-picker/time-picker.module.mjs +5 -5
  280. package/esm2020/time-picker/time-picker.property.mjs +4 -4
  281. package/esm2020/time-range/time-range.module.mjs +5 -5
  282. package/esm2020/time-range/time-range.pipe.mjs +4 -4
  283. package/esm2020/timeline/timeline.component.mjs +4 -4
  284. package/esm2020/timeline/timeline.module.mjs +5 -5
  285. package/esm2020/timeline/timeline.property.mjs +4 -4
  286. package/esm2020/tooltip/tooltip-portal.component.mjs +4 -4
  287. package/esm2020/tooltip/tooltip.directive.mjs +4 -4
  288. package/esm2020/tooltip/tooltip.module.mjs +5 -5
  289. package/esm2020/tooltip/tooltip.property.mjs +4 -4
  290. package/esm2020/transfer/transfer.component.mjs +4 -4
  291. package/esm2020/transfer/transfer.module.mjs +5 -5
  292. package/esm2020/transfer/transfer.property.mjs +4 -4
  293. package/esm2020/tree/tree-node.component.mjs +76 -21
  294. package/esm2020/tree/tree.component.mjs +36 -9
  295. package/esm2020/tree/tree.module.mjs +7 -6
  296. package/esm2020/tree/tree.property.mjs +38 -7
  297. package/esm2020/tree-file/tree-file.component.mjs +4 -4
  298. package/esm2020/tree-file/tree-file.module.mjs +5 -5
  299. package/esm2020/tree-file/tree-file.property.mjs +4 -4
  300. package/esm2020/typography/typography.component.mjs +4 -4
  301. package/esm2020/typography/typography.module.mjs +5 -5
  302. package/esm2020/typography/typography.property.mjs +4 -4
  303. package/esm2020/upload/upload-portal.component.mjs +5 -5
  304. package/esm2020/upload/upload.component.mjs +19 -12
  305. package/esm2020/upload/upload.module.mjs +5 -5
  306. package/esm2020/upload/upload.property.mjs +19 -5
  307. package/fesm2015/ng-nest-ui-affix.mjs +10 -10
  308. package/fesm2015/ng-nest-ui-affix.mjs.map +1 -1
  309. package/fesm2015/ng-nest-ui-alert.mjs +10 -10
  310. package/fesm2015/ng-nest-ui-alert.mjs.map +1 -1
  311. package/fesm2015/ng-nest-ui-anchor.mjs +10 -10
  312. package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
  313. package/fesm2015/ng-nest-ui-api.mjs +7 -7
  314. package/fesm2015/ng-nest-ui-api.mjs.map +1 -1
  315. package/fesm2015/ng-nest-ui-auto-complete.mjs +15 -14
  316. package/fesm2015/ng-nest-ui-auto-complete.mjs.map +1 -1
  317. package/fesm2015/ng-nest-ui-avatar.mjs +10 -10
  318. package/fesm2015/ng-nest-ui-avatar.mjs.map +1 -1
  319. package/fesm2015/ng-nest-ui-back-top.mjs +10 -10
  320. package/fesm2015/ng-nest-ui-back-top.mjs.map +1 -1
  321. package/fesm2015/ng-nest-ui-badge.mjs +10 -10
  322. package/fesm2015/ng-nest-ui-badge.mjs.map +1 -1
  323. package/fesm2015/ng-nest-ui-base-form.mjs +10 -10
  324. package/fesm2015/ng-nest-ui-base-form.mjs.map +1 -1
  325. package/fesm2015/ng-nest-ui-border.mjs +7 -7
  326. package/fesm2015/ng-nest-ui-border.mjs.map +1 -1
  327. package/fesm2015/ng-nest-ui-button.mjs +16 -16
  328. package/fesm2015/ng-nest-ui-button.mjs.map +1 -1
  329. package/fesm2015/ng-nest-ui-calendar.mjs +10 -10
  330. package/fesm2015/ng-nest-ui-calendar.mjs.map +1 -1
  331. package/fesm2015/ng-nest-ui-card.mjs +10 -10
  332. package/fesm2015/ng-nest-ui-card.mjs.map +1 -1
  333. package/fesm2015/ng-nest-ui-carousel.mjs +16 -16
  334. package/fesm2015/ng-nest-ui-carousel.mjs.map +1 -1
  335. package/fesm2015/ng-nest-ui-cascade.mjs +13 -13
  336. package/fesm2015/ng-nest-ui-cascade.mjs.map +1 -1
  337. package/fesm2015/ng-nest-ui-checkbox.mjs +10 -10
  338. package/fesm2015/ng-nest-ui-checkbox.mjs.map +1 -1
  339. package/fesm2015/ng-nest-ui-collapse.mjs +16 -16
  340. package/fesm2015/ng-nest-ui-collapse.mjs.map +1 -1
  341. package/fesm2015/ng-nest-ui-color-picker.mjs +14 -14
  342. package/fesm2015/ng-nest-ui-color-picker.mjs.map +1 -1
  343. package/fesm2015/ng-nest-ui-color.mjs +10 -10
  344. package/fesm2015/ng-nest-ui-color.mjs.map +1 -1
  345. package/fesm2015/ng-nest-ui-comment.mjs +16 -16
  346. package/fesm2015/ng-nest-ui-comment.mjs.map +1 -1
  347. package/fesm2015/ng-nest-ui-container.mjs +31 -31
  348. package/fesm2015/ng-nest-ui-container.mjs.map +1 -1
  349. package/fesm2015/ng-nest-ui-core.mjs +23 -16
  350. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  351. package/fesm2015/ng-nest-ui-crumb.mjs +10 -10
  352. package/fesm2015/ng-nest-ui-crumb.mjs.map +1 -1
  353. package/fesm2015/ng-nest-ui-date-picker.mjs +40 -40
  354. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  355. package/fesm2015/ng-nest-ui-description.mjs +17 -17
  356. package/fesm2015/ng-nest-ui-description.mjs.map +1 -1
  357. package/fesm2015/ng-nest-ui-dialog.mjs +148 -53
  358. package/fesm2015/ng-nest-ui-dialog.mjs.map +1 -1
  359. package/fesm2015/ng-nest-ui-doc.mjs +7 -7
  360. package/fesm2015/ng-nest-ui-doc.mjs.map +1 -1
  361. package/fesm2015/ng-nest-ui-drawer.mjs +31 -31
  362. package/fesm2015/ng-nest-ui-drawer.mjs.map +1 -1
  363. package/fesm2015/ng-nest-ui-dropdown.mjs +13 -13
  364. package/fesm2015/ng-nest-ui-dropdown.mjs.map +1 -1
  365. package/fesm2015/ng-nest-ui-empty.mjs +10 -10
  366. package/fesm2015/ng-nest-ui-empty.mjs.map +1 -1
  367. package/fesm2015/ng-nest-ui-examples.mjs +7 -7
  368. package/fesm2015/ng-nest-ui-examples.mjs.map +1 -1
  369. package/fesm2015/ng-nest-ui-find.mjs +10 -10
  370. package/fesm2015/ng-nest-ui-find.mjs.map +1 -1
  371. package/fesm2015/ng-nest-ui-form.mjs +16 -16
  372. package/fesm2015/ng-nest-ui-form.mjs.map +1 -1
  373. package/fesm2015/ng-nest-ui-highlight.mjs +10 -10
  374. package/fesm2015/ng-nest-ui-highlight.mjs.map +1 -1
  375. package/fesm2015/ng-nest-ui-i18n.mjs +13 -13
  376. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  377. package/fesm2015/ng-nest-ui-icon.mjs +13 -13
  378. package/fesm2015/ng-nest-ui-icon.mjs.map +1 -1
  379. package/fesm2015/ng-nest-ui-inner.mjs +10 -10
  380. package/fesm2015/ng-nest-ui-inner.mjs.map +1 -1
  381. package/fesm2015/ng-nest-ui-input-number.mjs +10 -10
  382. package/fesm2015/ng-nest-ui-input-number.mjs.map +1 -1
  383. package/fesm2015/ng-nest-ui-input.mjs +16 -16
  384. package/fesm2015/ng-nest-ui-input.mjs.map +1 -1
  385. package/fesm2015/ng-nest-ui-layout.mjs +16 -16
  386. package/fesm2015/ng-nest-ui-layout.mjs.map +1 -1
  387. package/fesm2015/ng-nest-ui-link.mjs +10 -10
  388. package/fesm2015/ng-nest-ui-link.mjs.map +1 -1
  389. package/fesm2015/ng-nest-ui-list.mjs +16 -16
  390. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  391. package/fesm2015/ng-nest-ui-loading.mjs +10 -10
  392. package/fesm2015/ng-nest-ui-loading.mjs.map +1 -1
  393. package/fesm2015/ng-nest-ui-menu.mjs +16 -16
  394. package/fesm2015/ng-nest-ui-menu.mjs.map +1 -1
  395. package/fesm2015/ng-nest-ui-message-box.mjs +10 -10
  396. package/fesm2015/ng-nest-ui-message-box.mjs.map +1 -1
  397. package/fesm2015/ng-nest-ui-message.mjs +10 -10
  398. package/fesm2015/ng-nest-ui-message.mjs.map +1 -1
  399. package/fesm2015/ng-nest-ui-notification.mjs +10 -10
  400. package/fesm2015/ng-nest-ui-notification.mjs.map +1 -1
  401. package/fesm2015/ng-nest-ui-outlet.mjs +7 -7
  402. package/fesm2015/ng-nest-ui-outlet.mjs.map +1 -1
  403. package/fesm2015/ng-nest-ui-page-header.mjs +10 -10
  404. package/fesm2015/ng-nest-ui-page-header.mjs.map +1 -1
  405. package/fesm2015/ng-nest-ui-pagination.mjs +10 -10
  406. package/fesm2015/ng-nest-ui-pagination.mjs.map +1 -1
  407. package/fesm2015/ng-nest-ui-pattern.mjs +7 -7
  408. package/fesm2015/ng-nest-ui-pattern.mjs.map +1 -1
  409. package/fesm2015/ng-nest-ui-popconfirm.mjs +10 -10
  410. package/fesm2015/ng-nest-ui-popconfirm.mjs.map +1 -1
  411. package/fesm2015/ng-nest-ui-popover.mjs +13 -13
  412. package/fesm2015/ng-nest-ui-popover.mjs.map +1 -1
  413. package/fesm2015/ng-nest-ui-portal.mjs +42 -15
  414. package/fesm2015/ng-nest-ui-portal.mjs.map +1 -1
  415. package/fesm2015/ng-nest-ui-progress.mjs +10 -10
  416. package/fesm2015/ng-nest-ui-progress.mjs.map +1 -1
  417. package/fesm2015/ng-nest-ui-radio.mjs +10 -10
  418. package/fesm2015/ng-nest-ui-radio.mjs.map +1 -1
  419. package/fesm2015/ng-nest-ui-rate.mjs +10 -10
  420. package/fesm2015/ng-nest-ui-rate.mjs.map +1 -1
  421. package/fesm2015/ng-nest-ui-resizable.mjs +10 -10
  422. package/fesm2015/ng-nest-ui-resizable.mjs.map +1 -1
  423. package/fesm2015/ng-nest-ui-result.mjs +10 -10
  424. package/fesm2015/ng-nest-ui-result.mjs.map +1 -1
  425. package/fesm2015/ng-nest-ui-ripple.mjs +10 -10
  426. package/fesm2015/ng-nest-ui-ripple.mjs.map +1 -1
  427. package/fesm2015/ng-nest-ui-select.mjs +13 -13
  428. package/fesm2015/ng-nest-ui-select.mjs.map +1 -1
  429. package/fesm2015/ng-nest-ui-skeleton.mjs +10 -10
  430. package/fesm2015/ng-nest-ui-skeleton.mjs.map +1 -1
  431. package/fesm2015/ng-nest-ui-slider-select.mjs +10 -10
  432. package/fesm2015/ng-nest-ui-slider-select.mjs.map +1 -1
  433. package/fesm2015/ng-nest-ui-slider.mjs +10 -10
  434. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  435. package/fesm2015/ng-nest-ui-statistic.mjs +16 -16
  436. package/fesm2015/ng-nest-ui-statistic.mjs.map +1 -1
  437. package/fesm2015/ng-nest-ui-steps.mjs +10 -10
  438. package/fesm2015/ng-nest-ui-steps.mjs.map +1 -1
  439. package/fesm2015/ng-nest-ui-switch.mjs +10 -10
  440. package/fesm2015/ng-nest-ui-switch.mjs.map +1 -1
  441. package/fesm2015/ng-nest-ui-table.mjs +151 -49
  442. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  443. package/fesm2015/ng-nest-ui-tabs.mjs +19 -19
  444. package/fesm2015/ng-nest-ui-tabs.mjs.map +1 -1
  445. package/fesm2015/ng-nest-ui-tag.mjs +10 -10
  446. package/fesm2015/ng-nest-ui-tag.mjs.map +1 -1
  447. package/fesm2015/ng-nest-ui-text-retract.mjs +10 -10
  448. package/fesm2015/ng-nest-ui-text-retract.mjs.map +1 -1
  449. package/fesm2015/ng-nest-ui-textarea.mjs +10 -10
  450. package/fesm2015/ng-nest-ui-textarea.mjs.map +1 -1
  451. package/fesm2015/ng-nest-ui-theme.mjs +10 -10
  452. package/fesm2015/ng-nest-ui-theme.mjs.map +1 -1
  453. package/fesm2015/ng-nest-ui-time-ago.mjs +7 -7
  454. package/fesm2015/ng-nest-ui-time-ago.mjs.map +1 -1
  455. package/fesm2015/ng-nest-ui-time-picker.mjs +16 -16
  456. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  457. package/fesm2015/ng-nest-ui-time-range.mjs +7 -7
  458. package/fesm2015/ng-nest-ui-time-range.mjs.map +1 -1
  459. package/fesm2015/ng-nest-ui-timeline.mjs +10 -10
  460. package/fesm2015/ng-nest-ui-timeline.mjs.map +1 -1
  461. package/fesm2015/ng-nest-ui-tooltip.mjs +13 -13
  462. package/fesm2015/ng-nest-ui-tooltip.mjs.map +1 -1
  463. package/fesm2015/ng-nest-ui-transfer.mjs +10 -10
  464. package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
  465. package/fesm2015/ng-nest-ui-tree-file.mjs +10 -10
  466. package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
  467. package/fesm2015/ng-nest-ui-tree.mjs +153 -37
  468. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  469. package/fesm2015/ng-nest-ui-typography.mjs +10 -10
  470. package/fesm2015/ng-nest-ui-typography.mjs.map +1 -1
  471. package/fesm2015/ng-nest-ui-upload.mjs +43 -22
  472. package/fesm2015/ng-nest-ui-upload.mjs.map +1 -1
  473. package/fesm2020/ng-nest-ui-affix.mjs +10 -10
  474. package/fesm2020/ng-nest-ui-affix.mjs.map +1 -1
  475. package/fesm2020/ng-nest-ui-alert.mjs +10 -10
  476. package/fesm2020/ng-nest-ui-alert.mjs.map +1 -1
  477. package/fesm2020/ng-nest-ui-anchor.mjs +10 -10
  478. package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
  479. package/fesm2020/ng-nest-ui-api.mjs +7 -7
  480. package/fesm2020/ng-nest-ui-api.mjs.map +1 -1
  481. package/fesm2020/ng-nest-ui-auto-complete.mjs +15 -14
  482. package/fesm2020/ng-nest-ui-auto-complete.mjs.map +1 -1
  483. package/fesm2020/ng-nest-ui-avatar.mjs +10 -10
  484. package/fesm2020/ng-nest-ui-avatar.mjs.map +1 -1
  485. package/fesm2020/ng-nest-ui-back-top.mjs +10 -10
  486. package/fesm2020/ng-nest-ui-back-top.mjs.map +1 -1
  487. package/fesm2020/ng-nest-ui-badge.mjs +10 -10
  488. package/fesm2020/ng-nest-ui-badge.mjs.map +1 -1
  489. package/fesm2020/ng-nest-ui-base-form.mjs +10 -10
  490. package/fesm2020/ng-nest-ui-base-form.mjs.map +1 -1
  491. package/fesm2020/ng-nest-ui-border.mjs +7 -7
  492. package/fesm2020/ng-nest-ui-border.mjs.map +1 -1
  493. package/fesm2020/ng-nest-ui-button.mjs +16 -16
  494. package/fesm2020/ng-nest-ui-button.mjs.map +1 -1
  495. package/fesm2020/ng-nest-ui-calendar.mjs +10 -10
  496. package/fesm2020/ng-nest-ui-calendar.mjs.map +1 -1
  497. package/fesm2020/ng-nest-ui-card.mjs +10 -10
  498. package/fesm2020/ng-nest-ui-card.mjs.map +1 -1
  499. package/fesm2020/ng-nest-ui-carousel.mjs +16 -16
  500. package/fesm2020/ng-nest-ui-carousel.mjs.map +1 -1
  501. package/fesm2020/ng-nest-ui-cascade.mjs +13 -13
  502. package/fesm2020/ng-nest-ui-cascade.mjs.map +1 -1
  503. package/fesm2020/ng-nest-ui-checkbox.mjs +10 -10
  504. package/fesm2020/ng-nest-ui-checkbox.mjs.map +1 -1
  505. package/fesm2020/ng-nest-ui-collapse.mjs +16 -16
  506. package/fesm2020/ng-nest-ui-collapse.mjs.map +1 -1
  507. package/fesm2020/ng-nest-ui-color-picker.mjs +14 -14
  508. package/fesm2020/ng-nest-ui-color-picker.mjs.map +1 -1
  509. package/fesm2020/ng-nest-ui-color.mjs +10 -10
  510. package/fesm2020/ng-nest-ui-color.mjs.map +1 -1
  511. package/fesm2020/ng-nest-ui-comment.mjs +16 -16
  512. package/fesm2020/ng-nest-ui-comment.mjs.map +1 -1
  513. package/fesm2020/ng-nest-ui-container.mjs +31 -31
  514. package/fesm2020/ng-nest-ui-container.mjs.map +1 -1
  515. package/fesm2020/ng-nest-ui-core.mjs +23 -16
  516. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  517. package/fesm2020/ng-nest-ui-crumb.mjs +10 -10
  518. package/fesm2020/ng-nest-ui-crumb.mjs.map +1 -1
  519. package/fesm2020/ng-nest-ui-date-picker.mjs +40 -40
  520. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  521. package/fesm2020/ng-nest-ui-description.mjs +17 -17
  522. package/fesm2020/ng-nest-ui-description.mjs.map +1 -1
  523. package/fesm2020/ng-nest-ui-dialog.mjs +153 -53
  524. package/fesm2020/ng-nest-ui-dialog.mjs.map +1 -1
  525. package/fesm2020/ng-nest-ui-doc.mjs +7 -7
  526. package/fesm2020/ng-nest-ui-doc.mjs.map +1 -1
  527. package/fesm2020/ng-nest-ui-drawer.mjs +31 -31
  528. package/fesm2020/ng-nest-ui-drawer.mjs.map +1 -1
  529. package/fesm2020/ng-nest-ui-dropdown.mjs +13 -13
  530. package/fesm2020/ng-nest-ui-dropdown.mjs.map +1 -1
  531. package/fesm2020/ng-nest-ui-empty.mjs +10 -10
  532. package/fesm2020/ng-nest-ui-empty.mjs.map +1 -1
  533. package/fesm2020/ng-nest-ui-examples.mjs +7 -7
  534. package/fesm2020/ng-nest-ui-examples.mjs.map +1 -1
  535. package/fesm2020/ng-nest-ui-find.mjs +10 -10
  536. package/fesm2020/ng-nest-ui-find.mjs.map +1 -1
  537. package/fesm2020/ng-nest-ui-form.mjs +16 -16
  538. package/fesm2020/ng-nest-ui-form.mjs.map +1 -1
  539. package/fesm2020/ng-nest-ui-highlight.mjs +10 -10
  540. package/fesm2020/ng-nest-ui-highlight.mjs.map +1 -1
  541. package/fesm2020/ng-nest-ui-i18n.mjs +13 -13
  542. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  543. package/fesm2020/ng-nest-ui-icon.mjs +13 -13
  544. package/fesm2020/ng-nest-ui-icon.mjs.map +1 -1
  545. package/fesm2020/ng-nest-ui-inner.mjs +10 -10
  546. package/fesm2020/ng-nest-ui-inner.mjs.map +1 -1
  547. package/fesm2020/ng-nest-ui-input-number.mjs +10 -10
  548. package/fesm2020/ng-nest-ui-input-number.mjs.map +1 -1
  549. package/fesm2020/ng-nest-ui-input.mjs +16 -16
  550. package/fesm2020/ng-nest-ui-input.mjs.map +1 -1
  551. package/fesm2020/ng-nest-ui-layout.mjs +16 -16
  552. package/fesm2020/ng-nest-ui-layout.mjs.map +1 -1
  553. package/fesm2020/ng-nest-ui-link.mjs +10 -10
  554. package/fesm2020/ng-nest-ui-link.mjs.map +1 -1
  555. package/fesm2020/ng-nest-ui-list.mjs +16 -16
  556. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  557. package/fesm2020/ng-nest-ui-loading.mjs +10 -10
  558. package/fesm2020/ng-nest-ui-loading.mjs.map +1 -1
  559. package/fesm2020/ng-nest-ui-menu.mjs +16 -16
  560. package/fesm2020/ng-nest-ui-menu.mjs.map +1 -1
  561. package/fesm2020/ng-nest-ui-message-box.mjs +10 -10
  562. package/fesm2020/ng-nest-ui-message-box.mjs.map +1 -1
  563. package/fesm2020/ng-nest-ui-message.mjs +10 -10
  564. package/fesm2020/ng-nest-ui-message.mjs.map +1 -1
  565. package/fesm2020/ng-nest-ui-notification.mjs +10 -10
  566. package/fesm2020/ng-nest-ui-notification.mjs.map +1 -1
  567. package/fesm2020/ng-nest-ui-outlet.mjs +7 -7
  568. package/fesm2020/ng-nest-ui-outlet.mjs.map +1 -1
  569. package/fesm2020/ng-nest-ui-page-header.mjs +10 -10
  570. package/fesm2020/ng-nest-ui-page-header.mjs.map +1 -1
  571. package/fesm2020/ng-nest-ui-pagination.mjs +10 -10
  572. package/fesm2020/ng-nest-ui-pagination.mjs.map +1 -1
  573. package/fesm2020/ng-nest-ui-pattern.mjs +7 -7
  574. package/fesm2020/ng-nest-ui-pattern.mjs.map +1 -1
  575. package/fesm2020/ng-nest-ui-popconfirm.mjs +10 -10
  576. package/fesm2020/ng-nest-ui-popconfirm.mjs.map +1 -1
  577. package/fesm2020/ng-nest-ui-popover.mjs +13 -13
  578. package/fesm2020/ng-nest-ui-popover.mjs.map +1 -1
  579. package/fesm2020/ng-nest-ui-portal.mjs +42 -15
  580. package/fesm2020/ng-nest-ui-portal.mjs.map +1 -1
  581. package/fesm2020/ng-nest-ui-progress.mjs +10 -10
  582. package/fesm2020/ng-nest-ui-progress.mjs.map +1 -1
  583. package/fesm2020/ng-nest-ui-radio.mjs +10 -10
  584. package/fesm2020/ng-nest-ui-radio.mjs.map +1 -1
  585. package/fesm2020/ng-nest-ui-rate.mjs +10 -10
  586. package/fesm2020/ng-nest-ui-rate.mjs.map +1 -1
  587. package/fesm2020/ng-nest-ui-resizable.mjs +10 -10
  588. package/fesm2020/ng-nest-ui-resizable.mjs.map +1 -1
  589. package/fesm2020/ng-nest-ui-result.mjs +10 -10
  590. package/fesm2020/ng-nest-ui-result.mjs.map +1 -1
  591. package/fesm2020/ng-nest-ui-ripple.mjs +10 -10
  592. package/fesm2020/ng-nest-ui-ripple.mjs.map +1 -1
  593. package/fesm2020/ng-nest-ui-select.mjs +13 -13
  594. package/fesm2020/ng-nest-ui-select.mjs.map +1 -1
  595. package/fesm2020/ng-nest-ui-skeleton.mjs +10 -10
  596. package/fesm2020/ng-nest-ui-skeleton.mjs.map +1 -1
  597. package/fesm2020/ng-nest-ui-slider-select.mjs +10 -10
  598. package/fesm2020/ng-nest-ui-slider-select.mjs.map +1 -1
  599. package/fesm2020/ng-nest-ui-slider.mjs +10 -10
  600. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  601. package/fesm2020/ng-nest-ui-statistic.mjs +16 -16
  602. package/fesm2020/ng-nest-ui-statistic.mjs.map +1 -1
  603. package/fesm2020/ng-nest-ui-steps.mjs +10 -10
  604. package/fesm2020/ng-nest-ui-steps.mjs.map +1 -1
  605. package/fesm2020/ng-nest-ui-switch.mjs +10 -10
  606. package/fesm2020/ng-nest-ui-switch.mjs.map +1 -1
  607. package/fesm2020/ng-nest-ui-table.mjs +149 -49
  608. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  609. package/fesm2020/ng-nest-ui-tabs.mjs +19 -19
  610. package/fesm2020/ng-nest-ui-tabs.mjs.map +1 -1
  611. package/fesm2020/ng-nest-ui-tag.mjs +10 -10
  612. package/fesm2020/ng-nest-ui-tag.mjs.map +1 -1
  613. package/fesm2020/ng-nest-ui-text-retract.mjs +10 -10
  614. package/fesm2020/ng-nest-ui-text-retract.mjs.map +1 -1
  615. package/fesm2020/ng-nest-ui-textarea.mjs +10 -10
  616. package/fesm2020/ng-nest-ui-textarea.mjs.map +1 -1
  617. package/fesm2020/ng-nest-ui-theme.mjs +10 -10
  618. package/fesm2020/ng-nest-ui-theme.mjs.map +1 -1
  619. package/fesm2020/ng-nest-ui-time-ago.mjs +7 -7
  620. package/fesm2020/ng-nest-ui-time-ago.mjs.map +1 -1
  621. package/fesm2020/ng-nest-ui-time-picker.mjs +16 -16
  622. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  623. package/fesm2020/ng-nest-ui-time-range.mjs +7 -7
  624. package/fesm2020/ng-nest-ui-time-range.mjs.map +1 -1
  625. package/fesm2020/ng-nest-ui-timeline.mjs +10 -10
  626. package/fesm2020/ng-nest-ui-timeline.mjs.map +1 -1
  627. package/fesm2020/ng-nest-ui-tooltip.mjs +13 -13
  628. package/fesm2020/ng-nest-ui-tooltip.mjs.map +1 -1
  629. package/fesm2020/ng-nest-ui-transfer.mjs +10 -10
  630. package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
  631. package/fesm2020/ng-nest-ui-tree-file.mjs +10 -10
  632. package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
  633. package/fesm2020/ng-nest-ui-tree.mjs +151 -37
  634. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  635. package/fesm2020/ng-nest-ui-typography.mjs +10 -10
  636. package/fesm2020/ng-nest-ui-typography.mjs.map +1 -1
  637. package/fesm2020/ng-nest-ui-upload.mjs +43 -22
  638. package/fesm2020/ng-nest-ui-upload.mjs.map +1 -1
  639. package/package.json +1 -1
  640. package/portal/portal.service.d.ts +47 -0
  641. package/table/examples/en_US/default/expand/README.md +8 -0
  642. package/table/examples/zh_CN/default/expand/README.md +8 -0
  643. package/table/table-body.component.d.ts +1 -0
  644. package/table/table.component.d.ts +10 -2
  645. package/table/table.module.d.ts +5 -4
  646. package/table/table.property.d.ts +60 -5
  647. package/tree/examples/en_US/default/virtual-scroll/README.md +7 -0
  648. package/tree/examples/zh_CN/default/virtual-scroll/README.md +7 -0
  649. package/tree/tree-node.component.d.ts +2 -0
  650. package/tree/tree.component.d.ts +2 -0
  651. package/tree/tree.module.d.ts +2 -1
  652. package/tree/tree.property.d.ts +27 -2
  653. package/upload/examples/en_US/default/custom/README.md +6 -0
  654. package/upload/examples/zh_CN/default/custom/README.md +6 -0
  655. package/upload/upload.component.d.ts +3 -1
  656. package/upload/upload.property.d.ts +21 -1
@@ -1,6 +1,6 @@
1
1
  import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild } from '@angular/core';
2
2
  import { XTablePrefix, XTableProperty } from './table.property';
3
- import { XIsChange, XIsEmpty } from '@ng-nest/ui/core';
3
+ import { XIsChange, XIsEmpty, XIsUndefined } from '@ng-nest/ui/core';
4
4
  import { takeUntil } from 'rxjs/operators';
5
5
  import { Subject } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
@@ -27,6 +27,7 @@ export class XTableComponent extends XTableProperty {
27
27
  this.dataIsFunc = false;
28
28
  this.getting = false;
29
29
  this.tableData = [];
30
+ this.treeTableData = [];
30
31
  this.checkedValues = {};
31
32
  this.indeterminate = '$$indeterminate';
32
33
  this._unSubject = new Subject();
@@ -40,11 +41,13 @@ export class XTableComponent extends XTableProperty {
40
41
  ngOnInit() {
41
42
  this.setClassMap();
42
43
  this.setRowChecked();
44
+ this.setRowExpand();
43
45
  this.setMerge();
44
46
  this.setPaginationPosition();
45
47
  }
46
48
  ngOnChanges(simples) {
47
- const { data, checkedRow, columns, activatedRow, manual, showPagination } = simples;
49
+ const { data, checkedRow, columns, activatedRow, manual, showPagination, expandedAll } = simples;
50
+ XIsChange(expandedAll) && this.setExpandedAll();
48
51
  XIsChange(data, checkedRow) && this.setData();
49
52
  XIsChange(columns, activatedRow, showPagination) && this.cdr.detectChanges();
50
53
  XIsChange(manual) && this.setManual();
@@ -71,9 +74,12 @@ export class XTableComponent extends XTableProperty {
71
74
  setData() {
72
75
  if (Array.isArray(this.data)) {
73
76
  this.dataIsFunc = false;
77
+ this.setChecked(this.data);
78
+ this.setHeadCheckboxList(this.data);
79
+ this.setExpand(this.data);
80
+ this.setHeadExpandList();
74
81
  this.tableData = this.data;
75
- this.setChecked();
76
- this.setHeadCheckboxList();
82
+ this.detectChanges();
77
83
  }
78
84
  else if (this.data instanceof Function) {
79
85
  this.dataIsFunc = true;
@@ -89,14 +95,18 @@ export class XTableComponent extends XTableProperty {
89
95
  this.data(this.index, this.size, this.query)
90
96
  .pipe(takeUntil(this._unSubject))
91
97
  .subscribe((x) => {
92
- [this.tableData, this.total] = [x.list, x.total];
98
+ let [data, total] = [x.list, x.total];
93
99
  if (this.virtualBody) {
94
100
  this.virtualBody.scrollToIndex(0);
95
101
  this.virtualBody.checkViewportSize();
96
102
  }
97
103
  this.getting = false;
98
- this.setChecked();
99
- this.setHeadCheckboxList();
104
+ this.setChecked(data);
105
+ this.setHeadCheckboxList(data);
106
+ this.setExpand(data);
107
+ this.setHeadExpandList();
108
+ this.tableData = data;
109
+ this.total = total;
100
110
  this.detectChanges();
101
111
  });
102
112
  }
@@ -108,6 +118,16 @@ export class XTableComponent extends XTableProperty {
108
118
  this.rowChecked = this.columns.find((x) => x.rowChecked);
109
119
  this.headCheckboxList = this.columns.filter((x) => x.type === 'checkbox' && x.headChecked);
110
120
  }
121
+ setRowExpand() {
122
+ this.rowExpand = this.columns.find((x) => x.rowExpand);
123
+ }
124
+ isExpandColumn(column) {
125
+ let expandColumn = this.columns.find((x) => x.id === column.id && x.type === 'expand');
126
+ if (expandColumn) {
127
+ return true;
128
+ }
129
+ return false;
130
+ }
111
131
  setMerge() {
112
132
  if (!this.cellConfig)
113
133
  return;
@@ -152,28 +172,56 @@ export class XTableComponent extends XTableProperty {
152
172
  if (this.hasScrollY && y)
153
173
  this.virtualBody?.scrollTo({ top: 0 });
154
174
  }
155
- setChecked() {
175
+ setChecked(data) {
156
176
  let result = [];
157
- if (XIsEmpty(this.tableData) || !this.checkedRow)
177
+ if (XIsEmpty(data) || !this.checkedRow)
158
178
  return;
159
179
  for (let key in this.checkedRow) {
160
180
  const arr = this.checkedRow[key];
161
- for (let item of this.tableData) {
181
+ for (let item of data) {
162
182
  item[key] = arr.includes(item.id);
163
183
  result = [...result, item];
164
184
  }
165
185
  }
166
186
  if (result.length > 0)
167
- this.tableData = [...result];
168
- this.detectChanges();
187
+ data = [...result];
169
188
  }
170
- setHeadCheckboxList() {
171
- if (XIsEmpty(this.tableData) || !this.headCheckboxList)
189
+ setHeadCheckboxList(data) {
190
+ if (XIsEmpty(data) || !this.headCheckboxList)
172
191
  return;
173
192
  for (let column of this.headCheckboxList) {
174
193
  this.setCheckedValues(column);
175
194
  }
176
195
  }
196
+ setExpand(data) {
197
+ const getChildren = (node, level) => {
198
+ node.level = level;
199
+ node.expanded = Boolean(this.expandedAll) || level <= this.expandedLevel || this.expanded.includes(node.id);
200
+ if (XIsUndefined(node.children))
201
+ node.children = data.filter((y) => y.pid === node.id);
202
+ if (XIsUndefined(node.leaf))
203
+ node.leaf = node.children?.length > 0;
204
+ if (node.leaf)
205
+ node.children?.map((y) => getChildren(y, level + 1));
206
+ return node;
207
+ };
208
+ this.treeTableData = data.filter((x) => XIsEmpty(x.pid)).map((x) => getChildren(x, 0));
209
+ }
210
+ setExpandedAll() {
211
+ if (!this.treeTable || this.treeTableData?.length === 0)
212
+ return;
213
+ const setChildren = (nodes) => {
214
+ if (XIsEmpty(nodes))
215
+ return;
216
+ nodes.forEach((x) => {
217
+ x.expanded = Boolean(this.expandedAll);
218
+ setChildren(x.children);
219
+ });
220
+ };
221
+ setChildren(this.treeTableData);
222
+ this.detectChanges();
223
+ }
224
+ setHeadExpandList() { }
177
225
  checkSort(sort) {
178
226
  if (!this.dataIsFunc)
179
227
  return;
@@ -206,11 +254,11 @@ export class XTableComponent extends XTableProperty {
206
254
  this.cdr.detectChanges();
207
255
  }
208
256
  }
209
- /** @nocollapse */ /** @nocollapse */ XTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XTableComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
210
- /** @nocollapse */ /** @nocollapse */ XTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: XTableComponent, selector: "x-table", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<table\r\n #table\r\n class=\"x-table\"\r\n [ngClass]=\"classMap\"\r\n [x-loading]=\"loading && getting\"\r\n [class.x-table-scroll-left]=\"getScrollLeft\"\r\n [class.x-table-scroll-top]=\"getScrollTop\"\r\n [class.x-table-bordered]=\"bordered\"\r\n [class.x-table-td-adaption-height]=\"rowHeight == 0\"\r\n [class.x-table-cell-config]=\"cellConfig\"\r\n>\r\n <x-table-head\r\n *ngIf=\"showHeader\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-body\r\n [data]=\"tableData\"\r\n [columns]=\"columns\"\r\n [itemSize]=\"itemSize\"\r\n [rowHeight]=\"rowHeight\"\r\n [bodyHeight]=\"bodyHeight\"\r\n [columnTpl]=\"bodyColumnTpl\"\r\n [allowSelectRow]=\"allowSelectRow\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [adaptionHeight]=\"adaptionHeight\"\r\n [docPercent]=\"docPercent\"\r\n [scroll]=\"scroll\"\r\n [rowClass]=\"rowClass\"\r\n [cellConfig]=\"cellConfig?.tbody\"\r\n [(activatedRow)]=\"activatedRow\"\r\n (activatedRowChange)=\"activatedRowChange.emit($event)\"\r\n [table]=\"this\"\r\n ></x-table-body>\r\n <x-table-foot [table]=\"this\"></x-table-foot>\r\n</table>\r\n<x-pagination\r\n #pagination\r\n *ngIf=\"showPagination && size\"\r\n [(index)]=\"index\"\r\n [(size)]=\"size\"\r\n [(query)]=\"query\"\r\n [total]=\"total\"\r\n (indexChange)=\"change($event)\"\r\n [showEllipsis]=\"showEllipsis\"\r\n [showTotal]=\"showTotal\"\r\n [space]=\"space\"\r\n [hiddenBorder]=\"hiddenBorder\"\r\n>\r\n</x-pagination>\r\n", styles: [".x-table{margin:0;padding:0;display:flex;flex-direction:column;border-collapse:collapse;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead{position:relative;overflow:hidden;display:block;background-color:var(--x-background);min-height:42px}.x-table>thead>tr{position:absolute;width:100%;display:flex;min-height:42px}.x-table>thead>tr>th{display:flex;align-items:center;flex:1;position:relative;font-weight:600;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead>tr>th>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-table>thead>tr>th.x-table-sticky{position:sticky;z-index:1}.x-table>thead>tr>th .x-table-drag-width{position:absolute;height:100%;width:.1875rem;right:-.125rem;cursor:ew-resize;transition:background-color var(--x-animation-duration-fast);z-index:1}.x-table>thead>tr>th .x-table-drag-width:hover{background-color:var(--x-primary)}.x-table>tbody{display:block;border-top:none;position:relative;min-height:7rem}.x-table>tbody tr{display:flex}.x-table>tbody tr>td{display:flex;align-items:center;position:relative;justify-content:space-between;overflow:hidden;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody tr>td>div{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-table>tbody tr>td.x-table-sticky{position:sticky;z-index:1}.x-table>tbody tr.x-table-activated>td{background-color:#0000000d;color:var(--x-primary)}.x-table>tbody tr:hover>td{background-color:#0000000d}.x-table>tbody tr:last-child{border-bottom:none}.x-table>tbody x-empty{position:absolute;top:0;width:100%;padding:calc(var(--x-font-size) * 2)}.x-table>tfoot{display:flex;flex-direction:column;justify-content:center}.x-table-sort{cursor:pointer;transition:transform .2s}.x-table-sort:hover{color:var(--x-text-300)}.x-table-sort:active{transform:translate(1px,1px)}.x-table-sort-icon.x-icon{margin-left:.25rem;display:none;font-size:1rem;transform:rotate(90deg) rotateY(180deg);transition:.3s}.x-table-sort-icon.x-icon.x-table-icon-up,.x-table-sort-icon.x-icon.x-table-icon-down{display:inherit}.x-table-sort-icon.x-icon.x-table-icon-down{transform:rotate(90deg)}.x-table-scroll-top>thead{box-shadow:0 var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);z-index:1}.x-table-scroll-left>thead .x-table-sticky{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-scroll-left>tbody .x-table-sticky{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-td-adaption-height>tbody tr>td{overflow:inherit}.x-table-td-adaption-height>tbody tr>td>div{white-space:inherit;text-overflow:inherit;overflow:inherit}.x-table-bordered>thead>tr>th,.x-table-bordered>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:calc(var(--x-font-size) / 2)}.x-table-bordered>thead>tr>th:last-child,.x-table-bordered>tbody tr>td:last-child{border-right:none}.x-table-cell-config>thead tr,.x-table-cell-config>tbody tr{display:grid;grid-auto-flow:row;height:100%}.x-table-cell-config>thead>tr>th,.x-table-cell-config>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-cell-config>thead>tr>th:last-child,.x-table-cell-config>tbody tr>td:last-child{border-right:none}.x-table-row-size-big>thead>tr>th,.x-table-row-size-big>tbody tr>td{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) 0}.x-table-row-size-big>thead>tr>th:first-child,.x-table-row-size-big>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-bordered>thead>tr>th,.x-table-row-size-big.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-cell-config>thead>tr>th,.x-table-row-size-big.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-large>thead>tr>th,.x-table-row-size-large>tbody tr>td{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) 0}.x-table-row-size-large>thead>tr>th:first-child,.x-table-row-size-large>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-bordered>thead>tr>th,.x-table-row-size-large.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-cell-config>thead>tr>th,.x-table-row-size-large.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-medium>thead>tr>th,.x-table-row-size-medium>tbody tr>td{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) 0}.x-table-row-size-medium>thead>tr>th:first-child,.x-table-row-size-medium>tbody tr>td:first-child{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-bordered>thead>tr>th,.x-table-row-size-medium.x-table-bordered>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-cell-config>thead>tr>th,.x-table-row-size-medium.x-table-cell-config>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-small>thead>tr>th,.x-table-row-size-small>tbody tr>td{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) 0}.x-table-row-size-small>thead>tr>th:first-child,.x-table-row-size-small>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-bordered>thead>tr>th,.x-table-row-size-small.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-cell-config>thead>tr>th,.x-table-row-size-small.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-mini>thead>tr>th,.x-table-row-size-mini>tbody tr>td{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) 0}.x-table-row-size-mini>thead>tr>th:first-child,.x-table-row-size-mini>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-bordered>thead>tr>th,.x-table-row-size-mini.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-cell-config>thead>tr>th,.x-table-row-size-mini.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}x-table{width:100%;display:flex;flex-direction:column}x-table .x-pagination{padding-top:calc(var(--x-font-size) / 2)}x-table.x-table-top-left{flex-direction:column-reverse}x-table.x-table-top-left .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-center{flex-direction:column-reverse;align-items:center}x-table.x-table-top-center .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-right{flex-direction:column-reverse;align-items:flex-end}x-table.x-table-top-right .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-bottom-center{align-items:center}x-table.x-table-bottom-right{align-items:flex-end}\n"], components: [{ type: i2.XLoadingComponent, selector: "x-loading, [x-loading]" }, { type: i3.XTableHeadComponent, selector: "x-table-head", inputs: ["table"] }, { type: i4.XTableBodyComponent, selector: "x-table-body", inputs: ["table"] }, { type: i5.XTableFootComponent, selector: "x-table-foot", inputs: ["table"] }, { type: i6.XPaginationComponent, selector: "x-pagination" }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
211
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XTableComponent, decorators: [{
257
+ /** @nocollapse */ /** @nocollapse */ XTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTableComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
258
+ /** @nocollapse */ /** @nocollapse */ XTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: XTableComponent, selector: "x-table", viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }, { propertyName: "pagination", first: true, predicate: ["pagination"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<table\r\n #table\r\n class=\"x-table\"\r\n [ngClass]=\"classMap\"\r\n [x-loading]=\"loading && getting\"\r\n [class.x-table-scroll-left]=\"getScrollLeft\"\r\n [class.x-table-scroll-top]=\"getScrollTop\"\r\n [class.x-table-bordered]=\"bordered\"\r\n [class.x-table-td-adaption-height]=\"rowHeight == 0\"\r\n [class.x-table-cell-config]=\"cellConfig\"\r\n>\r\n <x-table-head\r\n *ngIf=\"showHeader\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-body\r\n [data]=\"treeTable ? treeTableData : tableData\"\r\n [columns]=\"columns\"\r\n [itemSize]=\"itemSize\"\r\n [rowHeight]=\"rowHeight\"\r\n [bodyHeight]=\"bodyHeight\"\r\n [columnTpl]=\"bodyColumnTpl\"\r\n [allowSelectRow]=\"allowSelectRow\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [adaptionHeight]=\"adaptionHeight\"\r\n [docPercent]=\"docPercent\"\r\n [scroll]=\"scroll\"\r\n [rowClass]=\"rowClass\"\r\n [cellConfig]=\"cellConfig?.tbody\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n [(activatedRow)]=\"activatedRow\"\r\n (activatedRowChange)=\"activatedRowChange.emit($event)\"\r\n [table]=\"this\"\r\n ></x-table-body>\r\n <x-table-foot [table]=\"this\"></x-table-foot>\r\n</table>\r\n<x-pagination\r\n #pagination\r\n *ngIf=\"showPagination && size\"\r\n [(index)]=\"index\"\r\n [(size)]=\"size\"\r\n [(query)]=\"query\"\r\n [total]=\"total\"\r\n (indexChange)=\"change($event)\"\r\n [showEllipsis]=\"showEllipsis\"\r\n [showTotal]=\"showTotal\"\r\n [space]=\"space\"\r\n [hiddenBorder]=\"hiddenBorder\"\r\n>\r\n</x-pagination>\r\n", styles: [".x-table{margin:0;padding:0;display:flex;flex-direction:column;border-collapse:collapse;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead{position:relative;overflow:hidden;display:block;background-color:var(--x-background);min-height:42px}.x-table>thead>tr{position:absolute;width:100%;display:flex;min-height:42px}.x-table>thead>tr>th{display:flex;align-items:center;flex:1;position:relative;font-weight:600;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead>tr>th>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-table>thead>tr>th.x-table-sticky{position:sticky;z-index:1}.x-table>thead>tr>th .x-table-drag-width{position:absolute;height:100%;width:.1875rem;right:-.125rem;cursor:ew-resize;transition:background-color var(--x-animation-duration-fast);z-index:1}.x-table>thead>tr>th .x-table-drag-width:hover{background-color:var(--x-primary)}.x-table>tbody{display:block;border-top:none;position:relative;min-height:7rem}.x-table>tbody tr{display:flex}.x-table>tbody tr>td{display:flex;align-items:center;position:relative;justify-content:space-between;overflow:hidden;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody tr>td>div{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-table>tbody tr>td.x-table-sticky{position:sticky;z-index:1}.x-table>tbody tr>td>x-button .x-icon{transition:var(--x-animation-duration-base)}.x-table>tbody tr>td>x-button.is-leaf{visibility:hidden}.x-table>tbody tr>td>x-button.is-expanded .x-icon{transform:rotate(90deg)}.x-table>tbody tr.x-table-activated>td{background-color:var(--x-background-a200);color:var(--x-primary)}.x-table>tbody tr:hover>td{background-color:var(--x-background-a200)}.x-table>tbody tr:last-child{border-bottom:none}.x-table>tbody x-empty{position:absolute;top:0;width:100%;padding:calc(var(--x-font-size) * 2)}.x-table>tfoot{display:flex;flex-direction:column;justify-content:center}.x-table-sort{cursor:pointer;transition:transform .2s}.x-table-sort:hover{color:var(--x-text-300)}.x-table-sort:active{transform:translate(1px,1px)}.x-table-sort-icon.x-icon{margin-left:.25rem;display:none;font-size:1rem;transform:rotate(90deg) rotateY(180deg);transition:.3s}.x-table-sort-icon.x-icon.x-table-icon-up,.x-table-sort-icon.x-icon.x-table-icon-down{display:inherit}.x-table-sort-icon.x-icon.x-table-icon-down{transform:rotate(90deg)}.x-table-scroll-top>thead{box-shadow:0 var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);z-index:1}.x-table-scroll-left>thead .x-table-sticky{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-scroll-left>tbody .x-table-sticky{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-td-adaption-height>tbody tr>td{overflow:inherit}.x-table-td-adaption-height>tbody tr>td>div{white-space:inherit;text-overflow:inherit;overflow:inherit}.x-table-bordered>thead>tr>th,.x-table-bordered>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:calc(var(--x-font-size) / 2)}.x-table-bordered>thead>tr>th:last-child,.x-table-bordered>tbody tr>td:last-child{border-right:none}.x-table-cell-config>thead tr,.x-table-cell-config>tbody tr{display:grid;grid-auto-flow:row;height:100%}.x-table-cell-config>thead>tr>th,.x-table-cell-config>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-cell-config>thead>tr>th:last-child,.x-table-cell-config>tbody tr>td:last-child{border-right:none}.x-table-expand{margin-right:.5rem}.x-table-expandTpl{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-expandTpl>tr{display:block!important;height:inherit!important}.x-table-row-size-big>thead>tr>th,.x-table-row-size-big>tbody tr>td{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) 0}.x-table-row-size-big>thead>tr>th:first-child,.x-table-row-size-big>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-bordered>thead>tr>th,.x-table-row-size-big.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-cell-config>thead>tr>th,.x-table-row-size-big.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-large>thead>tr>th,.x-table-row-size-large>tbody tr>td{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) 0}.x-table-row-size-large>thead>tr>th:first-child,.x-table-row-size-large>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-bordered>thead>tr>th,.x-table-row-size-large.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-cell-config>thead>tr>th,.x-table-row-size-large.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-medium>thead>tr>th,.x-table-row-size-medium>tbody tr>td{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) 0}.x-table-row-size-medium>thead>tr>th:first-child,.x-table-row-size-medium>tbody tr>td:first-child{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-bordered>thead>tr>th,.x-table-row-size-medium.x-table-bordered>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-cell-config>thead>tr>th,.x-table-row-size-medium.x-table-cell-config>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-small>thead>tr>th,.x-table-row-size-small>tbody tr>td{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) 0}.x-table-row-size-small>thead>tr>th:first-child,.x-table-row-size-small>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-bordered>thead>tr>th,.x-table-row-size-small.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-cell-config>thead>tr>th,.x-table-row-size-small.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-mini>thead>tr>th,.x-table-row-size-mini>tbody tr>td{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) 0}.x-table-row-size-mini>thead>tr>th:first-child,.x-table-row-size-mini>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-bordered>thead>tr>th,.x-table-row-size-mini.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-cell-config>thead>tr>th,.x-table-row-size-mini.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}x-table{width:100%;display:flex;flex-direction:column}x-table .x-pagination{padding-top:calc(var(--x-font-size) / 2)}x-table.x-table-top-left{flex-direction:column-reverse}x-table.x-table-top-left .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-center{flex-direction:column-reverse;align-items:center}x-table.x-table-top-center .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-right{flex-direction:column-reverse;align-items:flex-end}x-table.x-table-top-right .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-bottom-center{align-items:center}x-table.x-table-bottom-right{align-items:flex-end}\n"], components: [{ type: i2.XLoadingComponent, selector: "x-loading, [x-loading]" }, { type: i3.XTableHeadComponent, selector: "x-table-head", inputs: ["table"] }, { type: i4.XTableBodyComponent, selector: "x-table-body", inputs: ["table"] }, { type: i5.XTableFootComponent, selector: "x-table-foot", inputs: ["table"] }, { type: i6.XPaginationComponent, selector: "x-pagination" }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTableComponent, decorators: [{
212
260
  type: Component,
213
- args: [{ selector: `${XTablePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<table\r\n #table\r\n class=\"x-table\"\r\n [ngClass]=\"classMap\"\r\n [x-loading]=\"loading && getting\"\r\n [class.x-table-scroll-left]=\"getScrollLeft\"\r\n [class.x-table-scroll-top]=\"getScrollTop\"\r\n [class.x-table-bordered]=\"bordered\"\r\n [class.x-table-td-adaption-height]=\"rowHeight == 0\"\r\n [class.x-table-cell-config]=\"cellConfig\"\r\n>\r\n <x-table-head\r\n *ngIf=\"showHeader\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-body\r\n [data]=\"tableData\"\r\n [columns]=\"columns\"\r\n [itemSize]=\"itemSize\"\r\n [rowHeight]=\"rowHeight\"\r\n [bodyHeight]=\"bodyHeight\"\r\n [columnTpl]=\"bodyColumnTpl\"\r\n [allowSelectRow]=\"allowSelectRow\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [adaptionHeight]=\"adaptionHeight\"\r\n [docPercent]=\"docPercent\"\r\n [scroll]=\"scroll\"\r\n [rowClass]=\"rowClass\"\r\n [cellConfig]=\"cellConfig?.tbody\"\r\n [(activatedRow)]=\"activatedRow\"\r\n (activatedRowChange)=\"activatedRowChange.emit($event)\"\r\n [table]=\"this\"\r\n ></x-table-body>\r\n <x-table-foot [table]=\"this\"></x-table-foot>\r\n</table>\r\n<x-pagination\r\n #pagination\r\n *ngIf=\"showPagination && size\"\r\n [(index)]=\"index\"\r\n [(size)]=\"size\"\r\n [(query)]=\"query\"\r\n [total]=\"total\"\r\n (indexChange)=\"change($event)\"\r\n [showEllipsis]=\"showEllipsis\"\r\n [showTotal]=\"showTotal\"\r\n [space]=\"space\"\r\n [hiddenBorder]=\"hiddenBorder\"\r\n>\r\n</x-pagination>\r\n", styles: [".x-table{margin:0;padding:0;display:flex;flex-direction:column;border-collapse:collapse;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead{position:relative;overflow:hidden;display:block;background-color:var(--x-background);min-height:42px}.x-table>thead>tr{position:absolute;width:100%;display:flex;min-height:42px}.x-table>thead>tr>th{display:flex;align-items:center;flex:1;position:relative;font-weight:600;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead>tr>th>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-table>thead>tr>th.x-table-sticky{position:sticky;z-index:1}.x-table>thead>tr>th .x-table-drag-width{position:absolute;height:100%;width:.1875rem;right:-.125rem;cursor:ew-resize;transition:background-color var(--x-animation-duration-fast);z-index:1}.x-table>thead>tr>th .x-table-drag-width:hover{background-color:var(--x-primary)}.x-table>tbody{display:block;border-top:none;position:relative;min-height:7rem}.x-table>tbody tr{display:flex}.x-table>tbody tr>td{display:flex;align-items:center;position:relative;justify-content:space-between;overflow:hidden;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody tr>td>div{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-table>tbody tr>td.x-table-sticky{position:sticky;z-index:1}.x-table>tbody tr.x-table-activated>td{background-color:#0000000d;color:var(--x-primary)}.x-table>tbody tr:hover>td{background-color:#0000000d}.x-table>tbody tr:last-child{border-bottom:none}.x-table>tbody x-empty{position:absolute;top:0;width:100%;padding:calc(var(--x-font-size) * 2)}.x-table>tfoot{display:flex;flex-direction:column;justify-content:center}.x-table-sort{cursor:pointer;transition:transform .2s}.x-table-sort:hover{color:var(--x-text-300)}.x-table-sort:active{transform:translate(1px,1px)}.x-table-sort-icon.x-icon{margin-left:.25rem;display:none;font-size:1rem;transform:rotate(90deg) rotateY(180deg);transition:.3s}.x-table-sort-icon.x-icon.x-table-icon-up,.x-table-sort-icon.x-icon.x-table-icon-down{display:inherit}.x-table-sort-icon.x-icon.x-table-icon-down{transform:rotate(90deg)}.x-table-scroll-top>thead{box-shadow:0 var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);z-index:1}.x-table-scroll-left>thead .x-table-sticky{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-scroll-left>tbody .x-table-sticky{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-td-adaption-height>tbody tr>td{overflow:inherit}.x-table-td-adaption-height>tbody tr>td>div{white-space:inherit;text-overflow:inherit;overflow:inherit}.x-table-bordered>thead>tr>th,.x-table-bordered>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:calc(var(--x-font-size) / 2)}.x-table-bordered>thead>tr>th:last-child,.x-table-bordered>tbody tr>td:last-child{border-right:none}.x-table-cell-config>thead tr,.x-table-cell-config>tbody tr{display:grid;grid-auto-flow:row;height:100%}.x-table-cell-config>thead>tr>th,.x-table-cell-config>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-cell-config>thead>tr>th:last-child,.x-table-cell-config>tbody tr>td:last-child{border-right:none}.x-table-row-size-big>thead>tr>th,.x-table-row-size-big>tbody tr>td{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) 0}.x-table-row-size-big>thead>tr>th:first-child,.x-table-row-size-big>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-bordered>thead>tr>th,.x-table-row-size-big.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-cell-config>thead>tr>th,.x-table-row-size-big.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-large>thead>tr>th,.x-table-row-size-large>tbody tr>td{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) 0}.x-table-row-size-large>thead>tr>th:first-child,.x-table-row-size-large>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-bordered>thead>tr>th,.x-table-row-size-large.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-cell-config>thead>tr>th,.x-table-row-size-large.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-medium>thead>tr>th,.x-table-row-size-medium>tbody tr>td{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) 0}.x-table-row-size-medium>thead>tr>th:first-child,.x-table-row-size-medium>tbody tr>td:first-child{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-bordered>thead>tr>th,.x-table-row-size-medium.x-table-bordered>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-cell-config>thead>tr>th,.x-table-row-size-medium.x-table-cell-config>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-small>thead>tr>th,.x-table-row-size-small>tbody tr>td{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) 0}.x-table-row-size-small>thead>tr>th:first-child,.x-table-row-size-small>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-bordered>thead>tr>th,.x-table-row-size-small.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-cell-config>thead>tr>th,.x-table-row-size-small.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-mini>thead>tr>th,.x-table-row-size-mini>tbody tr>td{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) 0}.x-table-row-size-mini>thead>tr>th:first-child,.x-table-row-size-mini>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-bordered>thead>tr>th,.x-table-row-size-mini.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-cell-config>thead>tr>th,.x-table-row-size-mini.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}x-table{width:100%;display:flex;flex-direction:column}x-table .x-pagination{padding-top:calc(var(--x-font-size) / 2)}x-table.x-table-top-left{flex-direction:column-reverse}x-table.x-table-top-left .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-center{flex-direction:column-reverse;align-items:center}x-table.x-table-top-center .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-right{flex-direction:column-reverse;align-items:flex-end}x-table.x-table-top-right .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-bottom-center{align-items:center}x-table.x-table-bottom-right{align-items:flex-end}\n"] }]
261
+ args: [{ selector: `${XTablePrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<table\r\n #table\r\n class=\"x-table\"\r\n [ngClass]=\"classMap\"\r\n [x-loading]=\"loading && getting\"\r\n [class.x-table-scroll-left]=\"getScrollLeft\"\r\n [class.x-table-scroll-top]=\"getScrollTop\"\r\n [class.x-table-bordered]=\"bordered\"\r\n [class.x-table-td-adaption-height]=\"rowHeight == 0\"\r\n [class.x-table-cell-config]=\"cellConfig\"\r\n>\r\n <x-table-head\r\n *ngIf=\"showHeader\"\r\n [columns]=\"columns\"\r\n [rowHeight]=\"rowHeight\"\r\n [columnTpl]=\"headColumnTpl\"\r\n [scrollYWidth]=\"scrollYWidth\"\r\n [scrollXWidth]=\"scrollXWidth\"\r\n [cellConfig]=\"cellConfig?.thead\"\r\n [table]=\"this\"\r\n ></x-table-head>\r\n <x-table-body\r\n [data]=\"treeTable ? treeTableData : tableData\"\r\n [columns]=\"columns\"\r\n [itemSize]=\"itemSize\"\r\n [rowHeight]=\"rowHeight\"\r\n [bodyHeight]=\"bodyHeight\"\r\n [columnTpl]=\"bodyColumnTpl\"\r\n [allowSelectRow]=\"allowSelectRow\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [minBufferPx]=\"minBufferPx\"\r\n [maxBufferPx]=\"maxBufferPx\"\r\n [adaptionHeight]=\"adaptionHeight\"\r\n [docPercent]=\"docPercent\"\r\n [scroll]=\"scroll\"\r\n [rowClass]=\"rowClass\"\r\n [cellConfig]=\"cellConfig?.tbody\"\r\n [expandedAll]=\"expandedAll\"\r\n [expandTpl]=\"expandTpl\"\r\n [(activatedRow)]=\"activatedRow\"\r\n (activatedRowChange)=\"activatedRowChange.emit($event)\"\r\n [table]=\"this\"\r\n ></x-table-body>\r\n <x-table-foot [table]=\"this\"></x-table-foot>\r\n</table>\r\n<x-pagination\r\n #pagination\r\n *ngIf=\"showPagination && size\"\r\n [(index)]=\"index\"\r\n [(size)]=\"size\"\r\n [(query)]=\"query\"\r\n [total]=\"total\"\r\n (indexChange)=\"change($event)\"\r\n [showEllipsis]=\"showEllipsis\"\r\n [showTotal]=\"showTotal\"\r\n [space]=\"space\"\r\n [hiddenBorder]=\"hiddenBorder\"\r\n>\r\n</x-pagination>\r\n", styles: [".x-table{margin:0;padding:0;display:flex;flex-direction:column;border-collapse:collapse;width:100%;border:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead{position:relative;overflow:hidden;display:block;background-color:var(--x-background);min-height:42px}.x-table>thead>tr{position:absolute;width:100%;display:flex;min-height:42px}.x-table>thead>tr>th{display:flex;align-items:center;flex:1;position:relative;font-weight:600;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>thead>tr>th>a{display:inline-flex;align-items:center;color:var(--x-text-300);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.x-table>thead>tr>th.x-table-sticky{position:sticky;z-index:1}.x-table>thead>tr>th .x-table-drag-width{position:absolute;height:100%;width:.1875rem;right:-.125rem;cursor:ew-resize;transition:background-color var(--x-animation-duration-fast);z-index:1}.x-table>thead>tr>th .x-table-drag-width:hover{background-color:var(--x-primary)}.x-table>tbody{display:block;border-top:none;position:relative;min-height:7rem}.x-table>tbody tr{display:flex}.x-table>tbody tr>td{display:flex;align-items:center;position:relative;justify-content:space-between;overflow:hidden;background-color:var(--x-background);border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table>tbody tr>td>div{flex:1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.x-table>tbody tr>td.x-table-sticky{position:sticky;z-index:1}.x-table>tbody tr>td>x-button .x-icon{transition:var(--x-animation-duration-base)}.x-table>tbody tr>td>x-button.is-leaf{visibility:hidden}.x-table>tbody tr>td>x-button.is-expanded .x-icon{transform:rotate(90deg)}.x-table>tbody tr.x-table-activated>td{background-color:var(--x-background-a200);color:var(--x-primary)}.x-table>tbody tr:hover>td{background-color:var(--x-background-a200)}.x-table>tbody tr:last-child{border-bottom:none}.x-table>tbody x-empty{position:absolute;top:0;width:100%;padding:calc(var(--x-font-size) * 2)}.x-table>tfoot{display:flex;flex-direction:column;justify-content:center}.x-table-sort{cursor:pointer;transition:transform .2s}.x-table-sort:hover{color:var(--x-text-300)}.x-table-sort:active{transform:translate(1px,1px)}.x-table-sort-icon.x-icon{margin-left:.25rem;display:none;font-size:1rem;transform:rotate(90deg) rotateY(180deg);transition:.3s}.x-table-sort-icon.x-icon.x-table-icon-up,.x-table-sort-icon.x-icon.x-table-icon-down{display:inherit}.x-table-sort-icon.x-icon.x-table-icon-down{transform:rotate(90deg)}.x-table-scroll-top>thead{box-shadow:0 var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);z-index:1}.x-table-scroll-left>thead .x-table-sticky{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-scroll-left>tbody .x-table-sticky{box-shadow:var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-width) var(--x-box-shadow-light-color);border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-td-adaption-height>tbody tr>td{overflow:inherit}.x-table-td-adaption-height>tbody tr>td>div{white-space:inherit;text-overflow:inherit;overflow:inherit}.x-table-bordered>thead>tr>th,.x-table-bordered>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:calc(var(--x-font-size) / 2)}.x-table-bordered>thead>tr>th:last-child,.x-table-bordered>tbody tr>td:last-child{border-right:none}.x-table-cell-config>thead tr,.x-table-cell-config>tbody tr{display:grid;grid-auto-flow:row;height:100%}.x-table-cell-config>thead>tr>th,.x-table-cell-config>tbody tr>td{border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-cell-config>thead>tr>th:last-child,.x-table-cell-config>tbody tr>td:last-child{border-right:none}.x-table-expand{margin-right:.5rem}.x-table-expandTpl{border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-table-expandTpl>tr{display:block!important;height:inherit!important}.x-table-row-size-big>thead>tr>th,.x-table-row-size-big>tbody tr>td{padding:calc(var(--x-font-size) / 5 * 4) calc(var(--x-font-size) * 5 / 4) calc(var(--x-font-size) / 5 * 4) 0}.x-table-row-size-big>thead>tr>th:first-child,.x-table-row-size-big>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-bordered>thead>tr>th,.x-table-row-size-big.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-big.x-table-cell-config>thead>tr>th,.x-table-row-size-big.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 5 / 4)}.x-table-row-size-large>thead>tr>th,.x-table-row-size-large>tbody tr>td{padding:calc(var(--x-font-size) / 4 * 3) calc(var(--x-font-size) * 4 / 3) calc(var(--x-font-size) / 4 * 3) 0}.x-table-row-size-large>thead>tr>th:first-child,.x-table-row-size-large>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-bordered>thead>tr>th,.x-table-row-size-large.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-large.x-table-cell-config>thead>tr>th,.x-table-row-size-large.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 4 / 3)}.x-table-row-size-medium>thead>tr>th,.x-table-row-size-medium>tbody tr>td{padding:calc(var(--x-font-size) / 2) var(--x-font-size) calc(var(--x-font-size) / 2) 0}.x-table-row-size-medium>thead>tr>th:first-child,.x-table-row-size-medium>tbody tr>td:first-child{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-bordered>thead>tr>th,.x-table-row-size-medium.x-table-bordered>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-medium.x-table-cell-config>thead>tr>th,.x-table-row-size-medium.x-table-cell-config>tbody tr>td{padding-left:var(--x-font-size)}.x-table-row-size-small>thead>tr>th,.x-table-row-size-small>tbody tr>td{padding:calc(var(--x-font-size) / 3) calc(var(--x-font-size) * 2 / 3) calc(var(--x-font-size) / 3) 0}.x-table-row-size-small>thead>tr>th:first-child,.x-table-row-size-small>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-bordered>thead>tr>th,.x-table-row-size-small.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-small.x-table-cell-config>thead>tr>th,.x-table-row-size-small.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) * 2 / 3)}.x-table-row-size-mini>thead>tr>th,.x-table-row-size-mini>tbody tr>td{padding:calc(var(--x-font-size) / 4) calc(var(--x-font-size) / 2) calc(var(--x-font-size) / 4) 0}.x-table-row-size-mini>thead>tr>th:first-child,.x-table-row-size-mini>tbody tr>td:first-child{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-bordered>thead>tr>th,.x-table-row-size-mini.x-table-bordered>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}.x-table-row-size-mini.x-table-cell-config>thead>tr>th,.x-table-row-size-mini.x-table-cell-config>tbody tr>td{padding-left:calc(var(--x-font-size) / 2)}x-table{width:100%;display:flex;flex-direction:column}x-table .x-pagination{padding-top:calc(var(--x-font-size) / 2)}x-table.x-table-top-left{flex-direction:column-reverse}x-table.x-table-top-left .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-center{flex-direction:column-reverse;align-items:center}x-table.x-table-top-center .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-top-right{flex-direction:column-reverse;align-items:flex-end}x-table.x-table-top-right .x-pagination{padding-top:0;padding-bottom:calc(var(--x-font-size) / 2)}x-table.x-table-bottom-center{align-items:center}x-table.x-table-bottom-right{align-items:flex-end}\n"] }]
214
262
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { table: [{
215
263
  type: ViewChild,
216
264
  args: ['table']
@@ -218,4 +266,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
218
266
  type: ViewChild,
219
267
  args: ['pagination']
220
268
  }] } });
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBNkQsTUFBTSxrQkFBa0IsQ0FBQztBQUMzSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBK0MsTUFBTSxrQkFBa0IsQ0FBQztBQUdwRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7O0FBUy9CLE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQWM7SUE4QmpELFlBQ1MsUUFBbUIsRUFDbkIsVUFBc0IsRUFDdEIsR0FBc0IsRUFDdEIsYUFBNkI7UUFFcEMsS0FBSyxFQUFFLENBQUM7UUFMRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWdCO1FBckJ0QyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsa0JBQWEsR0FBRyxDQUFDLENBQUM7UUFFbEIsZUFBVSxHQUFHLENBQUMsQ0FBQztRQUNmLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFHZCxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLFlBQU8sR0FBRyxLQUFL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O0lBQzNCLENBQUM7O2tKQXBOVSxlQUFlO3NJQUFmLGVBQWUsc1JDMUI1Qiwyd0RBeURBOzJGRC9CYSxlQUFlO2tCQVAzQixTQUFTOytCQUNFLEdBQUcsWUFBWSxFQUFFLGlCQUdaLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07c0xBNkIzQixLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ08sVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIE9uRGVzdHJveVxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVGFibGVQcmVmaXgsIFhUYWJsZVByb3BlcnR5LCBYVGFibGVDb2x1bW4sIFhUYWJsZVJvdywgWFRhYmxlQ2VsbCwgWFRhYmxlQ2VsbENvbmZpZ1J1bGUgfSBmcm9tICcuL3RhYmxlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzQ2hhbmdlLCBYSXNFbXB0eSwgWFJlc3VsdExpc3QsIFhOdW1iZXIsIFhTb3J0LCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgWFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9wYWdpbmF0aW9uJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFRhYmxlUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUNvbXBvbmVudCBleHRlbmRzIFhUYWJsZVByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGdldCBnZXRTY3JvbGxMZWZ0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Nyb2xsTGVmdCA+IDA7XHJcbiAgfVxyXG4gIGdldCBnZXRTY3JvbGxUb3AoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zY3JvbGxUb3AgPiAwO1xyXG4gIH1cclxuICB0aGVhZCE6IEVsZW1lbnRSZWY7XHJcbiAgdGZvb3QhOiBFbGVtZW50UmVmO1xyXG4gIHZpcnR1YWxCb2R5ITogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xyXG4gIGhlYWRDaGFuZ2UhOiAoKSA9PiB2b2lkO1xyXG4gIGJvZHlDaGFuZ2UhOiAoKSA9PiB2b2lkO1xyXG4gIHNjcm9sbENvbnRlbnRFbGUhOiBIVE1MRWxlbWVudDtcclxuICBoYXNTY3JvbGxZID0gZmFsc2U7XHJcbiAgc2Nyb2xsWVdpZHRoID0gMDtcclxuICBoYXNTY3JvbGxYID0gZmFsc2U7XHJcbiAgc2Nyb2xsWEhlaWdodCA9IDA7XHJcbiAgc2Nyb2xsWFdpZHRoITogbnVtYmVyIHwgbnVsbDtcclxuICBzY3JvbGxMZWZ0ID0gMDtcclxuICBzY3JvbGxUb3AgPSAwO1xyXG4gIHJvd0NoZWNrZWQhOiBYVGFibGVDb2x1bW47XHJcbiAgaGVhZENoZWNrYm94TGlzdCE6IFhUYWJsZUNvbHVtbltdO1xyXG4gIGRhdGFJc0Z1bmMgPSBmYWxzZTtcclxuICBnZXR0aW5nID0gZmFsc2U7XHJcbiAgdGFibGVEYXRhOiBYVGFibGVSb3dbXSA9IFtdO1xyXG4gIGNoZWNrZWRWYWx1ZXM6IHsgW3Byb3A6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xyXG4gIGluZGV0ZXJtaW5hdGUgPSAnJCRpbmRldGVybWluYXRlJztcclxuICBAVmlld0NoaWxkKCd0YWJsZScpIHRhYmxlITogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdwYWdpbmF0aW9uJykgcGFnaW5hdGlvbiE6IFhQYWdpbmF0aW9uQ29tcG9uZW50O1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2VcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0Q2xhc3NNYXAoKTtcclxuICAgIHRoaXMuc2V0Um93Q2hlY2tlZCgpO1xyXG4gICAgdGhpcy5zZXRNZXJnZSgpO1xyXG4gICAgdGhpcy5zZXRQYWdpbmF0aW9uUG9zaXRpb24oKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgY2hlY2tlZFJvdywgY29sdW1ucywgYWN0aXZhdGVkUm93LCBtYW51YWwsIHNob3dQYWdpbmF0aW9uIH0gPSBzaW1wbGVzO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEsIGNoZWNrZWRSb3cpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gICAgWElzQ2hhbmdlKGNvbHVtbnMsIGFjdGl2YXRlZFJvdywgc2hvd1BhZ2luYXRpb24pICYmIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIFhJc0NoYW5nZShtYW51YWwpICYmIHRoaXMuc2V0TWFudWFsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgdGhpcy5jbGFzc01hcCA9IHtcclxuICAgICAgW2Ake1hUYWJsZVByZWZpeH0tcm93LXNpemUtJHt0aGlzLnJvd1NpemV9YF06ICFYSXNFbXB0eSh0aGlzLnJvd1NpemUpXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0UGFnaW5hdGlvblBvc2l0aW9uKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgYHgtdGFibGUtJHt0aGlzLnBhZ2luYXRpb25Qb3NpdGlvbn1gKTtcclxuICB9XHJcblxyXG4gIGdldFN0aWNreShjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIHJldHVybiBOdW1iZXIoY29sdW1uLmxlZnQpID49IDA7XHJcbiAgfVxyXG5cclxuICBnZXRJbmRleChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gKE51bWJlcih0aGlzLmluZGV4KSAtIDEpICogTnVtYmVyKHRoaXMuc2l6ZSkgKyBpbmRleCArIDE7XHJcbiAgfVxyXG5cclxuICBzZXREYXRhKCkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSkge1xyXG4gICAgICB0aGlzLmRhdGFJc0Z1bmMgPSBmYWxzZTtcclxuICAgICAgdGhpcy50YWJsZURhdGEgPSB0aGlzLmRhdGE7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZCgpO1xyXG4gICAgICB0aGlzLnNldEhlYWRDaGVja2JveExpc3QoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcclxuICAgICAgdGhpcy5kYXRhSXNGdW5jID0gdHJ1ZTtcclxuICAgICAgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhQnlGdW5jKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hbnVhbCkgcmV0dXJuO1xyXG4gICAgdGhpcy5nZXR0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICAodGhpcy5kYXRhIGFzIEZ1bmN0aW9uKSh0aGlzLmluZGV4LCB0aGlzLnNpemUsIHRoaXMucXVlcnkpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4OiBYUmVzdWx0TGlzdDxYVGFibGVSb3c+KSA9PiB7XHJcbiAgICAgICAgW3RoaXMudGFibGVEYXRhLCB0aGlzLnRvdGFsXSA9IFt4Lmxpc3QgYXMgWFRhYmxlUm93W10sIHgudG90YWwgYXMgWE51bWJlcl07XHJcbiAgICAgICAgaWYgKHRoaXMudmlydHVhbEJvZHkpIHtcclxuICAgICAgICAgIHRoaXMudmlydHVhbEJvZHkuc2Nyb2xsVG9JbmRleCgwKTtcclxuICAgICAgICAgIHRoaXMudmlydHVhbEJvZHkuY2hlY2tWaWV3cG9ydFNpemUoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5nZXR0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zZXRDaGVja2VkKCk7XHJcbiAgICAgICAgdGhpcy5zZXRIZWFkQ2hlY2tib3hMaXN0KCk7XHJcbiAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0TWFudWFsKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YUlzRnVuYykgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgfVxyXG5cclxuICBzZXRSb3dDaGVja2VkKCkge1xyXG4gICAgdGhpcy5yb3dDaGVja2VkID0gdGhpcy5jb2x1bW5zLmZpbmQoKHgpID0+IHgucm93Q2hlY2tlZCkgYXMgWFRhYmxlQ29sdW1uO1xyXG4gICAgdGhpcy5oZWFkQ2hlY2tib3hMaXN0ID0gdGhpcy5jb2x1bW5zLmZpbHRlcigoeCkgPT4geC50eXBlID09PSAnY2hlY2tib3gnICYmIHguaGVhZENoZWNrZWQpO1xyXG4gIH1cclxuXHJcbiAgc2V0TWVyZ2UoKSB7XHJcbiAgICBpZiAoIXRoaXMuY2VsbENvbmZpZykgcmV0dXJuO1xyXG4gICAgY29uc3Qgc2V0UnVsZSA9IChydWxlPzogWFRhYmxlQ2VsbENvbmZpZ1J1bGUpID0+IHtcclxuICAgICAgaWYgKCFydWxlKSByZXR1cm47XHJcbiAgICAgIGxldCBncmlkVGVtcGxhdGVDb2x1bW5zID0gJycsXHJcbiAgICAgICAgY2VsbHMgPSBbXTtcclxuICAgICAgaWYgKCFydWxlLmdyaWRUZW1wbGF0ZUNvbHVtbnMpIHtcclxuICAgICAgICBncmlkVGVtcGxhdGVDb2x1bW5zID0gYCR7dGhpcy5jb2x1bW5zXHJcbiAgICAgICAgICAubWFwKCh4KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh4LndpZHRoKSByZXR1cm4geC53aWR0aDtcclxuICAgICAgICAgICAgaWYgKHguZmxleCkgcmV0dXJuIGAke3guZmxleH1mcmA7XHJcbiAgICAgICAgICAgIHJldHVybiAnMWZyJztcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAuam9pbignICcpfWA7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFydWxlLmNlbGxzKSByZXR1cm47XHJcbiAgICAgIGNlbGxzID0gcnVsZS5jZWxscy5tYXAoKHkpID0+IHtcclxuICAgICAgICBjb25zdCBjb2wgPSB0aGlzLmNvbHVtbnMuZmluZCgoeikgPT4gei5pZCA9PT0geS5pZCk7XHJcbiAgICAgICAgaWYgKGNvbCkge1xyXG4gICAgICAgICAgcmV0dXJuIHsgLi4uY29sLCAuLi55IH0gYXMgWFRhYmxlQ2VsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4geyBncmlkVGVtcGxhdGVDb2x1bW5zLCBjZWxscyB9O1xyXG4gICAgfTtcclxuICAgIHRoaXMuY2VsbENvbmZpZy50aGVhZCA9IHNldFJ1bGUodGhpcy5jZWxsQ29uZmlnLnRoZWFkKTtcclxuICAgIHRoaXMuY2VsbENvbmZpZy50Ym9keSA9IHNldFJ1bGUodGhpcy5jZWxsQ29uZmlnLnRib2R5KTtcclxuICB9XHJcblxyXG4gIGNoYW5nZShpbmRleDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLmluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLmRhdGFJc0Z1bmMgJiYgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgICB0aGlzLmluZGV4Q2hhbmdlLmVtaXQoaW5kZXgpO1xyXG4gICAgdGhpcy5yZXNldFNjcm9sbCgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRTY3JvbGwoeCA9IHRydWUsIHkgPSB0cnVlKSB7XHJcbiAgICBpZiAodGhpcy5oYXNTY3JvbGxYICYmIHgpIHRoaXMudmlydHVhbEJvZHk/LnNjcm9sbFRvKHsgbGVmdDogMCB9KTtcclxuICAgIGlmICh0aGlzLmhhc1Njcm9sbFkgJiYgeSkgdGhpcy52aXJ0dWFsQm9keT8uc2Nyb2xsVG8oeyB0b3A6IDAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRDaGVja2VkKCkge1xyXG4gICAgbGV0IHJlc3VsdDogWFRhYmxlUm93W10gPSBbXTtcclxuICAgIGlmIChYSXNFbXB0eSh0aGlzLnRhYmxlRGF0YSkgfHwgIXRoaXMuY2hlY2tlZFJvdykgcmV0dXJuO1xyXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuY2hlY2tlZFJvdykge1xyXG4gICAgICBjb25zdCBhcnIgPSB0aGlzLmNoZWNrZWRSb3dba2V5XTtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiB0aGlzLnRhYmxlRGF0YSBhcyBhbnlbXSkge1xyXG4gICAgICAgIGl0ZW1ba2V5XSA9IGFyci5pbmNsdWRlcyhpdGVtLmlkKTtcclxuICAgICAgICByZXN1bHQgPSBbLi4ucmVzdWx0LCBpdGVtXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKHJlc3VsdC5sZW5ndGggPiAwKSB0aGlzLnRhYmxlRGF0YSA9IFsuLi5yZXN1bHRdO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRIZWFkQ2hlY2tib3hMaXN0KCkge1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMudGFibGVEYXRhKSB8fCAhdGhpcy5oZWFkQ2hlY2tib3hMaXN0KSByZXR1cm47XHJcbiAgICBmb3IgKGxldCBjb2x1bW4gb2YgdGhpcy5oZWFkQ2hlY2tib3hMaXN0KSB7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW4pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hlY2tTb3J0KHNvcnQ6IFhTb3J0W10pIHtcclxuICAgIGlmICghdGhpcy5kYXRhSXNGdW5jKSByZXR1cm47XHJcbiAgICBpZiAodHlwZW9mIHRoaXMucXVlcnkgPT09ICd1bmRlZmluZWQnKSB0aGlzLnF1ZXJ5ID0ge307XHJcbiAgICB0aGlzLnF1ZXJ5LnNvcnQgPSBzb3J0O1xyXG4gICAgdGhpcy5xdWVyeUNoYW5nZS5lbWl0KHRoaXMucXVlcnkpO1xyXG4gICAgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgfVxyXG5cclxuICBoZWFkQ2hlY2tlZChjaGVja2VkOiBib29sZWFuLCBjb2x1bW46IFhUYWJsZUNvbHVtbikge1xyXG4gICAgdGhpcy50YWJsZURhdGEuZm9yRWFjaCgoeCkgPT4ge1xyXG4gICAgICB4W2NvbHVtbi5pZF0gPSBjaGVja2VkO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldENoZWNrZWRWYWx1ZXMoY29sdW1uKTtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgYm9keUNoZWNrZWQoX2NoZWNrZWQ6IGJvb2xlYW4sIGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICB0aGlzLnNldENoZWNrZWRWYWx1ZXMoY29sdW1uKTtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW46IFhUYWJsZUNvbHVtbikge1xyXG4gICAgY29uc3QgY291bnQgPSB0aGlzLnRhYmxlRGF0YS5sZW5ndGg7XHJcbiAgICBjb25zdCBjaGVja2VkTGVuID0gdGhpcy50YWJsZURhdGEuZmlsdGVyKCh4KSA9PiB4W2NvbHVtbi5pZF0pLmxlbmd0aDtcclxuICAgIHRoaXMuY2hlY2tlZFZhbHVlc1tjb2x1bW4uaWRdID0gY291bnQgPT09IGNoZWNrZWRMZW47XHJcbiAgICB0aGlzLmNoZWNrZWRWYWx1ZXNbY29sdW1uLmlkICsgdGhpcy5pbmRldGVybWluYXRlXSA9IGNoZWNrZWRMZW4gPiAwICYmIGNoZWNrZWRMZW4gPCBjb3VudDtcclxuICB9XHJcblxyXG4gIGRldGVjdENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLmJvZHlDaGFuZ2UgJiYgdGhpcy5ib2R5Q2hhbmdlKCk7XHJcbiAgICB0aGlzLmhlYWRDaGFuZ2UgJiYgdGhpcy5oZWFkQ2hhbmdlKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjx0YWJsZVxyXG4gICN0YWJsZVxyXG4gIGNsYXNzPVwieC10YWJsZVwiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIlxyXG4gIFt4LWxvYWRpbmddPVwibG9hZGluZyAmJiBnZXR0aW5nXCJcclxuICBbY2xhc3MueC10YWJsZS1zY3JvbGwtbGVmdF09XCJnZXRTY3JvbGxMZWZ0XCJcclxuICBbY2xhc3MueC10YWJsZS1zY3JvbGwtdG9wXT1cImdldFNjcm9sbFRvcFwiXHJcbiAgW2NsYXNzLngtdGFibGUtYm9yZGVyZWRdPVwiYm9yZGVyZWRcIlxyXG4gIFtjbGFzcy54LXRhYmxlLXRkLWFkYXB0aW9uLWhlaWdodF09XCJyb3dIZWlnaHQgPT0gMFwiXHJcbiAgW2NsYXNzLngtdGFibGUtY2VsbC1jb25maWddPVwiY2VsbENvbmZpZ1wiXHJcbj5cclxuICA8eC10YWJsZS1oZWFkXHJcbiAgICAqbmdJZj1cInNob3dIZWFkZXJcIlxyXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICBbcm93SGVpZ2h0XT1cInJvd0hlaWdodFwiXHJcbiAgICBbY29sdW1uVHBsXT1cImhlYWRDb2x1bW5UcGxcIlxyXG4gICAgW3Njcm9sbFlXaWR0aF09XCJzY3JvbGxZV2lkdGhcIlxyXG4gICAgW3Njcm9sbFhXaWR0aF09XCJzY3JvbGxYV2lkdGhcIlxyXG4gICAgW2NlbGxDb25maWddPVwiY2VsbENvbmZpZz8udGhlYWRcIlxyXG4gICAgW3RhYmxlXT1cInRoaXNcIlxyXG4gID48L3gtdGFibGUtaGVhZD5cclxuICA8eC10YWJsZS1ib2R5XHJcbiAgICBbZGF0YV09XCJ0YWJsZURhdGFcIlxyXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICBbaXRlbVNpemVdPVwiaXRlbVNpemVcIlxyXG4gICAgW3Jvd0hlaWdodF09XCJyb3dIZWlnaHRcIlxyXG4gICAgW2JvZHlIZWlnaHRdPVwiYm9keUhlaWdodFwiXHJcbiAgICBbY29sdW1uVHBsXT1cImJvZHlDb2x1bW5UcGxcIlxyXG4gICAgW2FsbG93U2VsZWN0Um93XT1cImFsbG93U2VsZWN0Um93XCJcclxuICAgIFt2aXJ0dWFsU2Nyb2xsXT1cInZpcnR1YWxTY3JvbGxcIlxyXG4gICAgW21pbkJ1ZmZlclB4XT1cIm1pbkJ1ZmZlclB4XCJcclxuICAgIFttYXhCdWZmZXJQeF09XCJtYXhCdWZmZXJQeFwiXHJcbiAgICBbYWRhcHRpb25IZWlnaHRdPVwiYWRhcHRpb25IZWlnaHRcIlxyXG4gICAgW2RvY1BlcmNlbnRdPVwiZG9jUGVyY2VudFwiXHJcbiAgICBbc2Nyb2xsXT1cInNjcm9sbFwiXHJcbiAgICBbcm93Q2xhc3NdPVwicm93Q2xhc3NcIlxyXG4gICAgW2NlbGxDb25maWddPVwiY2VsbENvbmZpZz8udGJvZHlcIlxyXG4gICAgWyhhY3RpdmF0ZWRSb3cpXT1cImFjdGl2YXRlZFJvd1wiXHJcbiAgICAoYWN0aXZhdGVkUm93Q2hhbmdlKT1cImFjdGl2YXRlZFJvd0NoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgW3RhYmxlXT1cInRoaXNcIlxyXG4gID48L3gtdGFibGUtYm9keT5cclxuICA8eC10YWJsZS1mb290IFt0YWJsZV09XCJ0aGlzXCI+PC94LXRhYmxlLWZvb3Q+XHJcbjwvdGFibGU+XHJcbjx4LXBhZ2luYXRpb25cclxuICAjcGFnaW5hdGlvblxyXG4gICpuZ0lmPVwic2hvd1BhZ2luYXRpb24gJiYgc2l6ZVwiXHJcbiAgWyhpbmRleCldPVwiaW5kZXhcIlxyXG4gIFsoc2l6ZSldPVwic2l6ZVwiXHJcbiAgWyhxdWVyeSldPVwicXVlcnlcIlxyXG4gIFt0b3RhbF09XCJ0b3RhbFwiXHJcbiAgKGluZGV4Q2hhbmdlKT1cImNoYW5nZSgkZXZlbnQpXCJcclxuICBbc2hvd0VsbGlwc2lzXT1cInNob3dFbGxpcHNpc1wiXHJcbiAgW3Nob3dUb3RhbF09XCJzaG93VG90YWxcIlxyXG4gIFtzcGFjZV09XCJzcGFjZVwiXHJcbiAgW2hpZGRlbkJvcmRlcl09XCJoaWRkZW5Cb3JkZXJcIlxyXG4+XHJcbjwveC1wYWdpbmF0aW9uPlxyXG4iXX0=
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFJakIsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBNkQsTUFBTSxrQkFBa0IsQ0FBQztBQUMzSCxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBK0MsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHbEgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQVMvQixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxjQUFjO0lBaUNqRCxZQUNTLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBTEQsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQXhCdEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUNqQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBS2QsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixZQUFP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QUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEtBQUssVUFBVSxDQUFDO1FBQ3JELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsVUFBVSxHQUFHLENBQUMsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzVGLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOzttSkF0UVUsZUFBZTt1SUFBZixlQUFlLHNSQzFCNUIsNjJEQTJEQTs0RkRqQ2EsZUFBZTtrQkFQM0IsU0FBUzsrQkFDRSxHQUFHLFlBQVksRUFBRSxpQkFHWixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNO3NMQWdDM0IsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNPLFVBQVU7c0JBQWxDLFNBQVM7dUJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBPbkRlc3Ryb3lcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRhYmxlUHJlZml4LCBYVGFibGVQcm9wZXJ0eSwgWFRhYmxlQ29sdW1uLCBYVGFibGVSb3csIFhUYWJsZUNlbGwsIFhUYWJsZUNlbGxDb25maWdSdWxlIH0gZnJvbSAnLi90YWJsZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0NoYW5nZSwgWElzRW1wdHksIFhSZXN1bHRMaXN0LCBYTnVtYmVyLCBYU29ydCwgWENvbmZpZ1NlcnZpY2UsIFhJc1VuZGVmaW5lZCB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgWFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9wYWdpbmF0aW9uJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WFRhYmxlUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWJsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZUNvbXBvbmVudCBleHRlbmRzIFhUYWJsZVByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGdldCBnZXRTY3JvbGxMZWZ0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Nyb2xsTGVmdCA+IDA7XHJcbiAgfVxyXG4gIGdldCBnZXRTY3JvbGxUb3AoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zY3JvbGxUb3AgPiAwO1xyXG4gIH1cclxuICB0aGVhZCE6IEVsZW1lbnRSZWY7XHJcbiAgdGZvb3QhOiBFbGVtZW50UmVmO1xyXG4gIHZpcnR1YWxCb2R5ITogQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0O1xyXG4gIGhlYWRDaGFuZ2UhOiAoKSA9PiB2b2lkO1xyXG4gIGJvZHlDaGFuZ2UhOiAoKSA9PiB2b2lkO1xyXG4gIHNjcm9sbENvbnRlbnRFbGUhOiBIVE1MRWxlbWVudDtcclxuICBoYXNTY3JvbGxZID0gZmFsc2U7XHJcbiAgc2Nyb2xsWVdpZHRoID0gMDtcclxuICBoYXNTY3JvbGxYID0gZmFsc2U7XHJcbiAgc2Nyb2xsWEhlaWdodCA9IDA7XHJcbiAgc2Nyb2xsWFdpZHRoITogbnVtYmVyIHwgbnVsbDtcclxuICBzY3JvbGxMZWZ0ID0gMDtcclxuICBzY3JvbGxUb3AgPSAwO1xyXG4gIHJvd0NoZWNrZWQhOiBYVGFibGVDb2x1bW47XHJcbiAgaGVhZENoZWNrYm94TGlzdCE6IFhUYWJsZUNvbHVtbltdO1xyXG4gIHJvd0V4cGFuZCE6IFhUYWJsZUNvbHVtbjtcclxuICBoZWFkRXhwYW5kTGlzdCE6IFhUYWJsZUNvbHVtbltdO1xyXG4gIGRhdGFJc0Z1bmMgPSBmYWxzZTtcclxuICBnZXR0aW5nID0gZmFsc2U7XHJcbiAgdGFibGVEYXRhOiBYVGFibGVSb3dbXSA9IFtdO1xyXG4gIHRyZWVUYWJsZURhdGE6IFhUYWJsZVJvd1tdID0gW107XHJcbiAgY2hlY2tlZFZhbHVlczogeyBbcHJvcDogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XHJcbiAgaW5kZXRlcm1pbmF0ZSA9ICckJGluZGV0ZXJtaW5hdGUnO1xyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlJykgdGFibGUhOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ3BhZ2luYXRpb24nKSBwYWdpbmF0aW9uITogWFBhZ2luYXRpb25Db21wb25lbnQ7XHJcbiAgcHJpdmF0ZSBfdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHB1YmxpYyBjb25maWdTZXJ2aWNlOiBYQ29uZmlnU2VydmljZVxyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gICAgdGhpcy5zZXRSb3dDaGVja2VkKCk7XHJcbiAgICB0aGlzLnNldFJvd0V4cGFuZCgpO1xyXG4gICAgdGhpcy5zZXRNZXJnZSgpO1xyXG4gICAgdGhpcy5zZXRQYWdpbmF0aW9uUG9zaXRpb24oKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgY2hlY2tlZFJvdywgY29sdW1ucywgYWN0aXZhdGVkUm93LCBtYW51YWwsIHNob3dQYWdpbmF0aW9uLCBleHBhbmRlZEFsbCB9ID0gc2ltcGxlcztcclxuICAgIFhJc0NoYW5nZShleHBhbmRlZEFsbCkgJiYgdGhpcy5zZXRFeHBhbmRlZEFsbCgpO1xyXG4gICAgWElzQ2hhbmdlKGRhdGEsIGNoZWNrZWRSb3cpICYmIHRoaXMuc2V0RGF0YSgpO1xyXG4gICAgWElzQ2hhbmdlKGNvbHVtbnMsIGFjdGl2YXRlZFJvdywgc2hvd1BhZ2luYXRpb24pICYmIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIFhJc0NoYW5nZShtYW51YWwpICYmIHRoaXMuc2V0TWFudWFsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgdGhpcy5jbGFzc01hcCA9IHtcclxuICAgICAgW2Ake1hUYWJsZVByZWZpeH0tcm93LXNpemUtJHt0aGlzLnJvd1NpemV9YF06ICFYSXNFbXB0eSh0aGlzLnJvd1NpemUpXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0UGFnaW5hdGlvblBvc2l0aW9uKCkge1xyXG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgYHgtdGFibGUtJHt0aGlzLnBhZ2luYXRpb25Qb3NpdGlvbn1gKTtcclxuICB9XHJcblxyXG4gIGdldFN0aWNreShjb2x1bW46IFhUYWJsZUNvbHVtbiB8IFhUYWJsZUNlbGwpIHtcclxuICAgIHJldHVybiBOdW1iZXIoY29sdW1uLmxlZnQpID49IDA7XHJcbiAgfVxyXG5cclxuICBnZXRJbmRleChpbmRleDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gKE51bWJlcih0aGlzLmluZGV4KSAtIDEpICogTnVtYmVyKHRoaXMuc2l6ZSkgKyBpbmRleCArIDE7XHJcbiAgfVxyXG5cclxuICBzZXREYXRhKCkge1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5kYXRhKSkge1xyXG4gICAgICB0aGlzLmRhdGFJc0Z1bmMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zZXRDaGVja2VkKHRoaXMuZGF0YSk7XHJcbiAgICAgIHRoaXMuc2V0SGVhZENoZWNrYm94TGlzdCh0aGlzLmRhdGEpO1xyXG4gICAgICB0aGlzLnNldEV4cGFuZCh0aGlzLmRhdGEpO1xyXG4gICAgICB0aGlzLnNldEhlYWRFeHBhbmRMaXN0KCk7XHJcbiAgICAgIHRoaXMudGFibGVEYXRhID0gdGhpcy5kYXRhO1xyXG4gICAgICB0aGlzLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5kYXRhIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcclxuICAgICAgdGhpcy5kYXRhSXNGdW5jID0gdHJ1ZTtcclxuICAgICAgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhQnlGdW5jKCkge1xyXG4gICAgaWYgKCF0aGlzLm1hbnVhbCkgcmV0dXJuO1xyXG4gICAgdGhpcy5nZXR0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICAodGhpcy5kYXRhIGFzIEZ1bmN0aW9uKSh0aGlzLmluZGV4LCB0aGlzLnNpemUsIHRoaXMucXVlcnkpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4OiBYUmVzdWx0TGlzdDxYVGFibGVSb3c+KSA9PiB7XHJcbiAgICAgICAgbGV0IFtkYXRhLCB0b3RhbF0gPSBbeC5saXN0IGFzIFhUYWJsZVJvd1tdLCB4LnRvdGFsIGFzIFhOdW1iZXJdO1xyXG4gICAgICAgIGlmICh0aGlzLnZpcnR1YWxCb2R5KSB7XHJcbiAgICAgICAgICB0aGlzLnZpcnR1YWxCb2R5LnNjcm9sbFRvSW5kZXgoMCk7XHJcbiAgICAgICAgICB0aGlzLnZpcnR1YWxCb2R5LmNoZWNrVmlld3BvcnRTaXplKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZ2V0dGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2V0Q2hlY2tlZChkYXRhKTtcclxuICAgICAgICB0aGlzLnNldEhlYWRDaGVja2JveExpc3QoZGF0YSk7XHJcbiAgICAgICAgdGhpcy5zZXRFeHBhbmQoZGF0YSk7XHJcbiAgICAgICAgdGhpcy5zZXRIZWFkRXhwYW5kTGlzdCgpO1xyXG4gICAgICAgIHRoaXMudGFibGVEYXRhID0gZGF0YTtcclxuICAgICAgICB0aGlzLnRvdGFsID0gdG90YWw7XHJcbiAgICAgICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0TWFudWFsKCkge1xyXG4gICAgaWYgKHRoaXMuZGF0YUlzRnVuYykgdGhpcy5nZXREYXRhQnlGdW5jKCk7XHJcbiAgfVxyXG5cclxuICBzZXRSb3dDaGVja2VkKCkge1xyXG4gICAgdGhpcy5yb3dDaGVja2VkID0gdGhpcy5jb2x1bW5zLmZpbmQoKHgpID0+IHgucm93Q2hlY2tlZCkgYXMgWFRhYmxlQ29sdW1uO1xyXG4gICAgdGhpcy5oZWFkQ2hlY2tib3hMaXN0ID0gdGhpcy5jb2x1bW5zLmZpbHRlcigoeCkgPT4geC50eXBlID09PSAnY2hlY2tib3gnICYmIHguaGVhZENoZWNrZWQpO1xyXG4gIH1cclxuXHJcbiAgc2V0Um93RXhwYW5kKCkge1xyXG4gICAgdGhpcy5yb3dFeHBhbmQgPSB0aGlzLmNvbHVtbnMuZmluZCgoeCkgPT4geC5yb3dFeHBhbmQpIGFzIFhUYWJsZUNvbHVtbjtcclxuICB9XHJcblxyXG4gIGlzRXhwYW5kQ29sdW1uKGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBsZXQgZXhwYW5kQ29sdW1uID0gdGhpcy5jb2x1bW5zLmZpbmQoKHgpID0+IHguaWQgPT09IGNvbHVtbi5pZCAmJiB4LnR5cGUgPT09ICdleHBhbmQnKTtcclxuICAgIGlmIChleHBhbmRDb2x1bW4pIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzZXRNZXJnZSgpIHtcclxuICAgIGlmICghdGhpcy5jZWxsQ29uZmlnKSByZXR1cm47XHJcbiAgICBjb25zdCBzZXRSdWxlID0gKHJ1bGU/OiBYVGFibGVDZWxsQ29uZmlnUnVsZSkgPT4ge1xyXG4gICAgICBpZiAoIXJ1bGUpIHJldHVybjtcclxuICAgICAgbGV0IGdyaWRUZW1wbGF0ZUNvbHVtbnMgPSAnJyxcclxuICAgICAgICBjZWxscyA9IFtdO1xyXG4gICAgICBpZiAoIXJ1bGUuZ3JpZFRlbXBsYXRlQ29sdW1ucykge1xyXG4gICAgICAgIGdyaWRUZW1wbGF0ZUNvbHVtbnMgPSBgJHt0aGlzLmNvbHVtbnNcclxuICAgICAgICAgIC5tYXAoKHgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHgud2lkdGgpIHJldHVybiB4LndpZHRoO1xyXG4gICAgICAgICAgICBpZiAoeC5mbGV4KSByZXR1cm4gYCR7eC5mbGV4fWZyYDtcclxuICAgICAgICAgICAgcmV0dXJuICcxZnInO1xyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5qb2luKCcgJyl9YDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIXJ1bGUuY2VsbHMpIHJldHVybjtcclxuICAgICAgY2VsbHMgPSBydWxlLmNlbGxzLm1hcCgoeSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGNvbCA9IHRoaXMuY29sdW1ucy5maW5kKCh6KSA9PiB6LmlkID09PSB5LmlkKTtcclxuICAgICAgICBpZiAoY29sKSB7XHJcbiAgICAgICAgICByZXR1cm4geyAuLi5jb2wsIC4uLnkgfSBhcyBYVGFibGVDZWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4geTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB7IGdyaWRUZW1wbGF0ZUNvbHVtbnMsIGNlbGxzIH07XHJcbiAgICB9O1xyXG4gICAgdGhpcy5jZWxsQ29uZmlnLnRoZWFkID0gc2V0UnVsZSh0aGlzLmNlbGxDb25maWcudGhlYWQpO1xyXG4gICAgdGhpcy5jZWxsQ29uZmlnLnRib2R5ID0gc2V0UnVsZSh0aGlzLmNlbGxDb25maWcudGJvZHkpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlKGluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMuaW5kZXggPSBpbmRleDtcclxuICAgIHRoaXMuZGF0YUlzRnVuYyAmJiB0aGlzLmdldERhdGFCeUZ1bmMoKTtcclxuICAgIHRoaXMuaW5kZXhDaGFuZ2UuZW1pdChpbmRleCk7XHJcbiAgICB0aGlzLnJlc2V0U2Nyb2xsKCk7XHJcbiAgfVxyXG5cclxuICByZXNldFNjcm9sbCh4ID0gdHJ1ZSwgeSA9IHRydWUpIHtcclxuICAgIGlmICh0aGlzLmhhc1Njcm9sbFggJiYgeCkgdGhpcy52aXJ0dWFsQm9keT8uc2Nyb2xsVG8oeyBsZWZ0OiAwIH0pO1xyXG4gICAgaWYgKHRoaXMuaGFzU2Nyb2xsWSAmJiB5KSB0aGlzLnZpcnR1YWxCb2R5Py5zY3JvbGxUbyh7IHRvcDogMCB9KTtcclxuICB9XHJcblxyXG4gIHNldENoZWNrZWQoZGF0YTogWFRhYmxlUm93W10pIHtcclxuICAgIGxldCByZXN1bHQ6IFhUYWJsZVJvd1tdID0gW107XHJcbiAgICBpZiAoWElzRW1wdHkoZGF0YSkgfHwgIXRoaXMuY2hlY2tlZFJvdykgcmV0dXJuO1xyXG4gICAgZm9yIChsZXQga2V5IGluIHRoaXMuY2hlY2tlZFJvdykge1xyXG4gICAgICBjb25zdCBhcnIgPSB0aGlzLmNoZWNrZWRSb3dba2V5XTtcclxuICAgICAgZm9yIChsZXQgaXRlbSBvZiBkYXRhIGFzIGFueVtdKSB7XHJcbiAgICAgICAgaXRlbVtrZXldID0gYXJyLmluY2x1ZGVzKGl0ZW0uaWQpO1xyXG4gICAgICAgIHJlc3VsdCA9IFsuLi5yZXN1bHQsIGl0ZW1dO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAocmVzdWx0Lmxlbmd0aCA+IDApIGRhdGEgPSBbLi4ucmVzdWx0XTtcclxuICB9XHJcblxyXG4gIHNldEhlYWRDaGVja2JveExpc3QoZGF0YTogWFRhYmxlUm93W10pIHtcclxuICAgIGlmIChYSXNFbXB0eShkYXRhKSB8fCAhdGhpcy5oZWFkQ2hlY2tib3hMaXN0KSByZXR1cm47XHJcbiAgICBmb3IgKGxldCBjb2x1bW4gb2YgdGhpcy5oZWFkQ2hlY2tib3hMaXN0KSB7XHJcbiAgICAgIHRoaXMuc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW4pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0RXhwYW5kKGRhdGE6IFhUYWJsZVJvd1tdKSB7XHJcbiAgICBjb25zdCBnZXRDaGlsZHJlbiA9IChub2RlOiBYVGFibGVSb3csIGxldmVsOiBudW1iZXIpID0+IHtcclxuICAgICAgbm9kZS5sZXZlbCA9IGxldmVsO1xyXG4gICAgICBub2RlLmV4cGFuZGVkID0gQm9vbGVhbih0aGlzLmV4cGFuZGVkQWxsKSB8fCBsZXZlbCA8PSB0aGlzLmV4cGFuZGVkTGV2ZWwgfHwgdGhpcy5leHBhbmRlZC5pbmNsdWRlcyhub2RlLmlkKTtcclxuICAgICAgaWYgKFhJc1VuZGVmaW5lZChub2RlLmNoaWxkcmVuKSkgbm9kZS5jaGlsZHJlbiA9IGRhdGEuZmlsdGVyKCh5KSA9PiB5LnBpZCA9PT0gbm9kZS5pZCk7XHJcbiAgICAgIGlmIChYSXNVbmRlZmluZWQobm9kZS5sZWFmKSkgbm9kZS5sZWFmID0gKG5vZGUuY2hpbGRyZW4/Lmxlbmd0aCBhcyBudW1iZXIpID4gMDtcclxuICAgICAgaWYgKG5vZGUubGVhZikgbm9kZS5jaGlsZHJlbj8ubWFwKCh5KSA9PiBnZXRDaGlsZHJlbih5LCBsZXZlbCArIDEpKTtcclxuICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICB9O1xyXG4gICAgdGhpcy50cmVlVGFibGVEYXRhID0gZGF0YS5maWx0ZXIoKHgpID0+IFhJc0VtcHR5KHgucGlkKSkubWFwKCh4KSA9PiBnZXRDaGlsZHJlbih4LCAwKSk7XHJcbiAgfVxyXG5cclxuICBzZXRFeHBhbmRlZEFsbCgpIHtcclxuICAgIGlmICghdGhpcy50cmVlVGFibGUgfHwgdGhpcy50cmVlVGFibGVEYXRhPy5sZW5ndGggPT09IDApIHJldHVybjtcclxuICAgIGNvbnN0IHNldENoaWxkcmVuID0gKG5vZGVzOiBYVGFibGVSb3dbXSkgPT4ge1xyXG4gICAgICBpZiAoWElzRW1wdHkobm9kZXMpKSByZXR1cm47XHJcbiAgICAgIG5vZGVzLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgICB4LmV4cGFuZGVkID0gQm9vbGVhbih0aGlzLmV4cGFuZGVkQWxsKTtcclxuICAgICAgICBzZXRDaGlsZHJlbih4LmNoaWxkcmVuIGFzIFhUYWJsZVJvd1tdKTtcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG4gICAgc2V0Q2hpbGRyZW4odGhpcy50cmVlVGFibGVEYXRhKTtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0SGVhZEV4cGFuZExpc3QoKSB7fVxyXG5cclxuICBjaGVja1NvcnQoc29ydDogWFNvcnRbXSkge1xyXG4gICAgaWYgKCF0aGlzLmRhdGFJc0Z1bmMpIHJldHVybjtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5xdWVyeSA9PT0gJ3VuZGVmaW5lZCcpIHRoaXMucXVlcnkgPSB7fTtcclxuICAgIHRoaXMucXVlcnkuc29ydCA9IHNvcnQ7XHJcbiAgICB0aGlzLnF1ZXJ5Q2hhbmdlLmVtaXQodGhpcy5xdWVyeSk7XHJcbiAgICB0aGlzLmdldERhdGFCeUZ1bmMoKTtcclxuICB9XHJcblxyXG4gIGhlYWRDaGVja2VkKGNoZWNrZWQ6IGJvb2xlYW4sIGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICB0aGlzLnRhYmxlRGF0YS5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgIHhbY29sdW1uLmlkXSA9IGNoZWNrZWQ7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW4pO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBib2R5Q2hlY2tlZChfY2hlY2tlZDogYm9vbGVhbiwgY29sdW1uOiBYVGFibGVDb2x1bW4pIHtcclxuICAgIHRoaXMuc2V0Q2hlY2tlZFZhbHVlcyhjb2x1bW4pO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDaGVja2VkVmFsdWVzKGNvbHVtbjogWFRhYmxlQ29sdW1uKSB7XHJcbiAgICBjb25zdCBjb3VudCA9IHRoaXMudGFibGVEYXRhLmxlbmd0aDtcclxuICAgIGNvbnN0IGNoZWNrZWRMZW4gPSB0aGlzLnRhYmxlRGF0YS5maWx0ZXIoKHgpID0+IHhbY29sdW1uLmlkXSkubGVuZ3RoO1xyXG4gICAgdGhpcy5jaGVja2VkVmFsdWVzW2NvbHVtbi5pZF0gPSBjb3VudCA9PT0gY2hlY2tlZExlbjtcclxuICAgIHRoaXMuY2hlY2tlZFZhbHVlc1tjb2x1bW4uaWQgKyB0aGlzLmluZGV0ZXJtaW5hdGVdID0gY2hlY2tlZExlbiA+IDAgJiYgY2hlY2tlZExlbiA8IGNvdW50O1xyXG4gIH1cclxuXHJcbiAgZGV0ZWN0Q2hhbmdlcygpIHtcclxuICAgIHRoaXMuYm9keUNoYW5nZSAmJiB0aGlzLmJvZHlDaGFuZ2UoKTtcclxuICAgIHRoaXMuaGVhZENoYW5nZSAmJiB0aGlzLmhlYWRDaGFuZ2UoKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIiwiPHRhYmxlXHJcbiAgI3RhYmxlXHJcbiAgY2xhc3M9XCJ4LXRhYmxlXCJcclxuICBbbmdDbGFzc109XCJjbGFzc01hcFwiXHJcbiAgW3gtbG9hZGluZ109XCJsb2FkaW5nICYmIGdldHRpbmdcIlxyXG4gIFtjbGFzcy54LXRhYmxlLXNjcm9sbC1sZWZ0XT1cImdldFNjcm9sbExlZnRcIlxyXG4gIFtjbGFzcy54LXRhYmxlLXNjcm9sbC10b3BdPVwiZ2V0U2Nyb2xsVG9wXCJcclxuICBbY2xhc3MueC10YWJsZS1ib3JkZXJlZF09XCJib3JkZXJlZFwiXHJcbiAgW2NsYXNzLngtdGFibGUtdGQtYWRhcHRpb24taGVpZ2h0XT1cInJvd0hlaWdodCA9PSAwXCJcclxuICBbY2xhc3MueC10YWJsZS1jZWxsLWNvbmZpZ109XCJjZWxsQ29uZmlnXCJcclxuPlxyXG4gIDx4LXRhYmxlLWhlYWRcclxuICAgICpuZ0lmPVwic2hvd0hlYWRlclwiXHJcbiAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgIFtyb3dIZWlnaHRdPVwicm93SGVpZ2h0XCJcclxuICAgIFtjb2x1bW5UcGxdPVwiaGVhZENvbHVtblRwbFwiXHJcbiAgICBbc2Nyb2xsWVdpZHRoXT1cInNjcm9sbFlXaWR0aFwiXHJcbiAgICBbc2Nyb2xsWFdpZHRoXT1cInNjcm9sbFhXaWR0aFwiXHJcbiAgICBbY2VsbENvbmZpZ109XCJjZWxsQ29uZmlnPy50aGVhZFwiXHJcbiAgICBbdGFibGVdPVwidGhpc1wiXHJcbiAgPjwveC10YWJsZS1oZWFkPlxyXG4gIDx4LXRhYmxlLWJvZHlcclxuICAgIFtkYXRhXT1cInRyZWVUYWJsZSA/IHRyZWVUYWJsZURhdGEgOiB0YWJsZURhdGFcIlxyXG4gICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICBbaXRlbVNpemVdPVwiaXRlbVNpemVcIlxyXG4gICAgW3Jvd0hlaWdodF09XCJyb3dIZWlnaHRcIlxyXG4gICAgW2JvZHlIZWlnaHRdPVwiYm9keUhlaWdodFwiXHJcbiAgICBbY29sdW1uVHBsXT1cImJvZHlDb2x1bW5UcGxcIlxyXG4gICAgW2FsbG93U2VsZWN0Um93XT1cImFsbG93U2VsZWN0Um93XCJcclxuICAgIFt2aXJ0dWFsU2Nyb2xsXT1cInZpcnR1YWxTY3JvbGxcIlxyXG4gICAgW21pbkJ1ZmZlclB4XT1cIm1pbkJ1ZmZlclB4XCJcclxuICAgIFttYXhCdWZmZXJQeF09XCJtYXhCdWZmZXJQeFwiXHJcbiAgICBbYWRhcHRpb25IZWlnaHRdPVwiYWRhcHRpb25IZWlnaHRcIlxyXG4gICAgW2RvY1BlcmNlbnRdPVwiZG9jUGVyY2VudFwiXHJcbiAgICBbc2Nyb2xsXT1cInNjcm9sbFwiXHJcbiAgICBbcm93Q2xhc3NdPVwicm93Q2xhc3NcIlxyXG4gICAgW2NlbGxDb25maWddPVwiY2VsbENvbmZpZz8udGJvZHlcIlxyXG4gICAgW2V4cGFuZGVkQWxsXT1cImV4cGFuZGVkQWxsXCJcclxuICAgIFtleHBhbmRUcGxdPVwiZXhwYW5kVHBsXCJcclxuICAgIFsoYWN0aXZhdGVkUm93KV09XCJhY3RpdmF0ZWRSb3dcIlxyXG4gICAgKGFjdGl2YXRlZFJvd0NoYW5nZSk9XCJhY3RpdmF0ZWRSb3dDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcclxuICAgIFt0YWJsZV09XCJ0aGlzXCJcclxuICA+PC94LXRhYmxlLWJvZHk+XHJcbiAgPHgtdGFibGUtZm9vdCBbdGFibGVdPVwidGhpc1wiPjwveC10YWJsZS1mb290PlxyXG48L3RhYmxlPlxyXG48eC1wYWdpbmF0aW9uXHJcbiAgI3BhZ2luYXRpb25cclxuICAqbmdJZj1cInNob3dQYWdpbmF0aW9uICYmIHNpemVcIlxyXG4gIFsoaW5kZXgpXT1cImluZGV4XCJcclxuICBbKHNpemUpXT1cInNpemVcIlxyXG4gIFsocXVlcnkpXT1cInF1ZXJ5XCJcclxuICBbdG90YWxdPVwidG90YWxcIlxyXG4gIChpbmRleENoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KVwiXHJcbiAgW3Nob3dFbGxpcHNpc109XCJzaG93RWxsaXBzaXNcIlxyXG4gIFtzaG93VG90YWxdPVwic2hvd1RvdGFsXCJcclxuICBbc3BhY2VdPVwic3BhY2VcIlxyXG4gIFtoaWRkZW5Cb3JkZXJdPVwiaGlkZGVuQm9yZGVyXCJcclxuPlxyXG48L3gtcGFnaW5hdGlvbj5cclxuIl19
@@ -14,11 +14,12 @@ import { XTableHeadComponent } from './table-head.component';
14
14
  import { XTableBodyComponent } from './table-body.component';
15
15
  import { XTableFootComponent } from './table-foot.component';
16
16
  import { XDragDirective } from './drag.directive';
17
+ import { XButtonModule } from '@ng-nest/ui/button';
17
18
  import * as i0 from "@angular/core";
18
19
  export class XTableModule {
19
20
  }
20
- /** @nocollapse */ /** @nocollapse */ XTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
- /** @nocollapse */ /** @nocollapse */ XTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XTableModule, declarations: [XDragDirective,
21
+ /** @nocollapse */ /** @nocollapse */ XTableModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
+ /** @nocollapse */ /** @nocollapse */ XTableModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTableModule, declarations: [XDragDirective,
22
23
  XTableComponent,
23
24
  XTableProperty,
24
25
  XTableHeadComponent,
@@ -32,21 +33,23 @@ export class XTableModule {
32
33
  XOutletModule,
33
34
  XCheckboxModule,
34
35
  XIconModule,
36
+ XButtonModule,
35
37
  ScrollingModule,
36
38
  XEmptyModule,
37
39
  XLoadingModule], exports: [XTableComponent] });
38
- /** @nocollapse */ /** @nocollapse */ XTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XTableModule, imports: [[
40
+ /** @nocollapse */ /** @nocollapse */ XTableModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTableModule, imports: [[
39
41
  CommonModule,
40
42
  FormsModule,
41
43
  XPaginationModule,
42
44
  XOutletModule,
43
45
  XCheckboxModule,
44
46
  XIconModule,
47
+ XButtonModule,
45
48
  ScrollingModule,
46
49
  XEmptyModule,
47
50
  XLoadingModule
48
51
  ]] });
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: XTableModule, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: XTableModule, decorators: [{
50
53
  type: NgModule,
51
54
  args: [{
52
55
  declarations: [
@@ -68,10 +71,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
68
71
  XOutletModule,
69
72
  XCheckboxModule,
70
73
  XIconModule,
74
+ XButtonModule,
71
75
  ScrollingModule,
72
76
  XEmptyModule,
73
77
  XLoadingModule
74
78
  ]
75
79
  }]
76
80
  }] });
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUEyQmxELE1BQU0sT0FBTyxZQUFZOzsrSUFBWixZQUFZO2dKQUFaLFlBQVksaUJBdkJyQixjQUFjO1FBQ2QsZUFBZTtRQUNmLGNBQWM7UUFDZCxtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLGtCQUFrQixhQUlsQixZQUFZO1FBQ1osV0FBVztRQUNYLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsZUFBZTtRQUNmLFdBQVc7UUFDWCxlQUFlO1FBQ2YsWUFBWTtRQUNaLGNBQWMsYUFWTixlQUFlO2dKQWFkLFlBQVksWUFaZDtZQUNQLFlBQVk7WUFDWixXQUFXO1lBQ1gsaUJBQWlCO1lBQ2pCLGFBQWE7WUFDYixlQUFlO1lBQ2YsV0FBVztZQUNYLGVBQWU7WUFDZixZQUFZO1lBQ1osY0FBYztTQUNmOzJGQUVVLFlBQVk7a0JBekJ4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLFlBQVk7d0JBQ1osY0FBYztxQkFDZjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFhQYWdpbmF0aW9uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvcGFnaW5hdGlvbic7XHJcbmltcG9ydCB7IFhPdXRsZXRNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9vdXRsZXQnO1xyXG5pbXBvcnQgeyBYSWNvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcclxuaW1wb3J0IHsgWEVtcHR5TW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvZW1wdHknO1xyXG5pbXBvcnQgeyBYQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9jaGVja2JveCc7XHJcbmltcG9ydCB7IFhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvbG9hZGluZyc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYVGFibGVQcm9wZXJ0eSwgWFRhYmxlSGVhZFByb3BlcnR5LCBYVGFibGVCb2R5UHJvcGVydHksIFhUYWJsZUZvb3RQcm9wZXJ0eSB9IGZyb20gJy4vdGFibGUucHJvcGVydHknO1xyXG5pbXBvcnQgeyBYVGFibGVDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhUYWJsZUhlYWRDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWhlYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFRhYmxlQm9keUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtYm9keS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYVGFibGVGb290Q29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1mb290LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhEcmFnRGlyZWN0aXZlIH0gZnJvbSAnLi9kcmFnLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgWERyYWdEaXJlY3RpdmUsXHJcbiAgICBYVGFibGVDb21wb25lbnQsXHJcbiAgICBYVGFibGVQcm9wZXJ0eSxcclxuICAgIFhUYWJsZUhlYWRDb21wb25lbnQsXHJcbiAgICBYVGFibGVIZWFkUHJvcGVydHksXHJcbiAgICBYVGFibGVCb2R5Q29tcG9uZW50LFxyXG4gICAgWFRhYmxlQm9keVByb3BlcnR5LFxyXG4gICAgWFRhYmxlRm9vdENvbXBvbmVudCxcclxuICAgIFhUYWJsZUZvb3RQcm9wZXJ0eVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1hUYWJsZUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBYUGFnaW5hdGlvbk1vZHVsZSxcclxuICAgIFhPdXRsZXRNb2R1bGUsXHJcbiAgICBYQ2hlY2tib3hNb2R1bGUsXHJcbiAgICBYSWNvbk1vZHVsZSxcclxuICAgIFNjcm9sbGluZ01vZHVsZSxcclxuICAgIFhFbXB0eU1vZHVsZSxcclxuICAgIFhMb2FkaW5nTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFRhYmxlTW9kdWxlIHt9XHJcbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdGFibGUvdGFibGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBNEJuRCxNQUFNLE9BQU8sWUFBWTs7Z0pBQVosWUFBWTtpSkFBWixZQUFZLGlCQXhCckIsY0FBYztRQUNkLGVBQWU7UUFDZixjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixtQkFBbUI7UUFDbkIsa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixrQkFBa0IsYUFJbEIsWUFBWTtRQUNaLFdBQVc7UUFDWCxpQkFBaUI7UUFDakIsYUFBYTtRQUNiLGVBQWU7UUFDZixXQUFXO1FBQ1gsYUFBYTtRQUNiLGVBQWU7UUFDZixZQUFZO1FBQ1osY0FBYyxhQVhOLGVBQWU7aUpBY2QsWUFBWSxZQWJkO1lBQ1AsWUFBWTtZQUNaLFdBQVc7WUFDWCxpQkFBaUI7WUFDakIsYUFBYTtZQUNiLGVBQWU7WUFDZixXQUFXO1lBQ1gsYUFBYTtZQUNiLGVBQWU7WUFDZixZQUFZO1lBQ1osY0FBYztTQUNmOzRGQUVVLFlBQVk7a0JBMUJ4QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixjQUFjO3FCQUNmO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgWFBhZ2luYXRpb25Nb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9wYWdpbmF0aW9uJztcclxuaW1wb3J0IHsgWE91dGxldE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL291dGxldCc7XHJcbmltcG9ydCB7IFhJY29uTW9kdWxlIH0gZnJvbSAnQG5nLW5lc3QvdWkvaWNvbic7XHJcbmltcG9ydCB7IFNjcm9sbGluZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9zY3JvbGxpbmcnO1xyXG5pbXBvcnQgeyBYRW1wdHlNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9lbXB0eSc7XHJcbmltcG9ydCB7IFhDaGVja2JveE1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NoZWNrYm94JztcclxuaW1wb3J0IHsgWExvYWRpbmdNb2R1bGUgfSBmcm9tICdAbmctbmVzdC91aS9sb2FkaW5nJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFhUYWJsZVByb3BlcnR5LCBYVGFibGVIZWFkUHJvcGVydHksIFhUYWJsZUJvZHlQcm9wZXJ0eSwgWFRhYmxlRm9vdFByb3BlcnR5IH0gZnJvbSAnLi90YWJsZS5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vdGFibGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWFRhYmxlSGVhZENvbXBvbmVudCB9IGZyb20gJy4vdGFibGUtaGVhZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYVGFibGVCb2R5Q29tcG9uZW50IH0gZnJvbSAnLi90YWJsZS1ib2R5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFhUYWJsZUZvb3RDb21wb25lbnQgfSBmcm9tICcuL3RhYmxlLWZvb3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWERyYWdEaXJlY3RpdmUgfSBmcm9tICcuL2RyYWcuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2J1dHRvbic7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgWERyYWdEaXJlY3RpdmUsXHJcbiAgICBYVGFibGVDb21wb25lbnQsXHJcbiAgICBYVGFibGVQcm9wZXJ0eSxcclxuICAgIFhUYWJsZUhlYWRDb21wb25lbnQsXHJcbiAgICBYVGFibGVIZWFkUHJvcGVydHksXHJcbiAgICBYVGFibGVCb2R5Q29tcG9uZW50LFxyXG4gICAgWFRhYmxlQm9keVByb3BlcnR5LFxyXG4gICAgWFRhYmxlRm9vdENvbXBvbmVudCxcclxuICAgIFhUYWJsZUZvb3RQcm9wZXJ0eVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1hUYWJsZUNvbXBvbmVudF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBYUGFnaW5hdGlvbk1vZHVsZSxcclxuICAgIFhPdXRsZXRNb2R1bGUsXHJcbiAgICBYQ2hlY2tib3hNb2R1bGUsXHJcbiAgICBYSWNvbk1vZHVsZSxcclxuICAgIFhCdXR0b25Nb2R1bGUsXHJcbiAgICBTY3JvbGxpbmdNb2R1bGUsXHJcbiAgICBYRW1wdHlNb2R1bGUsXHJcbiAgICBYTG9hZGluZ01vZHVsZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFhUYWJsZU1vZHVsZSB7fVxyXG4iXX0=