ngx-tethys 18.0.0-next.0 → 18.0.0-next.1

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 (401) hide show
  1. package/CHANGELOG.md +156 -0
  2. package/action/action.component.d.ts +3 -3
  3. package/alert/alert.component.d.ts +1 -1
  4. package/anchor/anchor.component.d.ts +3 -1
  5. package/autocomplete/autocomplete.component.d.ts +1 -1
  6. package/autocomplete/autocomplete.trigger.directive.d.ts +1 -1
  7. package/avatar/avatar.component.d.ts +4 -4
  8. package/badge/badge.component.d.ts +3 -3
  9. package/breadcrumb/breadcrumb.component.d.ts +30 -2
  10. package/breadcrumb/module.d.ts +3 -1
  11. package/breadcrumb/styles/breadcrumb.scss +8 -0
  12. package/button/button-icon.component.d.ts +2 -2
  13. package/button/button.component.d.ts +2 -2
  14. package/button/styles/button.scss +5 -5
  15. package/card/card.component.d.ts +3 -3
  16. package/card/content.component.d.ts +1 -1
  17. package/carousel/carousel.component.d.ts +4 -4
  18. package/cascader/cascader-li.component.d.ts +5 -5
  19. package/cascader/cascader-search-option.component.d.ts +3 -3
  20. package/cascader/cascader.component.d.ts +8 -8
  21. package/checkbox/checkbox.component.d.ts +1 -1
  22. package/collapse/collapse-item.component.d.ts +2 -2
  23. package/collapse/collapse.component.d.ts +1 -1
  24. package/color-picker/color-picker-panel.component.d.ts +1 -1
  25. package/color-picker/color-picker.component.d.ts +3 -3
  26. package/copy/copy.directive.d.ts +1 -1
  27. package/core/behaviors/decorators.d.ts +1 -1
  28. package/core/overlay/abstract-overlay.config.d.ts +6 -0
  29. package/date-picker/abstract-picker.component.d.ts +15 -8
  30. package/date-picker/abstract-picker.directive.d.ts +3 -3
  31. package/date-picker/base-picker.component.d.ts +2 -2
  32. package/date-picker/date-picker.config.d.ts +1 -0
  33. package/date-picker/date-picker.service.d.ts +1 -0
  34. package/date-picker/lib/calendar/calendar-footer.component.d.ts +1 -1
  35. package/date-picker/lib/popups/date-popup.component.d.ts +2 -1
  36. package/date-picker/lib/popups/inner-popup.component.d.ts +1 -1
  37. package/date-picker/picker.component.d.ts +1 -1
  38. package/date-picker/picker.util.d.ts +2 -0
  39. package/date-range/date-range.component.d.ts +8 -2
  40. package/dialog/body/dialog-body.component.d.ts +1 -1
  41. package/dialog/footer/dialog-footer.component.d.ts +1 -1
  42. package/dialog/header/dialog-header.component.d.ts +1 -1
  43. package/divider/divider.component.d.ts +2 -2
  44. package/drag-drop/drag-handle.directive.d.ts +1 -1
  45. package/drag-drop/drag.directive.d.ts +1 -1
  46. package/drag-drop/drop-container.directive.d.ts +1 -1
  47. package/dropdown/dropdown-menu-item.directive.d.ts +2 -2
  48. package/dropdown/dropdown-menu.component.d.ts +1 -1
  49. package/dropdown/dropdown.directive.d.ts +1 -1
  50. package/empty/empty.component.d.ts +1 -1
  51. package/esm2022/action/action.component.mjs +7 -6
  52. package/esm2022/alert/alert.component.mjs +5 -5
  53. package/esm2022/anchor/anchor.component.mjs +5 -5
  54. package/esm2022/autocomplete/autocomplete.component.mjs +5 -4
  55. package/esm2022/autocomplete/autocomplete.trigger.directive.mjs +5 -5
  56. package/esm2022/avatar/avatar.component.mjs +8 -8
  57. package/esm2022/badge/badge.component.mjs +7 -6
  58. package/esm2022/breadcrumb/breadcrumb.component.mjs +73 -32
  59. package/esm2022/breadcrumb/module.mjs +6 -4
  60. package/esm2022/button/button-icon.component.mjs +6 -5
  61. package/esm2022/button/button.component.mjs +6 -6
  62. package/esm2022/card/card.component.mjs +7 -6
  63. package/esm2022/card/content.component.mjs +5 -4
  64. package/esm2022/carousel/carousel.component.mjs +8 -7
  65. package/esm2022/cascader/cascader-li.component.mjs +9 -8
  66. package/esm2022/cascader/cascader-search-option.component.mjs +7 -6
  67. package/esm2022/cascader/cascader.component.mjs +19 -12
  68. package/esm2022/checkbox/checkbox.component.mjs +5 -4
  69. package/esm2022/collapse/collapse-item.component.mjs +6 -6
  70. package/esm2022/collapse/collapse.component.mjs +5 -4
  71. package/esm2022/color-picker/color-picker-panel.component.mjs +5 -4
  72. package/esm2022/color-picker/color-picker.component.mjs +7 -6
  73. package/esm2022/color-picker/parts/inputs/inputs.component.mjs +1 -1
  74. package/esm2022/copy/copy.directive.mjs +5 -4
  75. package/esm2022/core/behaviors/decorators.mjs +2 -2
  76. package/esm2022/core/overlay/abstract-overlay.config.mjs +7 -1
  77. package/esm2022/date-picker/abstract-picker.component.mjs +28 -17
  78. package/esm2022/date-picker/abstract-picker.directive.mjs +8 -7
  79. package/esm2022/date-picker/base-picker.component.mjs +5 -5
  80. package/esm2022/date-picker/date-picker.component.mjs +3 -3
  81. package/esm2022/date-picker/date-picker.config.mjs +2 -1
  82. package/esm2022/date-picker/date-picker.service.mjs +4 -1
  83. package/esm2022/date-picker/lib/calendar/calendar-footer.component.mjs +5 -5
  84. package/esm2022/date-picker/lib/date/date-header.component.mjs +4 -4
  85. package/esm2022/date-picker/lib/decade/decade-header.component.mjs +4 -4
  86. package/esm2022/date-picker/lib/month/month-header.component.mjs +4 -4
  87. package/esm2022/date-picker/lib/popups/date-popup.component.mjs +7 -4
  88. package/esm2022/date-picker/lib/popups/inner-popup.component.mjs +5 -5
  89. package/esm2022/date-picker/lib/year/year-header.component.mjs +4 -4
  90. package/esm2022/date-picker/month-picker.component.mjs +3 -3
  91. package/esm2022/date-picker/picker.component.mjs +5 -5
  92. package/esm2022/date-picker/picker.util.mjs +14 -2
  93. package/esm2022/date-picker/quarter-picker.component.mjs +3 -3
  94. package/esm2022/date-picker/range-picker.component.mjs +3 -3
  95. package/esm2022/date-picker/week-picker.component.mjs +3 -3
  96. package/esm2022/date-picker/year-picker.component.mjs +3 -3
  97. package/esm2022/date-range/date-range.component.mjs +6 -5
  98. package/esm2022/dialog/body/dialog-body.component.mjs +5 -4
  99. package/esm2022/dialog/footer/dialog-footer.component.mjs +5 -4
  100. package/esm2022/dialog/header/dialog-header.component.mjs +5 -4
  101. package/esm2022/divider/divider.component.mjs +6 -5
  102. package/esm2022/drag-drop/drag-handle.directive.mjs +5 -4
  103. package/esm2022/drag-drop/drag.directive.mjs +5 -4
  104. package/esm2022/drag-drop/drop-container.directive.mjs +5 -4
  105. package/esm2022/dropdown/dropdown-menu-item.directive.mjs +7 -6
  106. package/esm2022/dropdown/dropdown-menu.component.mjs +5 -4
  107. package/esm2022/dropdown/dropdown.directive.mjs +5 -5
  108. package/esm2022/empty/empty.component.mjs +5 -4
  109. package/esm2022/form/form-group-error/form-group-error.component.mjs +5 -4
  110. package/esm2022/form/form-group-label.directive.mjs +5 -4
  111. package/esm2022/form/form-group.component.mjs +7 -6
  112. package/esm2022/icon/icon.component.mjs +6 -5
  113. package/esm2022/image/image.class.mjs +1 -1
  114. package/esm2022/image/image.directive.mjs +6 -5
  115. package/esm2022/image/index.mjs +6 -5
  116. package/esm2022/image/preview/image-preview.component.mjs +21 -13
  117. package/esm2022/input/input-search.component.mjs +5 -4
  118. package/esm2022/input/input.component.mjs +6 -5
  119. package/esm2022/input-number/input-number.component.mjs +14 -7
  120. package/esm2022/layout/header.component.mjs +7 -6
  121. package/esm2022/layout/sidebar-header.component.mjs +5 -4
  122. package/esm2022/layout/sidebar.component.mjs +12 -11
  123. package/esm2022/list/list.component.mjs +5 -4
  124. package/esm2022/list/selection/selection-list.mjs +7 -7
  125. package/esm2022/loading/loading.component.mjs +6 -5
  126. package/esm2022/mention/mention.directive.mjs +3 -3
  127. package/esm2022/menu/group/menu-group.component.mjs +10 -9
  128. package/esm2022/menu/item/action/menu-item-action.component.mjs +17 -7
  129. package/esm2022/menu/item/name/menu-item-name.component.mjs +5 -4
  130. package/esm2022/menu/menu.component.mjs +5 -4
  131. package/esm2022/nav/icon-nav/icon-nav-link.directive.mjs +5 -4
  132. package/esm2022/nav/nav-ink-bar.directive.mjs +6 -5
  133. package/esm2022/nav/nav-item.directive.mjs +7 -6
  134. package/esm2022/nav/nav.component.mjs +18 -7
  135. package/esm2022/pagination/pagination.class.mjs +1 -1
  136. package/esm2022/pagination/pagination.component.mjs +22 -10
  137. package/esm2022/pagination/pagination.config.mjs +3 -2
  138. package/esm2022/popover/popover.directive.mjs +6 -5
  139. package/esm2022/popover/popover.service.mjs +2 -1
  140. package/esm2022/property/property-item.component.mjs +6 -5
  141. package/esm2022/property-operation/property-operation.component.mjs +9 -9
  142. package/esm2022/radio/group/radio-group.component.mjs +5 -4
  143. package/esm2022/rate/rate-item.component.mjs +5 -4
  144. package/esm2022/rate/rate.component.mjs +7 -7
  145. package/esm2022/resizable/resizable.directive.mjs +7 -6
  146. package/esm2022/resizable/resize-handle.component.mjs +5 -4
  147. package/esm2022/resizable/resize-handles.component.mjs +5 -4
  148. package/esm2022/segment/segment-item.component.mjs +5 -5
  149. package/esm2022/segment/segment.component.mjs +5 -4
  150. package/esm2022/select/custom-select/custom-select.component.mjs +14 -14
  151. package/esm2022/select/native-select/native-select.component.mjs +5 -5
  152. package/esm2022/shared/base-form-check.component.mjs +6 -5
  153. package/esm2022/shared/directives/thy-autofocus.directive.mjs +6 -5
  154. package/esm2022/shared/directives/thy-scroll.directive.mjs +5 -4
  155. package/esm2022/shared/directives/thy-show.mjs +5 -4
  156. package/esm2022/shared/option/group/option-group.component.mjs +5 -4
  157. package/esm2022/shared/option/list-option/list-option.component.mjs +5 -4
  158. package/esm2022/shared/option/option.component.mjs +5 -5
  159. package/esm2022/shared/select/select-control/select-control.component.mjs +10 -10
  160. package/esm2022/skeleton/skeleton-circle.component.mjs +5 -5
  161. package/esm2022/skeleton/skeleton-rectangle.component.mjs +5 -5
  162. package/esm2022/skeleton/skeleton.component.mjs +5 -4
  163. package/esm2022/skeleton/stylized/bullet-list.component.mjs +5 -4
  164. package/esm2022/skeleton/stylized/list.component.mjs +5 -4
  165. package/esm2022/skeleton/stylized/paragraph.component.mjs +5 -4
  166. package/esm2022/slide/slide-body/slide-body-section.component.mjs +5 -4
  167. package/esm2022/slider/slider.component.mjs +6 -6
  168. package/esm2022/space/space.component.mjs +5 -4
  169. package/esm2022/stepper/step-header.component.mjs +6 -5
  170. package/esm2022/stepper/stepper.component.mjs +5 -4
  171. package/esm2022/switch/switch.component.mjs +6 -5
  172. package/esm2022/table/table-column.component.mjs +9 -9
  173. package/esm2022/table/table-skeleton.component.mjs +8 -7
  174. package/esm2022/table/table.component.mjs +19 -17
  175. package/esm2022/tabs/tab.component.mjs +5 -4
  176. package/esm2022/tabs/tabs.component.mjs +6 -6
  177. package/esm2022/tag/tag.component.mjs +5 -5
  178. package/esm2022/time-picker/time-picker-panel.component.mjs +6 -6
  179. package/esm2022/time-picker/time-picker.component.mjs +9 -9
  180. package/esm2022/timeline/timeline.component.mjs +5 -4
  181. package/esm2022/tooltip/tooltip.directive.mjs +6 -6
  182. package/esm2022/tree/tree-node.component.mjs +9 -8
  183. package/esm2022/tree/tree.component.mjs +32 -11
  184. package/esm2022/tree/tree.service.mjs +3 -3
  185. package/esm2022/tree-select/tree-select.component.mjs +20 -18
  186. package/esm2022/upload/file-select.component.mjs +24 -27
  187. package/esm2022/version.mjs +2 -2
  188. package/esm2022/vote/vote.component.mjs +7 -6
  189. package/esm2022/watermark/watermark.directive.mjs +5 -4
  190. package/fesm2022/ngx-tethys-action.mjs +6 -5
  191. package/fesm2022/ngx-tethys-action.mjs.map +1 -1
  192. package/fesm2022/ngx-tethys-alert.mjs +4 -4
  193. package/fesm2022/ngx-tethys-alert.mjs.map +1 -1
  194. package/fesm2022/ngx-tethys-anchor.mjs +4 -4
  195. package/fesm2022/ngx-tethys-anchor.mjs.map +1 -1
  196. package/fesm2022/ngx-tethys-autocomplete.mjs +6 -6
  197. package/fesm2022/ngx-tethys-autocomplete.mjs.map +1 -1
  198. package/fesm2022/ngx-tethys-avatar.mjs +7 -7
  199. package/fesm2022/ngx-tethys-avatar.mjs.map +1 -1
  200. package/fesm2022/ngx-tethys-badge.mjs +6 -5
  201. package/fesm2022/ngx-tethys-badge.mjs.map +1 -1
  202. package/fesm2022/ngx-tethys-breadcrumb.mjs +117 -77
  203. package/fesm2022/ngx-tethys-breadcrumb.mjs.map +1 -1
  204. package/fesm2022/ngx-tethys-button.mjs +8 -8
  205. package/fesm2022/ngx-tethys-button.mjs.map +1 -1
  206. package/fesm2022/ngx-tethys-card.mjs +8 -7
  207. package/fesm2022/ngx-tethys-card.mjs.map +1 -1
  208. package/fesm2022/ngx-tethys-carousel.mjs +7 -6
  209. package/fesm2022/ngx-tethys-carousel.mjs.map +1 -1
  210. package/fesm2022/ngx-tethys-cascader.mjs +28 -21
  211. package/fesm2022/ngx-tethys-cascader.mjs.map +1 -1
  212. package/fesm2022/ngx-tethys-checkbox.mjs +4 -3
  213. package/fesm2022/ngx-tethys-checkbox.mjs.map +1 -1
  214. package/fesm2022/ngx-tethys-collapse.mjs +7 -7
  215. package/fesm2022/ngx-tethys-collapse.mjs.map +1 -1
  216. package/fesm2022/ngx-tethys-color-picker.mjs +9 -8
  217. package/fesm2022/ngx-tethys-color-picker.mjs.map +1 -1
  218. package/fesm2022/ngx-tethys-copy.mjs +4 -3
  219. package/fesm2022/ngx-tethys-copy.mjs.map +1 -1
  220. package/fesm2022/ngx-tethys-core.mjs +7 -1
  221. package/fesm2022/ngx-tethys-core.mjs.map +1 -1
  222. package/fesm2022/ngx-tethys-date-picker.mjs +86 -57
  223. package/fesm2022/ngx-tethys-date-picker.mjs.map +1 -1
  224. package/fesm2022/ngx-tethys-date-range.mjs +5 -4
  225. package/fesm2022/ngx-tethys-date-range.mjs.map +1 -1
  226. package/fesm2022/ngx-tethys-dialog.mjs +8 -7
  227. package/fesm2022/ngx-tethys-dialog.mjs.map +1 -1
  228. package/fesm2022/ngx-tethys-divider.mjs +5 -4
  229. package/fesm2022/ngx-tethys-divider.mjs.map +1 -1
  230. package/fesm2022/ngx-tethys-drag-drop.mjs +8 -8
  231. package/fesm2022/ngx-tethys-drag-drop.mjs.map +1 -1
  232. package/fesm2022/ngx-tethys-dropdown.mjs +10 -10
  233. package/fesm2022/ngx-tethys-dropdown.mjs.map +1 -1
  234. package/fesm2022/ngx-tethys-empty.mjs +4 -3
  235. package/fesm2022/ngx-tethys-empty.mjs.map +1 -1
  236. package/fesm2022/ngx-tethys-form.mjs +10 -10
  237. package/fesm2022/ngx-tethys-form.mjs.map +1 -1
  238. package/fesm2022/ngx-tethys-icon.mjs +5 -5
  239. package/fesm2022/ngx-tethys-icon.mjs.map +1 -1
  240. package/fesm2022/ngx-tethys-image.mjs +24 -16
  241. package/fesm2022/ngx-tethys-image.mjs.map +1 -1
  242. package/fesm2022/ngx-tethys-input-number.mjs +13 -6
  243. package/fesm2022/ngx-tethys-input-number.mjs.map +1 -1
  244. package/fesm2022/ngx-tethys-input.mjs +7 -6
  245. package/fesm2022/ngx-tethys-input.mjs.map +1 -1
  246. package/fesm2022/ngx-tethys-layout.mjs +17 -16
  247. package/fesm2022/ngx-tethys-layout.mjs.map +1 -1
  248. package/fesm2022/ngx-tethys-list.mjs +8 -8
  249. package/fesm2022/ngx-tethys-list.mjs.map +1 -1
  250. package/fesm2022/ngx-tethys-loading.mjs +5 -4
  251. package/fesm2022/ngx-tethys-loading.mjs.map +1 -1
  252. package/fesm2022/ngx-tethys-mention.mjs +2 -2
  253. package/fesm2022/ngx-tethys-mention.mjs.map +1 -1
  254. package/fesm2022/ngx-tethys-menu.mjs +26 -16
  255. package/fesm2022/ngx-tethys-menu.mjs.map +1 -1
  256. package/fesm2022/ngx-tethys-nav.mjs +26 -16
  257. package/fesm2022/ngx-tethys-nav.mjs.map +1 -1
  258. package/fesm2022/ngx-tethys-pagination.mjs +23 -10
  259. package/fesm2022/ngx-tethys-pagination.mjs.map +1 -1
  260. package/fesm2022/ngx-tethys-popover.mjs +6 -5
  261. package/fesm2022/ngx-tethys-popover.mjs.map +1 -1
  262. package/fesm2022/ngx-tethys-property-operation.mjs +8 -8
  263. package/fesm2022/ngx-tethys-property-operation.mjs.map +1 -1
  264. package/fesm2022/ngx-tethys-property.mjs +5 -4
  265. package/fesm2022/ngx-tethys-property.mjs.map +1 -1
  266. package/fesm2022/ngx-tethys-radio.mjs +7 -6
  267. package/fesm2022/ngx-tethys-radio.mjs.map +1 -1
  268. package/fesm2022/ngx-tethys-rate.mjs +8 -8
  269. package/fesm2022/ngx-tethys-rate.mjs.map +1 -1
  270. package/fesm2022/ngx-tethys-resizable.mjs +10 -10
  271. package/fesm2022/ngx-tethys-resizable.mjs.map +1 -1
  272. package/fesm2022/ngx-tethys-segment.mjs +6 -6
  273. package/fesm2022/ngx-tethys-segment.mjs.map +1 -1
  274. package/fesm2022/ngx-tethys-select.mjs +15 -15
  275. package/fesm2022/ngx-tethys-select.mjs.map +1 -1
  276. package/fesm2022/ngx-tethys-shared.mjs +25 -25
  277. package/fesm2022/ngx-tethys-shared.mjs.map +1 -1
  278. package/fesm2022/ngx-tethys-skeleton.mjs +14 -14
  279. package/fesm2022/ngx-tethys-skeleton.mjs.map +1 -1
  280. package/fesm2022/ngx-tethys-slide.mjs +4 -4
  281. package/fesm2022/ngx-tethys-slide.mjs.map +1 -1
  282. package/fesm2022/ngx-tethys-slider.mjs +5 -5
  283. package/fesm2022/ngx-tethys-slider.mjs.map +1 -1
  284. package/fesm2022/ngx-tethys-space.mjs +4 -3
  285. package/fesm2022/ngx-tethys-space.mjs.map +1 -1
  286. package/fesm2022/ngx-tethys-stepper.mjs +7 -6
  287. package/fesm2022/ngx-tethys-stepper.mjs.map +1 -1
  288. package/fesm2022/ngx-tethys-switch.mjs +5 -4
  289. package/fesm2022/ngx-tethys-switch.mjs.map +1 -1
  290. package/fesm2022/ngx-tethys-table.mjs +29 -27
  291. package/fesm2022/ngx-tethys-table.mjs.map +1 -1
  292. package/fesm2022/ngx-tethys-tabs.mjs +7 -7
  293. package/fesm2022/ngx-tethys-tabs.mjs.map +1 -1
  294. package/fesm2022/ngx-tethys-tag.mjs +4 -4
  295. package/fesm2022/ngx-tethys-tag.mjs.map +1 -1
  296. package/fesm2022/ngx-tethys-time-picker.mjs +11 -11
  297. package/fesm2022/ngx-tethys-time-picker.mjs.map +1 -1
  298. package/fesm2022/ngx-tethys-timeline.mjs +4 -3
  299. package/fesm2022/ngx-tethys-timeline.mjs.map +1 -1
  300. package/fesm2022/ngx-tethys-tooltip.mjs +5 -5
  301. package/fesm2022/ngx-tethys-tooltip.mjs.map +1 -1
  302. package/fesm2022/ngx-tethys-tree-select.mjs +14 -11
  303. package/fesm2022/ngx-tethys-tree-select.mjs.map +1 -1
  304. package/fesm2022/ngx-tethys-tree.mjs +39 -18
  305. package/fesm2022/ngx-tethys-tree.mjs.map +1 -1
  306. package/fesm2022/ngx-tethys-upload.mjs +23 -27
  307. package/fesm2022/ngx-tethys-upload.mjs.map +1 -1
  308. package/fesm2022/ngx-tethys-vote.mjs +6 -5
  309. package/fesm2022/ngx-tethys-vote.mjs.map +1 -1
  310. package/fesm2022/ngx-tethys-watermark.mjs +4 -3
  311. package/fesm2022/ngx-tethys-watermark.mjs.map +1 -1
  312. package/fesm2022/ngx-tethys.mjs +1 -1
  313. package/fesm2022/ngx-tethys.mjs.map +1 -1
  314. package/form/form-group-error/form-group-error.component.d.ts +1 -1
  315. package/form/form-group-label.directive.d.ts +1 -1
  316. package/form/form-group.component.d.ts +3 -3
  317. package/icon/icon.component.d.ts +2 -2
  318. package/image/image.class.d.ts +1 -1
  319. package/image/image.directive.d.ts +2 -2
  320. package/image/index.d.ts +5 -4
  321. package/image/preview/image-preview.component.d.ts +5 -5
  322. package/input/input-search.component.d.ts +1 -1
  323. package/input/input.component.d.ts +2 -2
  324. package/input/styles/input-group.scss +3 -0
  325. package/input-number/input-number.component.d.ts +10 -3
  326. package/layout/header.component.d.ts +3 -3
  327. package/layout/sidebar-header.component.d.ts +1 -1
  328. package/layout/sidebar.component.d.ts +7 -7
  329. package/list/list.component.d.ts +1 -1
  330. package/list/selection/selection-list.d.ts +3 -3
  331. package/loading/loading.component.d.ts +2 -2
  332. package/menu/group/menu-group.component.d.ts +6 -6
  333. package/menu/item/action/menu-item-action.component.d.ts +8 -3
  334. package/menu/item/name/menu-item-name.component.d.ts +1 -1
  335. package/menu/menu.component.d.ts +1 -1
  336. package/menu/styles/menu.scss +8 -0
  337. package/nav/icon-nav/icon-nav-link.directive.d.ts +1 -1
  338. package/nav/nav-ink-bar.directive.d.ts +2 -2
  339. package/nav/nav-item.directive.d.ts +3 -3
  340. package/nav/nav.component.d.ts +7 -5
  341. package/package.json +2 -2
  342. package/pagination/pagination.class.d.ts +4 -0
  343. package/pagination/pagination.component.d.ts +11 -6
  344. package/popover/popover.directive.d.ts +2 -2
  345. package/property/property-item.component.d.ts +4 -1
  346. package/property/styles/properties.scss +2 -0
  347. package/property-operation/property-operation.component.d.ts +5 -5
  348. package/radio/group/radio-group.component.d.ts +1 -1
  349. package/rate/rate-item.component.d.ts +1 -1
  350. package/rate/rate.component.d.ts +3 -3
  351. package/resizable/resizable.directive.d.ts +3 -3
  352. package/resizable/resize-handle.component.d.ts +1 -1
  353. package/resizable/resize-handles.component.d.ts +1 -1
  354. package/schematics/version.d.ts +1 -1
  355. package/schematics/version.js +1 -1
  356. package/segment/segment-item.component.d.ts +1 -1
  357. package/segment/segment.component.d.ts +5 -1
  358. package/select/custom-select/custom-select.component.d.ts +10 -10
  359. package/select/native-select/native-select.component.d.ts +1 -1
  360. package/shared/base-form-check.component.d.ts +2 -2
  361. package/shared/directives/thy-autofocus.directive.d.ts +2 -2
  362. package/shared/directives/thy-scroll.directive.d.ts +1 -1
  363. package/shared/directives/thy-show.d.ts +1 -1
  364. package/shared/option/group/option-group.component.d.ts +1 -1
  365. package/shared/option/list-option/list-option.component.d.ts +1 -1
  366. package/shared/option/option.component.d.ts +1 -1
  367. package/shared/option/styles/select-dropdown.scss +1 -0
  368. package/shared/select/select-control/select-control.component.d.ts +6 -6
  369. package/skeleton/skeleton-circle.component.d.ts +1 -1
  370. package/skeleton/skeleton-rectangle.component.d.ts +1 -1
  371. package/skeleton/skeleton.component.d.ts +1 -1
  372. package/skeleton/stylized/bullet-list.component.d.ts +1 -1
  373. package/skeleton/stylized/list.component.d.ts +1 -1
  374. package/skeleton/stylized/paragraph.component.d.ts +1 -1
  375. package/slide/slide-body/slide-body-section.component.d.ts +1 -1
  376. package/slider/slider.component.d.ts +2 -2
  377. package/slider/slider.scss +12 -20
  378. package/space/space.component.d.ts +1 -1
  379. package/stepper/step-header.component.d.ts +2 -2
  380. package/stepper/stepper.component.d.ts +1 -1
  381. package/styles/modules/tables.scss +20 -0
  382. package/styles/variables.scss +2 -2
  383. package/switch/switch.component.d.ts +2 -2
  384. package/table/styles/skeleton.scss +5 -0
  385. package/table/table-column.component.d.ts +5 -5
  386. package/table/table-skeleton.component.d.ts +2 -2
  387. package/table/table.component.d.ts +13 -11
  388. package/tabs/tab.component.d.ts +1 -1
  389. package/tabs/tabs.component.d.ts +2 -2
  390. package/tag/tag.component.d.ts +1 -1
  391. package/time-picker/time-picker-panel.component.d.ts +2 -2
  392. package/time-picker/time-picker.component.d.ts +5 -5
  393. package/timeline/timeline.component.d.ts +1 -1
  394. package/tooltip/tooltip.directive.d.ts +10 -2
  395. package/tree/tree-node.component.d.ts +20 -5
  396. package/tree/tree.component.d.ts +17 -7
  397. package/tree/tree.service.d.ts +1 -1
  398. package/tree-select/tree-select.component.d.ts +7 -7
  399. package/upload/file-select.component.d.ts +7 -8
  400. package/vote/vote.component.d.ts +3 -3
  401. package/watermark/watermark.directive.d.ts +1 -1
@@ -14,6 +14,7 @@ export declare abstract class AbstractPickerComponent extends TabIndexDisabledCo
14
14
  cdr: ChangeDetectorRef;
15
15
  thyValue: CompatibleValue | null;
16
16
  _panelMode: ThyPanelMode;
17
+ private datePickerConfigService;
17
18
  /**
18
19
  * 模式
19
20
  * @type decade | year | month | date | week | flexible
@@ -64,6 +65,11 @@ export declare abstract class AbstractPickerComponent extends TabIndexDisabledCo
64
65
  * @type xs | sm | md | lg | default
65
66
  */
66
67
  thySize: 'lg' | 'md' | 'sm' | 'xs' | 'default';
68
+ /**
69
+ * 设置时间戳精度
70
+ * @default seconds 10位
71
+ */
72
+ thyTimestampPrecision: 'seconds' | 'milliseconds';
67
73
  /**
68
74
  * 展示的日期格式
69
75
  * @default yyyy-MM-dd
@@ -145,13 +151,14 @@ export declare abstract class AbstractPickerComponent extends TabIndexDisabledCo
145
151
  setDisabledState(disabled: boolean): void;
146
152
  private setDefaultPlaceHolder;
147
153
  setValue(value: CompatibleDate): void;
154
+ private setValueByPrecision;
148
155
  static ɵfac: i0.ɵɵFactoryDeclaration<AbstractPickerComponent, never>;
149
- static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractPickerComponent, never, never, { "thyMode": { "alias": "thyMode"; "required": false; }; "thyAllowClear": { "alias": "thyAllowClear"; "required": false; }; "thyAutoFocus": { "alias": "thyAutoFocus"; "required": false; }; "thyOpen": { "alias": "thyOpen"; "required": false; }; "thyDisabledDate": { "alias": "thyDisabledDate"; "required": false; }; "thyMinDate": { "alias": "thyMinDate"; "required": false; }; "thyMaxDate": { "alias": "thyMaxDate"; "required": false; }; "thyPlaceHolder": { "alias": "thyPlaceHolder"; "required": false; }; "thyReadonly": { "alias": "thyReadonly"; "required": false; }; "thyOriginClassName": { "alias": "thyOriginClassName"; "required": false; }; "thyPanelClassName": { "alias": "thyPanelClassName"; "required": false; }; "thySize": { "alias": "thySize"; "required": false; }; "thyFormat": { "alias": "thyFormat"; "required": false; }; "thyAutoStartAndEnd": { "alias": "thyAutoStartAndEnd"; "required": false; }; "thyDefaultPickerValue": { "alias": "thyDefaultPickerValue"; "required": false; }; "thySuffixIcon": { "alias": "thySuffixIcon"; "required": false; }; "thyShowShortcut": { "alias": "thyShowShortcut"; "required": false; }; "thyShortcutPosition": { "alias": "thyShortcutPosition"; "required": false; }; "thyShortcutPresets": { "alias": "thyShortcutPresets"; "required": false; }; "thyDisabled": { "alias": "thyDisabled"; "required": false; }; }, { "thyDateChange": "thyDateChange"; "thyOpenChange": "thyOpenChange"; }, never, never, false, never>;
150
- static ngAcceptInputType_thyAllowClear: unknown;
151
- static ngAcceptInputType_thyAutoFocus: unknown;
152
- static ngAcceptInputType_thyOpen: unknown;
153
- static ngAcceptInputType_thyReadonly: unknown;
154
- static ngAcceptInputType_thyAutoStartAndEnd: unknown;
155
- static ngAcceptInputType_thyShowShortcut: unknown;
156
- static ngAcceptInputType_thyDisabled: unknown;
156
+ static ɵdir: i0.ɵɵDirectiveDeclaration<AbstractPickerComponent, never, never, { "thyMode": { "alias": "thyMode"; "required": false; }; "thyAllowClear": { "alias": "thyAllowClear"; "required": false; }; "thyAutoFocus": { "alias": "thyAutoFocus"; "required": false; }; "thyOpen": { "alias": "thyOpen"; "required": false; }; "thyDisabledDate": { "alias": "thyDisabledDate"; "required": false; }; "thyMinDate": { "alias": "thyMinDate"; "required": false; }; "thyMaxDate": { "alias": "thyMaxDate"; "required": false; }; "thyPlaceHolder": { "alias": "thyPlaceHolder"; "required": false; }; "thyReadonly": { "alias": "thyReadonly"; "required": false; }; "thyOriginClassName": { "alias": "thyOriginClassName"; "required": false; }; "thyPanelClassName": { "alias": "thyPanelClassName"; "required": false; }; "thySize": { "alias": "thySize"; "required": false; }; "thyTimestampPrecision": { "alias": "thyTimestampPrecision"; "required": false; }; "thyFormat": { "alias": "thyFormat"; "required": false; }; "thyAutoStartAndEnd": { "alias": "thyAutoStartAndEnd"; "required": false; }; "thyDefaultPickerValue": { "alias": "thyDefaultPickerValue"; "required": false; }; "thySuffixIcon": { "alias": "thySuffixIcon"; "required": false; }; "thyShowShortcut": { "alias": "thyShowShortcut"; "required": false; }; "thyShortcutPosition": { "alias": "thyShortcutPosition"; "required": false; }; "thyShortcutPresets": { "alias": "thyShortcutPresets"; "required": false; }; "thyDisabled": { "alias": "thyDisabled"; "required": false; }; }, { "thyDateChange": "thyDateChange"; "thyOpenChange": "thyOpenChange"; }, never, never, false, never>;
157
+ static ngAcceptInputType_thyAllowClear: boolean | string | number;
158
+ static ngAcceptInputType_thyAutoFocus: boolean | string | number;
159
+ static ngAcceptInputType_thyOpen: boolean | string | number;
160
+ static ngAcceptInputType_thyReadonly: boolean | string | number;
161
+ static ngAcceptInputType_thyAutoStartAndEnd: boolean | string | number;
162
+ static ngAcceptInputType_thyShowShortcut: boolean | string | number;
163
+ static ngAcceptInputType_thyDisabled: boolean | string | number;
157
164
  }
@@ -76,8 +76,8 @@ export declare abstract class PickerDirective extends AbstractPickerComponent im
76
76
  onShowTimePickerChange(show: boolean): void;
77
77
  static ɵfac: i0.ɵɵFactoryDeclaration<PickerDirective, never>;
78
78
  static ɵdir: i0.ɵɵDirectiveDeclaration<PickerDirective, never, never, { "thyDateRender": { "alias": "thyDateRender"; "required": false; }; "thyShowTime": { "alias": "thyShowTime"; "required": false; }; "thyMustShowTime": { "alias": "thyMustShowTime"; "required": false; }; "thyPlacement": { "alias": "thyPlacement"; "required": false; }; "thyOffset": { "alias": "thyOffset"; "required": false; }; "thyHasBackdrop": { "alias": "thyHasBackdrop"; "required": false; }; "thyPopoverOptions": { "alias": "thyPopoverOptions"; "required": false; }; "thyStopPropagation": { "alias": "thyStopPropagation"; "required": false; }; }, { "thyOnPanelChange": "thyOnPanelChange"; "thyOnCalendarChange": "thyOnCalendarChange"; }, never, never, false, never>;
79
- static ngAcceptInputType_thyMustShowTime: unknown;
79
+ static ngAcceptInputType_thyMustShowTime: any;
80
80
  static ngAcceptInputType_thyOffset: unknown;
81
- static ngAcceptInputType_thyHasBackdrop: unknown;
82
- static ngAcceptInputType_thyStopPropagation: unknown;
81
+ static ngAcceptInputType_thyHasBackdrop: any;
82
+ static ngAcceptInputType_thyStopPropagation: any;
83
83
  }
@@ -73,6 +73,6 @@ export declare class BasePicker extends AbstractPickerComponent implements OnIni
73
73
  private isValidDateLimit;
74
74
  static ɵfac: i0.ɵɵFactoryDeclaration<BasePicker, never>;
75
75
  static ɵcmp: i0.ɵɵComponentDeclaration<BasePicker, "ng-component", never, { "thyDateRender": { "alias": "thyDateRender"; "required": false; }; "thyMode": { "alias": "thyMode"; "required": false; }; "thyHasBackdrop": { "alias": "thyHasBackdrop"; "required": false; }; "thyShowTime": { "alias": "thyShowTime"; "required": false; }; "thyMustShowTime": { "alias": "thyMustShowTime"; "required": false; }; "thyPlacement": { "alias": "thyPlacement"; "required": false; }; }, { "thyOnPanelChange": "thyOnPanelChange"; "thyOnCalendarChange": "thyOnCalendarChange"; "thyOnOk": "thyOnOk"; }, never, never, true, never>;
76
- static ngAcceptInputType_thyHasBackdrop: unknown;
77
- static ngAcceptInputType_thyMustShowTime: unknown;
76
+ static ngAcceptInputType_thyHasBackdrop: any;
77
+ static ngAcceptInputType_thyMustShowTime: any;
78
78
  }
@@ -7,6 +7,7 @@ export interface ThyDatePickerConfig {
7
7
  shortcutRangesPresets: CompatiblePresets;
8
8
  showShortcut: boolean;
9
9
  weekStartsOn: WeekDayIndex;
10
+ timestampPrecision: 'seconds' | 'milliseconds';
10
11
  }
11
12
  export declare const DEFAULT_DATE_PICKER_CONFIG: ThyDatePickerConfig;
12
13
  export declare const THY_DATE_PICKER_CONFIG: InjectionToken<ThyDatePickerConfig>;
@@ -7,6 +7,7 @@ export declare class ThyDatePickerConfigService {
7
7
  get shortcutPosition(): import("ngx-tethys/date-picker").ThyShortcutPosition;
8
8
  get showShortcut(): boolean;
9
9
  get shortcutRangesPresets(): import("ngx-tethys/date-picker").CompatiblePresets;
10
+ get timestampPrecision(): "seconds" | "milliseconds";
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDatePickerConfigService, [{ optional: true; }]>;
11
12
  static ɵprov: i0.ɵɵInjectableDeclaration<ThyDatePickerConfigService>;
12
13
  }
@@ -25,5 +25,5 @@ export declare class CalendarFooter implements OnInit, OnChanges {
25
25
  private _initTimeShowMode;
26
26
  static ɵfac: i0.ɵɵFactoryDeclaration<CalendarFooter, never>;
27
27
  static ɵcmp: i0.ɵɵComponentDeclaration<CalendarFooter, "calendar-footer", ["calendarFooter"], { "showTime": { "alias": "showTime"; "required": false; }; "mustShowTime": { "alias": "mustShowTime"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disableTimeConfirm": { "alias": "disableTimeConfirm"; "required": false; }; }, { "selectTime": "selectTime"; "clickOk": "clickOk"; "clickRemove": "clickRemove"; "showTimePickerChange": "showTimePickerChange"; }, never, never, true, never>;
28
- static ngAcceptInputType_disableTimeConfirm: unknown;
28
+ static ngAcceptInputType_disableTimeConfirm: boolean | string | number;
29
29
  }
@@ -35,6 +35,7 @@ export declare class DatePopup implements OnChanges, OnInit {
35
35
  shortcutPosition: ThyShortcutPosition;
36
36
  flexible: boolean;
37
37
  flexibleDateGranularity: ThyDateGranularity;
38
+ timestampPrecision: 'seconds' | 'milliseconds';
38
39
  readonly panelModeChange: EventEmitter<ThyPanelMode | ThyPanelMode[]>;
39
40
  readonly calendarChange: EventEmitter<CompatibleValue>;
40
41
  readonly valueChange: EventEmitter<CompatibleValue | RangeAdvancedValue>;
@@ -92,5 +93,5 @@ export declare class DatePopup implements OnChanges, OnInit {
92
93
  shortcutSetValue(shortcutPresets: ThyShortcutPreset): void;
93
94
  trackByFn(index: number): number;
94
95
  static ɵfac: i0.ɵɵFactoryDeclaration<DatePopup, never>;
95
- static ɵcmp: i0.ɵɵComponentDeclaration<DatePopup, "date-popup", ["datePopup"], { "isRange": { "alias": "isRange"; "required": false; }; "showWeek": { "alias": "showWeek"; "required": false; }; "format": { "alias": "format"; "required": false; }; "disabledDate": { "alias": "disabledDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "showToday": { "alias": "showToday"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "mustShowTime": { "alias": "mustShowTime"; "required": false; }; "dateRender": { "alias": "dateRender"; "required": false; }; "className": { "alias": "className"; "required": false; }; "panelMode": { "alias": "panelMode"; "required": false; }; "value": { "alias": "value"; "required": false; }; "defaultPickerValue": { "alias": "defaultPickerValue"; "required": false; }; "showShortcut": { "alias": "showShortcut"; "required": false; }; "shortcutPresets": { "alias": "shortcutPresets"; "required": false; }; "shortcutPosition": { "alias": "shortcutPosition"; "required": false; }; "flexible": { "alias": "flexible"; "required": false; }; "flexibleDateGranularity": { "alias": "flexibleDateGranularity"; "required": false; }; }, { "panelModeChange": "panelModeChange"; "calendarChange": "calendarChange"; "valueChange": "valueChange"; "resultOk": "resultOk"; "showTimePickerChange": "showTimePickerChange"; "dateValueChange": "dateValueChange"; }, never, never, true, never>;
96
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatePopup, "date-popup", ["datePopup"], { "isRange": { "alias": "isRange"; "required": false; }; "showWeek": { "alias": "showWeek"; "required": false; }; "format": { "alias": "format"; "required": false; }; "disabledDate": { "alias": "disabledDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "showToday": { "alias": "showToday"; "required": false; }; "showTime": { "alias": "showTime"; "required": false; }; "mustShowTime": { "alias": "mustShowTime"; "required": false; }; "dateRender": { "alias": "dateRender"; "required": false; }; "className": { "alias": "className"; "required": false; }; "panelMode": { "alias": "panelMode"; "required": false; }; "value": { "alias": "value"; "required": false; }; "defaultPickerValue": { "alias": "defaultPickerValue"; "required": false; }; "showShortcut": { "alias": "showShortcut"; "required": false; }; "shortcutPresets": { "alias": "shortcutPresets"; "required": false; }; "shortcutPosition": { "alias": "shortcutPosition"; "required": false; }; "flexible": { "alias": "flexible"; "required": false; }; "flexibleDateGranularity": { "alias": "flexibleDateGranularity"; "required": false; }; "timestampPrecision": { "alias": "timestampPrecision"; "required": false; }; }, { "panelModeChange": "panelModeChange"; "calendarChange": "calendarChange"; "valueChange": "valueChange"; "resultOk": "resultOk"; "showTimePickerChange": "showTimePickerChange"; "dateValueChange": "dateValueChange"; }, never, never, true, never>;
96
97
  }
@@ -44,5 +44,5 @@ export declare class InnerPopup implements OnChanges {
44
44
  enableSuperPrevNext(direction: 'prev' | 'next', panelMode: ThyPanelMode): boolean;
45
45
  static ɵfac: i0.ɵɵFactoryDeclaration<InnerPopup, never>;
46
46
  static ɵcmp: i0.ɵɵComponentDeclaration<InnerPopup, "inner-popup", ["innerPopup"], { "showWeek": { "alias": "showWeek"; "required": false; }; "isRange": { "alias": "isRange"; "required": false; }; "activeDate": { "alias": "activeDate"; "required": false; }; "rangeActiveDate": { "alias": "rangeActiveDate"; "required": false; }; "enablePrev": { "alias": "enablePrev"; "required": false; }; "enableNext": { "alias": "enableNext"; "required": false; }; "disabledDate": { "alias": "disabledDate"; "required": false; }; "dateRender": { "alias": "dateRender"; "required": false; }; "selectedValue": { "alias": "selectedValue"; "required": false; }; "hoverValue": { "alias": "hoverValue"; "required": false; }; "panelMode": { "alias": "panelMode"; "required": false; }; "showDateRangeInput": { "alias": "showDateRangeInput"; "required": false; }; "partType": { "alias": "partType"; "required": false; }; "endPanelMode": { "alias": "endPanelMode"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "panelModeChange": "panelModeChange"; "headerChange": "headerChange"; "selectDate": "selectDate"; "dayHover": "dayHover"; }, never, never, true, never>;
47
- static ngAcceptInputType_showDateRangeInput: unknown;
47
+ static ngAcceptInputType_showDateRangeInput: boolean | string | number;
48
48
  }
@@ -75,5 +75,5 @@ export declare class ThyPicker implements OnChanges, AfterViewInit {
75
75
  private updateReadableDate;
76
76
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyPicker, never>;
77
77
  static ɵcmp: i0.ɵɵComponentDeclaration<ThyPicker, "thy-picker", ["thyPicker"], { "isRange": { "alias": "isRange"; "required": false; }; "open": { "alias": "open"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "allowClear": { "alias": "allowClear"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "className": { "alias": "className"; "required": false; }; "size": { "alias": "size"; "required": false; }; "suffixIcon": { "alias": "suffixIcon"; "required": false; }; "placement": { "alias": "placement"; "required": false; }; "flexible": { "alias": "flexible"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; }; "format": { "alias": "format"; "required": false; }; "flexibleDateGranularity": { "alias": "flexibleDateGranularity"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "blur": "blur"; "valueChange": "valueChange"; "openChange": "openChange"; "inputChange": "inputChange"; }, never, ["*"], true, never>;
78
- static ngAcceptInputType_hasBackdrop: unknown;
78
+ static ngAcceptInputType_hasBackdrop: boolean | string | number;
79
79
  }
@@ -1,6 +1,7 @@
1
1
  import { CompatibleDate, DateEntry, ThyDateRangeEntry, ThyPanelMode, ThyDateGranularity, ThyShortcutValue } from './standard-types';
2
2
  import { TinyDate } from 'ngx-tethys/util';
3
3
  import { CompatibleValue, RangeAdvancedValue } from './inner-types';
4
+ import { SafeAny } from 'ngx-tethys/types';
4
5
  export declare function transformDateValue(value: CompatibleDate | CompatibleValue | number | DateEntry | ThyDateRangeEntry | RangeAdvancedValue): {
5
6
  value: CompatibleDate;
6
7
  withTime?: boolean;
@@ -24,3 +25,4 @@ export declare function getShortcutValue(value: ThyShortcutValue): number | Date
24
25
  export declare function isValidStringDate(dateStr: string): boolean;
25
26
  export declare function parseStringDate(dateStr: string): TinyDate;
26
27
  export declare function hasTimeInStringDate(dateStr: string): boolean;
28
+ export declare function setValueByTimestampPrecision(date: CompatibleDate | number | Date | DateEntry | ThyDateRangeEntry | SafeAny, isRange: boolean, timestampPrecision: 'seconds' | 'milliseconds'): number | number[];
@@ -80,6 +80,12 @@ export declare class ThyDateRange implements OnInit, ControlValueAccessor {
80
80
  openOptionalDateRangesMenu(event: Event): void;
81
81
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDateRange, never>;
82
82
  static ɵcmp: i0.ɵɵComponentDeclaration<ThyDateRange, "thy-date-range", never, { "thyOptionalDateRanges": { "alias": "thyOptionalDateRanges"; "required": false; }; "thyHiddenMenu": { "alias": "thyHiddenMenu"; "required": false; }; "thyDisabledSwitch": { "alias": "thyDisabledSwitch"; "required": false; }; "thyCustomTextValue": { "alias": "thyCustomTextValue"; "required": false; }; "thyMinDate": { "alias": "thyMinDate"; "required": false; }; "thyMaxDate": { "alias": "thyMaxDate"; "required": false; }; "thyCustomKey": { "alias": "thyCustomKey"; "required": false; }; "thyPickerFormat": { "alias": "thyPickerFormat"; "required": false; }; "thyDisabledDate": { "alias": "thyDisabledDate"; "required": false; }; }, { "thyOnCalendarChange": "thyOnCalendarChange"; }, never, never, true, never>;
83
- static ngAcceptInputType_thyHiddenMenu: unknown;
84
- static ngAcceptInputType_thyDisabledSwitch: unknown;
83
+ static ngAcceptInputType_thyHiddenMenu: /**
84
+ * 自定义日期选择中可选择的最大时间
85
+ * @type Date | number
86
+ */ boolean | string | number;
87
+ static ngAcceptInputType_thyDisabledSwitch: /**
88
+ * 自定义日期选择中可选择的最大时间
89
+ * @type Date | number
90
+ */ boolean | string | number;
85
91
  }
@@ -20,5 +20,5 @@ export declare class ThyDialogBody implements OnInit {
20
20
  ngOnInit(): void;
21
21
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDialogBody, never>;
22
22
  static ɵcmp: i0.ɵɵComponentDeclaration<ThyDialogBody, "thy-dialog-body", ["thyDialogBody"], { "thyClearPadding": { "alias": "thyClearPadding"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof i1.CdkScrollable; inputs: {}; outputs: {}; }]>;
23
- static ngAcceptInputType_thyClearPadding: unknown;
23
+ static ngAcceptInputType_thyClearPadding: boolean | string | number;
24
24
  }
@@ -32,5 +32,5 @@ export declare class ThyDialogFooter implements OnInit {
32
32
  ngOnInit(): void;
33
33
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDialogFooter, never>;
34
34
  static ɵcmp: i0.ɵɵComponentDeclaration<ThyDialogFooter, "thy-dialog-footer", ["thyDialogFooter"], { "thyDivided": { "alias": "thyDivided"; "required": false; }; "thyAlign": { "alias": "thyAlign"; "required": false; }; }, {}, ["description"], ["*"], true, never>;
35
- static ngAcceptInputType_thyDivided: unknown;
35
+ static ngAcceptInputType_thyDivided: boolean | string | number;
36
36
  }
@@ -49,5 +49,5 @@ export declare class ThyDialogHeader implements OnInit {
49
49
  close(event?: Event): void;
50
50
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDialogHeader, [null, null, null, { optional: true; }]>;
51
51
  static ɵcmp: i0.ɵɵComponentDeclaration<ThyDialogHeader, "thy-dialog-header", ["thyDialogHeader"], { "thyTitle": { "alias": "thyTitle"; "required": false; }; "thySize": { "alias": "thySize"; "required": false; }; "thyDivided": { "alias": "thyDivided"; "required": false; }; "thyTitleTranslationKey": { "alias": "thyTitleTranslationKey"; "required": false; }; "thyIcon": { "alias": "thyIcon"; "required": false; }; }, { "thyOnClose": "thyOnClose"; }, ["headerTemplate"], never, true, never>;
52
- static ngAcceptInputType_thyDivided: unknown;
52
+ static ngAcceptInputType_thyDivided: boolean | string | number;
53
53
  }
@@ -46,6 +46,6 @@ export declare class ThyDivider implements OnChanges, OnInit {
46
46
  setColor(color: ThyDividerColor): void;
47
47
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDivider, never>;
48
48
  static ɵcmp: i0.ɵɵComponentDeclaration<ThyDivider, "thy-divider", never, { "thyVertical": { "alias": "thyVertical"; "required": false; }; "thyStyle": { "alias": "thyStyle"; "required": false; }; "thyColor": { "alias": "thyColor"; "required": false; }; "thyText": { "alias": "thyText"; "required": false; }; "thyTextDirection": { "alias": "thyTextDirection"; "required": false; }; "thyDeeper": { "alias": "thyDeeper"; "required": false; }; }, {}, never, never, true, never>;
49
- static ngAcceptInputType_thyVertical: unknown;
50
- static ngAcceptInputType_thyDeeper: unknown;
49
+ static ngAcceptInputType_thyVertical: boolean | string | number;
50
+ static ngAcceptInputType_thyDeeper: boolean | string | number;
51
51
  }
@@ -18,5 +18,5 @@ export declare class ThyDragHandleDirective {
18
18
  constructor(element: ElementRef<HTMLElement>, drag: ThyDragDirective);
19
19
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDragHandleDirective, [null, { optional: true; }]>;
20
20
  static ɵdir: i0.ɵɵDirectiveDeclaration<ThyDragHandleDirective, "thy-drag-handle,[thyDragHandle]", never, { "disabled": { "alias": "thyDisabled"; "required": false; }; }, {}, never, never, true, never>;
21
- static ngAcceptInputType_disabled: unknown;
21
+ static ngAcceptInputType_disabled: boolean | string | number;
22
22
  }
@@ -34,5 +34,5 @@ export declare class ThyDragDirective<T = any> implements OnDestroy {
34
34
  ngOnDestroy(): void;
35
35
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDragDirective<any>, [null, { optional: true; }, null, null, null, null]>;
36
36
  static ɵdir: i0.ɵɵDirectiveDeclaration<ThyDragDirective<any>, "thy-drag,[thyDrag]", never, { "dragData": { "alias": "thyDrag"; "required": false; }; "data": { "alias": "thyDragData"; "required": false; }; "disabled": { "alias": "thyDragDisabled"; "required": false; }; }, {}, never, never, true, never>;
37
- static ngAcceptInputType_disabled: unknown;
37
+ static ngAcceptInputType_disabled: boolean | string | number;
38
38
  }
@@ -65,5 +65,5 @@ export declare class ThyDropContainerDirective<T = any> implements OnInit, After
65
65
  ngOnDestroy(): void;
66
66
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDropContainerDirective<any>, never>;
67
67
  static ɵdir: i0.ɵɵDirectiveDeclaration<ThyDropContainerDirective<any>, "thy-drop-container,[thyDropContainer]", never, { "dragContainer": { "alias": "thyDropContainer"; "required": false; }; "data": { "alias": "thyDropContainerData"; "required": false; }; "disabled": { "alias": "thyDropContainerDisabled"; "required": false; }; "beforeStart": { "alias": "thyBeforeDragStart"; "required": false; }; "beforeOver": { "alias": "thyBeforeDragOver"; "required": false; }; "beforeDrop": { "alias": "thyBeforeDragDrop"; "required": false; }; }, { "started": "thyDragStarted"; "ended": "thyDragEnded"; "overed": "thyDragOvered"; "dropped": "thyDragDropped"; }, ["draggables"], never, true, never>;
68
- static ngAcceptInputType_disabled: unknown;
68
+ static ngAcceptInputType_disabled: boolean | string | number;
69
69
  }
@@ -32,7 +32,7 @@ export declare class ThyDropdownMenuItemDirective implements OnInit {
32
32
  bindMouseenterEvent(): import("rxjs").Observable<Event>;
33
33
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDropdownMenuItemDirective, never>;
34
34
  static ɵdir: i0.ɵɵDirectiveDeclaration<ThyDropdownMenuItemDirective, "[thyDropdownMenuItem]", never, { "thyType": { "alias": "thyType"; "required": false; }; "thyDisabled": { "alias": "thyDisabled"; "required": false; }; }, {}, never, never, true, never>;
35
- static ngAcceptInputType_thyDisabled: unknown;
35
+ static ngAcceptInputType_thyDisabled: boolean | string | number;
36
36
  }
37
37
  /**
38
38
  * 设置为菜单项图标
@@ -99,5 +99,5 @@ export declare class ThyDropdownMenuItemActiveDirective {
99
99
  constructor();
100
100
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDropdownMenuItemActiveDirective, never>;
101
101
  static ɵdir: i0.ɵɵDirectiveDeclaration<ThyDropdownMenuItemActiveDirective, "[thyDropdownMenuItemActive]", never, { "thyDropdownMenuItemActive": { "alias": "thyDropdownMenuItemActive"; "required": false; }; }, {}, never, never, true, never>;
102
- static ngAcceptInputType_thyDropdownMenuItemActive: unknown;
102
+ static ngAcceptInputType_thyDropdownMenuItemActive: boolean | string | number;
103
103
  }
@@ -32,7 +32,7 @@ export declare class ThyDropdownMenuComponent {
32
32
  constructor();
33
33
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyDropdownMenuComponent, never>;
34
34
  static ɵcmp: i0.ɵɵComponentDeclaration<ThyDropdownMenuComponent, "thy-dropdown-menu", never, { "thyWidth": { "alias": "thyWidth"; "required": false; }; "thyImmediateRender": { "alias": "thyImmediateRender"; "required": false; }; }, {}, never, ["*"], true, never>;
35
- static ngAcceptInputType_thyImmediateRender: unknown;
35
+ static ngAcceptInputType_thyImmediateRender: boolean | string | number;
36
36
  }
37
37
  /**
38
38
  * 下拉菜单分组
@@ -83,6 +83,6 @@ export declare class ThyDropdownDirective extends ThyOverlayDirectiveBase implem
83
83
  static ɵdir: i0.ɵɵDirectiveDeclaration<ThyDropdownDirective, "[thyDropdown]", never, { "thyDropdownMenu": { "alias": "thyDropdownMenu"; "required": false; }; "thyDropdown": { "alias": "thyDropdown"; "required": false; }; "thyTrigger": { "alias": "thyTrigger"; "required": false; }; "thyShowDelay": { "alias": "thyShowDelay"; "required": false; }; "thyHideDelay": { "alias": "thyHideDelay"; "required": false; }; "thyActiveClass": { "alias": "thyActiveClass"; "required": false; }; "thyPopoverOptions": { "alias": "thyPopoverOptions"; "required": false; }; "thyPlacement": { "alias": "thyPlacement"; "required": false; }; "thyMenuInsideClosable": { "alias": "thyMenuInsideClosable"; "required": false; }; "thyPanelClass": { "alias": "thyPanelClass"; "required": false; }; }, { "thyActiveChange": "thyActiveChange"; }, never, never, true, never>;
84
84
  static ngAcceptInputType_thyShowDelay: unknown;
85
85
  static ngAcceptInputType_thyHideDelay: unknown;
86
- static ngAcceptInputType_thyMenuInsideClosable: unknown;
86
+ static ngAcceptInputType_thyMenuInsideClosable: boolean | string | number;
87
87
  }
88
88
  export {};
@@ -91,5 +91,5 @@ export declare class ThyEmpty implements OnInit, AfterViewInit, OnChanges {
91
91
  setPresetSvg(icon: string): void;
92
92
  static ɵfac: i0.ɵɵFactoryDeclaration<ThyEmpty, never>;
93
93
  static ɵcmp: i0.ɵɵComponentDeclaration<ThyEmpty, "thy-empty", never, { "thyMessage": { "alias": "thyMessage"; "required": false; }; "thyTranslationKey": { "alias": "thyTranslationKey"; "required": false; }; "thyTranslationValues": { "alias": "thyTranslationValues"; "required": false; }; "thyEntityName": { "alias": "thyEntityName"; "required": false; }; "thyEntityNameTranslateKey": { "alias": "thyEntityNameTranslateKey"; "required": false; }; "thyIconName": { "alias": "thyIconName"; "required": false; }; "thySize": { "alias": "thySize"; "required": false; }; "thyMarginTop": { "alias": "thyMarginTop"; "required": false; }; "thyTopAuto": { "alias": "thyTopAuto"; "required": false; }; "thyContainer": { "alias": "thyContainer"; "required": false; }; "thyImageUrl": { "alias": "thyImageUrl"; "required": false; }; "thyImageLoading": { "alias": "thyImageLoading"; "required": false; }; "thyImageFetchPriority": { "alias": "thyImageFetchPriority"; "required": false; }; "thyDescription": { "alias": "thyDescription"; "required": false; }; }, {}, ["extraTemplateRef"], never, true, never>;
94
- static ngAcceptInputType_thyTopAuto: unknown;
94
+ static ngAcceptInputType_thyTopAuto: boolean | string | number;
95
95
  }
@@ -1,8 +1,9 @@
1
- import { ChangeDetectionStrategy, Component, Input, ElementRef, Renderer2, ChangeDetectorRef, booleanAttribute } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, Input, ElementRef, Renderer2, ChangeDetectorRef } from '@angular/core';
2
2
  import { useHostRenderer } from '@tethys/cdk/dom';
3
3
  import { ThyIcon } from 'ngx-tethys/icon';
4
4
  import { NgIf } from '@angular/common';
5
5
  import { timer } from 'rxjs';
6
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
6
7
  import * as i0 from "@angular/core";
7
8
  const defaultFeedbackOptions = {
8
9
  success: {
@@ -140,7 +141,7 @@ export class ThyAction {
140
141
  this.feedbackTimer?.unsubscribe();
141
142
  }
142
143
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyAction, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
143
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyAction, isStandalone: true, selector: "thy-action, [thyAction]", inputs: { thyType: "thyType", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyActive: ["thyActive", "thyActive", booleanAttribute], thyActionActive: ["thyActionActive", "thyActionActive", booleanAttribute], thyTheme: "thyTheme", thyHoverIcon: "thyHoverIcon", thyDisabled: ["thyDisabled", "thyDisabled", booleanAttribute] }, host: { properties: { "class.active": "active", "class.thy-action-hover-icon": "thyHoverIcon", "class.thy-action-has-feedback": "!!feedback", "class.disabled": "thyDisabled" }, classAttribute: "thy-action" }, usesOnChanges: true, ngImport: i0, template: "<thy-icon *ngIf=\"icon && !feedback\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon *ngIf=\"feedbackOptions?.icon\" [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
144
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyAction, isStandalone: true, selector: "thy-action, [thyAction]", inputs: { thyType: "thyType", thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyActive: ["thyActive", "thyActive", coerceBooleanProperty], thyActionActive: ["thyActionActive", "thyActionActive", coerceBooleanProperty], thyTheme: "thyTheme", thyHoverIcon: "thyHoverIcon", thyDisabled: ["thyDisabled", "thyDisabled", coerceBooleanProperty] }, host: { properties: { "class.active": "active", "class.thy-action-hover-icon": "thyHoverIcon", "class.thy-action-has-feedback": "!!feedback", "class.disabled": "thyDisabled" }, classAttribute: "thy-action" }, usesOnChanges: true, ngImport: i0, template: "<thy-icon *ngIf=\"icon && !feedback\" [thyIconName]=\"icon\"></thy-icon>\n<thy-icon *ngIf=\"feedbackOptions?.icon\" [class]=\"feedbackOptions.class\" [thyIconName]=\"feedbackOptions.icon\"></thy-icon>\n<thy-icon class=\"hover-icon\" *ngIf=\"thyHoverIcon\" [thyIconName]=\"thyHoverIcon\"></thy-icon>\n<ng-content></ng-content>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
144
145
  }
145
146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyAction, decorators: [{
146
147
  type: Component,
@@ -159,16 +160,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
159
160
  type: Input
160
161
  }], thyActive: [{
161
162
  type: Input,
162
- args: [{ transform: booleanAttribute }]
163
+ args: [{ transform: coerceBooleanProperty }]
163
164
  }], thyActionActive: [{
164
165
  type: Input,
165
- args: [{ transform: booleanAttribute }]
166
+ args: [{ transform: coerceBooleanProperty }]
166
167
  }], thyTheme: [{
167
168
  type: Input
168
169
  }], thyHoverIcon: [{
169
170
  type: Input
170
171
  }], thyDisabled: [{
171
172
  type: Input,
172
- args: [{ transform: booleanAttribute }]
173
+ args: [{ transform: coerceBooleanProperty }]
173
174
  }] } });
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFJTCxVQUFVLEVBQ1YsU0FBUyxFQUVULGlCQUFpQixFQUVqQixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFnQixLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBWTNDLE1BQU0sc0JBQXNCLEdBQXdEO0lBQ2hGLE9BQU8sRUFBRTtRQUNMLElBQUksRUFBRSxtQkFBbUI7UUFDekIsS0FBSyxFQUFFLGNBQWM7UUFDckIsUUFBUSxFQUFFLElBQUk7S0FDakI7SUFDRCxLQUFLLEVBQUU7UUFDSCxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLEtBQUssRUFBRSxhQUFhO1FBQ3BCLFFBQVEsRUFBRSxJQUFJO0tBQ2pCO0NBQ0osQ0FBQztBQUNGOzs7R0FHRztBQWVILE1BQU0sT0FBTyxTQUFTO0lBZWxCOzs7O09BSUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxLQUFvQjtRQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxTQUFTLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLE9BQU8sQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJ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QkFBZ0IsbVFDckl4Qyx5VUFJQSw0Q0RxRGMsSUFBSSw2RkFBRSxPQUFPOzsyRkFFZCxTQUFTO2tCQWRyQixTQUFTOytCQUNJLHlCQUF5QixtQkFFbEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDRixLQUFLLEVBQUUsWUFBWTt3QkFDbkIsZ0JBQWdCLEVBQUUsUUFBUTt3QkFDMUIsK0JBQStCLEVBQUUsY0FBYzt3QkFDL0MsaUNBQWlDLEVBQUUsWUFBWTt3QkFDL0Msa0JBQWtCLEVBQUUsYUFBYTtxQkFDcEMsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO3VJQXVCcEIsT0FBTztzQkFEVixLQUFLO2dCQVNGLE9BQU87c0JBRFYsS0FBSztnQkFTRixhQUFhO3NCQURoQixLQUFLO2dCQVVGLFNBQVM7c0JBRFosS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFVbEMsZUFBZTtzQkFEbEIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFTN0IsUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQU9OLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBFbGVtZW50UmVmLFxuICAgIFJlbmRlcmVyMixcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBib29sZWFuQXR0cmlidXRlXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIFRoeUFjdGlvblR5cGUgPSAncHJpbWFyeScgfCAnc3VjY2VzcycgfCAnZGFuZ2VyJyB8ICd3YXJuaW5nJztcblxuZXhwb3J0IHR5cGUgVGh5QWN0aW9uRmVlZGJhY2sgPSAnc3VjY2VzcycgfCAnZXJyb3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRoeUFjdGlvbkZlZWRiYWNrT3B0aW9ucyB7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBjbGFzcz86IHN0cmluZztcbiAgICBkdXJhdGlvbj86IG51bWJlcjtcbn1cblxuY29uc3QgZGVmYXVsdEZlZWRiYWNrT3B0aW9uczogUmVjb3JkPFRoeUFjdGlvbkZlZWRiYWNrLCBUaHlBY3Rpb25GZWVkYmFja09wdGlvbnM+ID0ge1xuICAgIHN1Y2Nlc3M6IHtcbiAgICAgICAgaWNvbjogJ2NoZWNrLWNpcmNsZS1maWxsJyxcbiAgICAgICAgY2xhc3M6ICd0ZXh0LXN1Y2Nlc3MnLFxuICAgICAgICBkdXJhdGlvbjogMzAwMFxuICAgIH0sXG4gICAgZXJyb3I6IHtcbiAgICAgICAgaWNvbjogJ2Nsb3NlLWNpcmNsZS1maWxsJyxcbiAgICAgICAgY2xhc3M6ICd0ZXh0LWRhbmdlcicsXG4gICAgICAgIGR1cmF0aW9uOiAzMDAwXG4gICAgfVxufTtcbi8qKlxuICog56uL5Y2z5pON5L2c57uE5Lu2XG4gKiBAbmFtZSB0aHktYWN0aW9uLFt0aHlBY3Rpb25dXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWFjdGlvbiwgW3RoeUFjdGlvbl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYWN0aW9uJyxcbiAgICAgICAgJ1tjbGFzcy5hY3RpdmVdJzogJ2FjdGl2ZScsXG4gICAgICAgICdbY2xhc3MudGh5LWFjdGlvbi1ob3Zlci1pY29uXSc6ICd0aHlIb3Zlckljb24nLFxuICAgICAgICAnW2NsYXNzLnRoeS1hY3Rpb24taGFzLWZlZWRiYWNrXSc6ICchIWZlZWRiYWNrJyxcbiAgICAgICAgJ1tjbGFzcy5kaXNhYmxlZF0nOiAndGh5RGlzYWJsZWQnXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0lmLCBUaHlJY29uXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlBY3Rpb24gaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgICBpY29uOiBzdHJpbmc7XG5cbiAgICBmZWVkYmFjazogVGh5QWN0aW9uRmVlZGJhY2sgPSBudWxsO1xuXG4gICAgZmVlZGJhY2tPcHRpb25zOiBUaHlBY3Rpb25GZWVkYmFja09wdGlvbnM7XG5cbiAgICBhY3RpdmUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgdHlwZTogc3RyaW5nID0gJ3ByaW1hcnknO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIHByaXZhdGUgZmVlZGJhY2tUaW1lcjogU3Vic2NyaXB0aW9uO1xuXG4gICAgLyoqXG4gICAgICog5pON5L2c5Zu+5qCH55qE57G75Z6LXG4gICAgICogQHR5cGUgcHJpbWFyeSB8IHN1Y2Nlc3MgfCBkYW5nZXIgfCB3YXJuaW5nXG4gICAgICogQGRlZmF1bHQgcHJpbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeVR5cGUodmFsdWU6IFRoeUFjdGlvblR5cGUpIHtcbiAgICAgICAgdGhpcy5zZXRBY3Rpb25UeXBlKHZhbHVlIHx8ICdwcmltYXJ5Jyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pON5L2c5Zu+5qCH77yM5pSv5oyB5Lyg5Y+C5ZCM5pe25Lmf5pSv5oyB5Zyo5oqV5b2x5Lit5YaZIHRoeS1pY29uIOe7hOS7tlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHRoeUljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuaWNvbiA9IGljb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pON5L2c5Zu+5qCH77yM5b2TIHRoeUljb24g5ZKM5YW25LuW5oyH5Luk5Y+C5pWw5ZCN5pyJ5Yay56qB5pe25L2/55SoIHRoeUFjdGlvbkljb25cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlBY3Rpb25JY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLmljb24gPSBpY29uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOeahOWbvuaghyBBY3RpdmUg54q25oCB77yM6K6+572u5Li6IHRydWUg5pe25Lya5ZyoIEl0ZW0g5LiK5re75YqgIGFjdGl2ZSBjbGFzc1xuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2V0IHRoeUFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOeahOWbvuaghyBBY3RpdmUg54q25oCB77yM5b2TIHRoeUFjdGl2ZSDlkozlhbbku5bmjIfku6Tlj4LmlbDlkI3mnInlhrLnqoHml7bkvb/nlKggdGh5QWN0aW9uQWN0aXZlXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5QWN0aW9uQWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pON5L2c5Zu+5qCH55qE5Li76aKYXG4gICAgICogQHR5cGUgZmlsbCjog4zmma/oibLloavlhYUpIHwgbGl0ZSjnroDljZXmlofmnKzpopzoibLlj5jljJYpXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5VGhlbWU6ICdmaWxsJyB8ICdsaXRlJyA9ICdmaWxsJztcblxuICAgIC8qKlxuICAgICAqIEhvdmVyIOWxleekuueahOWbvuagh1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUhvdmVySWNvbjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5aSE5LqO56aB55So54q25oCBXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICB0aHlEaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy53cmFwU3BhbkZvclRleHQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2hpbGROb2Rlcyk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoKGNoYW5nZXMudGh5VHlwZSAmJiAhY2hhbmdlcy50aHlUeXBlLmZpcnN0Q2hhbmdlKSB8fCAoY2hhbmdlcy50aHlUaGVtZSAmJiAhY2hhbmdlcy50aHlUaGVtZS5maXJzdENoYW5nZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3NlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0TWFyZ2luUmlnaHQobWFyZ2luUmlnaHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5tYXJnaW5SaWdodCA9IG1hcmdpblJpZ2h0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOinpuWPkeaIkOWKn+WPjemmiOaTjeS9nFxuICAgICAqL1xuICAgIHN1Y2Nlc3Mob3B0aW9ucz86IFRoeUFjdGlvbkZlZWRiYWNrT3B0aW9ucykge1xuICAgICAgICB0aGlzLnNldEZlZWRiYWNrKCdzdWNjZXNzJywgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Kem5Y+R5aSx6LSl5Y+N6aaI5pON5L2cXG4gICAgICovXG4gICAgZXJyb3Iob3B0aW9ucz86IFRoeUFjdGlvbkZlZWRiYWNrT3B0aW9ucykge1xuICAgICAgICB0aGlzLnNldEZlZWRiYWNrKCdlcnJvcicsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RmVlZGJhY2soZmVlZGJhY2s6IFRoeUFjdGlvbkZlZWRiYWNrLCBvcHRpb25zOiBUaHlBY3Rpb25GZWVkYmFja09wdGlvbnMpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5RGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBvcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdEZlZWRiYWNrT3B0aW9uc1tmZWVkYmFja10sIG9wdGlvbnMpO1xuICAgICAgICB0aGlzLmZlZWRiYWNrID0gZmVlZGJhY2s7XG4gICAgICAgIHRoaXMuZmVlZGJhY2tPcHRpb25zID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIGlmIChvcHRpb25zLmR1cmF0aW9uKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5mZWVkYmFja1RpbWVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mZWVkYmFja1RpbWVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmZlZWRiYWNrVGltZXIgPSB0aW1lcihvcHRpb25zLmR1cmF0aW9uKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZmVlZGJhY2sgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tPcHRpb25zID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB3cmFwU3BhbkZvclRleHQobm9kZXM6IE5vZGVMaXN0KTogdm9pZCB7XG4gICAgICAgIG5vZGVzLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgICAgICBpZiAobm9kZS5ub2RlTmFtZSA9PT0gJyN0ZXh0Jykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNwYW4gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLnJlbmRlcmVyLnBhcmVudE5vZGUobm9kZSk7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhzcGFuLCAndGh5LWFjdGlvbi13cmFwLXNwYW4nKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmluc2VydEJlZm9yZShwYXJlbnQsIHNwYW4sIG5vZGUpO1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoc3Bhbiwgbm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0QWN0aW9uVHlwZSh2YWx1ZTogVGh5QWN0aW9uVHlwZSkge1xuICAgICAgICB0aGlzLnR5cGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzZXMoKSB7XG4gICAgICAgIGxldCBjbGFzc05hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICBjbGFzc05hbWVzLnB1c2goYGFjdGlvbi0ke3RoaXMudHlwZX1gKTtcbiAgICAgICAgaWYgKHRoaXMudGh5VGhlbWUgPT09ICdsaXRlJykge1xuICAgICAgICAgICAgY2xhc3NOYW1lcy5wdXNoKCd0aHktYWN0aW9uLWxpdGUnKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci51cGRhdGVDbGFzcyhjbGFzc05hbWVzKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mZWVkYmFja1RpbWVyPy51bnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiIsIjx0aHktaWNvbiAqbmdJZj1cImljb24gJiYgIWZlZWRiYWNrXCIgW3RoeUljb25OYW1lXT1cImljb25cIj48L3RoeS1pY29uPlxuPHRoeS1pY29uICpuZ0lmPVwiZmVlZGJhY2tPcHRpb25zPy5pY29uXCIgW2NsYXNzXT1cImZlZWRiYWNrT3B0aW9ucy5jbGFzc1wiIFt0aHlJY29uTmFtZV09XCJmZWVkYmFja09wdGlvbnMuaWNvblwiPjwvdGh5LWljb24+XG48dGh5LWljb24gY2xhc3M9XCJob3Zlci1pY29uXCIgKm5nSWY9XCJ0aHlIb3Zlckljb25cIiBbdGh5SWNvbk5hbWVdPVwidGh5SG92ZXJJY29uXCI+PC90aHktaWNvbj5cbjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hY3Rpb24vYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFJTCxVQUFVLEVBQ1YsU0FBUyxFQUVULGlCQUFpQixFQUVwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQWdCLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFZeEQsTUFBTSxzQkFBc0IsR0FBd0Q7SUFDaEYsT0FBTyxFQUFFO1FBQ0wsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixLQUFLLEVBQUUsY0FBYztRQUNyQixRQUFRLEVBQUUsSUFBSTtLQUNqQjtJQUNELEtBQUssRUFBRTtRQUNILElBQUksRUFBRSxtQkFBbUI7UUFDekIsS0FBSyxFQUFFLGFBQWE7UUFDcEIsUUFBUSxFQUFFLElBQUk7S0FDakI7Q0FDSixDQUFDO0FBQ0Y7OztHQUdHO0FBZUgsTUFBTSxPQUFPLFNBQVM7SUFlbEI7Ozs7T0FJRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQW9CO1FBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksT0FBTyxDQUFDLElBQVk7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxJ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RSxxQkFBcUIsMkRBU3JCLHFCQUFxQixtR0FvQnJCLHFCQUFxQixtUUNySTdDLHlVQUlBLDRDRHFEYyxJQUFJLDZGQUFFLE9BQU87OzJGQUVkLFNBQVM7a0JBZHJCLFNBQVM7K0JBQ0kseUJBQXlCLG1CQUVsQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxZQUFZO3dCQUNuQixnQkFBZ0IsRUFBRSxRQUFRO3dCQUMxQiwrQkFBK0IsRUFBRSxjQUFjO3dCQUMvQyxpQ0FBaUMsRUFBRSxZQUFZO3dCQUMvQyxrQkFBa0IsRUFBRSxhQUFhO3FCQUNwQyxjQUNXLElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7dUlBdUJwQixPQUFPO3NCQURWLEtBQUs7Z0JBU0YsT0FBTztzQkFEVixLQUFLO2dCQVNGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBVUYsU0FBUztzQkFEWixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVV2QyxlQUFlO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVNsQyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBT04sV0FBVztzQkFEVixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIEFmdGVyVmlld0luaXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgUmVuZGVyZXIyLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgT25EZXN0cm95XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5leHBvcnQgdHlwZSBUaHlBY3Rpb25UeXBlID0gJ3ByaW1hcnknIHwgJ3N1Y2Nlc3MnIHwgJ2RhbmdlcicgfCAnd2FybmluZyc7XG5cbmV4cG9ydCB0eXBlIFRoeUFjdGlvbkZlZWRiYWNrID0gJ3N1Y2Nlc3MnIHwgJ2Vycm9yJztcblxuZXhwb3J0IGludGVyZmFjZSBUaHlBY3Rpb25GZWVkYmFja09wdGlvbnMge1xuICAgIGljb24/OiBzdHJpbmc7XG4gICAgY2xhc3M/OiBzdHJpbmc7XG4gICAgZHVyYXRpb24/OiBudW1iZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRGZWVkYmFja09wdGlvbnM6IFJlY29yZDxUaHlBY3Rpb25GZWVkYmFjaywgVGh5QWN0aW9uRmVlZGJhY2tPcHRpb25zPiA9IHtcbiAgICBzdWNjZXNzOiB7XG4gICAgICAgIGljb246ICdjaGVjay1jaXJjbGUtZmlsbCcsXG4gICAgICAgIGNsYXNzOiAndGV4dC1zdWNjZXNzJyxcbiAgICAgICAgZHVyYXRpb246IDMwMDBcbiAgICB9LFxuICAgIGVycm9yOiB7XG4gICAgICAgIGljb246ICdjbG9zZS1jaXJjbGUtZmlsbCcsXG4gICAgICAgIGNsYXNzOiAndGV4dC1kYW5nZXInLFxuICAgICAgICBkdXJhdGlvbjogMzAwMFxuICAgIH1cbn07XG4vKipcbiAqIOeri+WNs+aTjeS9nOe7hOS7tlxuICogQG5hbWUgdGh5LWFjdGlvbixbdGh5QWN0aW9uXVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1hY3Rpb24sIFt0aHlBY3Rpb25dJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndGh5LWFjdGlvbicsXG4gICAgICAgICdbY2xhc3MuYWN0aXZlXSc6ICdhY3RpdmUnLFxuICAgICAgICAnW2NsYXNzLnRoeS1hY3Rpb24taG92ZXItaWNvbl0nOiAndGh5SG92ZXJJY29uJyxcbiAgICAgICAgJ1tjbGFzcy50aHktYWN0aW9uLWhhcy1mZWVkYmFja10nOiAnISFmZWVkYmFjaycsXG4gICAgICAgICdbY2xhc3MuZGlzYWJsZWRdJzogJ3RoeURpc2FibGVkJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5QWN0aW9uIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgaWNvbjogc3RyaW5nO1xuXG4gICAgZmVlZGJhY2s6IFRoeUFjdGlvbkZlZWRiYWNrID0gbnVsbDtcblxuICAgIGZlZWRiYWNrT3B0aW9uczogVGh5QWN0aW9uRmVlZGJhY2tPcHRpb25zO1xuXG4gICAgYWN0aXZlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHR5cGU6IHN0cmluZyA9ICdwcmltYXJ5JztcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBwcml2YXRlIGZlZWRiYWNrVGltZXI6IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOWbvuagh+eahOexu+Wei1xuICAgICAqIEB0eXBlIHByaW1hcnkgfCBzdWNjZXNzIHwgZGFuZ2VyIHwgd2FybmluZ1xuICAgICAqIEBkZWZhdWx0IHByaW1hcnlcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlUeXBlKHZhbHVlOiBUaHlBY3Rpb25UeXBlKSB7XG4gICAgICAgIHRoaXMuc2V0QWN0aW9uVHlwZSh2YWx1ZSB8fCAncHJpbWFyeScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOWbvuagh++8jOaUr+aMgeS8oOWPguWQjOaXtuS5n+aUr+aMgeWcqOaKleW9seS4reWGmSB0aHktaWNvbiDnu4Tku7ZcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlJY29uKGljb246IHN0cmluZykge1xuICAgICAgICB0aGlzLmljb24gPSBpY29uO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOWbvuagh++8jOW9kyB0aHlJY29uIOWSjOWFtuS7luaMh+S7pOWPguaVsOWQjeacieWGsueqgeaXtuS9v+eUqCB0aHlBY3Rpb25JY29uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QWN0aW9uSWNvbihpY29uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5pY29uID0gaWNvbjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZznmoTlm77moIcgQWN0aXZlIOeKtuaAge+8jOiuvue9ruS4uiB0cnVlIOaXtuS8muWcqCBJdGVtIOS4iua3u+WKoCBhY3RpdmUgY2xhc3NcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeUFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFjdGl2ZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOeahOWbvuaghyBBY3RpdmUg54q25oCB77yM5b2TIHRoeUFjdGl2ZSDlkozlhbbku5bmjIfku6Tlj4LmlbDlkI3mnInlhrLnqoHml7bkvb/nlKggdGh5QWN0aW9uQWN0aXZlXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlBY3Rpb25BY3RpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZzlm77moIfnmoTkuLvpophcbiAgICAgKiBAdHlwZSBmaWxsKOiDjOaZr+iJsuWhq+WFhSkgfCBsaXRlKOeugOWNleaWh+acrOminOiJsuWPmOWMlilcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUaGVtZTogJ2ZpbGwnIHwgJ2xpdGUnID0gJ2ZpbGwnO1xuXG4gICAgLyoqXG4gICAgICogSG92ZXIg5bGV56S655qE5Zu+5qCHXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5SG92ZXJJY29uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblpITkuo7npoHnlKjnirbmgIFcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgdGh5RGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMud3JhcFNwYW5Gb3JUZXh0KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKChjaGFuZ2VzLnRoeVR5cGUgJiYgIWNoYW5nZXMudGh5VHlwZS5maXJzdENoYW5nZSkgfHwgKGNoYW5nZXMudGh5VGhlbWUgJiYgIWNoYW5nZXMudGh5VGhlbWUuZmlyc3RDaGFuZ2UpKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldE1hcmdpblJpZ2h0KG1hcmdpblJpZ2h0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUubWFyZ2luUmlnaHQgPSBtYXJnaW5SaWdodDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDop6blj5HmiJDlip/lj43ppojmk43kvZxcbiAgICAgKi9cbiAgICBzdWNjZXNzKG9wdGlvbnM/OiBUaHlBY3Rpb25GZWVkYmFja09wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5zZXRGZWVkYmFjaygnc3VjY2VzcycsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOinpuWPkeWksei0peWPjemmiOaTjeS9nFxuICAgICAqL1xuICAgIGVycm9yKG9wdGlvbnM/OiBUaHlBY3Rpb25GZWVkYmFja09wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5zZXRGZWVkYmFjaygnZXJyb3InLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZlZWRiYWNrKGZlZWRiYWNrOiBUaHlBY3Rpb25GZWVkYmFjaywgb3B0aW9uczogVGh5QWN0aW9uRmVlZGJhY2tPcHRpb25zKSB7XG4gICAgICAgIGlmICh0aGlzLnRoeURpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRGZWVkYmFja09wdGlvbnNbZmVlZGJhY2tdLCBvcHRpb25zKTtcbiAgICAgICAgdGhpcy5mZWVkYmFjayA9IGZlZWRiYWNrO1xuICAgICAgICB0aGlzLmZlZWRiYWNrT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICBpZiAob3B0aW9ucy5kdXJhdGlvbikge1xuICAgICAgICAgICAgaWYgKHRoaXMuZmVlZGJhY2tUaW1lcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tUaW1lci51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5mZWVkYmFja1RpbWVyID0gdGltZXIob3B0aW9ucy5kdXJhdGlvbikuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZlZWRiYWNrID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLmZlZWRiYWNrT3B0aW9ucyA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgd3JhcFNwYW5Gb3JUZXh0KG5vZGVzOiBOb2RlTGlzdCk6IHZvaWQge1xuICAgICAgICBub2Rlcy5mb3JFYWNoKG5vZGUgPT4ge1xuICAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT09ICcjdGV4dCcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyZW50ID0gdGhpcy5yZW5kZXJlci5wYXJlbnROb2RlKG5vZGUpO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3Moc3BhbiwgJ3RoeS1hY3Rpb24td3JhcC1zcGFuJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5pbnNlcnRCZWZvcmUocGFyZW50LCBzcGFuLCBub2RlKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHNwYW4sIG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEFjdGlvblR5cGUodmFsdWU6IFRoeUFjdGlvblR5cGUpIHtcbiAgICAgICAgdGhpcy50eXBlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDbGFzc2VzKCkge1xuICAgICAgICBsZXQgY2xhc3NOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgY2xhc3NOYW1lcy5wdXNoKGBhY3Rpb24tJHt0aGlzLnR5cGV9YCk7XG4gICAgICAgIGlmICh0aGlzLnRoeVRoZW1lID09PSAnbGl0ZScpIHtcbiAgICAgICAgICAgIGNsYXNzTmFtZXMucHVzaCgndGh5LWFjdGlvbi1saXRlJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIudXBkYXRlQ2xhc3MoY2xhc3NOYW1lcyk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmVlZGJhY2tUaW1lcj8udW5zdWJzY3JpYmUoKTtcbiAgICB9XG59XG4iLCI8dGh5LWljb24gKm5nSWY9XCJpY29uICYmICFmZWVkYmFja1wiIFt0aHlJY29uTmFtZV09XCJpY29uXCI+PC90aHktaWNvbj5cbjx0aHktaWNvbiAqbmdJZj1cImZlZWRiYWNrT3B0aW9ucz8uaWNvblwiIFtjbGFzc109XCJmZWVkYmFja09wdGlvbnMuY2xhc3NcIiBbdGh5SWNvbk5hbWVdPVwiZmVlZGJhY2tPcHRpb25zLmljb25cIj48L3RoeS1pY29uPlxuPHRoeS1pY29uIGNsYXNzPVwiaG92ZXItaWNvblwiICpuZ0lmPVwidGh5SG92ZXJJY29uXCIgW3RoeUljb25OYW1lXT1cInRoeUhvdmVySWNvblwiPjwvdGh5LWljb24+XG48bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -1,5 +1,5 @@
1
- import { Component, Input, ContentChild, TemplateRef, ChangeDetectionStrategy, booleanAttribute } from '@angular/core';
2
- import { isString } from 'ngx-tethys/util';
1
+ import { Component, Input, ContentChild, TemplateRef, ChangeDetectionStrategy } from '@angular/core';
2
+ import { coerceBooleanProperty, isString } from 'ngx-tethys/util';
3
3
  import { useHostRenderer } from '@tethys/cdk/dom';
4
4
  import { ThyIcon } from 'ngx-tethys/icon';
5
5
  import { NgIf, NgTemplateOutlet } from '@angular/common';
@@ -98,7 +98,7 @@ export class ThyAlert {
98
98
  this.hostRenderer.updateClass([`thy-alert-${theme}`, `thy-alert-${theme}-${type}`]);
99
99
  }
100
100
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyAlert, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyAlert, isStandalone: true, selector: "thy-alert", inputs: { thyType: "thyType", thyTheme: "thyTheme", thyMessage: "thyMessage", thyIcon: "thyIcon", thyCloseable: ["thyCloseable", "thyCloseable", booleanAttribute] }, host: { properties: { "class.thy-alert-hidden": "hidden" }, classAttribute: "thy-alert" }, queries: [{ propertyName: "alertOperation", first: true, predicate: ["operation"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips\uFF1A </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
101
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyAlert, isStandalone: true, selector: "thy-alert", inputs: { thyType: "thyType", thyTheme: "thyTheme", thyMessage: "thyMessage", thyIcon: "thyIcon", thyCloseable: ["thyCloseable", "thyCloseable", coerceBooleanProperty] }, host: { properties: { "class.thy-alert-hidden": "hidden" }, classAttribute: "thy-alert" }, queries: [{ propertyName: "alertOperation", first: true, predicate: ["operation"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"thy-alert-content\">\n <thy-icon *ngIf=\"thyIcon\" class=\"thy-alert-icon\" [thyIconName]=\"thyIcon\"></thy-icon>\n <span *ngIf=\"theme === 'naked'\" class=\"thy-alert-tips\">Tips\uFF1A </span>\n <ng-container *ngIf=\"messageTemplate\">\n <ng-template *ngTemplateOutlet=\"messageTemplate\"></ng-template>\n </ng-container>\n <span *ngIf=\"messageText\">{{ messageText }}</span>\n <div class=\"thy-alert-operation\" *ngIf=\"alertOperation\">\n <ng-container [ngTemplateOutlet]=\"alertOperation\"></ng-container>\n </div>\n</div>\n<a href=\"javascript:;\" class=\"thy-alert-close\" *ngIf=\"thyCloseable\" (click)=\"closeAlert()\">\n <thy-icon thyIconName=\"close\"></thy-icon>\n</a>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
102
102
  }
103
103
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyAlert, decorators: [{
104
104
  type: Component,
@@ -116,9 +116,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
116
116
  type: Input
117
117
  }], thyCloseable: [{
118
118
  type: Input,
119
- args: [{ transform: booleanAttribute }]
119
+ args: [{ transform: coerceBooleanProperty }]
120
120
  }], alertOperation: [{
121
121
  type: ContentChild,
122
122
  args: ['operation']
123
123
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULEtBQUssRUFFTCxZQUFZLEVBQ1osV0FBVyxFQUVYLHVCQUF1QixFQUV2QixnQkFBZ0IsRUFDbkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUV6RCxNQUFNLFNBQVMsR0FBRyxDQUFDLGNBQWMsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxDQUFDO0FBZWxGLE1BQU0sWUFBWSxHQUEyQjtJQUN6QyxPQUFPLEVBQUUsbUJBQW1CO0lBQzVCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsSUFBSSxFQUFFLG1CQUFtQjtJQUN6QixPQUFPLEVBQUUsa0JBQWtCO0lBQzNCLGNBQWMsRUFBRSxrQkFBa0I7SUFDbEMsY0FBYyxFQUFFLG1CQUFtQjtJQUNuQyxjQUFjLEVBQUUsYUFBYTtJQUM3QixhQUFhLEVBQUUsbUJBQW1CO0NBQ3JDLENBQUM7QUFFRjs7OztHQUlHO0FBWUgsTUFBTSxPQUFPLFFBQVE7SUFpQmpCOzs7O09BSUc7SUFDSCxJQUFhLE9BQU8sQ0FBQyxLQUFtQjtRQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7T0FJ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LElBQUksV0FDUCxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUM7d0RBd0I3QixPQUFPO3NCQUFuQixLQUFLO2dCQVNPLFFBQVE7c0JBQXBCLEtBQUs7Z0JBT08sVUFBVTtzQkFBdEIsS0FBSztnQkFZRixPQUFPO3NCQURWLEtBQUs7Z0JBc0JrQyxZQUFZO3NCQUFuRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU1YLGNBQWM7c0JBQXhDLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE9uSW5pdCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgT25DaGFuZ2VzLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzU3RyaW5nIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IHVzZUhvc3RSZW5kZXJlciB9IGZyb20gJ0B0ZXRoeXMvY2RrL2RvbSc7XG5pbXBvcnQgeyBUaHlJY29uIH0gZnJvbSAnbmd4LXRldGh5cy9pY29uJztcbmltcG9ydCB7IE5nSWYsIE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5jb25zdCB3ZWFrVHlwZXMgPSBbJ3ByaW1hcnktd2VhaycsICdzdWNjZXNzLXdlYWsnLCAnd2FybmluZy13ZWFrJywgJ2Rhbmdlci13ZWFrJ107XG5cbnR5cGUgVGh5QWxlcnRUeXBlID1cbiAgICB8ICdzdWNjZXNzJ1xuICAgIHwgJ3dhcm5pbmcnXG4gICAgfCAnZGFuZ2VyJ1xuICAgIHwgJ2luZm8nXG4gICAgfCAncHJpbWFyeSdcbiAgICB8ICdwcmltYXJ5LXdlYWsnXG4gICAgfCAnc3VjY2Vzcy13ZWFrJ1xuICAgIHwgJ3dhcm5pbmctd2VhaydcbiAgICB8ICdkYW5nZXItd2Vhayc7XG5cbmV4cG9ydCB0eXBlIFRoeUFsZXJ0VGhlbWUgPSAnZmlsbCcgfCAnYm9yZGVyZWQnIHwgJ25ha2VkJztcblxuY29uc3QgdHlwZUljb25zTWFwOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgIHN1Y2Nlc3M6ICdjaGVjay1jaXJjbGUtZmlsbCcsXG4gICAgd2FybmluZzogJ3dhcmluZy1maWxsJyxcbiAgICBkYW5nZXI6ICdjbG9zZS1jaXJjbGUtZmlsbCcsXG4gICAgaW5mbzogJ21pbnVzLWNpcmNsZS1maWxsJyxcbiAgICBwcmltYXJ5OiAnaW5mby1jaXJjbGUtZmlsbCcsXG4gICAgJ3ByaW1hcnktd2Vhayc6ICdpbmZvLWNpcmNsZS1maWxsJyxcbiAgICAnc3VjY2Vzcy13ZWFrJzogJ2NoZWNrLWNpcmNsZS1maWxsJyxcbiAgICAnd2FybmluZy13ZWFrJzogJ3dhcmluZy1maWxsJyxcbiAgICAnZGFuZ2VyLXdlYWsnOiAnY2xvc2UtY2lyY2xlLWZpbGwnXG59O1xuXG4vKipcbiAqIOitpuWRiuaPkOekuu+8jOWxleeOsOmcgOimgeWFs+azqOeahOS/oeaBr1xuICogQG5hbWUgdGh5LWFsZXJ0XG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktYWxlcnQnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hbGVydC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3RoeS1hbGVydCcsXG4gICAgICAgICdbY2xhc3MudGh5LWFsZXJ0LWhpZGRlbl0nOiAnaGlkZGVuJ1xuICAgIH0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZiwgVGh5SWNvbiwgTmdUZW1wbGF0ZU91dGxldF1cbn0pXG5leHBvcnQgY2xhc3MgVGh5QWxlcnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSBoaWRkZW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgc2hvd0ljb24gPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBpY29uOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIHR5cGU6IFRoeUFsZXJ0VHlwZSA9ICdpbmZvJztcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICBwdWJsaWMgdGhlbWU6IFRoeUFsZXJ0VGhlbWUgPSAnZmlsbCc7XG5cbiAgICBtZXNzYWdlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PjtcblxuICAgIG1lc3NhZ2VUZXh0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDmjIflrprorablkYrmj5DnpLrnmoTnsbvlnotcbiAgICAgKiBAdHlwZSBzdWNjZXNzIHwgd2FybmluZyB8IGRhbmdlciB8IGluZm8gfCBwcmltYXJ5IHwgcHJpbWFyeS13ZWFrIHwgc3VjY2Vzcy13ZWFrIHwgd2FybmluZy13ZWFrIHwgZGFuZ2VyLXdlYWtcbiAgICAgKiBAZGVmYXVsdCBpbmZvXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeVR5cGUodmFsdWU6IFRoeUFsZXJ0VHlwZSkge1xuICAgICAgICB0aGlzLnR5cGUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmjIflrprorablkYrmj5DnpLrnmoTkuLvpophcbiAgICAgKiBAdHlwZSBmaWxsIHwgYm9yZGVyZWQgfCBuYWtlZFxuICAgICAqIEBkZWZhdWx0IGZpbGxcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5VGhlbWUodmFsdWU6IFRoeUFsZXJ0VGhlbWUpIHtcbiAgICAgICAgdGhpcy50aGVtZSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYvuekuuitpuWRiuaPkOekuueahOWGheWuuVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlNZXNzYWdlKHZhbHVlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVRlbXBsYXRlID0gdmFsdWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VUZXh0ID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLroh6rlrprkuYnlm77moIfvvIzlj6/kvKAgdHJ1ZS9mYWxzZSDmjqfliLbmmK/lkKbmmL7npLrlm77moIfvvIzmiJbogIXkvKDlrZfnrKbkuLLljrvmjIflrprlm77moIflkI3np7BcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlJY29uKHZhbHVlOiBib29sZWFuIHwgc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zaG93SWNvbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmljb24gPSBpc1N0cmluZyh2YWx1ZSkgPyB2YWx1ZS50b1N0cmluZygpIDogbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0ljb24gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCB0aHlJY29uKCkge1xuICAgICAgICBpZiAodGhpcy5zaG93SWNvbikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaWNvbiB8fCB0eXBlSWNvbnNNYXBbdGhpcy50eXBlXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S65YWz6Zet6K2m5ZGK5qGG5oyJ6ZKu77yM6buY6K6k5LiN5pi+56S6XG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGh5Q2xvc2VhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog6K2m5ZGK5qGG6Ieq5a6a5LmJ5pON5L2cXG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdvcGVyYXRpb24nKSBhbGVydE9wZXJhdGlvbjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoKGNoYW5nZXMudGh5VGhlbWUgJiYgIWNoYW5nZXMudGh5VGhlbWUuZmlyc3RDaGFuZ2UpIHx8IChjaGFuZ2VzLnRoeVR5cGUgJiYgIWNoYW5nZXMudGh5VHlwZS5maXJzdENoYW5nZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlQWxlcnQoKSB7XG4gICAgICAgIHRoaXMuaGlkZGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzKCkge1xuICAgICAgICAvLyDlhbzlrrkgJ3ByaW1hcnktd2VhaycsICdzdWNjZXNzLXdlYWsnLCAnd2FybmluZy13ZWFrJywgJ2Rhbmdlci13ZWFrJyB0eXBlc1xuICAgICAgICBsZXQgdGhlbWUgPSB0aGlzLnRoZW1lO1xuICAgICAgICBsZXQgdHlwZSA9IHRoaXMudHlwZTtcbiAgICAgICAgaWYgKHdlYWtUeXBlcy5pbmNsdWRlcyh0aGlzLnR5cGUpKSB7XG4gICAgICAgICAgICB0aGVtZSA9ICdib3JkZXJlZCc7XG4gICAgICAgICAgICB0eXBlID0gdGhpcy50eXBlLnNwbGl0KCctJylbMF0gYXMgVGh5QWxlcnRUeXBlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKFtgdGh5LWFsZXJ0LSR7dGhlbWV9YCwgYHRoeS1hbGVydC0ke3RoZW1lfS0ke3R5cGV9YF0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktYWxlcnQtY29udGVudFwiPlxuICA8dGh5LWljb24gKm5nSWY9XCJ0aHlJY29uXCIgY2xhc3M9XCJ0aHktYWxlcnQtaWNvblwiIFt0aHlJY29uTmFtZV09XCJ0aHlJY29uXCI+PC90aHktaWNvbj5cbiAgPHNwYW4gKm5nSWY9XCJ0aGVtZSA9PT0gJ25ha2VkJ1wiIGNsYXNzPVwidGh5LWFsZXJ0LXRpcHNcIj5UaXBz77yaIDwvc3Bhbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lc3NhZ2VUZW1wbGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm1lc3NhZ2VUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8c3BhbiAqbmdJZj1cIm1lc3NhZ2VUZXh0XCI+e3sgbWVzc2FnZVRleHQgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJ0aHktYWxlcnQtb3BlcmF0aW9uXCIgKm5nSWY9XCJhbGVydE9wZXJhdGlvblwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWxlcnRPcGVyYXRpb25cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cInRoeS1hbGVydC1jbG9zZVwiICpuZ0lmPVwidGh5Q2xvc2VhYmxlXCIgKGNsaWNrKT1cImNsb3NlQWxlcnQoKVwiPlxuICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjbG9zZVwiPjwvdGh5LWljb24+XG48L2E+XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9hbGVydC9hbGVydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxZQUFZLEVBQUUsV0FBVyxFQUFhLHVCQUF1QixFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRXpELE1BQU0sU0FBUyxHQUFHLENBQUMsY0FBYyxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7QUFlbEYsTUFBTSxZQUFZLEdBQTJCO0lBQ3pDLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsT0FBTyxFQUFFLGFBQWE7SUFDdEIsTUFBTSxFQUFFLG1CQUFtQjtJQUMzQixJQUFJLEVBQUUsbUJBQW1CO0lBQ3pCLE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQyxjQUFjLEVBQUUsbUJBQW1CO0lBQ25DLGNBQWMsRUFBRSxhQUFhO0lBQzdCLGFBQWEsRUFBRSxtQkFBbUI7Q0FDckMsQ0FBQztBQUVGOzs7O0dBSUc7QUFZSCxNQUFNLE9BQU8sUUFBUTtJQWlCakI7Ozs7T0FJRztJQUNILElBQWEsT0FBTyxDQUFDLEtBQW1CO1FBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7OztPQUlH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SUFBSSxXQUNQLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQzt3REF3QjdCLE9BQU87c0JBQW5CLEtBQUs7Z0JBU08sUUFBUTtzQkFBcEIsS0FBSztnQkFPTyxVQUFVO3NCQUF0QixLQUFLO2dCQVlGLE9BQU87c0JBRFYsS0FBSztnQkFzQnVDLFlBQVk7c0JBQXhELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTWhCLGNBQWM7c0JBQXhDLFlBQVk7dUJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgQ29udGVudENoaWxkLCBUZW1wbGF0ZVJlZiwgT25DaGFuZ2VzLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBpc1N0cmluZyB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuY29uc3Qgd2Vha1R5cGVzID0gWydwcmltYXJ5LXdlYWsnLCAnc3VjY2Vzcy13ZWFrJywgJ3dhcm5pbmctd2VhaycsICdkYW5nZXItd2VhayddO1xuXG50eXBlIFRoeUFsZXJ0VHlwZSA9XG4gICAgfCAnc3VjY2VzcydcbiAgICB8ICd3YXJuaW5nJ1xuICAgIHwgJ2RhbmdlcidcbiAgICB8ICdpbmZvJ1xuICAgIHwgJ3ByaW1hcnknXG4gICAgfCAncHJpbWFyeS13ZWFrJ1xuICAgIHwgJ3N1Y2Nlc3Mtd2VhaydcbiAgICB8ICd3YXJuaW5nLXdlYWsnXG4gICAgfCAnZGFuZ2VyLXdlYWsnO1xuXG5leHBvcnQgdHlwZSBUaHlBbGVydFRoZW1lID0gJ2ZpbGwnIHwgJ2JvcmRlcmVkJyB8ICduYWtlZCc7XG5cbmNvbnN0IHR5cGVJY29uc01hcDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBzdWNjZXNzOiAnY2hlY2stY2lyY2xlLWZpbGwnLFxuICAgIHdhcm5pbmc6ICd3YXJpbmctZmlsbCcsXG4gICAgZGFuZ2VyOiAnY2xvc2UtY2lyY2xlLWZpbGwnLFxuICAgIGluZm86ICdtaW51cy1jaXJjbGUtZmlsbCcsXG4gICAgcHJpbWFyeTogJ2luZm8tY2lyY2xlLWZpbGwnLFxuICAgICdwcmltYXJ5LXdlYWsnOiAnaW5mby1jaXJjbGUtZmlsbCcsXG4gICAgJ3N1Y2Nlc3Mtd2Vhayc6ICdjaGVjay1jaXJjbGUtZmlsbCcsXG4gICAgJ3dhcm5pbmctd2Vhayc6ICd3YXJpbmctZmlsbCcsXG4gICAgJ2Rhbmdlci13ZWFrJzogJ2Nsb3NlLWNpcmNsZS1maWxsJ1xufTtcblxuLyoqXG4gKiDorablkYrmj5DnpLrvvIzlsZXnjrDpnIDopoHlhbPms6jnmoTkv6Hmga9cbiAqIEBuYW1lIHRoeS1hbGVydFxuICogQG9yZGVyIDEwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LWFsZXJ0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWxlcnQuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktYWxlcnQnLFxuICAgICAgICAnW2NsYXNzLnRoeS1hbGVydC1oaWRkZW5dJzogJ2hpZGRlbidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWYsIFRoeUljb24sIE5nVGVtcGxhdGVPdXRsZXRdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUFsZXJ0IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHByaXZhdGUgaGlkZGVuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHNob3dJY29uID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgaWNvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSB0eXBlOiBUaHlBbGVydFR5cGUgPSAnaW5mbyc7XG5cbiAgICBwcml2YXRlIGhvc3RSZW5kZXJlciA9IHVzZUhvc3RSZW5kZXJlcigpO1xuXG4gICAgcHVibGljIHRoZW1lOiBUaHlBbGVydFRoZW1lID0gJ2ZpbGwnO1xuXG4gICAgbWVzc2FnZVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD47XG5cbiAgICBtZXNzYWdlVGV4dDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5oyH5a6a6K2m5ZGK5o+Q56S655qE57G75Z6LXG4gICAgICogQHR5cGUgc3VjY2VzcyB8IHdhcm5pbmcgfCBkYW5nZXIgfCBpbmZvIHwgcHJpbWFyeSB8IHByaW1hcnktd2VhayB8IHN1Y2Nlc3Mtd2VhayB8IHdhcm5pbmctd2VhayB8IGRhbmdlci13ZWFrXG4gICAgICogQGRlZmF1bHQgaW5mb1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlUeXBlKHZhbHVlOiBUaHlBbGVydFR5cGUpIHtcbiAgICAgICAgdGhpcy50eXBlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5oyH5a6a6K2m5ZGK5o+Q56S655qE5Li76aKYXG4gICAgICogQHR5cGUgZmlsbCB8IGJvcmRlcmVkIHwgbmFrZWRcbiAgICAgKiBAZGVmYXVsdCBmaWxsXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeVRoZW1lKHZhbHVlOiBUaHlBbGVydFRoZW1lKSB7XG4gICAgICAgIHRoaXMudGhlbWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmL7npLrorablkYrmj5DnpLrnmoTlhoXlrrlcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgdGh5TWVzc2FnZSh2YWx1ZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VUZW1wbGF0ZSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlVGV4dCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5pi+56S66Ieq5a6a5LmJ5Zu+5qCH77yM5Y+v5LygIHRydWUvZmFsc2Ug5o6n5Yi25piv5ZCm5pi+56S65Zu+5qCH77yM5oiW6ICF5Lyg5a2X56ym5Liy5Y675oyH5a6a5Zu+5qCH5ZCN56ewXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5SWNvbih2YWx1ZTogYm9vbGVhbiB8IHN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2hvd0ljb24gPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pY29uID0gaXNTdHJpbmcodmFsdWUpID8gdmFsdWUudG9TdHJpbmcoKSA6IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNob3dJY29uID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdGh5SWNvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuc2hvd0ljb24pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmljb24gfHwgdHlwZUljb25zTWFwW3RoaXMudHlwZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuuWFs+mXreitpuWRiuahhuaMiemSru+8jOm7mOiupOS4jeaYvuekulxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5Q2xvc2VhYmxlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog6K2m5ZGK5qGG6Ieq5a6a5LmJ5pON5L2cXG4gICAgICogQHR5cGUgVGVtcGxhdGVSZWZcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdvcGVyYXRpb24nKSBhbGVydE9wZXJhdGlvbjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoKGNoYW5nZXMudGh5VGhlbWUgJiYgIWNoYW5nZXMudGh5VGhlbWUuZmlyc3RDaGFuZ2UpIHx8IChjaGFuZ2VzLnRoeVR5cGUgJiYgIWNoYW5nZXMudGh5VHlwZS5maXJzdENoYW5nZSkpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xhc3MoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlQWxlcnQoKSB7XG4gICAgICAgIHRoaXMuaGlkZGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUNsYXNzKCkge1xuICAgICAgICAvLyDlhbzlrrkgJ3ByaW1hcnktd2VhaycsICdzdWNjZXNzLXdlYWsnLCAnd2FybmluZy13ZWFrJywgJ2Rhbmdlci13ZWFrJyB0eXBlc1xuICAgICAgICBsZXQgdGhlbWUgPSB0aGlzLnRoZW1lO1xuICAgICAgICBsZXQgdHlwZSA9IHRoaXMudHlwZTtcbiAgICAgICAgaWYgKHdlYWtUeXBlcy5pbmNsdWRlcyh0aGlzLnR5cGUpKSB7XG4gICAgICAgICAgICB0aGVtZSA9ICdib3JkZXJlZCc7XG4gICAgICAgICAgICB0eXBlID0gdGhpcy50eXBlLnNwbGl0KCctJylbMF0gYXMgVGh5QWxlcnRUeXBlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnVwZGF0ZUNsYXNzKFtgdGh5LWFsZXJ0LSR7dGhlbWV9YCwgYHRoeS1hbGVydC0ke3RoZW1lfS0ke3R5cGV9YF0pO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktYWxlcnQtY29udGVudFwiPlxuICA8dGh5LWljb24gKm5nSWY9XCJ0aHlJY29uXCIgY2xhc3M9XCJ0aHktYWxlcnQtaWNvblwiIFt0aHlJY29uTmFtZV09XCJ0aHlJY29uXCI+PC90aHktaWNvbj5cbiAgPHNwYW4gKm5nSWY9XCJ0aGVtZSA9PT0gJ25ha2VkJ1wiIGNsYXNzPVwidGh5LWFsZXJ0LXRpcHNcIj5UaXBz77yaIDwvc3Bhbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1lc3NhZ2VUZW1wbGF0ZVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm1lc3NhZ2VUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8c3BhbiAqbmdJZj1cIm1lc3NhZ2VUZXh0XCI+e3sgbWVzc2FnZVRleHQgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJ0aHktYWxlcnQtb3BlcmF0aW9uXCIgKm5nSWY9XCJhbGVydE9wZXJhdGlvblwiPlxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWxlcnRPcGVyYXRpb25cIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxhIGhyZWY9XCJqYXZhc2NyaXB0OjtcIiBjbGFzcz1cInRoeS1hbGVydC1jbG9zZVwiICpuZ0lmPVwidGh5Q2xvc2VhYmxlXCIgKGNsaWNrKT1cImNsb3NlQWxlcnQoKVwiPlxuICA8dGh5LWljb24gdGh5SWNvbk5hbWU9XCJjbG9zZVwiPjwvdGh5LWljb24+XG48L2E+XG4iXX0=