ngx-tethys 18.1.0-next.0 → 18.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (558) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/action/action.component.d.ts +1 -2
  3. package/affix/affix.component.d.ts +2 -4
  4. package/anchor/anchor-link.component.d.ts +2 -4
  5. package/anchor/anchor.component.d.ts +1 -4
  6. package/arrow-switcher/arrow-switcher.component.d.ts +1 -2
  7. package/autocomplete/autocomplete.component.d.ts +1 -2
  8. package/autocomplete/autocomplete.trigger.directive.d.ts +3 -5
  9. package/autocomplete/overlay/autocomplete-container.component.d.ts +4 -4
  10. package/autocomplete/overlay/autocomplete.service.d.ts +3 -5
  11. package/avatar/avatar.component.d.ts +1 -3
  12. package/avatar/avatar.pipe.d.ts +0 -2
  13. package/back-top/back-top.component.d.ts +2 -4
  14. package/badge/badge.component.d.ts +5 -14
  15. package/breadcrumb/breadcrumb-item.component.d.ts +1 -2
  16. package/breadcrumb/breadcrumb.component.d.ts +1 -2
  17. package/button/button.component.d.ts +1 -2
  18. package/calendar/calendar-header.component.d.ts +1 -2
  19. package/calendar/calendar.component.d.ts +1 -2
  20. package/carousel/carousel-item.directive.d.ts +1 -2
  21. package/carousel/carousel.component.d.ts +1 -4
  22. package/carousel/carousel.service.d.ts +1 -2
  23. package/cascader/cascader.component.d.ts +4 -4
  24. package/checkbox/checkbox.component.d.ts +0 -2
  25. package/collapse/collapse-item.component.d.ts +2 -4
  26. package/color-picker/color-picker-panel.component.d.ts +2 -3
  27. package/color-picker/color-picker.component.d.ts +2 -4
  28. package/color-picker/coordinates.directive.d.ts +1 -2
  29. package/color-picker/parts/alpha/alpha.component.d.ts +1 -2
  30. package/color-picker/parts/hue/hue.component.d.ts +1 -2
  31. package/color-picker/parts/saturation/saturation.component.d.ts +1 -2
  32. package/copy/copy.directive.d.ts +0 -2
  33. package/core/click-positioner.d.ts +0 -2
  34. package/core/scroll.d.ts +1 -2
  35. package/core/update-host-class.service.d.ts +1 -2
  36. package/date-picker/abstract-picker.component.d.ts +1 -1
  37. package/date-picker/abstract-picker.directive.d.ts +2 -3
  38. package/date-picker/base-picker.component.d.ts +2 -3
  39. package/date-picker/date-picker.component.d.ts +2 -2
  40. package/date-picker/date-picker.directive.d.ts +1 -3
  41. package/date-picker/date-picker.service.d.ts +2 -2
  42. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -2
  43. package/date-picker/lib/calendar/calendar-header.component.d.ts +0 -1
  44. package/date-picker/lib/date/date-header.component.d.ts +0 -3
  45. package/date-picker/lib/date/date-table.component.d.ts +1 -3
  46. package/date-picker/lib/date-carousel/date-carousel.component.d.ts +1 -2
  47. package/date-picker/lib/decade/decade-header.component.d.ts +1 -1
  48. package/date-picker/lib/month/month-header.component.d.ts +0 -3
  49. package/date-picker/lib/month/month-table.component.d.ts +1 -2
  50. package/date-picker/lib/popups/date-popup.component.d.ts +1 -3
  51. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -4
  52. package/date-picker/lib/quarter/quarter-table.component.d.ts +1 -2
  53. package/date-picker/lib/year/year-header.component.d.ts +0 -1
  54. package/date-picker/month-picker.component.d.ts +2 -2
  55. package/date-picker/picker.component.d.ts +1 -3
  56. package/date-picker/picker.pipes.d.ts +0 -3
  57. package/date-picker/quarter-picker.component.d.ts +2 -2
  58. package/date-picker/range-picker.component.d.ts +2 -2
  59. package/date-picker/range-picker.directive.d.ts +2 -3
  60. package/date-picker/week-picker.component.d.ts +2 -2
  61. package/date-picker/year-picker.component.d.ts +2 -2
  62. package/date-range/date-range.component.d.ts +1 -3
  63. package/date-range/optional-dates/optional-dates.component.d.ts +0 -2
  64. package/dialog/body/dialog-body.component.d.ts +0 -2
  65. package/dialog/confirm/confirm.component.d.ts +2 -3
  66. package/dialog/dialog-container.component.d.ts +4 -5
  67. package/dialog/dialog.service.d.ts +4 -4
  68. package/dialog/footer/dialog-footer.component.d.ts +2 -2
  69. package/dialog/header/dialog-header.component.d.ts +2 -6
  70. package/dot/dot.component.d.ts +1 -2
  71. package/drag-drop/drag-content.directive.d.ts +2 -3
  72. package/drag-drop/drag-handle.directive.d.ts +2 -3
  73. package/drag-drop/drag.directive.d.ts +4 -5
  74. package/drag-drop/drop-container.directive.d.ts +6 -3
  75. package/dropdown/dropdown-active.directive.d.ts +3 -4
  76. package/dropdown/dropdown-menu-item.directive.d.ts +1 -2
  77. package/dropdown/dropdown-submenu.component.d.ts +1 -3
  78. package/dropdown/dropdown.directive.d.ts +3 -5
  79. package/empty/empty.component.d.ts +6 -6
  80. package/esm2022/action/action.component.mjs +18 -18
  81. package/esm2022/affix/affix.component.mjs +11 -14
  82. package/esm2022/anchor/anchor-link.component.mjs +9 -10
  83. package/esm2022/anchor/anchor.component.mjs +11 -16
  84. package/esm2022/arrow-switcher/arrow-switcher.component.mjs +22 -22
  85. package/esm2022/autocomplete/autocomplete.component.mjs +7 -7
  86. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +30 -37
  87. package/esm2022/autocomplete/overlay/autocomplete-container.component.mjs +11 -15
  88. package/esm2022/autocomplete/overlay/autocomplete.service.mjs +14 -21
  89. package/esm2022/avatar/avatar.component.mjs +24 -25
  90. package/esm2022/avatar/avatar.pipe.mjs +6 -7
  91. package/esm2022/back-top/back-top.component.mjs +11 -15
  92. package/esm2022/badge/badge.component.mjs +6 -6
  93. package/esm2022/breadcrumb/breadcrumb-item.component.mjs +7 -7
  94. package/esm2022/breadcrumb/breadcrumb.component.mjs +12 -12
  95. package/esm2022/button/button.component.mjs +12 -12
  96. package/esm2022/calendar/calendar-header.component.mjs +12 -12
  97. package/esm2022/calendar/calendar.component.mjs +12 -12
  98. package/esm2022/carousel/carousel-item.directive.mjs +7 -6
  99. package/esm2022/carousel/carousel.component.mjs +10 -12
  100. package/esm2022/carousel/carousel.service.mjs +7 -9
  101. package/esm2022/cascader/cascader.component.mjs +11 -16
  102. package/esm2022/checkbox/checkbox.component.mjs +7 -9
  103. package/esm2022/collapse/collapse-item.component.mjs +18 -21
  104. package/esm2022/color-picker/color-picker-panel.component.mjs +11 -12
  105. package/esm2022/color-picker/color-picker.component.mjs +10 -11
  106. package/esm2022/color-picker/coordinates.directive.mjs +10 -10
  107. package/esm2022/color-picker/parts/alpha/alpha.component.mjs +6 -6
  108. package/esm2022/color-picker/parts/hue/hue.component.mjs +6 -6
  109. package/esm2022/color-picker/parts/saturation/saturation.component.mjs +9 -9
  110. package/esm2022/copy/copy.directive.mjs +8 -12
  111. package/esm2022/core/click-positioner.mjs +6 -7
  112. package/esm2022/core/scroll.mjs +7 -9
  113. package/esm2022/core/store/store.mjs +1 -1
  114. package/esm2022/core/update-host-class.service.mjs +6 -6
  115. package/esm2022/date-picker/abstract-picker.component.mjs +5 -5
  116. package/esm2022/date-picker/abstract-picker.directive.mjs +42 -44
  117. package/esm2022/date-picker/base-picker.component.mjs +26 -26
  118. package/esm2022/date-picker/date-picker.component.mjs +6 -6
  119. package/esm2022/date-picker/date-picker.directive.mjs +6 -8
  120. package/esm2022/date-picker/date-picker.service.mjs +6 -10
  121. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  122. package/esm2022/date-picker/lib/calendar/calendar-header.component.mjs +6 -7
  123. package/esm2022/date-picker/lib/date/date-header.component.mjs +3 -9
  124. package/esm2022/date-picker/lib/date/date-table.component.mjs +7 -9
  125. package/esm2022/date-picker/lib/date-carousel/date-carousel.component.mjs +12 -12
  126. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +5 -8
  127. package/esm2022/date-picker/lib/month/month-header.component.mjs +3 -9
  128. package/esm2022/date-picker/lib/month/month-table.component.mjs +6 -7
  129. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +12 -13
  130. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +12 -13
  131. package/esm2022/date-picker/lib/quarter/quarter-table.component.mjs +6 -7
  132. package/esm2022/date-picker/lib/year/year-header.component.mjs +3 -9
  133. package/esm2022/date-picker/month-picker.component.mjs +6 -7
  134. package/esm2022/date-picker/picker.component.mjs +21 -22
  135. package/esm2022/date-picker/picker.pipes.mjs +10 -11
  136. package/esm2022/date-picker/quarter-picker.component.mjs +6 -7
  137. package/esm2022/date-picker/range-picker.component.mjs +6 -7
  138. package/esm2022/date-picker/range-picker.directive.mjs +6 -8
  139. package/esm2022/date-picker/week-picker.component.mjs +6 -7
  140. package/esm2022/date-picker/year-picker.component.mjs +6 -7
  141. package/esm2022/date-range/date-range.component.mjs +14 -15
  142. package/esm2022/date-range/optional-dates/optional-dates.component.mjs +8 -9
  143. package/esm2022/dialog/body/dialog-body.component.mjs +11 -12
  144. package/esm2022/dialog/confirm/confirm.component.mjs +10 -14
  145. package/esm2022/dialog/dialog-container.component.mjs +13 -18
  146. package/esm2022/dialog/dialog.service.mjs +10 -17
  147. package/esm2022/dialog/footer/dialog-footer.component.mjs +7 -11
  148. package/esm2022/dialog/header/dialog-header.component.mjs +14 -19
  149. package/esm2022/dot/dot.component.mjs +7 -7
  150. package/esm2022/drag-drop/drag-content.directive.mjs +7 -9
  151. package/esm2022/drag-drop/drag-handle.directive.mjs +7 -9
  152. package/esm2022/drag-drop/drag.directive.mjs +13 -16
  153. package/esm2022/drag-drop/drop-container.directive.mjs +13 -13
  154. package/esm2022/dropdown/dropdown-active.directive.mjs +9 -12
  155. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +12 -12
  156. package/esm2022/dropdown/dropdown-submenu.component.mjs +9 -10
  157. package/esm2022/dropdown/dropdown.directive.mjs +12 -10
  158. package/esm2022/empty/empty.component.mjs +14 -17
  159. package/esm2022/flexible-text/flexible-text.component.mjs +16 -17
  160. package/esm2022/form/form-group-error/form-group-error.component.mjs +9 -12
  161. package/esm2022/form/form-group-label.directive.mjs +9 -10
  162. package/esm2022/form/form-group.component.mjs +15 -19
  163. package/esm2022/form/form-submit.directive.mjs +6 -7
  164. package/esm2022/form/form-validator-loader.mjs +1 -1
  165. package/esm2022/form/form-validator.service.mjs +12 -13
  166. package/esm2022/form/form.directive.mjs +11 -16
  167. package/esm2022/form/from-group-footer/form-group-footer.component.mjs +10 -16
  168. package/esm2022/form/validator/unique-validator.directive.mjs +7 -10
  169. package/esm2022/fullscreen/fullscreen.component.mjs +10 -11
  170. package/esm2022/fullscreen/fullscreen.service.mjs +7 -10
  171. package/esm2022/grid/thy-col.directive.mjs +9 -14
  172. package/esm2022/grid/thy-grid-item.component.mjs +8 -14
  173. package/esm2022/grid/thy-grid.component.mjs +7 -8
  174. package/esm2022/guider/guider.directive.mjs +8 -9
  175. package/esm2022/guider/guider.service.mjs +12 -19
  176. package/esm2022/icon/icon-registry.mjs +11 -16
  177. package/esm2022/icon/icon.component.mjs +8 -9
  178. package/esm2022/image/image-group.component.mjs +7 -7
  179. package/esm2022/image/image.directive.mjs +11 -12
  180. package/esm2022/image/image.service.mjs +8 -14
  181. package/esm2022/image/preview/image-preview.component.mjs +34 -38
  182. package/esm2022/input/input-count.component.mjs +7 -10
  183. package/esm2022/input/input-group.component.mjs +12 -13
  184. package/esm2022/input/input-search.component.mjs +7 -7
  185. package/esm2022/input/input.component.mjs +14 -14
  186. package/esm2022/input/input.directive.mjs +12 -17
  187. package/esm2022/input-number/input-number.component.mjs +6 -6
  188. package/esm2022/layout/sidebar.component.mjs +45 -51
  189. package/esm2022/list/selection/selection-list.mjs +25 -25
  190. package/esm2022/loading/loading.component.mjs +8 -8
  191. package/esm2022/mention/mention.directive.mjs +9 -14
  192. package/esm2022/mention/suggestions/suggestions.component.mjs +8 -9
  193. package/esm2022/menu/group/menu-group.component.mjs +34 -35
  194. package/esm2022/menu/item/action/menu-item-action.component.mjs +15 -16
  195. package/esm2022/menu/item/menu-item.component.mjs +6 -6
  196. package/esm2022/message/abstract/abstract-message-container.component.mjs +5 -5
  197. package/esm2022/message/abstract/abstract-message.component.mjs +6 -6
  198. package/esm2022/message/message-container.component.mjs +9 -11
  199. package/esm2022/message/message-queue.service.mjs +6 -8
  200. package/esm2022/message/message.component.mjs +7 -7
  201. package/esm2022/message/message.service.mjs +10 -11
  202. package/esm2022/nav/icon-nav/icon-nav.component.mjs +6 -6
  203. package/esm2022/nav/nav-ink-bar.directive.mjs +9 -14
  204. package/esm2022/nav/nav-item.directive.mjs +8 -11
  205. package/esm2022/nav/nav.component.mjs +32 -33
  206. package/esm2022/nav/nav.pipe.mjs +6 -7
  207. package/esm2022/notify/notify-container.component.mjs +8 -11
  208. package/esm2022/notify/notify-queue.service.mjs +6 -8
  209. package/esm2022/notify/notify.component.mjs +7 -7
  210. package/esm2022/notify/notify.service.mjs +11 -12
  211. package/esm2022/pagination/pagination.component.mjs +38 -43
  212. package/esm2022/pagination/pagination.pipe.mjs +6 -7
  213. package/esm2022/popover/header/popover-header.component.mjs +12 -14
  214. package/esm2022/popover/popover-container.component.mjs +11 -13
  215. package/esm2022/popover/popover.directive.mjs +13 -12
  216. package/esm2022/popover/popover.service.mjs +14 -26
  217. package/esm2022/progress/progress-strip.component.mjs +10 -13
  218. package/esm2022/property/property-item.component.mjs +10 -13
  219. package/esm2022/property-operation/property-operation.component.mjs +24 -25
  220. package/esm2022/radio/button/radio-button.component.mjs +9 -15
  221. package/esm2022/radio/group/radio-group.component.mjs +17 -17
  222. package/esm2022/radio/radio.component.mjs +8 -14
  223. package/esm2022/rate/rate.component.mjs +6 -6
  224. package/esm2022/resizable/resizable.directive.mjs +10 -12
  225. package/esm2022/resizable/resizable.service.mjs +7 -9
  226. package/esm2022/resizable/resize-handle.component.mjs +7 -8
  227. package/esm2022/segment/segment-item.component.mjs +12 -15
  228. package/esm2022/segment/segment.component.mjs +26 -26
  229. package/esm2022/select/custom-select/custom-select.component.mjs +14 -28
  230. package/esm2022/select/native-select/native-select.component.mjs +6 -6
  231. package/esm2022/shared/base-form-check.component.mjs +7 -8
  232. package/esm2022/shared/directives/string-or-template-outlet.directive.mjs +7 -7
  233. package/esm2022/shared/directives/thy-autofocus.directive.mjs +10 -10
  234. package/esm2022/shared/directives/thy-contextmenu.directive.mjs +8 -8
  235. package/esm2022/shared/directives/thy-ctrl-enter.directive.mjs +8 -8
  236. package/esm2022/shared/directives/thy-enter.directive.mjs +8 -8
  237. package/esm2022/shared/directives/thy-scroll.directive.mjs +21 -21
  238. package/esm2022/shared/directives/thy-show.mjs +11 -11
  239. package/esm2022/shared/directives/thy-stop-propagation.directive.mjs +7 -5
  240. package/esm2022/shared/directives/view-outlet.directive.mjs +7 -7
  241. package/esm2022/shared/ng-transclude.directive.mjs +6 -5
  242. package/esm2022/shared/option/group/option-group.component.mjs +10 -10
  243. package/esm2022/shared/option/list-option/list-option.component.mjs +12 -19
  244. package/esm2022/shared/option/option.component.mjs +9 -19
  245. package/esm2022/shared/select/select-control/select-control.component.mjs +23 -23
  246. package/esm2022/skeleton/skeleton-circle.component.mjs +7 -15
  247. package/esm2022/skeleton/skeleton-rectangle.component.mjs +7 -15
  248. package/esm2022/slide/drawer/drawer-container.directive.mjs +6 -6
  249. package/esm2022/slide/slide-container.component.mjs +12 -16
  250. package/esm2022/slide/slide-header/slide-header.component.mjs +10 -11
  251. package/esm2022/slide/slide-ref.service.mjs +1 -1
  252. package/esm2022/slide/slide.service.mjs +8 -12
  253. package/esm2022/slider/slider.component.mjs +8 -8
  254. package/esm2022/space/space.component.mjs +13 -13
  255. package/esm2022/statistic/statistic.component.mjs +20 -20
  256. package/esm2022/stepper/step.component.mjs +6 -11
  257. package/esm2022/stepper/stepper-button.directive.mjs +10 -11
  258. package/esm2022/strength/strength.component.mjs +11 -12
  259. package/esm2022/switch/switch.component.mjs +6 -6
  260. package/esm2022/table/table-column.component.mjs +58 -63
  261. package/esm2022/table/table-skeleton.component.mjs +32 -32
  262. package/esm2022/table/table.component.mjs +16 -24
  263. package/esm2022/tabs/tabs.component.mjs +19 -19
  264. package/esm2022/tag/tag.component.mjs +22 -22
  265. package/esm2022/time-picker/inner/inner-time-picker.component.mjs +10 -9
  266. package/esm2022/time-picker/time-picker-panel.component.mjs +27 -27
  267. package/esm2022/time-picker/time-picker.component.mjs +29 -29
  268. package/esm2022/timeline/timeline-item.component.mjs +12 -13
  269. package/esm2022/timeline/timeline.component.mjs +7 -8
  270. package/esm2022/tooltip/tooltip.component.mjs +14 -14
  271. package/esm2022/tooltip/tooltip.directive.mjs +11 -10
  272. package/esm2022/tooltip/tooltip.service.mjs +9 -13
  273. package/esm2022/transfer/transfer-list.component.mjs +6 -6
  274. package/esm2022/tree/tree-node.component.mjs +13 -17
  275. package/esm2022/tree/tree.component.mjs +86 -90
  276. package/esm2022/tree-select/tree-select.component.mjs +22 -27
  277. package/esm2022/typography/bg-color.directive.mjs +9 -9
  278. package/esm2022/typography/text-color.directive.mjs +9 -9
  279. package/esm2022/upload/file-drop.directive.mjs +1 -1
  280. package/esm2022/upload/file-select-base.mjs +5 -6
  281. package/esm2022/upload/file-select.component.mjs +4 -3
  282. package/esm2022/upload/upload.service.mjs +6 -7
  283. package/esm2022/version.mjs +2 -2
  284. package/esm2022/watermark/watermark.directive.mjs +12 -12
  285. package/fesm2022/ngx-tethys-action.mjs +17 -17
  286. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  287. package/fesm2022/ngx-tethys-affix.mjs +12 -14
  288. package/fesm2022/ngx-tethys-affix.mjs.map +1 -1
  289. package/fesm2022/ngx-tethys-anchor.mjs +19 -22
  290. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  291. package/fesm2022/ngx-tethys-arrow-switcher.mjs +21 -21
  292. package/fesm2022/ngx-tethys-arrow-switcher.mjs.map +1 -1
  293. package/fesm2022/ngx-tethys-autocomplete.mjs +59 -71
  294. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  295. package/fesm2022/ngx-tethys-avatar.mjs +27 -27
  296. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  297. package/fesm2022/ngx-tethys-back-top.mjs +12 -15
  298. package/fesm2022/ngx-tethys-back-top.mjs.map +1 -1
  299. package/fesm2022/ngx-tethys-badge.mjs +5 -5
  300. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  301. package/fesm2022/ngx-tethys-breadcrumb.mjs +16 -16
  302. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  303. package/fesm2022/ngx-tethys-button.mjs +11 -11
  304. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  305. package/fesm2022/ngx-tethys-calendar.mjs +21 -21
  306. package/fesm2022/ngx-tethys-calendar.mjs.map +1 -1
  307. package/fesm2022/ngx-tethys-carousel.mjs +20 -21
  308. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  309. package/fesm2022/ngx-tethys-cascader.mjs +11 -15
  310. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  311. package/fesm2022/ngx-tethys-checkbox.mjs +6 -7
  312. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  313. package/fesm2022/ngx-tethys-collapse.mjs +17 -19
  314. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  315. package/fesm2022/ngx-tethys-color-picker.mjs +44 -42
  316. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  317. package/fesm2022/ngx-tethys-copy.mjs +8 -12
  318. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  319. package/fesm2022/ngx-tethys-core.mjs +14 -16
  320. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  321. package/fesm2022/ngx-tethys-date-picker.mjs +192 -216
  322. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  323. package/fesm2022/ngx-tethys-date-range.mjs +20 -20
  324. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  325. package/fesm2022/ngx-tethys-dialog.mjs +56 -72
  326. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  327. package/fesm2022/ngx-tethys-dot.mjs +6 -6
  328. package/fesm2022/ngx-tethys-dot.mjs.map +1 -1
  329. package/fesm2022/ngx-tethys-drag-drop.mjs +33 -37
  330. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  331. package/fesm2022/ngx-tethys-dropdown.mjs +39 -37
  332. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  333. package/fesm2022/ngx-tethys-empty.mjs +15 -15
  334. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  335. package/fesm2022/ngx-tethys-flexible-text.mjs +16 -17
  336. package/fesm2022/ngx-tethys-flexible-text.mjs.map +1 -1
  337. package/fesm2022/ngx-tethys-form.mjs +67 -82
  338. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  339. package/fesm2022/ngx-tethys-fullscreen.mjs +14 -17
  340. package/fesm2022/ngx-tethys-fullscreen.mjs.map +1 -1
  341. package/fesm2022/ngx-tethys-grid.mjs +20 -29
  342. package/fesm2022/ngx-tethys-grid.mjs.map +1 -1
  343. package/fesm2022/ngx-tethys-guider.mjs +17 -23
  344. package/fesm2022/ngx-tethys-guider.mjs.map +1 -1
  345. package/fesm2022/ngx-tethys-icon.mjs +18 -22
  346. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  347. package/fesm2022/ngx-tethys-image.mjs +57 -62
  348. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  349. package/fesm2022/ngx-tethys-input-number.mjs +5 -5
  350. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  351. package/fesm2022/ngx-tethys-input.mjs +46 -53
  352. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  353. package/fesm2022/ngx-tethys-layout.mjs +45 -50
  354. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  355. package/fesm2022/ngx-tethys-list.mjs +24 -24
  356. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  357. package/fesm2022/ngx-tethys-loading.mjs +7 -7
  358. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  359. package/fesm2022/ngx-tethys-mention.mjs +16 -21
  360. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  361. package/fesm2022/ngx-tethys-menu.mjs +51 -52
  362. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  363. package/fesm2022/ngx-tethys-message.mjs +33 -35
  364. package/fesm2022/ngx-tethys-message.mjs.map +1 -1
  365. package/fesm2022/ngx-tethys-nav.mjs +55 -64
  366. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  367. package/fesm2022/ngx-tethys-notify.mjs +26 -29
  368. package/fesm2022/ngx-tethys-notify.mjs.map +1 -1
  369. package/fesm2022/ngx-tethys-pagination.mjs +44 -49
  370. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  371. package/fesm2022/ngx-tethys-popover.mjs +48 -54
  372. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  373. package/fesm2022/ngx-tethys-progress.mjs +9 -12
  374. package/fesm2022/ngx-tethys-progress.mjs.map +1 -1
  375. package/fesm2022/ngx-tethys-property-operation.mjs +24 -24
  376. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  377. package/fesm2022/ngx-tethys-property.mjs +11 -11
  378. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  379. package/fesm2022/ngx-tethys-radio.mjs +29 -35
  380. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  381. package/fesm2022/ngx-tethys-rate.mjs +5 -5
  382. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  383. package/fesm2022/ngx-tethys-resizable.mjs +22 -25
  384. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  385. package/fesm2022/ngx-tethys-segment.mjs +35 -38
  386. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  387. package/fesm2022/ngx-tethys-select.mjs +20 -34
  388. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  389. package/fesm2022/ngx-tethys-shared.mjs +128 -143
  390. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  391. package/fesm2022/ngx-tethys-skeleton.mjs +11 -25
  392. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  393. package/fesm2022/ngx-tethys-slide.mjs +30 -34
  394. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  395. package/fesm2022/ngx-tethys-slider.mjs +7 -7
  396. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  397. package/fesm2022/ngx-tethys-space.mjs +13 -13
  398. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  399. package/fesm2022/ngx-tethys-statistic.mjs +19 -19
  400. package/fesm2022/ngx-tethys-statistic.mjs.map +1 -1
  401. package/fesm2022/ngx-tethys-stepper.mjs +13 -18
  402. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  403. package/fesm2022/ngx-tethys-strength.mjs +11 -11
  404. package/fesm2022/ngx-tethys-strength.mjs.map +1 -1
  405. package/fesm2022/ngx-tethys-switch.mjs +5 -5
  406. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  407. package/fesm2022/ngx-tethys-table.mjs +103 -115
  408. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  409. package/fesm2022/ngx-tethys-tabs.mjs +19 -19
  410. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  411. package/fesm2022/ngx-tethys-tag.mjs +21 -21
  412. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  413. package/fesm2022/ngx-tethys-time-picker.mjs +61 -58
  414. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  415. package/fesm2022/ngx-tethys-timeline.mjs +16 -16
  416. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  417. package/fesm2022/ngx-tethys-tooltip.mjs +32 -33
  418. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  419. package/fesm2022/ngx-tethys-transfer.mjs +5 -5
  420. package/fesm2022/ngx-tethys-transfer.mjs.map +1 -1
  421. package/fesm2022/ngx-tethys-tree-select.mjs +23 -28
  422. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  423. package/fesm2022/ngx-tethys-tree.mjs +96 -102
  424. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  425. package/fesm2022/ngx-tethys-typography.mjs +15 -15
  426. package/fesm2022/ngx-tethys-typography.mjs.map +1 -1
  427. package/fesm2022/ngx-tethys-upload.mjs +11 -12
  428. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  429. package/fesm2022/ngx-tethys-watermark.mjs +12 -12
  430. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  431. package/fesm2022/ngx-tethys.mjs +1 -1
  432. package/fesm2022/ngx-tethys.mjs.map +1 -1
  433. package/flexible-text/flexible-text.component.d.ts +1 -3
  434. package/form/form-group-error/form-group-error.component.d.ts +1 -3
  435. package/form/form-group-label.directive.d.ts +0 -2
  436. package/form/form-group.component.d.ts +1 -4
  437. package/form/form-submit.directive.d.ts +0 -2
  438. package/form/form-validator.service.d.ts +0 -2
  439. package/form/form.directive.d.ts +4 -4
  440. package/form/from-group-footer/form-group-footer.component.d.ts +2 -4
  441. package/form/validator/unique-validator.directive.d.ts +1 -4
  442. package/fullscreen/fullscreen.component.d.ts +0 -2
  443. package/fullscreen/fullscreen.service.d.ts +0 -2
  444. package/grid/thy-col.directive.d.ts +1 -2
  445. package/grid/thy-grid-item.component.d.ts +2 -4
  446. package/grid/thy-grid.component.d.ts +1 -3
  447. package/guider/guider.directive.d.ts +1 -3
  448. package/guider/guider.service.d.ts +0 -7
  449. package/icon/icon-registry.d.ts +1 -3
  450. package/icon/icon.component.d.ts +1 -3
  451. package/image/image-group.component.d.ts +1 -2
  452. package/image/image.directive.d.ts +1 -3
  453. package/image/image.service.d.ts +2 -2
  454. package/image/preview/image-preview.component.d.ts +1 -4
  455. package/input/input-count.component.d.ts +3 -4
  456. package/input/input-group.component.d.ts +1 -3
  457. package/input/input-search.component.d.ts +2 -2
  458. package/input/input.component.d.ts +1 -2
  459. package/input/input.directive.d.ts +2 -3
  460. package/input-number/input-number.component.d.ts +2 -2
  461. package/layout/sidebar.component.d.ts +44 -13
  462. package/list/selection/selection-list.d.ts +1 -2
  463. package/loading/loading.component.d.ts +0 -2
  464. package/loading/styles/loading.scss +3 -1
  465. package/mention/mention.directive.d.ts +4 -5
  466. package/mention/suggestions/suggestions.component.d.ts +2 -3
  467. package/menu/group/menu-group.component.d.ts +12 -26
  468. package/menu/item/action/menu-item-action.component.d.ts +2 -3
  469. package/menu/item/menu-item.component.d.ts +1 -2
  470. package/message/abstract/abstract-message-container.component.d.ts +1 -2
  471. package/message/abstract/abstract-message.component.d.ts +2 -2
  472. package/message/message-container.component.d.ts +1 -3
  473. package/message/message-queue.service.d.ts +1 -2
  474. package/message/message.component.d.ts +1 -3
  475. package/message/message.service.d.ts +3 -5
  476. package/nav/icon-nav/icon-nav.component.d.ts +2 -2
  477. package/nav/nav-ink-bar.directive.d.ts +2 -4
  478. package/nav/nav-item.directive.d.ts +3 -4
  479. package/nav/nav.component.d.ts +1 -3
  480. package/nav/nav.pipe.d.ts +0 -2
  481. package/notify/notify-container.component.d.ts +1 -3
  482. package/notify/notify-queue.service.d.ts +1 -2
  483. package/notify/notify.component.d.ts +2 -3
  484. package/notify/notify.service.d.ts +1 -4
  485. package/package.json +1 -1
  486. package/pagination/pagination.component.d.ts +7 -19
  487. package/pagination/pagination.pipe.d.ts +0 -2
  488. package/popover/header/popover-header.component.d.ts +0 -3
  489. package/popover/popover-container.component.d.ts +3 -4
  490. package/popover/popover.directive.d.ts +2 -5
  491. package/popover/popover.service.d.ts +4 -6
  492. package/progress/progress-strip.component.d.ts +0 -1
  493. package/property/property-item.component.d.ts +6 -6
  494. package/property-operation/property-operation.component.d.ts +1 -3
  495. package/radio/button/radio-button.component.d.ts +2 -5
  496. package/radio/group/radio-group.component.d.ts +1 -2
  497. package/radio/radio.component.d.ts +2 -3
  498. package/rate/rate.component.d.ts +2 -2
  499. package/resizable/resizable.directive.d.ts +2 -4
  500. package/resizable/resizable.service.d.ts +2 -2
  501. package/resizable/resize-handle.component.d.ts +1 -3
  502. package/schematics/version.d.ts +1 -1
  503. package/schematics/version.js +1 -1
  504. package/segment/segment-item.component.d.ts +4 -5
  505. package/segment/segment.component.d.ts +1 -2
  506. package/select/custom-select/custom-select.component.d.ts +5 -5
  507. package/select/native-select/native-select.component.d.ts +1 -1
  508. package/shared/base-form-check.component.d.ts +1 -1
  509. package/shared/directives/string-or-template-outlet.directive.d.ts +1 -2
  510. package/shared/directives/thy-autofocus.directive.d.ts +0 -2
  511. package/shared/directives/thy-contextmenu.directive.d.ts +1 -2
  512. package/shared/directives/thy-ctrl-enter.directive.d.ts +1 -2
  513. package/shared/directives/thy-enter.directive.d.ts +1 -2
  514. package/shared/directives/thy-scroll.directive.d.ts +1 -2
  515. package/shared/directives/thy-show.d.ts +1 -2
  516. package/shared/directives/thy-stop-propagation.directive.d.ts +2 -2
  517. package/shared/directives/view-outlet.directive.d.ts +1 -2
  518. package/shared/ng-transclude.directive.d.ts +1 -1
  519. package/shared/option/group/option-group.component.d.ts +1 -2
  520. package/shared/option/list-option/list-option.component.d.ts +5 -10
  521. package/shared/option/option.component.d.ts +5 -5
  522. package/shared/select/select-control/select-control.component.d.ts +1 -2
  523. package/skeleton/skeleton-circle.component.d.ts +1 -4
  524. package/skeleton/skeleton-rectangle.component.d.ts +5 -5
  525. package/slide/drawer/drawer-container.directive.d.ts +1 -2
  526. package/slide/slide-container.component.d.ts +3 -4
  527. package/slide/slide-header/slide-header.component.d.ts +0 -2
  528. package/slide/slide.service.d.ts +3 -3
  529. package/slider/slider.component.d.ts +2 -2
  530. package/space/space.component.d.ts +1 -2
  531. package/statistic/statistic.component.d.ts +1 -2
  532. package/stepper/step.component.d.ts +1 -2
  533. package/stepper/stepper-button.directive.d.ts +0 -3
  534. package/strength/strength.component.d.ts +0 -1
  535. package/switch/switch.component.d.ts +1 -1
  536. package/table/table-column.component.d.ts +32 -8
  537. package/table/table-skeleton.component.d.ts +3 -12
  538. package/table/table.component.d.ts +3 -5
  539. package/tabs/tabs.component.d.ts +1 -2
  540. package/tag/tag.component.d.ts +7 -3
  541. package/time-picker/inner/inner-time-picker.component.d.ts +2 -4
  542. package/time-picker/time-picker-panel.component.d.ts +1 -2
  543. package/time-picker/time-picker.component.d.ts +1 -2
  544. package/timeline/timeline-item.component.d.ts +1 -3
  545. package/timeline/timeline.component.d.ts +1 -3
  546. package/tooltip/tooltip.component.d.ts +1 -2
  547. package/tooltip/tooltip.directive.d.ts +6 -9
  548. package/tooltip/tooltip.service.d.ts +2 -4
  549. package/transfer/transfer-list.component.d.ts +1 -2
  550. package/tree/tree-node.component.d.ts +5 -21
  551. package/tree/tree.component.d.ts +1 -2
  552. package/tree-select/tree-select.component.d.ts +5 -6
  553. package/typography/bg-color.directive.d.ts +0 -2
  554. package/typography/text-color.directive.d.ts +1 -2
  555. package/upload/file-select-base.d.ts +2 -3
  556. package/upload/file-select.component.d.ts +1 -0
  557. package/upload/upload.service.d.ts +0 -2
  558. package/watermark/watermark.directive.d.ts +1 -2
@@ -1,5 +1,5 @@
1
1
  import { coerceCssPixelValue } from '@angular/cdk/coercion';
2
- import { Component, ContentChild, ElementRef, EventEmitter, Inject, InjectionToken, Input, Optional, Output, TemplateRef, ViewEncapsulation } from '@angular/core';
2
+ import { Component, ContentChild, ElementRef, EventEmitter, InjectionToken, Input, Output, TemplateRef, ViewEncapsulation, inject } from '@angular/core';
3
3
  import { coerceBooleanProperty, isArray, isObject } from 'ngx-tethys/util';
4
4
  import { ThyTableSortDirection } from './table.interface';
5
5
  import * as i0 from "@angular/core";
@@ -13,6 +13,60 @@ export const THY_TABLE_COLUMN_PARENT_COMPONENT = new InjectionToken('THY_TABLE_C
13
13
  * @order 20
14
14
  */
15
15
  export class ThyTableColumnComponent {
16
+ constructor() {
17
+ this.el = inject(ElementRef);
18
+ this.parent = inject(THY_TABLE_COLUMN_PARENT_COMPONENT, { optional: true });
19
+ /**
20
+ * 设置数据属性 Key,读取数组中对象的当前 Key 值
21
+ * @type string
22
+ */
23
+ this.model = '';
24
+ /**
25
+ * 设置列名,显示在表头
26
+ * @type string
27
+ */
28
+ this.title = '';
29
+ /**
30
+ * 设置列的特殊类型,序列号、选择框、单选框、切换按钮
31
+ * @type string
32
+ */
33
+ this.type = '';
34
+ this.width = '';
35
+ this.minWidth = '';
36
+ /**
37
+ * 设置列的样式
38
+ */
39
+ this.className = '';
40
+ /**
41
+ * 设置列头部的 Class,即 th 元素上的样式
42
+ * @type string
43
+ */
44
+ this.headerClassName = '';
45
+ /**
46
+ * 设置自定义类型的禁用状态
47
+ * @type boolean
48
+ */
49
+ this.disabled = false;
50
+ /**
51
+ * 设置数据为空的时候显示的文本
52
+ * @type string
53
+ */
54
+ this.defaultText = '';
55
+ /**
56
+ * 设置 Tree 模式下折叠展开按钮展示列,不传默认第一列
57
+ */
58
+ this.expand = false;
59
+ /**
60
+ * 默认列排序顺序
61
+ * @type 'asc' | 'desc' | ''
62
+ */
63
+ this.sortDirection = ThyTableSortDirection.default;
64
+ /**
65
+ * 列排序修改事件
66
+ */
67
+ this.sortChange = new EventEmitter();
68
+ this._firstChange = true;
69
+ }
16
70
  /**
17
71
  * 设置列的宽度
18
72
  */
@@ -66,60 +120,6 @@ export class ThyTableColumnComponent {
66
120
  }
67
121
  }
68
122
  }
69
- constructor(el, parent) {
70
- this.el = el;
71
- this.parent = parent;
72
- /**
73
- * 设置数据属性 Key,读取数组中对象的当前 Key 值
74
- * @type string
75
- */
76
- this.model = '';
77
- /**
78
- * 设置列名,显示在表头
79
- * @type string
80
- */
81
- this.title = '';
82
- /**
83
- * 设置列的特殊类型,序列号、选择框、单选框、切换按钮
84
- * @type string
85
- */
86
- this.type = '';
87
- this.width = '';
88
- this.minWidth = '';
89
- /**
90
- * 设置列的样式
91
- */
92
- this.className = '';
93
- /**
94
- * 设置列头部的 Class,即 th 元素上的样式
95
- * @type string
96
- */
97
- this.headerClassName = '';
98
- /**
99
- * 设置自定义类型的禁用状态
100
- * @type boolean
101
- */
102
- this.disabled = false;
103
- /**
104
- * 设置数据为空的时候显示的文本
105
- * @type string
106
- */
107
- this.defaultText = '';
108
- /**
109
- * 设置 Tree 模式下折叠展开按钮展示列,不传默认第一列
110
- */
111
- this.expand = false;
112
- /**
113
- * 默认列排序顺序
114
- * @type 'asc' | 'desc' | ''
115
- */
116
- this.sortDirection = ThyTableSortDirection.default;
117
- /**
118
- * 列排序修改事件
119
- */
120
- this.sortChange = new EventEmitter();
121
- this._firstChange = true;
122
- }
123
123
  ngOnInit() {
124
124
  this.key = this._generateKey();
125
125
  this._firstChange = false;
@@ -127,7 +127,7 @@ export class ThyTableColumnComponent {
127
127
  _generateKey() {
128
128
  return '[$$column]' + Math.random().toString(16).slice(2, 10);
129
129
  }
130
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTableColumnComponent, deps: [{ token: i0.ElementRef }, { token: THY_TABLE_COLUMN_PARENT_COMPONENT, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTableColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
131
131
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.0", type: ThyTableColumnComponent, isStandalone: true, selector: "thy-table-column", inputs: { model: ["thyModelKey", "model"], title: ["thyTitle", "title"], type: ["thyType", "type"], thyWidth: "thyWidth", thyMinWidth: "thyMinWidth", className: ["thyClassName", "className"], headerClassName: ["thyHeaderClassName", "headerClassName"], disabled: ["thyDisabled", "disabled", coerceBooleanProperty], selections: ["thySelections", "selections"], defaultText: ["thyDefaultText", "defaultText"], expand: ["thyExpand", "expand", coerceBooleanProperty], thySortable: ["thySortable", "thySortable", coerceBooleanProperty], sortDirection: ["thySortDirection", "sortDirection"], fixed: ["thyFixed", "fixed"], operational: ["thyOperational", "operational", coerceBooleanProperty], secondary: ["thySecondary", "secondary", coerceBooleanProperty] }, outputs: { sortChange: "thySortChange" }, queries: [{ propertyName: "headerTemplateRef", first: true, predicate: ["header"], descendants: true, static: true }, { propertyName: "cellTemplateRef", first: true, predicate: ["cell"], descendants: true, static: true }, { propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true, static: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, encapsulation: i0.ViewEncapsulation.None }); }
132
132
  }
133
133
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTableColumnComponent, decorators: [{
@@ -138,12 +138,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
138
138
  encapsulation: ViewEncapsulation.None,
139
139
  standalone: true
140
140
  }]
141
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
142
- type: Optional
143
- }, {
144
- type: Inject,
145
- args: [THY_TABLE_COLUMN_PARENT_COMPONENT]
146
- }] }], propDecorators: { model: [{
141
+ }], propDecorators: { model: [{
147
142
  type: Input,
148
143
  args: ['thyModelKey']
149
144
  }], title: [{
@@ -202,4 +197,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
202
197
  type: ContentChild,
203
198
  args: [TemplateRef, { static: true }]
204
199
  }] } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsS0FBSyxFQUVMLFFBQVEsRUFDUixNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBcUIsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPN0U7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBRyxJQUFJLGNBQWMsQ0FBaUMsbUNBQW1DLENBQUMsQ0FBQztBQUl6STs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLHVCQUF1QjtJQXFCaEM7O09BRUc7SUFDSCxJQUNJLFFBQVEsQ0FBQyxLQUFzQjtRQUMvQixJQUFJLENBQUMsS0FBSyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFJRDs7T0FFRztJQUNILElBQ0ksV0FBVyxDQUFDLEtBQXNCO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQW1CRDs7T0FFRztJQUNILElBQ0ksVUFBVSxDQUFDLEtBQVU7UUFDckIsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMs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LEVBQUUscUJBQXFCLEVBQUU7Z0JBTUEsU0FBUztzQkFBNUUsS0FBSzt1QkFBQyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUt6QyxVQUFVO3NCQUFsQyxNQUFNO3VCQUFDLGVBQWU7Z0JBRW1CLGlCQUFpQjtzQkFBMUQsWUFBWTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUVBLGVBQWU7c0JBQXRELFlBQVk7dUJBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFHbEMsV0FBVztzQkFEZCxZQUFZO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBfaXNOdW1iZXJWYWx1ZSwgY29lcmNlQ3NzUGl4ZWxWYWx1ZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHksIGlzQXJyYXksIGlzT2JqZWN0IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFRoeVRhYmxlU29ydERpcmVjdGlvbiwgVGh5VGFibGVTb3J0RXZlbnQgfSBmcm9tICcuL3RhYmxlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRoeVRhYmxlQ29sdW1uUGFyZW50Q29tcG9uZW50IHtcbiAgICByb3dLZXk6IHN0cmluZztcbiAgICB1cGRhdGVDb2x1bW5TZWxlY3Rpb25zKGtleTogc3RyaW5nLCBzZWxlY3Rpb25zOiBhbnkpOiB2b2lkO1xufVxuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiB1c2VkIHRvIHByb3ZpZGUgdGhlIHBhcmVudCBjb21wb25lbnQgdG8gb3B0aW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IFRIWV9UQUJMRV9DT0xVTU5fUEFSRU5UX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJVGh5VGFibGVDb2x1bW5QYXJlbnRDb21wb25lbnQ+KCdUSFlfVEFCTEVfQ09MVU1OX1BBUkVOVF9DT01QT05FTlQnKTtcblxuZXhwb3J0IHR5cGUgRml4ZWREaXJlY3Rpb24gPSAnbGVmdCcgfCAncmlnaHQnO1xuXG4vKipcbiAqIOihqOagvOWIl+e7hOS7tlxuICogQG5hbWUgdGh5LXRhYmxlLWNvbHVtblxuICogQG9yZGVyIDIwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXRhYmxlLWNvbHVtbicsXG4gICAgdGVtcGxhdGU6ICc8bmctY29udGVudD48L25nLWNvbnRlbnQ+JyxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5VGFibGVDb2x1bW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIC8qKlxuICAgICAqIOiuvue9ruaVsOaNruWxnuaApyBLZXnvvIzor7vlj5bmlbDnu4TkuK3lr7nosaHnmoTlvZPliY0gS2V5IOWAvFxuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5TW9kZWxLZXknKSBtb2RlbCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u5YiX5ZCN77yM5pi+56S65Zyo6KGo5aS0XG4gICAgICogQHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQElucHV0KCd0aHlUaXRsZScpIHRpdGxlID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7liJfnmoTnibnmrornsbvlnovvvIzluo/liJflj7fjgIHpgInmi6nmoYbjgIHljZXpgInmoYbjgIHliIfmjaLmjInpkq5cbiAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVR5cGUnKSB0eXBlID0gJyc7XG5cbiAgICBwdWJsaWMgd2lkdGg6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u5YiX55qE5a695bqmXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5V2lkdGgodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgICAgICB0aGlzLndpZHRoID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG1pbldpZHRoOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruWIl+eahOacgOWwj+WuveW6plxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeU1pbldpZHRoKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5taW5XaWR0aCA9IGNvZXJjZUNzc1BpeGVsVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruWIl+eahOagt+W8j1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5Q2xhc3NOYW1lJykgY2xhc3NOYW1lID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7liJflpLTpg6jnmoQgQ2xhc3PvvIzljbMgdGgg5YWD57Sg5LiK55qE5qC35byPXG4gICAgICogQHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQElucHV0KCd0aHlIZWFkZXJDbGFzc05hbWUnKSBoZWFkZXJDbGFzc05hbWUgPSAnJztcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruiHquWumuS5ieexu+Wei+eahOemgeeUqOeKtuaAgVxuICAgICAqIEB0eXBlIGJvb2xlYW5cbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeURpc2FibGVkJywgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIHRoeVR5cGUg5Li6IGNoZWNrYm94IOaIluiAhSByYWRpbyDnsbvlnovml7bpgInkuK3nmoTmlbDmja4g77yM5pSv5oyB5Y2V5Liq5a+56LGh77yM5Y2V5LiqIElk77yM5ZCM5pe25pSv5oyB5aSa5LiqIElk77yM5aSa5Liq5a+56LGhXG4gICAgICovXG4gICAgQElucHV0KCd0aHlTZWxlY3Rpb25zJylcbiAgICBzZXQgc2VsZWN0aW9ucyh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9ucyA9IGlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9ucyA9IHRoaXMuX3NlbGVjdGlvbnMubWFwKChpdGVtOiBzdHJpbmcgfCBudW1iZXIgfCBvYmplY3QpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNPYmplY3QoaXRlbSkgPyBpdGVtW3RoaXMucGFyZW50LnJvd0tleV0gOiBpdGVtO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2ZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnQudXBkYXRlQ29sdW1uU2VsZWN0aW9ucyh0aGlzLmtleSwgdGhpcy5fc2VsZWN0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOiuvue9ruaVsOaNruS4uuepuueahOaXtuWAmeaYvuekuueahOaWh+acrFxuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5RGVmYXVsdFRleHQnKSBkZWZhdWx0VGV4dCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog6K6+572uIFRyZWUg5qih5byP5LiL5oqY5Y+g5bGV5byA5oyJ6ZKu5bGV56S65YiX77yM5LiN5Lyg6buY6K6k56ys5LiA5YiXXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlFeHBhbmQnLCB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSBleHBhbmQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBzb3J0YWJsZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuW8gOWQr+WIl+aOkuW6j+WKn+iDve+8iOW8gOWQr+aXtiB0aHlNb2RlbEtleSDkuLog5b+F5Lyg77yJXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlTb3J0YWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zb3J0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgdGh5TW9kZWxLZXkgaXMgcmVxdWlyZWQgd2hlbiBzb3J0YWJsZWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zb3J0YWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6buY6K6k5YiX5o6S5bqP6aG65bqPXG4gICAgICogQHR5cGUgJ2FzYycgfCAnZGVzYycgfCAnJ1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5U29ydERpcmVjdGlvbicpIHNvcnREaXJlY3Rpb24gPSBUaHlUYWJsZVNvcnREaXJlY3Rpb24uZGVmYXVsdDtcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruWbuuWumuWIl1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5Rml4ZWQnKSBmaXhlZDogRml4ZWREaXJlY3Rpb247XG5cbiAgICAvKipcbiAgICAgKiDlvZPliY3liJfmmK/lkKbmmK/mk43kvZzliJfvvIzorr7nva7kuLogdHJ1ZSDml7bkvJrov73liqAgdGh5LW9wZXJhdGlvbi1saW5rcyDmoLflvI/nsbvvvIzmloflrZflsYXkuK1cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5T3BlcmF0aW9uYWwnLCB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSBvcGVyYXRpb25hbDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOW9k+WJjeWIl+aYr+WQpuaYr+asoeimgeWIl++8jOiuvue9ruS4uiB0cnVlIOaXtuS8mui/veWKoCB0aHktdGFibGUtY29sdW1uLXNlY29uZGFyeSDmoLflvI/nsbvvvIzmloflrZfpopzoibLkuLogJGdyYXktNjAwXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeVNlY29uZGFyeScsIHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHNlY29uZGFyeTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOWIl+aOkuW6j+S/ruaUueS6i+S7tlxuICAgICAqL1xuICAgIEBPdXRwdXQoJ3RoeVNvcnRDaGFuZ2UnKSBzb3J0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8VGh5VGFibGVTb3J0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUYWJsZVNvcnRFdmVudD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlcicsIHsgc3RhdGljOiB0cnVlIH0pIGhlYWRlclRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQENvbnRlbnRDaGlsZCgnY2VsbCcsIHsgc3RhdGljOiB0cnVlIH0pIGNlbGxUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgc2V0IHRlbXBsYXRlUmVmKHZhbHVlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmhlYWRlclRlbXBsYXRlUmVmICYmICF0aGlzLmNlbGxUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuY2VsbFRlbXBsYXRlUmVmID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMga2V5Pzogc3RyaW5nO1xuXG4gICAgcHVibGljIGxlZnQ6IG51bWJlcjtcblxuICAgIHB1YmxpYyByaWdodDogbnVtYmVyO1xuXG4gICAgcHJpdmF0ZSBfc2VsZWN0aW9uczogYW55O1xuXG4gICAgcHJpdmF0ZSBfZmlyc3RDaGFuZ2UgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBJbmplY3QoVEhZX1RBQkxFX0NPTFVNTl9QQVJFTlRfQ09NUE9ORU5UKVxuICAgICAgICBwdWJsaWMgcGFyZW50OiBJVGh5VGFibGVDb2x1bW5QYXJlbnRDb21wb25lbnRcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5rZXkgPSB0aGlzLl9nZW5lcmF0ZUtleSgpO1xuICAgICAgICB0aGlzLl9maXJzdENoYW5nZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dlbmVyYXRlS2V5KCkge1xuICAgICAgICByZXR1cm4gJ1skJGNvbHVtbl0nICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygxNikuc2xpY2UoMiwgMTApO1xuICAgIH1cbn1cbiJdfQ==
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1jb2x1bW4uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLGNBQWMsRUFDZCxLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsRUFDakIsTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0UsT0FBTyxFQUFFLHFCQUFxQixFQUFxQixNQUFNLG1CQUFtQixDQUFDOztBQU83RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLElBQUksY0FBYyxDQUFpQyxtQ0FBbUMsQ0FBQyxDQUFDO0FBSXpJOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sdUJBQXVCO0lBTnBDO1FBT1ksT0FBRSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxXQUFNLEdBQUcsTUFBTSxDQUFDLGlDQUFpQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFFLENBQUM7UUFFeEU7OztXQUdHO1FBQ21CLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFakM7OztXQUdHO1FBQ2dCLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFOUI7OztXQUdHO1FBQ2UsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVyQixVQUFLLEdBQVcsRUFBRSxDQUFDO1FBVW5CLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFVN0I7O1dBRUc7UUFDb0IsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQUV0Qzs7O1dBR0c7UUFDMEIsb0JB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QUE1RSxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBS3pDLFVBQVU7c0JBQWxDLE1BQU07dUJBQUMsZUFBZTtnQkFFbUIsaUJBQWlCO3NCQUExRCxZQUFZO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBRUEsZUFBZTtzQkFBdEQsWUFBWTt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUdsQyxXQUFXO3NCQURkLFlBQVk7dUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IF9pc051bWJlclZhbHVlLCBjb2VyY2VDc3NQaXhlbFZhbHVlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSwgaXNBcnJheSwgaXNPYmplY3QgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgVGh5VGFibGVTb3J0RGlyZWN0aW9uLCBUaHlUYWJsZVNvcnRFdmVudCB9IGZyb20gJy4vdGFibGUuaW50ZXJmYWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBJVGh5VGFibGVDb2x1bW5QYXJlbnRDb21wb25lbnQge1xuICAgIHJvd0tleTogc3RyaW5nO1xuICAgIHVwZGF0ZUNvbHVtblNlbGVjdGlvbnMoa2V5OiBzdHJpbmcsIHNlbGVjdGlvbnM6IGFueSk6IHZvaWQ7XG59XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHVzZWQgdG8gcHJvdmlkZSB0aGUgcGFyZW50IGNvbXBvbmVudCB0byBvcHRpb25zLlxuICovXG5leHBvcnQgY29uc3QgVEhZX1RBQkxFX0NPTFVNTl9QQVJFTlRfQ09NUE9ORU5UID0gbmV3IEluamVjdGlvblRva2VuPElUaHlUYWJsZUNvbHVtblBhcmVudENvbXBvbmVudD4oJ1RIWV9UQUJMRV9DT0xVTU5fUEFSRU5UX0NPTVBPTkVOVCcpO1xuXG5leHBvcnQgdHlwZSBGaXhlZERpcmVjdGlvbiA9ICdsZWZ0JyB8ICdyaWdodCc7XG5cbi8qKlxuICog6KGo5qC85YiX57uE5Lu2XG4gKiBAbmFtZSB0aHktdGFibGUtY29sdW1uXG4gKiBAb3JkZXIgMjBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktdGFibGUtY29sdW1uJyxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBUaHlUYWJsZUNvbHVtbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBlbCA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwYXJlbnQgPSBpbmplY3QoVEhZX1RBQkxFX0NPTFVNTl9QQVJFTlRfQ09NUE9ORU5ULCB7IG9wdGlvbmFsOiB0cnVlIH0pITtcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruaVsOaNruWxnuaApyBLZXnvvIzor7vlj5bmlbDnu4TkuK3lr7nosaHnmoTlvZPliY0gS2V5IOWAvFxuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5TW9kZWxLZXknKSBtb2RlbCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u5YiX5ZCN77yM5pi+56S65Zyo6KGo5aS0XG4gICAgICogQHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQElucHV0KCd0aHlUaXRsZScpIHRpdGxlID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7liJfnmoTnibnmrornsbvlnovvvIzluo/liJflj7fjgIHpgInmi6nmoYbjgIHljZXpgInmoYbjgIHliIfmjaLmjInpkq5cbiAgICAgKiBAdHlwZSBzdHJpbmdcbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVR5cGUnKSB0eXBlID0gJyc7XG5cbiAgICBwdWJsaWMgd2lkdGg6IHN0cmluZyA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u5YiX55qE5a695bqmXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5V2lkdGgodmFsdWU6IHN0cmluZyB8IG51bWJlcikge1xuICAgICAgICB0aGlzLndpZHRoID0gY29lcmNlQ3NzUGl4ZWxWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG1pbldpZHRoOiBzdHJpbmcgPSAnJztcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruWIl+eahOacgOWwj+WuveW6plxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeU1pbldpZHRoKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5taW5XaWR0aCA9IGNvZXJjZUNzc1BpeGVsVmFsdWUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOiuvue9ruWIl+eahOagt+W8j1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5Q2xhc3NOYW1lJykgY2xhc3NOYW1lID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDorr7nva7liJflpLTpg6jnmoQgQ2xhc3PvvIzljbMgdGgg5YWD57Sg5LiK55qE5qC35byPXG4gICAgICogQHR5cGUgc3RyaW5nXG4gICAgICovXG4gICAgQElucHV0KCd0aHlIZWFkZXJDbGFzc05hbWUnKSBoZWFkZXJDbGFzc05hbWUgPSAnJztcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruiHquWumuS5ieexu+Wei+eahOemgeeUqOeKtuaAgVxuICAgICAqIEB0eXBlIGJvb2xlYW5cbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeURpc2FibGVkJywgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIHRoeVR5cGUg5Li6IGNoZWNrYm94IOaIluiAhSByYWRpbyDnsbvlnovml7bpgInkuK3nmoTmlbDmja4g77yM5pSv5oyB5Y2V5Liq5a+56LGh77yM5Y2V5LiqIElk77yM5ZCM5pe25pSv5oyB5aSa5LiqIElk77yM5aSa5Liq5a+56LGhXG4gICAgICovXG4gICAgQElucHV0KCd0aHlTZWxlY3Rpb25zJylcbiAgICBzZXQgc2VsZWN0aW9ucyh2YWx1ZTogYW55KSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9ucyA9IGlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0aW9ucyA9IHRoaXMuX3NlbGVjdGlvbnMubWFwKChpdGVtOiBzdHJpbmcgfCBudW1iZXIgfCBvYmplY3QpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaXNPYmplY3QoaXRlbSkgPyBpdGVtW3RoaXMucGFyZW50LnJvd0tleV0gOiBpdGVtO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX2ZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnQudXBkYXRlQ29sdW1uU2VsZWN0aW9ucyh0aGlzLmtleSwgdGhpcy5fc2VsZWN0aW9ucyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgc2VsZWN0aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGlvbnM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIOiuvue9ruaVsOaNruS4uuepuueahOaXtuWAmeaYvuekuueahOaWh+acrFxuICAgICAqIEB0eXBlIHN0cmluZ1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5RGVmYXVsdFRleHQnKSBkZWZhdWx0VGV4dCA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog6K6+572uIFRyZWUg5qih5byP5LiL5oqY5Y+g5bGV5byA5oyJ6ZKu5bGV56S65YiX77yM5LiN5Lyg6buY6K6k56ys5LiA5YiXXG4gICAgICovXG4gICAgQElucHV0KHsgYWxpYXM6ICd0aHlFeHBhbmQnLCB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSBleHBhbmQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBzb3J0YWJsZTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuW8gOWQr+WIl+aOkuW6j+WKn+iDve+8iOW8gOWQr+aXtiB0aHlNb2RlbEtleSDkuLog5b+F5Lyg77yJXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlTb3J0YWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1vZGVsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zb3J0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgdGh5TW9kZWxLZXkgaXMgcmVxdWlyZWQgd2hlbiBzb3J0YWJsZWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zb3J0YWJsZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6buY6K6k5YiX5o6S5bqP6aG65bqPXG4gICAgICogQHR5cGUgJ2FzYycgfCAnZGVzYycgfCAnJ1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5U29ydERpcmVjdGlvbicpIHNvcnREaXJlY3Rpb24gPSBUaHlUYWJsZVNvcnREaXJlY3Rpb24uZGVmYXVsdDtcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruWbuuWumuWIl1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5Rml4ZWQnKSBmaXhlZDogRml4ZWREaXJlY3Rpb247XG5cbiAgICAvKipcbiAgICAgKiDlvZPliY3liJfmmK/lkKbmmK/mk43kvZzliJfvvIzorr7nva7kuLogdHJ1ZSDml7bkvJrov73liqAgdGh5LW9wZXJhdGlvbi1saW5rcyDmoLflvI/nsbvvvIzmloflrZflsYXkuK1cbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IGFsaWFzOiAndGh5T3BlcmF0aW9uYWwnLCB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSBvcGVyYXRpb25hbDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOW9k+WJjeWIl+aYr+WQpuaYr+asoeimgeWIl++8jOiuvue9ruS4uiB0cnVlIOaXtuS8mui/veWKoCB0aHktdGFibGUtY29sdW1uLXNlY29uZGFyeSDmoLflvI/nsbvvvIzmloflrZfpopzoibLkuLogJGdyYXktNjAwXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyBhbGlhczogJ3RoeVNlY29uZGFyeScsIHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHNlY29uZGFyeTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIOWIl+aOkuW6j+S/ruaUueS6i+S7tlxuICAgICAqL1xuICAgIEBPdXRwdXQoJ3RoeVNvcnRDaGFuZ2UnKSBzb3J0Q2hhbmdlOiBFdmVudEVtaXR0ZXI8VGh5VGFibGVTb3J0RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaHlUYWJsZVNvcnRFdmVudD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlcicsIHsgc3RhdGljOiB0cnVlIH0pIGhlYWRlclRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQENvbnRlbnRDaGlsZCgnY2VsbCcsIHsgc3RhdGljOiB0cnVlIH0pIGNlbGxUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgc2V0IHRlbXBsYXRlUmVmKHZhbHVlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmhlYWRlclRlbXBsYXRlUmVmICYmICF0aGlzLmNlbGxUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgIHRoaXMuY2VsbFRlbXBsYXRlUmVmID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMga2V5Pzogc3RyaW5nO1xuXG4gICAgcHVibGljIGxlZnQ6IG51bWJlcjtcblxuICAgIHB1YmxpYyByaWdodDogbnVtYmVyO1xuXG4gICAgcHJpdmF0ZSBfc2VsZWN0aW9uczogYW55O1xuXG4gICAgcHJpdmF0ZSBfZmlyc3RDaGFuZ2UgPSB0cnVlO1xuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMua2V5ID0gdGhpcy5fZ2VuZXJhdGVLZXkoKTtcbiAgICAgICAgdGhpcy5fZmlyc3RDaGFuZ2UgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZW5lcmF0ZUtleSgpIHtcbiAgICAgICAgcmV0dXJuICdbJCRjb2x1bW5dJyArIE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMTYpLnNsaWNlKDIsIDEwKTtcbiAgICB9XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
2
  import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
3
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';
3
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, Input, ViewChild, ViewEncapsulation, inject } from '@angular/core';
4
4
  import { InputCssPixel } from 'ngx-tethys/core';
5
5
  import { ThySkeletonCircle, ThySkeletonRectangle } from 'ngx-tethys/skeleton';
6
6
  import { ThyViewOutletDirective } from 'ngx-tethys/shared';
@@ -13,34 +13,8 @@ const COLUMN_COUNT = 5;
13
13
  * @name thy-table-skeleton
14
14
  */
15
15
  export class ThyTableSkeleton {
16
- /**
17
- * 行数
18
- */
19
- set thyRowCount(value) {
20
- this.rowCount = Array.from({ length: +value });
21
- }
22
- /**
23
- * 表格列骨架的配置项,支持配置列宽、骨架类型
24
- * @type ThyTableSkeletonColumn[]
25
- */
26
- set thyColumns(columns) {
27
- if (columns && columns.length) {
28
- this.columns = columns;
29
- }
30
- else {
31
- this.columns = [...this.defaultColumns];
32
- }
33
- }
34
- get tableClassMap() {
35
- return {
36
- table: true,
37
- 'table-bordered': this.thyTheme === 'bordered',
38
- 'table-boxed': this.thyTheme === 'boxed',
39
- [`table-${this.thySize}`]: !!this.thySize
40
- };
41
- }
42
- constructor(cdr) {
43
- this.cdr = cdr;
16
+ constructor() {
17
+ this.cdr = inject(ChangeDetectorRef);
44
18
  /**
45
19
  * 表格内容骨架高度
46
20
  */
@@ -95,6 +69,32 @@ export class ThyTableSkeleton {
95
69
  });
96
70
  this.columns = [...this.defaultColumns];
97
71
  }
72
+ /**
73
+ * 行数
74
+ */
75
+ set thyRowCount(value) {
76
+ this.rowCount = Array.from({ length: +value });
77
+ }
78
+ /**
79
+ * 表格列骨架的配置项,支持配置列宽、骨架类型
80
+ * @type ThyTableSkeletonColumn[]
81
+ */
82
+ set thyColumns(columns) {
83
+ if (columns && columns.length) {
84
+ this.columns = columns;
85
+ }
86
+ else {
87
+ this.columns = [...this.defaultColumns];
88
+ }
89
+ }
90
+ get tableClassMap() {
91
+ return {
92
+ table: true,
93
+ 'table-bordered': this.thyTheme === 'bordered',
94
+ 'table-boxed': this.thyTheme === 'boxed',
95
+ [`table-${this.thySize}`]: !!this.thySize
96
+ };
97
+ }
98
98
  ngAfterViewInit() {
99
99
  this.skeletonColumnsMap = {
100
100
  [ThyTableColumnSkeletonType.title]: this.titleTemplate,
@@ -103,7 +103,7 @@ export class ThyTableSkeleton {
103
103
  };
104
104
  this.cdr.detectChanges();
105
105
  }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTableSkeleton, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
106
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ThyTableSkeleton, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
107
107
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: ThyTableSkeleton, isStandalone: true, selector: "thy-table-skeleton", inputs: { thyBorderRadius: "thyBorderRadius", thyRowHeight: "thyRowHeight", thyAnimated: ["thyAnimated", "thyAnimated", coerceBooleanProperty], thyAnimatedInterval: "thyAnimatedInterval", thyPrimaryColor: "thyPrimaryColor", thySecondaryColor: "thySecondaryColor", thyRowCount: "thyRowCount", thyHeadless: ["thyHeadless", "thyHeadless", coerceBooleanProperty], thyTheme: "thyTheme", thySize: "thySize", thyMinWidth: "thyMinWidth", thyColumns: "thyColumns" }, host: { classAttribute: "thy-table-skeleton" }, viewQueries: [{ propertyName: "titleTemplate", first: true, predicate: ["titleTemplate"], descendants: true }, { propertyName: "memberTemplate", first: true, predicate: ["memberTemplate"], descendants: true }, { propertyName: "defaultTemplate", first: true, predicate: ["defaultTemplate"], descendants: true }, { propertyName: "checkboxTemplate", first: true, predicate: ["checkboxTemplate"], descendants: true }], ngImport: i0, template: "<table [ngClass]=\"tableClassMap\" [ngStyle]=\"{ 'min-width': thyMinWidth }\">\n <colgroup>\n @for (column of columns; track $index) {\n <col [width]=\"column.width\" />\n }\n </colgroup>\n @if (!thyHeadless) {\n <thead>\n <tr>\n @for (column of columns; track $index) {\n <th>\n <thy-skeleton-rectangle\n [thyRowWidth]=\"column?.type === columnType.checkbox ? checkboxWidth : titleWidth\"\n [thyRowHeight]=\"titleHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyTheme === 'bordered' || thyTheme === 'boxed' ? '#eee' : thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody>\n @for (item of rowCount; track $index; let i = $index) {\n <tr>\n @for (column of columns; track $index) {\n <td>\n <ng-container\n *thyViewOutlet=\"\n skeletonColumnsMap[column.type] || defaultTemplate;\n context: {\n trIndex: i\n }\n \">\n </ng-container>\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n\n<ng-template #titleTemplate let-trIndex=\"trIndex\">\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-rectangle\n class=\"mr-2 flex-shrink-0\"\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n\n <ng-container\n *thyViewOutlet=\"\n defaultTemplate;\n context: {\n rowWidth: trIndex % 3 === 0 ? '75%' : trIndex % 3 === 1 ? '100%' : trIndex % 3 === 2 ? '65%' : ''\n }\n \"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #checkboxTemplate>\n <thy-skeleton-rectangle\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n\n<ng-template #memberTemplate>\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-circle\n class=\"mr-2 flex-shrink-0\"\n [thySize]=\"avatarSize\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-circle>\n\n <ng-container *thyViewOutlet=\"defaultTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #defaultTemplate let-rowWidth=\"rowWidth\">\n <thy-skeleton-rectangle\n [thyRowWidth]=\"rowWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: ThyViewOutletDirective, selector: "[thyViewOutlet]", inputs: ["thyViewOutlet", "thyViewOutletContext"] }, { kind: "component", type: ThySkeletonRectangle, selector: "thy-skeleton-rectangle", inputs: ["thyAnimated", "thyAnimatedInterval", "thyBorderRadius", "thyRowWidth", "thyRowHeight", "thyPrimaryColor", "thySecondaryColor"] }, { kind: "component", type: ThySkeletonCircle, selector: "thy-skeleton-circle", inputs: ["thyAnimatedInterval", "thySize", "thyPrimaryColor", "thySecondaryColor", "thyAnimated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
108
108
  }
109
109
  __decorate([
@@ -123,7 +123,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
123
123
  args: [{ selector: 'thy-table-skeleton', host: {
124
124
  class: 'thy-table-skeleton'
125
125
  }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [NgClass, NgStyle, NgTemplateOutlet, ThyViewOutletDirective, ThySkeletonRectangle, ThySkeletonCircle], template: "<table [ngClass]=\"tableClassMap\" [ngStyle]=\"{ 'min-width': thyMinWidth }\">\n <colgroup>\n @for (column of columns; track $index) {\n <col [width]=\"column.width\" />\n }\n </colgroup>\n @if (!thyHeadless) {\n <thead>\n <tr>\n @for (column of columns; track $index) {\n <th>\n <thy-skeleton-rectangle\n [thyRowWidth]=\"column?.type === columnType.checkbox ? checkboxWidth : titleWidth\"\n [thyRowHeight]=\"titleHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyTheme === 'bordered' || thyTheme === 'boxed' ? '#eee' : thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n </th>\n }\n </tr>\n </thead>\n }\n <tbody>\n @for (item of rowCount; track $index; let i = $index) {\n <tr>\n @for (column of columns; track $index) {\n <td>\n <ng-container\n *thyViewOutlet=\"\n skeletonColumnsMap[column.type] || defaultTemplate;\n context: {\n trIndex: i\n }\n \">\n </ng-container>\n </td>\n }\n </tr>\n }\n </tbody>\n</table>\n\n<ng-template #titleTemplate let-trIndex=\"trIndex\">\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-rectangle\n class=\"mr-2 flex-shrink-0\"\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n\n <ng-container\n *thyViewOutlet=\"\n defaultTemplate;\n context: {\n rowWidth: trIndex % 3 === 0 ? '75%' : trIndex % 3 === 1 ? '100%' : trIndex % 3 === 2 ? '65%' : ''\n }\n \"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #checkboxTemplate>\n <thy-skeleton-rectangle\n [thyRowWidth]=\"checkboxWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n\n<ng-template #memberTemplate>\n <div class=\"d-flex align-items-center\">\n <thy-skeleton-circle\n class=\"mr-2 flex-shrink-0\"\n [thySize]=\"avatarSize\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-circle>\n\n <ng-container *thyViewOutlet=\"defaultTemplate\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #defaultTemplate let-rowWidth=\"rowWidth\">\n <thy-skeleton-rectangle\n [thyRowWidth]=\"rowWidth\"\n [thyRowHeight]=\"thyRowHeight\"\n [thyBorderRadius]=\"thyBorderRadius\"\n [thyAnimated]=\"thyAnimated\"\n [thyAnimatedInterval]=\"thyAnimatedInterval\"\n [thyPrimaryColor]=\"thyPrimaryColor\"\n [thySecondaryColor]=\"thySecondaryColor\"></thy-skeleton-rectangle>\n</ng-template>\n" }]
126
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { titleTemplate: [{
126
+ }], propDecorators: { titleTemplate: [{
127
127
  type: ViewChild,
128
128
  args: ['titleTemplate']
129
129
  }], memberTemplate: [{
@@ -162,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
162
162
  }], thyColumns: [{
163
163
  type: Input
164
164
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2tlbGV0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RhYmxlL3RhYmxlLXNrZWxldG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1za2VsZXRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFckQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXhELE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQztBQUV2Qjs7O0dBR0c7QUFZSCxNQUFNLE9BQU8sZ0JBQWdCO0lBK0N6Qjs7T0FFRztJQUNILElBQ0ksV0FBVyxDQUFDLEtBQXNCO1FBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQTRCRDs7O09BR0c7SUFDSCxJQUFhLFVBQVUsQ0FBQyxPQUFpQztRQUNyRCxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFLENB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QURDLGFBQWEsRUFBRTs7cURBQ2E7MkZBL0VwQixnQkFBZ0I7a0JBWDVCLFNBQVM7K0JBQ0ksb0JBQW9CLFFBRXhCO3dCQUNGLEtBQUssRUFBRSxvQkFBb0I7cUJBQzlCLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLGNBQ3pCLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLEVBQUUsaUJBQWlCLENBQUM7c0ZBR2xGLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFFRyxjQUFjO3NCQUExQyxTQUFTO3VCQUFDLGdCQUFnQjtnQkFFRyxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFFRyxnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCO2dCQU83QixlQUFlO3NCQUZkLEtBQUs7Z0JBU04sWUFBWTtzQkFGWCxLQUFLO2dCQVNOLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFNbEMsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUtHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBS0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQVFGLFdBQVc7c0JBRGQsS0FBSztnQkFTdUMsV0FBVztzQkFBdkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFNbEMsUUFBUTtzQkFBaEIsS0FBSztnQkFPRyxPQUFPO3NCQUFmLEtBQUs7Z0JBT04sV0FBVztzQkFGVixLQUFLO2dCQVFPLFVBQVU7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbnB1dENzc1BpeGVsIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IFRoeVNrZWxldG9uQ2lyY2xlLCBUaHlTa2VsZXRvblJlY3RhbmdsZSB9IGZyb20gJ25neC10ZXRoeXMvc2tlbGV0b24nO1xuaW1wb3J0IHsgVGh5VGFibGVTa2VsZXRvbkNvbHVtbiB9IGZyb20gJy4vdGFibGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IFRoeVZpZXdPdXRsZXREaXJlY3RpdmUgfSBmcm9tICduZ3gtdGV0aHlzL3NoYXJlZCc7XG5pbXBvcnQgeyBUaHlUYWJsZUNvbHVtblNrZWxldG9uVHlwZSB9IGZyb20gJy4vZW51bXMnO1xuaW1wb3J0IHsgVGh5VGFibGVTaXplLCBUaHlUYWJsZVRoZW1lIH0gZnJvbSAnLi90YWJsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuY29uc3QgQ09MVU1OX0NPVU5UID0gNTtcblxuLyoqXG4gKiDooajmoLznmoTpqqjmnrblsY/nu4Tku7ZcbiAqIEBuYW1lIHRoeS10YWJsZS1za2VsZXRvblxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS10YWJsZS1za2VsZXRvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLXNrZWxldG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LXRhYmxlLXNrZWxldG9uJ1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBUaHlWaWV3T3V0bGV0RGlyZWN0aXZlLCBUaHlTa2VsZXRvblJlY3RhbmdsZSwgVGh5U2tlbGV0b25DaXJjbGVdXG59KVxuZXhwb3J0IGNsYXNzIFRoeVRhYmxlU2tlbGV0b24gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgICBAVmlld0NoaWxkKCd0aXRsZVRlbXBsYXRlJykgdGl0bGVUZW1wbGF0ZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdtZW1iZXJUZW1wbGF0ZScpIG1lbWJlclRlbXBsYXRlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2RlZmF1bHRUZW1wbGF0ZScpIGRlZmF1bHRUZW1wbGF0ZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKCdjaGVja2JveFRlbXBsYXRlJykgY2hlY2tib3hUZW1wbGF0ZTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgICAvKipcbiAgICAgKiDpqqjmnrbovrnmoYblnIbop5JcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBJbnB1dENzc1BpeGVsKClcbiAgICB0aHlCb3JkZXJSYWRpdXM6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOihqOagvOWGheWuuemqqOaetumrmOW6plxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Q3NzUGl4ZWwoKVxuICAgIHRoeVJvd0hlaWdodDogc3RyaW5nIHwgbnVtYmVyID0gJzIwcHgnO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5byA5ZCv5Yqo55S7XG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5QW5pbWF0ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5Yqo55S76YCf5bqmXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QW5pbWF0ZWRJbnRlcnZhbDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p625Li76ImyXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UHJpbWFyeUNvbG9yOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDpqqjmnrbmrKHoibJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTZWNvbmRhcnlDb2xvcjogc3RyaW5nO1xuXG4gICAgcm93Q291bnQ6IG51bWJlcltdID0gW107XG5cbiAgICAvKipcbiAgICAgKiDooYzmlbBcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlSb3dDb3VudCh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucm93Q291bnQgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiArdmFsdWUgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5bGV56S66aqo5p625aS0XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlIZWFkbGVzcyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p625bGP55qE6aOO5qC8XG4gICAgICogQHR5cGUgZGVmYXVsdCB8IGJvcmRlcmVkIHwgYm94ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUaGVtZTogVGh5VGFibGVUaGVtZSA9ICdkZWZhdWx0JztcblxuICAgIC8qKlxuICAgICAqIOmqqOaetuWxj+eahOWkp+Wwj1xuICAgICAqIEB0eXBlIHhzIHwgc20gfCBtZCB8IGxnIHwgeGxnIHwgZGVmYXVsdFxuICAgICAqIEBkZWZhdWx0IG1kXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U2l6ZTogVGh5VGFibGVTaXplID0gJ21kJztcblxuICAgIC8qKlxuICAgICAqIOiuvue9ruihqOagvOacgOWwj+WuveW6plxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Q3NzUGl4ZWwoKVxuICAgIHRoeU1pbldpZHRoOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDooajmoLzliJfpqqjmnrbnmoTphY3nva7pobnvvIzmlK/mjIHphY3nva7liJflrr3jgIHpqqjmnrbnsbvlnotcbiAgICAgKiBAdHlwZSBUaHlUYWJsZVNrZWxldG9uQ29sdW1uW11cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5Q29sdW1ucyhjb2x1bW5zOiBUaHlUYWJsZVNrZWxldG9uQ29sdW1uW10pIHtcbiAgICAgICAgaWYgKGNvbHVtbnMgJiYgY29sdW1ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1ucyA9IGNvbHVtbnM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNvbHVtbnMgPSBbLi4udGhpcy5kZWZhdWx0Q29sdW1uc107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgdGl0bGVIZWlnaHQgPSAnMjBweCc7XG5cbiAgICBwdWJsaWMgdGl0bGVXaWR0aCA9ICc1MHB4JztcblxuICAgIHB1YmxpYyBjaGVja2JveFdpZHRoID0gJzIwcHgnO1xuXG4gICAgcHVibGljIGF2YXRhclNpemUgPSAnMjRweCc7XG5cbiAgICBwdWJsaWMgY29sdW1uVHlwZSA9IFRoeVRhYmxlQ29sdW1uU2tlbGV0b25UeXBlO1xuXG4gICAgcHVibGljIHNrZWxldG9uQ29sdW1uc01hcDoge1xuICAgICAgICBba2V5OiBzdHJpbmddOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgICB9ID0ge307XG5cbiAgICBnZXQgdGFibGVDbGFzc01hcCgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgJ3RhYmxlLWJvcmRlcmVkJzogdGhpcy50aHlUaGVtZSA9PT0gJ2JvcmRlcmVkJyxcbiAgICAgICAgICAgICd0YWJsZS1ib3hlZCc6IHRoaXMudGh5VGhlbWUgPT09ICdib3hlZCcsXG4gICAgICAgICAgICBbYHRhYmxlLSR7dGhpcy50aHlTaXplfWBdOiAhIXRoaXMudGh5U2l6ZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVmYXVsdENvbHVtbnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiBDT0xVTU5fQ09VTlQgfSkubWFwKChpdGVtLCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJzQwJScsXG4gICAgICAgICAgICAgICAgdHlwZTogVGh5VGFibGVDb2x1bW5Ta2VsZXRvblR5cGUudGl0bGVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSBpZiAoaW5kZXggPT09IDEpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxNyUnLFxuICAgICAgICAgICAgICAgIHR5cGU6IFRoeVRhYmxlQ29sdW1uU2tlbGV0b25UeXBlLm1lbWJlclxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICdhdXRvJyxcbiAgICAgICAgICAgICAgICB0eXBlOiBUaHlUYWJsZUNvbHVtblNrZWxldG9uVHlwZS5kZWZhdWx0XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBwdWJsaWMgY29sdW1uczogVGh5VGFibGVTa2VsZXRvbkNvbHVtbltdID0gWy4uLnRoaXMuZGVmYXVsdENvbHVtbnNdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNrZWxldG9uQ29sdW1uc01hcCA9IHtcbiAgICAgICAgICAgIFtUaHlUYWJsZUNvbHVtblNrZWxldG9uVHlwZS50aXRsZV06IHRoaXMudGl0bGVUZW1wbGF0ZSxcbiAgICAgICAgICAgIFtUaHlUYWJsZUNvbHVtblNrZWxldG9uVHlwZS5tZW1iZXJdOiB0aGlzLm1lbWJlclRlbXBsYXRlLFxuICAgICAgICAgICAgW1RoeVRhYmxlQ29sdW1uU2tlbGV0b25UeXBlLmNoZWNrYm94XTogdGhpcy5jaGVja2JveFRlbXBsYXRlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG59XG4iLCI8dGFibGUgW25nQ2xhc3NdPVwidGFibGVDbGFzc01hcFwiIFtuZ1N0eWxlXT1cInsgJ21pbi13aWR0aCc6IHRoeU1pbldpZHRoIH1cIj5cbiAgPGNvbGdyb3VwPlxuICAgIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxjb2wgW3dpZHRoXT1cImNvbHVtbi53aWR0aFwiIC8+XG4gICAgfVxuICA8L2NvbGdyb3VwPlxuICBAaWYgKCF0aHlIZWFkbGVzcykge1xuICAgIDx0aGVhZD5cbiAgICAgIDx0cj5cbiAgICAgICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgIDx0aD5cbiAgICAgICAgICAgIDx0aHktc2tlbGV0b24tcmVjdGFuZ2xlXG4gICAgICAgICAgICAgIFt0aHlSb3dXaWR0aF09XCJjb2x1bW4/LnR5cGUgPT09IGNvbHVtblR5cGUuY2hlY2tib3ggPyBjaGVja2JveFdpZHRoIDogdGl0bGVXaWR0aFwiXG4gICAgICAgICAgICAgIFt0aHlSb3dIZWlnaHRdPVwidGl0bGVIZWlnaHRcIlxuICAgICAgICAgICAgICBbdGh5Qm9yZGVyUmFkaXVzXT1cInRoeUJvcmRlclJhZGl1c1wiXG4gICAgICAgICAgICAgIFt0aHlBbmltYXRlZF09XCJ0aHlBbmltYXRlZFwiXG4gICAgICAgICAgICAgIFt0aHlBbmltYXRlZEludGVydmFsXT1cInRoeUFuaW1hdGVkSW50ZXJ2YWxcIlxuICAgICAgICAgICAgICBbdGh5UHJpbWFyeUNvbG9yXT1cInRoeVRoZW1lID09PSAnYm9yZGVyZWQnIHx8IHRoeVRoZW1lID09PSAnYm94ZWQnID8gJyNlZWUnIDogdGh5UHJpbWFyeUNvbG9yXCJcbiAgICAgICAgICAgICAgW3RoeVNlY29uZGFyeUNvbG9yXT1cInRoeVNlY29uZGFyeUNvbG9yXCI+PC90aHktc2tlbGV0b24tcmVjdGFuZ2xlPlxuICAgICAgICAgIDwvdGg+XG4gICAgICAgIH1cbiAgICAgIDwvdHI+XG4gICAgPC90aGVhZD5cbiAgfVxuICA8dGJvZHk+XG4gICAgQGZvciAoaXRlbSBvZiByb3dDb3VudDsgdHJhY2sgJGluZGV4OyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgPHRyPlxuICAgICAgICBAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqdGh5Vmlld091dGxldD1cIlxuICAgICAgICAgICAgICAgIHNrZWxldG9uQ29sdW1uc01hcFtjb2x1bW4udHlwZV0gfHwgZGVmYXVsdFRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICAgICAgICAgIHRySW5kZXg6IGlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIFwiPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgfVxuICAgICAgPC90cj5cbiAgICB9XG4gIDwvdGJvZHk+XG48L3RhYmxlPlxuXG48bmctdGVtcGxhdGUgI3RpdGxlVGVtcGxhdGUgbGV0LXRySW5kZXg9XCJ0ckluZGV4XCI+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgPHRoeS1za2VsZXRvbi1yZWN0YW5nbGVcbiAgICAgIGNsYXNzPVwibXItMiBmbGV4LXNocmluay0wXCJcbiAgICAgIFt0aHlSb3dXaWR0aF09XCJjaGVja2JveFdpZHRoXCJcbiAgICAgIFt0aHlSb3dIZWlnaHRdPVwidGh5Um93SGVpZ2h0XCJcbiAgICAgIFt0aHlCb3JkZXJSYWRpdXNdPVwidGh5Qm9yZGVyUmFkaXVzXCJcbiAgICAgIFt0aHlBbmltYXRlZF09XCJ0aHlBbmltYXRlZFwiXG4gICAgICBbdGh5QW5pbWF0ZWRJbnRlcnZhbF09XCJ0aHlBbmltYXRlZEludGVydmFsXCJcbiAgICAgIFt0aHlQcmltYXJ5Q29sb3JdPVwidGh5UHJpbWFyeUNvbG9yXCJcbiAgICAgIFt0aHlTZWNvbmRhcnlDb2xvcl09XCJ0aHlTZWNvbmRhcnlDb2xvclwiPjwvdGh5LXNrZWxldG9uLXJlY3RhbmdsZT5cblxuICAgIDxuZy1jb250YWluZXJcbiAgICAgICp0aHlWaWV3T3V0bGV0PVwiXG4gICAgICAgIGRlZmF1bHRUZW1wbGF0ZTtcbiAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgIHJvd1dpZHRoOiB0ckluZGV4ICUgMyA9PT0gMCA/ICc3NSUnIDogdHJJbmRleCAlIDMgPT09IDEgPyAnMTAwJScgOiB0ckluZGV4ICUgMyA9PT0gMiA/ICc2NSUnIDogJydcbiAgICAgICAgfVxuICAgICAgXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjaGVja2JveFRlbXBsYXRlPlxuICA8dGh5LXNrZWxldG9uLXJlY3RhbmdsZVxuICAgIFt0aHlSb3dXaWR0aF09XCJjaGVja2JveFdpZHRoXCJcbiAgICBbdGh5Um93SGVpZ2h0XT1cInRoeVJvd0hlaWdodFwiXG4gICAgW3RoeUJvcmRlclJhZGl1c109XCJ0aHlCb3JkZXJSYWRpdXNcIlxuICAgIFt0aHlBbmltYXRlZF09XCJ0aHlBbmltYXRlZFwiXG4gICAgW3RoeUFuaW1hdGVkSW50ZXJ2YWxdPVwidGh5QW5pbWF0ZWRJbnRlcnZhbFwiXG4gICAgW3RoeVByaW1hcnlDb2xvcl09XCJ0aHlQcmltYXJ5Q29sb3JcIlxuICAgIFt0aHlTZWNvbmRhcnlDb2xvcl09XCJ0aHlTZWNvbmRhcnlDb2xvclwiPjwvdGh5LXNrZWxldG9uLXJlY3RhbmdsZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbWVtYmVyVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgPHRoeS1za2VsZXRvbi1jaXJjbGVcbiAgICAgIGNsYXNzPVwibXItMiBmbGV4LXNocmluay0wXCJcbiAgICAgIFt0aHlTaXplXT1cImF2YXRhclNpemVcIlxuICAgICAgW3RoeUFuaW1hdGVkXT1cInRoeUFuaW1hdGVkXCJcbiAgICAgIFt0aHlBbmltYXRlZEludGVydmFsXT1cInRoeUFuaW1hdGVkSW50ZXJ2YWxcIlxuICAgICAgW3RoeVByaW1hcnlDb2xvcl09XCJ0aHlQcmltYXJ5Q29sb3JcIlxuICAgICAgW3RoeVNlY29uZGFyeUNvbG9yXT1cInRoeVNlY29uZGFyeUNvbG9yXCI+PC90aHktc2tlbGV0b24tY2lyY2xlPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqdGh5Vmlld091dGxldD1cImRlZmF1bHRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRlbXBsYXRlIGxldC1yb3dXaWR0aD1cInJvd1dpZHRoXCI+XG4gIDx0aHktc2tlbGV0b24tcmVjdGFuZ2xlXG4gICAgW3RoeVJvd1dpZHRoXT1cInJvd1dpZHRoXCJcbiAgICBbdGh5Um93SGVpZ2h0XT1cInRoeVJvd0hlaWdodFwiXG4gICAgW3RoeUJvcmRlclJhZGl1c109XCJ0aHlCb3JkZXJSYWRpdXNcIlxuICAgIFt0aHlBbmltYXRlZF09XCJ0aHlBbmltYXRlZFwiXG4gICAgW3RoeUFuaW1hdGVkSW50ZXJ2YWxdPVwidGh5QW5pbWF0ZWRJbnRlcnZhbFwiXG4gICAgW3RoeVByaW1hcnlDb2xvcl09XCJ0aHlQcmltYXJ5Q29sb3JcIlxuICAgIFt0aHlTZWNvbmRhcnlDb2xvcl09XCJ0aHlTZWNvbmRhcnlDb2xvclwiPjwvdGh5LXNrZWxldG9uLXJlY3RhbmdsZT5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtc2tlbGV0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3RhYmxlL3RhYmxlLXNrZWxldG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy90YWJsZS90YWJsZS1za2VsZXRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRXJELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV4RCxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFFdkI7OztHQUdHO0FBWUgsTUFBTSxPQUFPLGdCQUFnQjtJQVg3QjtRQVlZLFFBQUcsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQWlCeEM7O1dBRUc7UUFHSCxpQkFBWSxHQUFvQixNQUFNLENBQUM7UUFFdkM7OztXQUdHO1FBRUgsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFpQjVCLGFBQVEsR0FBYSxFQUFFLENBQUM7UUFVeEI7OztXQUdHO1FBQzBDLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBRWpFOzs7V0FHRztRQUNNLGFBQVEsR0FBa0IsU0FBUyxDQUFDO1FBRTdDOzs7O1dBSUc7UUFDTSxZQUFPLEdBQWlCLElBQUksQ0FBQztRQXFCL0IsZ0JBQVcsR0FBRyxNQUFNLENBQUM7UUFFckIsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUVwQixrQkFBYSxHQUFHLE1BQU0sQ0FBQztRQUV2QixlQUFVLEdBQUcsTUFBTSxDQUFDO1FBRXBCLGVBQVUsR0FBRywwQkFBMEIsQ0FBQztRQUV4Qyx1QkFBa0IsR0FFckIsRUFBRSxDQUFDO1FBV0MsbUJBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQWEsRUFBRSxFQUFFO1lBQ3RGLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNkLE9BQU87b0JBQ0gsS0FBSyxFQUFFLEtBQUs7b0JBQ1osSUFBSSxFQUFFLDBCQUEwQixDQUFDLEtBQUs7aUJBQ3pDLENBQUM7WUFDTixDQUFDO2lCQUFNLElBQUksS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNyQixPQUFPO29CQUNILEtBQUssRUFBRSxLQUFLO29CQUNaLElBQUksRUFBRSwwQkFBMEIsQ0FBQyxNQUFNO2lCQUMxQyxDQUFDO1lBQ04sQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU87b0JBQ0gsS0FBSyxFQUFFLE1BQU07b0JBQ2IsSUFBSSxFQUFFLDBCQUEwQixDQUFDLE9BQU87aUJBQzNDLENBQUM7WUFDTixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSSxZQUFPLEdBQTZCLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7S0FVdkU7SUFsR0c7O09BRUc7SUFDSCxJQUNJLFdBQVcsQ0FBQyxLQUFzQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUE0QkQ7OztPQUdHO0lBQ0gsSUFBYSxVQUFVLENBQUMsT0FBaUM7UUFDckQsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzNCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDTCxDQUFDO0lBZ0JELElBQUksYUFBYTtRQUNiLE9BQU87WUFDSCxLQUFLLEVBQUUsSUFBSTtZQUNYLGdCQUFnQixFQUFFLElBQUksQ0FBQyxRQUFRLEtBQUssVUFBVTtZQUM5QyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPO1lBQ3hDLENBQUMsU0FBUyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU87U0FDNUMsQ0FBQztJQUNOLENBQUM7SUF1QkQsZUFBZTtRQUNYLElBQUksQ0FBQyxrQkFBa0IsR0FBRztZQUN0QixDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ3RELENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDeEQsQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1NBQy9ELENBQUM7UUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBbEpRLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDhLQTZCTCxxQkFBcUIsbU1BZ0NyQixxQkFBcUIsNGtCQ2xHN0MsbTNHQXFHQSw0Q0RsRWMsT0FBTyxvRkFBRSxPQUFPLDJFQUFvQixzQkFBc0IsK0dBQUUsb0JBQW9CLDZNQUFFLGlCQUFpQjs7QUFrQjdHO0lBREMsYUFBYSxFQUFFOzt5REFDaUI7QUFPakM7SUFEQyxhQUFhLEVBQUU7O3NEQUN1QjtBQTBEdkM7SUFEQyxhQUFhLEVBQUU7O3FEQUNhOzJGQWpGcEIsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNJLG9CQUFvQixRQUV4Qjt3QkFDRixLQUFLLEVBQUUsb0JBQW9CO3FCQUM5QixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxjQUN6QixJQUFJLFdBQ1AsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLG9CQUFvQixFQUFFLGlCQUFpQixDQUFDOzhCQUtsRixhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBRUcsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBRUcsZUFBZTtzQkFBNUMsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBRUcsZ0JBQWdCO3NCQUE5QyxTQUFTO3VCQUFDLGtCQUFrQjtnQkFPN0IsZUFBZTtzQkFGZCxLQUFLO2dCQVNOLFlBQVk7c0JBRlgsS0FBSztnQkFTTixXQUFXO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTWxDLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFLRyxlQUFlO3NCQUF2QixLQUFLO2dCQUtHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFRRixXQUFXO3NCQURkLEtBQUs7Z0JBU3VDLFdBQVc7c0JBQXZELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTWxDLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csT0FBTztzQkFBZixLQUFLO2dCQU9OLFdBQVc7c0JBRlYsS0FBSztnQkFRTyxVQUFVO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0Q3NzUGl4ZWwgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgVGh5U2tlbGV0b25DaXJjbGUsIFRoeVNrZWxldG9uUmVjdGFuZ2xlIH0gZnJvbSAnbmd4LXRldGh5cy9za2VsZXRvbic7XG5pbXBvcnQgeyBUaHlUYWJsZVNrZWxldG9uQ29sdW1uIH0gZnJvbSAnLi90YWJsZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgVGh5Vmlld091dGxldERpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IFRoeVRhYmxlQ29sdW1uU2tlbGV0b25UeXBlIH0gZnJvbSAnLi9lbnVtcyc7XG5pbXBvcnQgeyBUaHlUYWJsZVNpemUsIFRoeVRhYmxlVGhlbWUgfSBmcm9tICcuL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5jb25zdCBDT0xVTU5fQ09VTlQgPSA1O1xuXG4vKipcbiAqIOihqOagvOeahOmqqOaetuWxj+e7hOS7tlxuICogQG5hbWUgdGh5LXRhYmxlLXNrZWxldG9uXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXRhYmxlLXNrZWxldG9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtc2tlbGV0b24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktdGFibGUtc2tlbGV0b24nXG4gICAgfSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nQ2xhc3MsIE5nU3R5bGUsIE5nVGVtcGxhdGVPdXRsZXQsIFRoeVZpZXdPdXRsZXREaXJlY3RpdmUsIFRoeVNrZWxldG9uUmVjdGFuZ2xlLCBUaHlTa2VsZXRvbkNpcmNsZV1cbn0pXG5leHBvcnQgY2xhc3MgVGh5VGFibGVTa2VsZXRvbiBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHByaXZhdGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICAgIEBWaWV3Q2hpbGQoJ3RpdGxlVGVtcGxhdGUnKSB0aXRsZVRlbXBsYXRlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ21lbWJlclRlbXBsYXRlJykgbWVtYmVyVGVtcGxhdGU6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnZGVmYXVsdFRlbXBsYXRlJykgZGVmYXVsdFRlbXBsYXRlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ2NoZWNrYm94VGVtcGxhdGUnKSBjaGVja2JveFRlbXBsYXRlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKlxuICAgICAqIOmqqOaetui+ueahhuWchuinklxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQElucHV0Q3NzUGl4ZWwoKVxuICAgIHRoeUJvcmRlclJhZGl1czogc3RyaW5nIHwgbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog6KGo5qC85YaF5a656aqo5p626auY5bqmXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRDc3NQaXhlbCgpXG4gICAgdGh5Um93SGVpZ2h0OiBzdHJpbmcgfCBudW1iZXIgPSAnMjBweCc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblvIDlkK/liqjnlLtcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICB0aHlBbmltYXRlZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiDliqjnlLvpgJ/luqZcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlBbmltYXRlZEludGVydmFsOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDpqqjmnrbkuLvoibJcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlQcmltYXJ5Q29sb3I6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOmqqOaetuasoeiJslxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVNlY29uZGFyeUNvbG9yOiBzdHJpbmc7XG5cbiAgICByb3dDb3VudDogbnVtYmVyW10gPSBbXTtcblxuICAgIC8qKlxuICAgICAqIOihjOaVsFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVJvd0NvdW50KHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5yb3dDb3VudCA9IEFycmF5LmZyb20oeyBsZW5ndGg6ICt2YWx1ZSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblsZXnpLrpqqjmnrblpLRcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHRoeUhlYWRsZXNzID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDpqqjmnrblsY/nmoTpo47moLxcbiAgICAgKiBAdHlwZSBkZWZhdWx0IHwgYm9yZGVyZWQgfCBib3hlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRoZW1lOiBUaHlUYWJsZVRoZW1lID0gJ2RlZmF1bHQnO1xuXG4gICAgLyoqXG4gICAgICog6aqo5p625bGP55qE5aSn5bCPXG4gICAgICogQHR5cGUgeHMgfCBzbSB8IG1kIHwgbGcgfCB4bGcgfCBkZWZhdWx0XG4gICAgICogQGRlZmF1bHQgbWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTaXplOiBUaHlUYWJsZVNpemUgPSAnbWQnO1xuXG4gICAgLyoqXG4gICAgICog6K6+572u6KGo5qC85pyA5bCP5a695bqmXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBASW5wdXRDc3NQaXhlbCgpXG4gICAgdGh5TWluV2lkdGg6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIOihqOagvOWIl+mqqOaetueahOmFjee9rumhue+8jOaUr+aMgemFjee9ruWIl+WuveOAgemqqOaetuexu+Wei1xuICAgICAqIEB0eXBlIFRoeVRhYmxlU2tlbGV0b25Db2x1bW5bXVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlDb2x1bW5zKGNvbHVtbnM6IFRoeVRhYmxlU2tlbGV0b25Db2x1bW5bXSkge1xuICAgICAgICBpZiAoY29sdW1ucyAmJiBjb2x1bW5zLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5jb2x1bW5zID0gY29sdW1ucztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY29sdW1ucyA9IFsuLi50aGlzLmRlZmF1bHRDb2x1bW5zXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyB0aXRsZUhlaWdodCA9ICcyMHB4JztcblxuICAgIHB1YmxpYyB0aXRsZVdpZHRoID0gJzUwcHgnO1xuXG4gICAgcHVibGljIGNoZWNrYm94V2lkdGggPSAnMjBweCc7XG5cbiAgICBwdWJsaWMgYXZhdGFyU2l6ZSA9ICcyNHB4JztcblxuICAgIHB1YmxpYyBjb2x1bW5UeXBlID0gVGh5VGFibGVDb2x1bW5Ta2VsZXRvblR5cGU7XG5cbiAgICBwdWJsaWMgc2tlbGV0b25Db2x1bW5zTWFwOiB7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIH0gPSB7fTtcblxuICAgIGdldCB0YWJsZUNsYXNzTWFwKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdGFibGU6IHRydWUsXG4gICAgICAgICAgICAndGFibGUtYm9yZGVyZWQnOiB0aGlzLnRoeVRoZW1lID09PSAnYm9yZGVyZWQnLFxuICAgICAgICAgICAgJ3RhYmxlLWJveGVkJzogdGhpcy50aHlUaGVtZSA9PT0gJ2JveGVkJyxcbiAgICAgICAgICAgIFtgdGFibGUtJHt0aGlzLnRoeVNpemV9YF06ICEhdGhpcy50aHlTaXplXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZWZhdWx0Q29sdW1ucyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IENPTFVNTl9DT1VOVCB9KS5tYXAoKGl0ZW0sIGluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnNDAlJyxcbiAgICAgICAgICAgICAgICB0eXBlOiBUaHlUYWJsZUNvbHVtblNrZWxldG9uVHlwZS50aXRsZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIGlmIChpbmRleCA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJzE3JScsXG4gICAgICAgICAgICAgICAgdHlwZTogVGh5VGFibGVDb2x1bW5Ta2VsZXRvblR5cGUubWVtYmVyXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJ2F1dG8nLFxuICAgICAgICAgICAgICAgIHR5cGU6IFRoeVRhYmxlQ29sdW1uU2tlbGV0b25UeXBlLmRlZmF1bHRcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIHB1YmxpYyBjb2x1bW5zOiBUaHlUYWJsZVNrZWxldG9uQ29sdW1uW10gPSBbLi4udGhpcy5kZWZhdWx0Q29sdW1uc107XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2tlbGV0b25Db2x1bW5zTWFwID0ge1xuICAgICAgICAgICAgW1RoeVRhYmxlQ29sdW1uU2tlbGV0b25UeXBlLnRpdGxlXTogdGhpcy50aXRsZVRlbXBsYXRlLFxuICAgICAgICAgICAgW1RoeVRhYmxlQ29sdW1uU2tlbGV0b25UeXBlLm1lbWJlcl06IHRoaXMubWVtYmVyVGVtcGxhdGUsXG4gICAgICAgICAgICBbVGh5VGFibGVDb2x1bW5Ta2VsZXRvblR5cGUuY2hlY2tib3hdOiB0aGlzLmNoZWNrYm94VGVtcGxhdGVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiIsIjx0YWJsZSBbbmdDbGFzc109XCJ0YWJsZUNsYXNzTWFwXCIgW25nU3R5bGVdPVwieyAnbWluLXdpZHRoJzogdGh5TWluV2lkdGggfVwiPlxuICA8Y29sZ3JvdXA+XG4gICAgQGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgPGNvbCBbd2lkdGhdPVwiY29sdW1uLndpZHRoXCIgLz5cbiAgICB9XG4gIDwvY29sZ3JvdXA+XG4gIEBpZiAoIXRoeUhlYWRsZXNzKSB7XG4gICAgPHRoZWFkPlxuICAgICAgPHRyPlxuICAgICAgICBAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgPHRoPlxuICAgICAgICAgICAgPHRoeS1za2VsZXRvbi1yZWN0YW5nbGVcbiAgICAgICAgICAgICAgW3RoeVJvd1dpZHRoXT1cImNvbHVtbj8udHlwZSA9PT0gY29sdW1uVHlwZS5jaGVja2JveCA/IGNoZWNrYm94V2lkdGggOiB0aXRsZVdpZHRoXCJcbiAgICAgICAgICAgICAgW3RoeVJvd0hlaWdodF09XCJ0aXRsZUhlaWdodFwiXG4gICAgICAgICAgICAgIFt0aHlCb3JkZXJSYWRpdXNdPVwidGh5Qm9yZGVyUmFkaXVzXCJcbiAgICAgICAgICAgICAgW3RoeUFuaW1hdGVkXT1cInRoeUFuaW1hdGVkXCJcbiAgICAgICAgICAgICAgW3RoeUFuaW1hdGVkSW50ZXJ2YWxdPVwidGh5QW5pbWF0ZWRJbnRlcnZhbFwiXG4gICAgICAgICAgICAgIFt0aHlQcmltYXJ5Q29sb3JdPVwidGh5VGhlbWUgPT09ICdib3JkZXJlZCcgfHwgdGh5VGhlbWUgPT09ICdib3hlZCcgPyAnI2VlZScgOiB0aHlQcmltYXJ5Q29sb3JcIlxuICAgICAgICAgICAgICBbdGh5U2Vjb25kYXJ5Q29sb3JdPVwidGh5U2Vjb25kYXJ5Q29sb3JcIj48L3RoeS1za2VsZXRvbi1yZWN0YW5nbGU+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgfVxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICB9XG4gIDx0Ym9keT5cbiAgICBAZm9yIChpdGVtIG9mIHJvd0NvdW50OyB0cmFjayAkaW5kZXg7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICA8dHI+XG4gICAgICAgIEBmb3IgKGNvbHVtbiBvZiBjb2x1bW5zOyB0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICp0aHlWaWV3T3V0bGV0PVwiXG4gICAgICAgICAgICAgICAgc2tlbGV0b25Db2x1bW5zTWFwW2NvbHVtbi50eXBlXSB8fCBkZWZhdWx0VGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgY29udGV4dDoge1xuICAgICAgICAgICAgICAgICAgdHJJbmRleDogaVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICB9XG4gICAgICA8L3RyPlxuICAgIH1cbiAgPC90Ym9keT5cbjwvdGFibGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGl0bGVUZW1wbGF0ZSBsZXQtdHJJbmRleD1cInRySW5kZXhcIj5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8dGh5LXNrZWxldG9uLXJlY3RhbmdsZVxuICAgICAgY2xhc3M9XCJtci0yIGZsZXgtc2hyaW5rLTBcIlxuICAgICAgW3RoeVJvd1dpZHRoXT1cImNoZWNrYm94V2lkdGhcIlxuICAgICAgW3RoeVJvd0hlaWdodF09XCJ0aHlSb3dIZWlnaHRcIlxuICAgICAgW3RoeUJvcmRlclJhZGl1c109XCJ0aHlCb3JkZXJSYWRpdXNcIlxuICAgICAgW3RoeUFuaW1hdGVkXT1cInRoeUFuaW1hdGVkXCJcbiAgICAgIFt0aHlBbmltYXRlZEludGVydmFsXT1cInRoeUFuaW1hdGVkSW50ZXJ2YWxcIlxuICAgICAgW3RoeVByaW1hcnlDb2xvcl09XCJ0aHlQcmltYXJ5Q29sb3JcIlxuICAgICAgW3RoeVNlY29uZGFyeUNvbG9yXT1cInRoeVNlY29uZGFyeUNvbG9yXCI+PC90aHktc2tlbGV0b24tcmVjdGFuZ2xlPlxuXG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKnRoeVZpZXdPdXRsZXQ9XCJcbiAgICAgICAgZGVmYXVsdFRlbXBsYXRlO1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgcm93V2lkdGg6IHRySW5kZXggJSAzID09PSAwID8gJzc1JScgOiB0ckluZGV4ICUgMyA9PT0gMSA/ICcxMDAlJyA6IHRySW5kZXggJSAzID09PSAyID8gJzY1JScgOiAnJ1xuICAgICAgICB9XG4gICAgICBcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NoZWNrYm94VGVtcGxhdGU+XG4gIDx0aHktc2tlbGV0b24tcmVjdGFuZ2xlXG4gICAgW3RoeVJvd1dpZHRoXT1cImNoZWNrYm94V2lkdGhcIlxuICAgIFt0aHlSb3dIZWlnaHRdPVwidGh5Um93SGVpZ2h0XCJcbiAgICBbdGh5Qm9yZGVyUmFkaXVzXT1cInRoeUJvcmRlclJhZGl1c1wiXG4gICAgW3RoeUFuaW1hdGVkXT1cInRoeUFuaW1hdGVkXCJcbiAgICBbdGh5QW5pbWF0ZWRJbnRlcnZhbF09XCJ0aHlBbmltYXRlZEludGVydmFsXCJcbiAgICBbdGh5UHJpbWFyeUNvbG9yXT1cInRoeVByaW1hcnlDb2xvclwiXG4gICAgW3RoeVNlY29uZGFyeUNvbG9yXT1cInRoeVNlY29uZGFyeUNvbG9yXCI+PC90aHktc2tlbGV0b24tcmVjdGFuZ2xlPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtZW1iZXJUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8dGh5LXNrZWxldG9uLWNpcmNsZVxuICAgICAgY2xhc3M9XCJtci0yIGZsZXgtc2hyaW5rLTBcIlxuICAgICAgW3RoeVNpemVdPVwiYXZhdGFyU2l6ZVwiXG4gICAgICBbdGh5QW5pbWF0ZWRdPVwidGh5QW5pbWF0ZWRcIlxuICAgICAgW3RoeUFuaW1hdGVkSW50ZXJ2YWxdPVwidGh5QW5pbWF0ZWRJbnRlcnZhbFwiXG4gICAgICBbdGh5UHJpbWFyeUNvbG9yXT1cInRoeVByaW1hcnlDb2xvclwiXG4gICAgICBbdGh5U2Vjb25kYXJ5Q29sb3JdPVwidGh5U2Vjb25kYXJ5Q29sb3JcIj48L3RoeS1za2VsZXRvbi1jaXJjbGU+XG5cbiAgICA8bmctY29udGFpbmVyICp0aHlWaWV3T3V0bGV0PVwiZGVmYXVsdFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkZWZhdWx0VGVtcGxhdGUgbGV0LXJvd1dpZHRoPVwicm93V2lkdGhcIj5cbiAgPHRoeS1za2VsZXRvbi1yZWN0YW5nbGVcbiAgICBbdGh5Um93V2lkdGhdPVwicm93V2lkdGhcIlxuICAgIFt0aHlSb3dIZWlnaHRdPVwidGh5Um93SGVpZ2h0XCJcbiAgICBbdGh5Qm9yZGVyUmFkaXVzXT1cInRoeUJvcmRlclJhZGl1c1wiXG4gICAgW3RoeUFuaW1hdGVkXT1cInRoeUFuaW1hdGVkXCJcbiAgICBbdGh5QW5pbWF0ZWRJbnRlcnZhbF09XCJ0aHlBbmltYXRlZEludGVydmFsXCJcbiAgICBbdGh5UHJpbWFyeUNvbG9yXT1cInRoeVByaW1hcnlDb2xvclwiXG4gICAgW3RoeVNlY29uZGFyeUNvbG9yXT1cInRoeVNlY29uZGFyeUNvbG9yXCI+PC90aHktc2tlbGV0b24tcmVjdGFuZ2xlPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==