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

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 (404) hide show
  1. package/CHANGELOG.md +161 -1
  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/ng-update/update-18/complete.js +0 -10
  355. package/schematics/ng-update/update-18/index.spec.js +0 -73
  356. package/schematics/ng-update/update-18/update-data.js +4 -860
  357. package/schematics/version.d.ts +1 -1
  358. package/schematics/version.js +1 -1
  359. package/segment/segment-item.component.d.ts +1 -1
  360. package/segment/segment.component.d.ts +5 -1
  361. package/select/custom-select/custom-select.component.d.ts +10 -10
  362. package/select/native-select/native-select.component.d.ts +1 -1
  363. package/shared/base-form-check.component.d.ts +2 -2
  364. package/shared/directives/thy-autofocus.directive.d.ts +2 -2
  365. package/shared/directives/thy-scroll.directive.d.ts +1 -1
  366. package/shared/directives/thy-show.d.ts +1 -1
  367. package/shared/option/group/option-group.component.d.ts +1 -1
  368. package/shared/option/list-option/list-option.component.d.ts +1 -1
  369. package/shared/option/option.component.d.ts +1 -1
  370. package/shared/option/styles/select-dropdown.scss +1 -0
  371. package/shared/select/select-control/select-control.component.d.ts +6 -6
  372. package/skeleton/skeleton-circle.component.d.ts +1 -1
  373. package/skeleton/skeleton-rectangle.component.d.ts +1 -1
  374. package/skeleton/skeleton.component.d.ts +1 -1
  375. package/skeleton/stylized/bullet-list.component.d.ts +1 -1
  376. package/skeleton/stylized/list.component.d.ts +1 -1
  377. package/skeleton/stylized/paragraph.component.d.ts +1 -1
  378. package/slide/slide-body/slide-body-section.component.d.ts +1 -1
  379. package/slider/slider.component.d.ts +2 -2
  380. package/slider/slider.scss +12 -20
  381. package/space/space.component.d.ts +1 -1
  382. package/stepper/step-header.component.d.ts +2 -2
  383. package/stepper/stepper.component.d.ts +1 -1
  384. package/styles/modules/tables.scss +20 -0
  385. package/styles/variables.scss +2 -2
  386. package/switch/switch.component.d.ts +2 -2
  387. package/table/styles/skeleton.scss +5 -0
  388. package/table/table-column.component.d.ts +5 -5
  389. package/table/table-skeleton.component.d.ts +2 -2
  390. package/table/table.component.d.ts +13 -11
  391. package/tabs/tab.component.d.ts +1 -1
  392. package/tabs/tabs.component.d.ts +2 -2
  393. package/tag/tag.component.d.ts +1 -1
  394. package/time-picker/time-picker-panel.component.d.ts +2 -2
  395. package/time-picker/time-picker.component.d.ts +5 -5
  396. package/timeline/timeline.component.d.ts +1 -1
  397. package/tooltip/tooltip.directive.d.ts +10 -2
  398. package/tree/tree-node.component.d.ts +20 -5
  399. package/tree/tree.component.d.ts +17 -7
  400. package/tree/tree.service.d.ts +1 -1
  401. package/tree-select/tree-select.component.d.ts +7 -7
  402. package/upload/file-select.component.d.ts +7 -8
  403. package/vote/vote.component.d.ts +3 -3
  404. package/watermark/watermark.directive.d.ts +1 -1
@@ -1,12 +1,12 @@
1
1
  import { ScrollToService } from 'ngx-tethys/core';
2
2
  import { THY_LIST_OPTION_PARENT_COMPONENT, ThyListOption } from 'ngx-tethys/shared';
3
- import { dom, helpers, keycodes } from 'ngx-tethys/util';
3
+ import { coerceBooleanProperty, dom, helpers, keycodes } from 'ngx-tethys/util';
4
4
  import { Subscription } from 'rxjs';
5
5
  import { startWith } from 'rxjs/operators';
6
6
  import { useHostRenderer } from '@tethys/cdk/dom';
7
7
  import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';
8
8
  import { SelectionModel } from '@angular/cdk/collections';
9
- import { booleanAttribute, ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, HostBinding, Input, NgZone, Output, QueryList, Renderer2 } from '@angular/core';
9
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, EventEmitter, forwardRef, HostBinding, Input, NgZone, Output, QueryList, Renderer2 } from '@angular/core';
10
10
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
11
11
  import * as i0 from "@angular/core";
12
12
  const listSizesMap = {
@@ -318,7 +318,7 @@ export class ThySelectionList {
318
318
  }
319
319
  }
320
320
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThySelectionList, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
321
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThySelectionList, isStandalone: true, selector: "thy-selection-list,[thy-selection-list]", inputs: { thyMultiple: ["thyMultiple", "thyMultiple", booleanAttribute], thyBindKeyEventContainer: "thyBindKeyEventContainer", thyScrollContainer: "thyScrollContainer", thyBeforeKeydown: "thyBeforeKeydown", thyUniqueKey: "thyUniqueKey", thyCompareWith: "thyCompareWith", thyLayout: "thyLayout", thyAutoActiveFirstItem: ["thyAutoActiveFirstItem", "thyAutoActiveFirstItem", booleanAttribute], thySize: "thySize", thySpaceKeyEnabled: ["thySpaceKeyEnabled", "thySpaceKeyEnabled", booleanAttribute] }, outputs: { thySelectionChange: "thySelectionChange" }, host: { properties: { "class.thy-list": "this._isList", "class.thy-selection-list": "this._isSelectionList", "class.thy-multiple-selection-list": "this.multiple", "class.thy-grid-list": "this.isLayoutGrid" } }, providers: [
321
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThySelectionList, isStandalone: true, selector: "thy-selection-list,[thy-selection-list]", inputs: { thyMultiple: ["thyMultiple", "thyMultiple", coerceBooleanProperty], thyBindKeyEventContainer: "thyBindKeyEventContainer", thyScrollContainer: "thyScrollContainer", thyBeforeKeydown: "thyBeforeKeydown", thyUniqueKey: "thyUniqueKey", thyCompareWith: "thyCompareWith", thyLayout: "thyLayout", thyAutoActiveFirstItem: ["thyAutoActiveFirstItem", "thyAutoActiveFirstItem", coerceBooleanProperty], thySize: "thySize", thySpaceKeyEnabled: ["thySpaceKeyEnabled", "thySpaceKeyEnabled", coerceBooleanProperty] }, outputs: { thySelectionChange: "thySelectionChange" }, host: { properties: { "class.thy-list": "this._isList", "class.thy-selection-list": "this._isSelectionList", "class.thy-multiple-selection-list": "this.multiple", "class.thy-grid-list": "this.isLayoutGrid" } }, providers: [
322
322
  {
323
323
  provide: THY_LIST_OPTION_PARENT_COMPONENT,
324
324
  useExisting: ThySelectionList
@@ -366,7 +366,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
366
366
  args: [ThyListOption, { descendants: true }]
367
367
  }], thyMultiple: [{
368
368
  type: Input,
369
- args: [{ transform: booleanAttribute }]
369
+ args: [{ transform: coerceBooleanProperty }]
370
370
  }], thyBindKeyEventContainer: [{
371
371
  type: Input
372
372
  }], thyScrollContainer: [{
@@ -381,13 +381,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
381
381
  type: Input
382
382
  }], thyAutoActiveFirstItem: [{
383
383
  type: Input,
384
- args: [{ transform: booleanAttribute }]
384
+ args: [{ transform: coerceBooleanProperty }]
385
385
  }], thySize: [{
386
386
  type: Input
387
387
  }], thySpaceKeyEnabled: [{
388
388
  type: Input,
389
- args: [{ transform: booleanAttribute }]
389
+ args: [{ transform: coerceBooleanProperty }]
390
390
  }], thySelectionChange: [{
391
391
  type: Output
392
392
  }] } });
393
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlzdC9zZWxlY3Rpb24vc2VsZWN0aW9uLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBaUMsZ0NBQWdDLEVBQWlCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xJLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUVILGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQU16RSxNQUFNLFlBQVksR0FBRztJQUNqQixFQUFFLEVBQUUsYUFBYTtDQUNwQixDQUFDO0FBRUY7OztHQUdHO0FBa0JILE1BQU0sT0FBTyxnQkFBZ0I7SUErQnpCOzs7T0FHRztJQUNILElBQ0ksV0FBVyxDQUFDLEtBQWM7UUFDMUIsTUFBTSxhQUFhLEdBQUcsSUFB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T0FBTyxFQUFFLGdDQUFnQzs0QkFDekMsV0FBVyxrQkFBa0I7eUJBQ2hDO3dCQUNEOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGlCQUFpQixDQUFDOzRCQUMvQyxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ25COzRKQW1Ca0MsT0FBTztzQkFBckMsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBRVksZ0JBQWdCO3NCQUF4RCxXQUFXO3VCQUFDLDBCQUEwQjtnQkFFVyxRQUFRO3NCQUF6RCxXQUFXO3VCQUFDLG1DQUFtQztnQkFFWixZQUFZO3NCQUEvQyxXQUFXO3VCQUFDLHFCQUFxQjtnQkFLcUIsT0FBTztzQkFBN0QsZUFBZTt1QkFBQyxhQUFhLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQU9qRCxXQUFXO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBYzdCLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFPRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBS0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFPTyxTQUFTO3NCQUFyQixLQUFLO2dCQVFzQyxzQkFBc0I7c0JBQWpFLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUXpCLE9BQU87c0JBQW5CLEtBQUs7Z0JBU3NDLGtCQUFrQjtzQkFBN0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFRbkIsa0JBQWtCO3NCQUFwQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2Nyb2xsVG9TZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9jb3JlJztcbmltcG9ydCB7IElUaHlMaXN0T3B0aW9uUGFyZW50Q29tcG9uZW50LCBUSFlfTElTVF9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCwgVGh5TGlzdExheW91dCwgVGh5TGlzdE9wdGlvbiB9IGZyb20gJ25neC10ZXRoeXMvc2hhcmVkJztcbmltcG9ydCB7IGRvbSwgaGVscGVycywga2V5Y29kZXMgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyB1c2VIb3N0UmVuZGVyZXIgfSBmcm9tICdAdGV0aHlzL2Nkay9kb20nO1xuaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFRoeVNlbGVjdGlvbkxpc3RDaGFuZ2UgfSBmcm9tICcuL3NlbGVjdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQgdHlwZSBUaHlMaXN0U2l6ZSA9ICdzbScgfCAnbWQnIHwgJ2xnJztcblxuY29uc3QgbGlzdFNpemVzTWFwID0ge1xuICAgIHNtOiAndGh5LWxpc3Qtc20nXG59O1xuXG4vKipcbiAqIEBuYW1lIHRoeS1zZWxlY3Rpb24tbGlzdCxbdGh5LXNlbGVjdGlvbi1saXN0XVxuICogQG9yZGVyIDIwXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndGh5LXNlbGVjdGlvbi1saXN0LFt0aHktc2VsZWN0aW9uLWxpc3RdJyxcbiAgICB0ZW1wbGF0ZTogJzxuZy1jb250ZW50PjwvbmctY29udGVudD4nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUSFlfTElTVF9PUFRJT05fUEFSRU5UX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBUaHlTZWxlY3Rpb25MaXN0XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVGh5U2VsZWN0aW9uTGlzdCksXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICB9XG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeVNlbGVjdGlvbkxpc3QgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCwgSVRoeUxpc3RPcHRpb25QYXJlbnRDb21wb25lbnQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgICBwcml2YXRlIF9rZXlNYW5hZ2VyOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxUaHlMaXN0T3B0aW9uPjtcblxuICAgIHByaXZhdGUgX3NlbGVjdGlvbkNoYW5nZXNVbnN1YnNjcmliZSQgPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgICBwcml2YXRlIF9iaW5kS2V5RXZlbnRVbnN1YnNjcmliZTogKCkgPT4gdm9pZDtcblxuICAgIHByaXZhdGUgX21vZGVsVmFsdWVzOiBhbnlbXTtcblxuICAgIHByaXZhdGUgaG9zdFJlbmRlcmVyID0gdXNlSG9zdFJlbmRlcmVyKCk7XG5cbiAgICAvKiogVGhlIGN1cnJlbnRseSBzZWxlY3RlZCBvcHRpb25zLiAqL1xuICAgIHNlbGVjdGlvbk1vZGVsOiBTZWxlY3Rpb25Nb2RlbDxhbnk+O1xuXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBsYXlvdXQ6IFRoeUxpc3RMYXlvdXQgPSAnbGlzdCc7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS1saXN0YCkgX2lzTGlzdCA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS1zZWxlY3Rpb24tbGlzdGApIF9pc1NlbGVjdGlvbkxpc3QgPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKGBjbGFzcy50aHktbXVsdGlwbGUtc2VsZWN0aW9uLWxpc3RgKSBtdWx0aXBsZSA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS1ncmlkLWxpc3RgKSBpc0xheW91dEdyaWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBpbnRlcm5hbFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oVGh5TGlzdE9wdGlvbiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBvcHRpb25zOiBRdWVyeUxpc3Q8VGh5TGlzdE9wdGlvbj47XG5cbiAgICAvKipcbiAgICAgKiDmlLnlj5ggZ3JpZCBpdGVtIOeahOmAieaLqeaooeW8j++8jOS9v+WFtuaUr+aMgeWkmumAiVxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5TXVsdGlwbGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IHRoaXMubXVsdGlwbGU7XG4gICAgICAgIHRoaXMubXVsdGlwbGUgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHByZXZpb3VzVmFsdWUgIT09IHRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlU2VsZWN0aW9uTW9kZWwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOe7keWumumUruebmOS6i+S7tueahOWuueWZqFxuICAgICAqIEB0eXBlIEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IHN0cmluZ1xuICAgICAqIEBkZWZhdWx0IHRoeS1zZWxlY3Rpb24tbGlzdCDnu4Tku7bnu5HlrprnmoTlhYPntKBcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlCaW5kS2V5RXZlbnRDb250YWluZXI6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOWHuueOsOa7muWKqOadoeeahOWuueWZqFxuICAgICAqIEB0eXBlIEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IHN0cmluZ1xuICAgICAqIEBkZWZhdWx0IHRoeS1zZWxlY3Rpb24tbGlzdCDnu4Tku7bnu5HlrprnmoTlhYPntKBcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlTY3JvbGxDb250YWluZXI6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOmUruebmOS6i+S7tuinpuWPkSBCZWZvcmUg6LCD55So77yM5aaC5p6c6L+U5ZueIGZhbHNlIOWImeWBnOatoue7p+e7reaJp+ihjFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeUJlZm9yZUtleWRvd246IChldmVudD86IEtleWJvYXJkRXZlbnQpID0+IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBPcHRpb24gVmFsdWUg5ZSv5LiA55qEIEtlee+8jOeUqOS6juWtmOWCqOWTquS6m+mAieaLqeiiq+mAieS4reeahOWUr+S4gOWAvO+8jOWPquaciSBPcHRpb24g55qEIHRoeVZhbHVlIOaYr+WvueixoeeahOaXtuaJjeWPr+S7peS8oOWFpeivpemAiemhuVxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVVuaXF1ZUtleTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog5q+U6L6DMuS4qumAiemhueeahCBWYWx1ZSDmmK/lkKbnm7jlkIxcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlDb21wYXJlV2l0aDogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBncmlkIGl0ZW0g55qE5bGV56S65qC35byPXG4gICAgICogQHR5cGUgbGlzdCB8IGdyaWRcbiAgICAgKiBAZGVmYXVsdCBsaXN0XG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IHRoeUxheW91dCh2YWx1ZTogVGh5TGlzdExheW91dCkge1xuICAgICAgICB0aGlzLmxheW91dCA9IHZhbHVlO1xuICAgICAgICB0aGlzLmlzTGF5b3V0R3JpZCA9IHZhbHVlID09PSAnZ3JpZCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm6Ieq5Yqo5r+A5rS756ys5LiA6aG5XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNldCB0aHlBdXRvQWN0aXZlRmlyc3RJdGVtKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYXV0b0FjdGl2ZUZpcnN0SXRlbSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaUueWPmCBncmlkIGl0ZW0g55qE5aSn5bCP77yM5pSv5oyB6buY6K6k5Lul5Y+KIHNtIOS4pOenjeWkp+Wwj1xuICAgICAqIEB0eXBlIHNtIHwgbWQgfCBsZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlTaXplKHZhbHVlOiBUaHlMaXN0U2l6ZSkge1xuICAgICAgICB0aGlzLl9zZXRMaXN0U2l6ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzcGFjZUVuYWJsZWQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5oyJ5LiL56m65qC85YiH5o2i6IGa54Sm6YCJ6aG5XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNldCB0aHlTcGFjZUtleUVuYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zcGFjZUVuYWJsZWQgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmr4/lvZPpgInpobnnmoTpgInlrprnirbmgIHlj5HnlJ/mm7TmlLnml7bvvIzpg73kvJrop6blj5Hmm7TmlLnkuovku7ZcbiAgICAgKiBAdHlwZSBFdmVudEVtaXR0ZXI8VGh5U2VsZWN0aW9uTGlzdENoYW5nZT5cbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgcmVhZG9ubHkgdGh5U2VsZWN0aW9uQ2hhbmdlOiBFdmVudEVtaXR0ZXI8VGh5U2VsZWN0aW9uTGlzdENoYW5nZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRoeVNlbGVjdGlvbkxpc3RDaGFuZ2U+KCk7XG5cbiAgICBwcml2YXRlIGF1dG9BY3RpdmVGaXJzdEl0ZW06IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIF9vblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAgIHByaXZhdGUgX29uQ2hhbmdlOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9IChfOiBhbnkpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBfZW1pdENoYW5nZUV2ZW50KG9wdGlvbjogVGh5TGlzdE9wdGlvbiwgZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMudGh5U2VsZWN0aW9uQ2hhbmdlLmVtaXQoe1xuICAgICAgICAgICAgc291cmNlOiB0aGlzLFxuICAgICAgICAgICAgdmFsdWU6IG9wdGlvbi50aHlWYWx1ZSxcbiAgICAgICAgICAgIG9wdGlvbjogb3B0aW9uLFxuICAgICAgICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IHRoaXMuaXNTZWxlY3RlZChvcHRpb24pXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2VtaXRNb2RlbFZhbHVlQ2hhbmdlKCkge1xuICAgICAgICBpZiAodGhpcy5vcHRpb25zKSB7XG4gICAgICAgICAgICBsZXQgc2VsZWN0ZWRWYWx1ZXMgPSB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdGVkO1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5VW5pcXVlS2V5KSB7XG4gICAgICAgICAgICAgICAgc2VsZWN0ZWRWYWx1ZXMgPSBzZWxlY3RlZFZhbHVlcy5tYXAoc2VsZWN0ZWRWYWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkT3B0aW9uID0gdGhpcy5vcHRpb25zLmZpbmQob3B0aW9uID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udGh5VmFsdWVbdGhpcy50aHlVbmlxdWVLZXldID09PSBzZWxlY3RlZFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkT3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRPcHRpb24udGh5VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbW9kZWxWYWx1ZXMuZmluZCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlW3RoaXMudGh5VW5pcXVlS2V5XSA9PT0gc2VsZWN0ZWRWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9tb2RlbFZhbHVlcyA9IHNlbGVjdGVkVmFsdWVzO1xuICAgICAgICAgICAgbGV0IGNoYW5nZVZhbHVlID0gc2VsZWN0ZWRWYWx1ZXM7XG4gICAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgc2VsZWN0ZWRWYWx1ZXMgJiYgc2VsZWN0ZWRWYWx1ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNoYW5nZVZhbHVlID0gc2VsZWN0ZWRWYWx1ZXNbMF07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9vbkNoYW5nZShjaGFuZ2VWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF90b2dnbGVGb2N1c2VkT3B0aW9uKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50b2dnbGVPcHRpb24odGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtLCBldmVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2luaXRpYWxpemVGb2N1c0tleU1hbmFnZXIoKSB7XG4gICAgICAgIHRoaXMuX2tleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXI8VGh5TGlzdE9wdGlvbj4odGhpcy5vcHRpb25zKVxuICAgICAgICAgICAgLndpdGhXcmFwKClcbiAgICAgICAgICAgIC8vIC53aXRoVHlwZUFoZWFkKClcbiAgICAgICAgICAgIC8vIEFsbG93IGRpc2FibGVkIGl0ZW1zIHRvIGJlIGZvY3VzYWJsZS4gRm9yIGFjY2Vzc2liaWxpdHkgcmVhc29ucywgdGhlcmUgbXVzdCBiZSBhIHdheSBmb3JcbiAgICAgICAgICAgIC8vIHNjcmVlbnJlYWRlciB1c2VycywgdGhhdCBhbGxvd3MgcmVhZGluZyB0aGUgZGlmZmVyZW50IG9wdGlvbnMgb2YgdGhlIGxpc3QuXG4gICAgICAgICAgICAuc2tpcFByZWRpY2F0ZSgoKSA9PiBmYWxzZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaW5zdGFuY2VTZWxlY3Rpb25Nb2RlbCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbCA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxhbnk+KHRoaXMubXVsdGlwbGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2dldEVsZW1lbnRCeVNlbGVjdG9yKGVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgRWxlbWVudFJlZiB8IHN0cmluZyk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIGRvbS5nZXRIVE1MRWxlbWVudEJ5U2VsZWN0b3IoZWxlbWVudCwgdGhpcy5lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jb21wYXJlVmFsdWUodmFsdWUxOiBhbnksIHZhbHVlMjogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLnRoeUNvbXBhcmVXaXRoKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wYXJlRm4gPSB0aGlzLnRoeUNvbXBhcmVXaXRoIGFzIChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuO1xuICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmVGbih2YWx1ZTEsIHZhbHVlMik7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy50aHlVbmlxdWVLZXkpIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTEgJiYgdmFsdWUxW3RoaXMudGh5VW5pcXVlS2V5XSA9PT0gdmFsdWUyICYmIHZhbHVlMlt0aGlzLnRoeVVuaXF1ZUtleV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWUxID09PSB2YWx1ZTI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRPcHRpb25TZWxlY3Rpb25WYWx1ZShvcHRpb246IFRoeUxpc3RPcHRpb24pIHtcbiAgICAgICAgaWYgKG9wdGlvbi50aHlWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudGh5VW5pcXVlS2V5ID8gb3B0aW9uLnRoeVZhbHVlW3RoaXMudGh5VW5pcXVlS2V5XSA6IG9wdGlvbi50aHlWYWx1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvcHRpb247XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRTZWxlY3Rpb25CeVZhbHVlcyh2YWx1ZXM6IGFueVtdKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuY2xlYXIoKTtcbiAgICAgICAgdmFsdWVzLmZvckVhY2godmFsdWUgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudGh5VW5pcXVlS2V5KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3QodmFsdWVbdGhpcy50aHlVbmlxdWVLZXldKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3QodmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRBbGxPcHRpb25zU2VsZWN0ZWQodG9Jc1NlbGVjdGVkOiBib29sZWFuKSB7XG4gICAgICAgIC8vIEtlZXAgdHJhY2sgb2Ygd2hldGhlciBhbnl0aGluZyBjaGFuZ2VkLCBiZWNhdXNlIHdlIG9ubHkgd2FudCB0b1xuICAgICAgICAvLyBlbWl0IHRoZSBjaGFuZ2VkIGV2ZW50IHdoZW4gc29tZXRoaW5nIGFjdHVhbGx5IGNoYW5nZWQuXG4gICAgICAgIGxldCBoYXNDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5vcHRpb25zLmZvckVhY2gob3B0aW9uID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZyb21Jc1NlbGVjdGVkID0gdGhpcy5zZWxlY3Rpb25Nb2RlbC5pc1NlbGVjdGVkKG9wdGlvbi50aHlWYWx1ZSk7XG4gICAgICAgICAgICBpZiAoZnJvbUlzU2VsZWN0ZWQgIT09IHRvSXNTZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIGhhc0NoYW5nZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwudG9nZ2xlKG9wdGlvbi50aHlWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChoYXNDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9lbWl0TW9kZWxWYWx1ZUNoYW5nZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0T3B0aW9uQnlWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZmluZChvcHRpb24gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBhcmVWYWx1ZShvcHRpb24udGh5VmFsdWUsIHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0QWN0aXZlT3B0aW9uKCkge1xuICAgICAgICBpZiAodGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZ2V0T3B0aW9uQnlWYWx1ZSh0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0udGh5VmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZXRMaXN0U2l6ZShzaXplOiBUaHlMaXN0U2l6ZSkge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBsaXN0U2l6ZXNNYXApIHtcbiAgICAgICAgICAgIGlmIChsaXN0U2l6ZXNNYXAuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaG9zdFJlbmRlcmVyLnJlbW92ZUNsYXNzKGxpc3RTaXplc01hcFtrZXldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoc2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIuYWRkQ2xhc3MobGlzdFNpemVzTWFwW3NpemVdKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgY29uc3QgYmluZEtleUV2ZW50RWxlbWVudCA9IHRoaXMuX2dldEVsZW1lbnRCeVNlbGVjdG9yKHRoaXMudGh5QmluZEtleUV2ZW50Q29udGFpbmVyKTtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fYmluZEtleUV2ZW50VW5zdWJzY3JpYmUgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbihiaW5kS2V5RXZlbnRFbGVtZW50LCAna2V5ZG93bicsIHRoaXMub25LZXlkb3duLmJpbmQodGhpcykpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5faW5zdGFuY2VTZWxlY3Rpb25Nb2RlbCgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueVtdIHwgYW55KTogdm9pZCB7XG4gICAgICAgIGlmICgodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgIWhlbHBlcnMuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBtdWx0aXBsZSBzZWxlY3Rpb24gbmdNb2RlbCBtdXN0IGJlIGFuIGFycmF5LmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF0aGlzLm11bHRpcGxlICYmIGhlbHBlcnMuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBzaW5nbGUgc2VsZWN0aW9uIG5nTW9kZWwgc2hvdWxkIG5vdCBiZSBhbiBhcnJheS5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCB2YWx1ZXMgPSBoZWxwZXJzLmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiB2YWx1ZSA/IFt2YWx1ZV0gOiBbXTtcbiAgICAgICAgdGhpcy5fbW9kZWxWYWx1ZXMgPSB2YWx1ZXM7XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldFNlbGVjdGlvbkJ5VmFsdWVzKHZhbHVlcyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX29uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB9XG5cbiAgICBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5QmVmb3JlS2V5ZG93bikge1xuICAgICAgICAgICAgLy8gc3RvcCBrZXkgZG93biBldmVudFxuICAgICAgICAgICAgY29uc3QgaXNDb250aW51ZSA9IHRoaXMudGh5QmVmb3JlS2V5ZG93bihldmVudCk7XG4gICAgICAgICAgICBpZiAoIWlzQ29udGludWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qga2V5Q29kZSA9IGV2ZW50LmtleUNvZGUgfHwgZXZlbnQud2hpY2g7XG4gICAgICAgIGNvbnN0IG1hbmFnZXIgPSB0aGlzLl9rZXlNYW5hZ2VyO1xuICAgICAgICBjb25zdCBwcmV2aW91c0ZvY3VzSW5kZXggPSBtYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleDtcblxuICAgICAgICBzd2l0Y2ggKGtleUNvZGUpIHtcbiAgICAgICAgICAgIGNhc2Uga2V5Y29kZXMuU1BBQ0U6XG4gICAgICAgICAgICBjYXNlIGtleWNvZGVzLkVOVEVSOlxuICAgICAgICAgICAgICAgIGlmIChrZXlDb2RlID09PSBrZXljb2Rlcy5TUEFDRSAmJiAhdGhpcy5zcGFjZUVuYWJsZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLl90b2dnbGVGb2N1c2VkT3B0aW9uKGV2ZW50KTtcbiAgICAgICAgICAgICAgICAvLyBBbHdheXMgcHJldmVudCBzcGFjZSBmcm9tIHNjcm9sbGluZyB0aGUgcGFnZSBzaW5jZSB0aGUgbGlzdCBoYXMgZm9jdXNcbiAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBtYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKGtleUNvZGUgPT09IGtleWNvZGVzLlVQX0FSUk9XIHx8IGtleUNvZGUgPT09IGtleWNvZGVzLkRPV05fQVJST1cpICYmXG4gICAgICAgICAgICBldmVudC5zaGlmdEtleSAmJlxuICAgICAgICAgICAgbWFuYWdlci5hY3RpdmVJdGVtSW5kZXggIT09IHByZXZpb3VzRm9jdXNJbmRleFxuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuX3RvZ2dsZUZvY3VzZWRPcHRpb24oZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlT3B0aW9uKG9wdGlvbjogVGh5TGlzdE9wdGlvbiwgZXZlbnQ/OiBFdmVudCkge1xuICAgICAgICBpZiAob3B0aW9uICYmICFvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwudG9nZ2xlKHRoaXMuX2dldE9wdGlvblNlbGVjdGlvblZhbHVlKG9wdGlvbikpO1xuICAgICAgICAgICAgLy8gRW1pdCBhIGNoYW5nZSBldmVudCBiZWNhdXNlIHRoZSBmb2N1c2VkIG9wdGlvbiBjaGFuZ2VkIGl0cyBzdGF0ZSB0aHJvdWdoIHVzZXJcbiAgICAgICAgICAgIC8vIGludGVyYWN0aW9uLlxuICAgICAgICAgICAgdGhpcy5fZW1pdE1vZGVsVmFsdWVDaGFuZ2UoKTtcbiAgICAgICAgICAgIHRoaXMuX2VtaXRDaGFuZ2VFdmVudChvcHRpb24sIGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldEFjdGl2ZU9wdGlvbihvcHRpb246IFRoeUxpc3RPcHRpb24pIHtcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKG9wdGlvbik7IC8vIC51cGRhdGVBY3RpdmVJdGVtSW5kZXgodGhpcy5fZ2V0T3B0aW9uSW5kZXgob3B0aW9uKSk7XG4gICAgfVxuXG4gICAgc2Nyb2xsSW50b1ZpZXcob3B0aW9uOiBUaHlMaXN0T3B0aW9uKSB7XG4gICAgICAgIGNvbnN0IHNjcm9sbENvbnRhaW5lckVsZW1lbnQgPSBkb20uZ2V0SFRNTEVsZW1lbnRCeVNlbGVjdG9yKHRoaXMudGh5U2Nyb2xsQ29udGFpbmVyLCB0aGlzLmVsZW1lbnRSZWYpO1xuICAgICAgICBTY3JvbGxUb1NlcnZpY2Uuc2Nyb2xsVG9FbGVtZW50KG9wdGlvbi5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIHNjcm9sbENvbnRhaW5lckVsZW1lbnQpO1xuICAgIH1cblxuICAgIGlzU2VsZWN0ZWQob3B0aW9uOiBUaHlMaXN0T3B0aW9uKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQodGhpcy5fZ2V0T3B0aW9uU2VsZWN0aW9uVmFsdWUob3B0aW9uKSk7XG4gICAgfVxuXG4gICAgY2xlYXJBY3RpdmVJdGVtKCkge1xuICAgICAgICBpZiAodGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oLTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGV0ZXJtaW5lQ2xlYXJBY3RpdmVJdGVtKCkge1xuICAgICAgICBpZiAoIXRoaXMuX2dldEFjdGl2ZU9wdGlvbigpKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyQWN0aXZlSXRlbSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNlbGVjdHMgYWxsIG9mIHRoZSBvcHRpb25zLiAqL1xuICAgIHNlbGVjdEFsbCgpIHtcbiAgICAgICAgdGhpcy5fc2V0QWxsT3B0aW9uc1NlbGVjdGVkKHRydWUpO1xuICAgIH1cblxuICAgIC8qKiBEZXNlbGVjdHMgYWxsIG9mIHRoZSBvcHRpb25zLiAqL1xuICAgIGRlc2VsZWN0QWxsKCkge1xuICAgICAgICB0aGlzLl9zZXRBbGxPcHRpb25zU2VsZWN0ZWQoZmFsc2UpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faW5pdGlhbGl6ZUZvY3VzS2V5TWFuYWdlcigpO1xuICAgICAgICB0aGlzLm9wdGlvbnMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0cnVlKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmF1dG9BY3RpdmVGaXJzdEl0ZW0pIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuX2tleU1hbmFnZXIuYWN0aXZlSXRlbSB8fCB0aGlzLm9wdGlvbnMudG9BcnJheSgpLmluZGV4T2YodGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtKSA8IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fa2V5TWFuYWdlci5zZXRGaXJzdEl0ZW1BY3RpdmUoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl9zZWxlY3Rpb25DaGFuZ2VzVW5zdWJzY3JpYmUkLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIGlmICh0aGlzLl9iaW5kS2V5RXZlbnRVbnN1YnNjcmliZSkge1xuICAgICAgICAgICAgdGhpcy5fYmluZEtleUV2ZW50VW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
393
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGlzdC9zZWxlY3Rpb24vc2VsZWN0aW9uLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBaUMsZ0NBQWdDLEVBQWlCLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xJLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUVILHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUNMLE1BQU0sRUFHTixNQUFNLEVBQ04sU0FBUyxFQUNULFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTXpFLE1BQU0sWUFBWSxHQUFHO0lBQ2pCLEVBQUUsRUFBRSxhQUFhO0NBQ3BCLENBQUM7QUFFRjs7O0dBR0c7QUFrQkgsTUFBTSxPQUFPLGdCQUFnQjtJQStCekI7OztPQUdHO0lBQ0gsSUFDSSxXQUFXLENBQUMsS0FBYztRQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksYUFBYSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0wsQ0FBQztJQStCRDs7OztPQUlHO0lBQ0gsSUFBYSxTQUFTLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLEtBQUssTUFBTSxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQWlELHNCQUFzQixDQUFDLEtBQWM7UUFDbEYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBYSxPQUFPLENBQUMsS0FBa0I7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBSUQ7O09BRUc7SUFDSCxJQUFpRCxrQkFBa0IsQ0FBQyxLQUFjO1FBQzlFLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFjTyxnQkFBZ0IsQ0FBQyxNQUFxQixFQUFFLEtBQVk7UUFDeEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQztZQUN6QixNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN0QixNQUFNLEVBQUUsTUFBTTtZQUNkLEtBQUssRUFBRSxLQUFLO1lBQ1osUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZixJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztZQUNsRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDcEIsY0FBYyxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEVBQUU7b0JBQ2hELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO3dCQUM5QyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLGFBQWEsQ0FBQztvQkFDaEUsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsSUFBSSxjQUFjLEVBQUUsQ0FBQzt3QkFDakIsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDO29CQUNuQyxDQUFDO3lCQUFNLENBQUM7d0JBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTs0QkFDbEMsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLGFBQWEsQ0FBQzt3QkFDdEQsQ0FBQyxDQUFDLENBQUM7b0JBQ1AsQ0FBQztnQkFDTCxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQztZQUNuQyxJQUFJLFdBQVcsR0FBRyxjQUFjLENBQUM7WUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksY0FBYyxJQUFJLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hFLFdBQVcsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEMsQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEMsQ0FBQztJQUNMLENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxLQUFvQjtRQUM3QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFELENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFTywwQkFBMEI7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLDBCQUEwQixDQUFnQixJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3pFLFFBQVEsRUFBRTtZQUNYLG1CQUFtQjtZQUNuQiwyRkFBMkY7WUFDM0YsNkVBQTZFO2FBQzVFLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU8sdUJBQXVCO1FBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxPQUEwQztRQUNwRSxPQUFPLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTyxhQUFhLENBQUMsTUFBVyxFQUFFLE1BQVc7UUFDMUMsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQStDLENBQUM7WUFDdkUsT0FBTyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMzQixPQUFPLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZGLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxNQUFNLEtBQUssTUFBTSxDQUFDO1FBQzdCLENBQUM7SUFDTCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsTUFBcUI7UUFDbEQsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNwRixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7SUFDTCxDQUFDO0lBRU8scUJBQXFCLENBQUMsTUFBYTtRQUN2QyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUN6RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFlBQXFCO1FBQ2hELGtFQUFrRTtRQUNsRSwwREFBMEQ7UUFDMUQsSUFBSSxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXZCLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzFCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN2RSxJQUFJLGNBQWMsS0FBSyxZQUFZLEVBQUUsQ0FBQztnQkFDbEMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDbEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2hELENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksVUFBVSxFQUFFLENBQUM7WUFDYixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQVU7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM5QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztJQUNMLENBQUM7SUFFTyxZQUFZLENBQUMsSUFBaUI7UUFDbEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUM3QixJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1AsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUNZLFFBQW1CLEVBQ25CLFVBQXNCLEVBQ3RCLE1BQWMsRUFDZCxpQkFBb0M7UUFIcEMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBOVB4QyxrQ0FBNkIsR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDO1FBTW5ELGlCQUFZLEdBQUcsZUFBZSxFQUFFLENBQUM7UUFPekMsV0FBTSxHQUFrQixNQUFNLENBQUM7UUFFQSxZQUFPLEdBQUcsSUFBSSxDQUFDO1FBRUwscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBRWYsYUFBUSxHQUFHLElBQUksQ0FBQztRQUU5QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQTBFakQsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFTNUI7OztXQUdHO1FBQ2dCLHVCQUFrQixHQUF5QyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUlqSCxlQUFVLEdBQWUsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRWxDLGNBQVMsR0FBeUIsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztJQTZJdEQsQ0FBQztJQUVKLFFBQVE7UUFDSixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEgsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWtCO1FBQ3pCLElBQUksQ0FBQyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksU0FBUyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDM0QsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7WUFDeEUsQ0FBQztZQUNELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO1lBQzVFLENBQUM7UUFDTCxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyRSxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztRQUMzQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3JCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQW9CO1FBQzFCLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsc0JBQXNCO1lBQ3RCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoRCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2QsT0FBTztZQUNYLENBQUM7UUFDTCxDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQzdDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDakMsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDO1FBRW5ELFFBQVEsT0FBTyxFQUFFLENBQUM7WUFDZCxLQUFLLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDcEIsS0FBSyxRQUFRLENBQUMsS0FBSztnQkFDZixJQUFJLE9BQU8sS0FBSyxRQUFRLENBQUMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUNuRCxPQUFPO2dCQUNYLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqQyx3RUFBd0U7Z0JBQ3hFLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdkIsTUFBTTtZQUNWO2dCQUNJLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQztRQUNELElBQ0ksQ0FBQyxPQUFPLEtBQUssUUFBUSxDQUFDLFFBQVEsSUFBSSxPQUFPLEtBQUssUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUNsRSxLQUFLLENBQUMsUUFBUTtZQUNkLE9BQU8sQ0FBQyxlQUFlLEtBQUssa0JBQWtCLEVBQ2hELENBQUM7WUFDQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBcUIsRUFBRSxLQUFhO1FBQzdDLElBQUksTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2xFLGdGQUFnRjtZQUNoRixlQUFlO1lBQ2YsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFxQjtRQUNqQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsd0RBQXdEO0lBQ3ZHLENBQUM7SUFFRCxjQUFjLENBQUMsTUFBcUI7UUFDaEMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN0RyxlQUFlLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFxQjtRQUM1QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7SUFFRCx3QkFBd0I7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsa0NBQWtDO0lBQ2xDLFNBQVM7UUFDTCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELG9DQUFvQztJQUNwQyxXQUFXO1FBQ1AsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN0RCxJQUFJLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDbEcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxQyxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsNkJBQTZCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztRQUNwQyxDQUFDO0lBQ0wsQ0FBQzs4R0F4WVEsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsaUlBbUNMLHFCQUFxQiw4U0FtRHJCLHFCQUFxQix3RkFpQnJCLHFCQUFxQiwwUkFySDlCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLGdDQUFnQztnQkFDekMsV0FBVyxFQUFFLGdCQUFnQjthQUNoQztZQUNEO2dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUM7Z0JBQy9DLEtBQUssRUFBRSxJQUFJO2FBQ2Q7U0FDSixrREFpQ2dCLGFBQWEsZ0RBNUNwQiwyQkFBMkI7OzJGQWU1QixnQkFBZ0I7a0JBakI1QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx5Q0FBeUM7b0JBQ25ELFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsZ0NBQWdDOzRCQUN6QyxXQUFXLGtCQUFrQjt5QkFDaEM7d0JBQ0Q7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7NEJBQy9DLEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7NEpBbUJrQyxPQUFPO3NCQUFyQyxXQUFXO3VCQUFDLGdCQUFnQjtnQkFFWSxnQkFBZ0I7c0JBQXhELFdBQVc7dUJBQUMsMEJBQTBCO2dCQUVXLFFBQVE7c0JBQXpELFdBQVc7dUJBQUMsbUNBQW1DO2dCQUVaLFlBQVk7c0JBQS9DLFdBQVc7dUJBQUMscUJBQXFCO2dCQUtxQixPQUFPO3NCQUE3RCxlQUFlO3VCQUFDLGFBQWEsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7Z0JBT2pELFdBQVc7c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFjbEMsd0JBQXdCO3NCQUFoQyxLQUFLO2dCQU9HLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csWUFBWTtzQkFBcEIsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQU9PLFNBQVM7c0JBQXJCLEtBQUs7Z0JBUTJDLHNCQUFzQjtzQkFBdEUsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFROUIsT0FBTztzQkFBbkIsS0FBSztnQkFTMkMsa0JBQWtCO3NCQUFsRSxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVF4QixrQkFBa0I7c0JBQXBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY3JvbGxUb1NlcnZpY2UgfSBmcm9tICduZ3gtdGV0aHlzL2NvcmUnO1xuaW1wb3J0IHsgSVRoeUxpc3RPcHRpb25QYXJlbnRDb21wb25lbnQsIFRIWV9MSVNUX09QVElPTl9QQVJFTlRfQ09NUE9ORU5ULCBUaHlMaXN0TGF5b3V0LCBUaHlMaXN0T3B0aW9uIH0gZnJvbSAnbmd4LXRldGh5cy9zaGFyZWQnO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5LCBkb20sIGhlbHBlcnMsIGtleWNvZGVzIH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdXNlSG9zdFJlbmRlcmVyIH0gZnJvbSAnQHRldGh5cy9jZGsvZG9tJztcbmltcG9ydCB7IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgU2VsZWN0aW9uTW9kZWwgfSBmcm9tICdAYW5ndWxhci9jZGsvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVGh5U2VsZWN0aW9uTGlzdENoYW5nZSB9IGZyb20gJy4vc2VsZWN0aW9uLmludGVyZmFjZSc7XG5cbmV4cG9ydCB0eXBlIFRoeUxpc3RTaXplID0gJ3NtJyB8ICdtZCcgfCAnbGcnO1xuXG5jb25zdCBsaXN0U2l6ZXNNYXAgPSB7XG4gICAgc206ICd0aHktbGlzdC1zbSdcbn07XG5cbi8qKlxuICogQG5hbWUgdGh5LXNlbGVjdGlvbi1saXN0LFt0aHktc2VsZWN0aW9uLWxpc3RdXG4gKiBAb3JkZXIgMjBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktc2VsZWN0aW9uLWxpc3QsW3RoeS1zZWxlY3Rpb24tbGlzdF0nLFxuICAgIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRIWV9MSVNUX09QVElPTl9QQVJFTlRfQ09NUE9ORU5ULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IFRoeVNlbGVjdGlvbkxpc3RcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaHlTZWxlY3Rpb25MaXN0KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5U2VsZWN0aW9uTGlzdCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlckNvbnRlbnRJbml0LCBJVGh5TGlzdE9wdGlvblBhcmVudENvbXBvbmVudCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIHByaXZhdGUgX2tleU1hbmFnZXI6IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyPFRoeUxpc3RPcHRpb24+O1xuXG4gICAgcHJpdmF0ZSBfc2VsZWN0aW9uQ2hhbmdlc1Vuc3Vic2NyaWJlJCA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcblxuICAgIHByaXZhdGUgX2JpbmRLZXlFdmVudFVuc3Vic2NyaWJlOiAoKSA9PiB2b2lkO1xuXG4gICAgcHJpdmF0ZSBfbW9kZWxWYWx1ZXM6IGFueVtdO1xuXG4gICAgcHJpdmF0ZSBob3N0UmVuZGVyZXIgPSB1c2VIb3N0UmVuZGVyZXIoKTtcblxuICAgIC8qKiBUaGUgY3VycmVudGx5IHNlbGVjdGVkIG9wdGlvbnMuICovXG4gICAgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPGFueT47XG5cbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIGxheW91dDogVGh5TGlzdExheW91dCA9ICdsaXN0JztcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LWxpc3RgKSBfaXNMaXN0ID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LXNlbGVjdGlvbi1saXN0YCkgX2lzU2VsZWN0aW9uTGlzdCA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoYGNsYXNzLnRoeS1tdWx0aXBsZS1zZWxlY3Rpb24tbGlzdGApIG11bHRpcGxlID0gdHJ1ZTtcblxuICAgIEBIb3N0QmluZGluZyhgY2xhc3MudGh5LWdyaWQtbGlzdGApIGlzTGF5b3V0R3JpZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGludGVybmFsXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihUaHlMaXN0T3B0aW9uLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIG9wdGlvbnM6IFF1ZXJ5TGlzdDxUaHlMaXN0T3B0aW9uPjtcblxuICAgIC8qKlxuICAgICAqIOaUueWPmCBncmlkIGl0ZW0g55qE6YCJ5oup5qih5byP77yM5L2/5YW25pSv5oyB5aSa6YCJXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeU11bHRpcGxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSB0aGlzLm11bHRpcGxlO1xuICAgICAgICB0aGlzLm11bHRpcGxlID0gdmFsdWU7XG4gICAgICAgIGlmIChwcmV2aW91c1ZhbHVlICE9PSB0aGlzLm11bHRpcGxlKSB7XG4gICAgICAgICAgICB0aGlzLl9pbnN0YW5jZVNlbGVjdGlvbk1vZGVsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDnu5HlrprplK7nm5jkuovku7bnmoTlrrnlmahcbiAgICAgKiBAdHlwZSBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBzdHJpbmdcbiAgICAgKiBAZGVmYXVsdCB0aHktc2VsZWN0aW9uLWxpc3Qg57uE5Lu257uR5a6a55qE5YWD57SgXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5QmluZEtleUV2ZW50Q29udGFpbmVyOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDlh7rnjrDmu5rliqjmnaHnmoTlrrnlmahcbiAgICAgKiBAdHlwZSBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBzdHJpbmdcbiAgICAgKiBAZGVmYXVsdCB0aHktc2VsZWN0aW9uLWxpc3Qg57uE5Lu257uR5a6a55qE5YWD57SgXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5U2Nyb2xsQ29udGFpbmVyOiBIVE1MRWxlbWVudCB8IEVsZW1lbnRSZWYgfCBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDplK7nm5jkuovku7bop6blj5EgQmVmb3JlIOiwg+eUqO+8jOWmguaenOi/lOWbniBmYWxzZSDliJnlgZzmraLnu6fnu63miafooYxcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlCZWZvcmVLZXlkb3duOiAoZXZlbnQ/OiBLZXlib2FyZEV2ZW50KSA9PiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogT3B0aW9uIFZhbHVlIOWUr+S4gOeahCBLZXnvvIznlKjkuo7lrZjlgqjlk6rkupvpgInmi6nooqvpgInkuK3nmoTllK/kuIDlgLzvvIzlj6rmnIkgT3B0aW9uIOeahCB0aHlWYWx1ZSDmmK/lr7nosaHnmoTml7bmiY3lj6/ku6XkvKDlhaXor6XpgInpoblcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlVbmlxdWVLZXk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIOavlOi+gzLkuKrpgInpobnnmoQgVmFsdWUg5piv5ZCm55u45ZCMXG4gICAgICovXG4gICAgQElucHV0KCkgdGh5Q29tcGFyZVdpdGg6IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogZ3JpZCBpdGVtIOeahOWxleekuuagt+W8j1xuICAgICAqIEB0eXBlIGxpc3QgfCBncmlkXG4gICAgICogQGRlZmF1bHQgbGlzdFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlMYXlvdXQodmFsdWU6IFRoeUxpc3RMYXlvdXQpIHtcbiAgICAgICAgdGhpcy5sYXlvdXQgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5pc0xheW91dEdyaWQgPSB2YWx1ZSA9PT0gJ2dyaWQnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuiHquWKqOa/gOa0u+esrOS4gOmhuVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pIHNldCB0aHlBdXRvQWN0aXZlRmlyc3RJdGVtKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuYXV0b0FjdGl2ZUZpcnN0SXRlbSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaUueWPmCBncmlkIGl0ZW0g55qE5aSn5bCP77yM5pSv5oyB6buY6K6k5Lul5Y+KIHNtIOS4pOenjeWkp+Wwj1xuICAgICAqIEB0eXBlIHNtIHwgbWQgfCBsZ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCB0aHlTaXplKHZhbHVlOiBUaHlMaXN0U2l6ZSkge1xuICAgICAgICB0aGlzLl9zZXRMaXN0U2l6ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzcGFjZUVuYWJsZWQgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5oyJ5LiL56m65qC85YiH5o2i6IGa54Sm6YCJ6aG5XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgc2V0IHRoeVNwYWNlS2V5RW5hYmxlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLnNwYWNlRW5hYmxlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOavj+W9k+mAiemhueeahOmAieWumueKtuaAgeWPkeeUn+abtOaUueaXtu+8jOmDveS8muinpuWPkeabtOaUueS6i+S7tlxuICAgICAqIEB0eXBlIEV2ZW50RW1pdHRlcjxUaHlTZWxlY3Rpb25MaXN0Q2hhbmdlPlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSByZWFkb25seSB0aHlTZWxlY3Rpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxUaHlTZWxlY3Rpb25MaXN0Q2hhbmdlPiA9IG5ldyBFdmVudEVtaXR0ZXI8VGh5U2VsZWN0aW9uTGlzdENoYW5nZT4oKTtcblxuICAgIHByaXZhdGUgYXV0b0FjdGl2ZUZpcnN0SXRlbTogYm9vbGVhbjtcblxuICAgIHByaXZhdGUgX29uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKF86IGFueSkgPT4ge307XG5cbiAgICBwcml2YXRlIF9lbWl0Q2hhbmdlRXZlbnQob3B0aW9uOiBUaHlMaXN0T3B0aW9uLCBldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy50aHlTZWxlY3Rpb25DaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICBzb3VyY2U6IHRoaXMsXG4gICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnRoeVZhbHVlLFxuICAgICAgICAgICAgb3B0aW9uOiBvcHRpb24sXG4gICAgICAgICAgICBldmVudDogZXZlbnQsXG4gICAgICAgICAgICBzZWxlY3RlZDogdGhpcy5pc1NlbGVjdGVkKG9wdGlvbilcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZW1pdE1vZGVsVmFsdWVDaGFuZ2UoKSB7XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbnMpIHtcbiAgICAgICAgICAgIGxldCBzZWxlY3RlZFZhbHVlcyA9IHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWQ7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlVbmlxdWVLZXkpIHtcbiAgICAgICAgICAgICAgICBzZWxlY3RlZFZhbHVlcyA9IHNlbGVjdGVkVmFsdWVzLm1hcChzZWxlY3RlZFZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRPcHRpb24gPSB0aGlzLm9wdGlvbnMuZmluZChvcHRpb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9wdGlvbi50aHlWYWx1ZVt0aGlzLnRoeVVuaXF1ZUtleV0gPT09IHNlbGVjdGVkVmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxlY3RlZE9wdGlvbi50aHlWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9tb2RlbFZhbHVlcy5maW5kKHZhbHVlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVbdGhpcy50aHlVbmlxdWVLZXldID09PSBzZWxlY3RlZFZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX21vZGVsVmFsdWVzID0gc2VsZWN0ZWRWYWx1ZXM7XG4gICAgICAgICAgICBsZXQgY2hhbmdlVmFsdWUgPSBzZWxlY3RlZFZhbHVlcztcbiAgICAgICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiBzZWxlY3RlZFZhbHVlcyAmJiBzZWxlY3RlZFZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgY2hhbmdlVmFsdWUgPSBzZWxlY3RlZFZhbHVlc1swXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKGNoYW5nZVZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3RvZ2dsZUZvY3VzZWRPcHRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2tleU1hbmFnZXIuYWN0aXZlSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZU9wdGlvbih0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0sIGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUZvY3VzS2V5TWFuYWdlcigpIHtcbiAgICAgICAgdGhpcy5fa2V5TWFuYWdlciA9IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxUaHlMaXN0T3B0aW9uPih0aGlzLm9wdGlvbnMpXG4gICAgICAgICAgICAud2l0aFdyYXAoKVxuICAgICAgICAgICAgLy8gLndpdGhUeXBlQWhlYWQoKVxuICAgICAgICAgICAgLy8gQWxsb3cgZGlzYWJsZWQgaXRlbXMgdG8gYmUgZm9jdXNhYmxlLiBGb3IgYWNjZXNzaWJpbGl0eSByZWFzb25zLCB0aGVyZSBtdXN0IGJlIGEgd2F5IGZvclxuICAgICAgICAgICAgLy8gc2NyZWVucmVhZGVyIHVzZXJzLCB0aGF0IGFsbG93cyByZWFkaW5nIHRoZSBkaWZmZXJlbnQgb3B0aW9ucyBvZiB0aGUgbGlzdC5cbiAgICAgICAgICAgIC5za2lwUHJlZGljYXRlKCgpID0+IGZhbHNlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9pbnN0YW5jZVNlbGVjdGlvbk1vZGVsKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsID0gbmV3IFNlbGVjdGlvbk1vZGVsPGFueT4odGhpcy5tdWx0aXBsZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0RWxlbWVudEJ5U2VsZWN0b3IoZWxlbWVudDogSFRNTEVsZW1lbnQgfCBFbGVtZW50UmVmIHwgc3RyaW5nKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gZG9tLmdldEhUTUxFbGVtZW50QnlTZWxlY3RvcihlbGVtZW50LCB0aGlzLmVsZW1lbnRSZWYpO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NvbXBhcmVWYWx1ZSh2YWx1ZTE6IGFueSwgdmFsdWUyOiBhbnkpIHtcbiAgICAgICAgaWYgKHRoaXMudGh5Q29tcGFyZVdpdGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBhcmVGbiA9IHRoaXMudGh5Q29tcGFyZVdpdGggYXMgKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW47XG4gICAgICAgICAgICByZXR1cm4gY29tcGFyZUZuKHZhbHVlMSwgdmFsdWUyKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnRoeVVuaXF1ZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlMSAmJiB2YWx1ZTFbdGhpcy50aHlVbmlxdWVLZXldID09PSB2YWx1ZTIgJiYgdmFsdWUyW3RoaXMudGh5VW5pcXVlS2V5XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZTEgPT09IHZhbHVlMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX2dldE9wdGlvblNlbGVjdGlvblZhbHVlKG9wdGlvbjogVGh5TGlzdE9wdGlvbikge1xuICAgICAgICBpZiAob3B0aW9uLnRoeVZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50aHlVbmlxdWVLZXkgPyBvcHRpb24udGh5VmFsdWVbdGhpcy50aHlVbmlxdWVLZXldIDogb3B0aW9uLnRoeVZhbHVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9wdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldFNlbGVjdGlvbkJ5VmFsdWVzKHZhbHVlczogYW55W10pIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5jbGVhcigpO1xuICAgICAgICB2YWx1ZXMuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlVbmlxdWVLZXkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdCh2YWx1ZVt0aGlzLnRoeVVuaXF1ZUtleV0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdCh2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3NldEFsbE9wdGlvbnNTZWxlY3RlZCh0b0lzU2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgLy8gS2VlcCB0cmFjayBvZiB3aGV0aGVyIGFueXRoaW5nIGNoYW5nZWQsIGJlY2F1c2Ugd2Ugb25seSB3YW50IHRvXG4gICAgICAgIC8vIGVtaXQgdGhlIGNoYW5nZWQgZXZlbnQgd2hlbiBzb21ldGhpbmcgYWN0dWFsbHkgY2hhbmdlZC5cbiAgICAgICAgbGV0IGhhc0NoYW5nZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLm9wdGlvbnMuZm9yRWFjaChvcHRpb24gPT4ge1xuICAgICAgICAgICAgY29uc3QgZnJvbUlzU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGlvbk1vZGVsLmlzU2VsZWN0ZWQob3B0aW9uLnRoeVZhbHVlKTtcbiAgICAgICAgICAgIGlmIChmcm9tSXNTZWxlY3RlZCAhPT0gdG9Jc1NlbGVjdGVkKSB7XG4gICAgICAgICAgICAgICAgaGFzQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC50b2dnbGUob3B0aW9uLnRoeVZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGhhc0NoYW5nZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2VtaXRNb2RlbFZhbHVlQ2hhbmdlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRPcHRpb25CeVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5maW5kKG9wdGlvbiA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY29tcGFyZVZhbHVlKG9wdGlvbi50aHlWYWx1ZSwgdmFsdWUpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9nZXRBY3RpdmVPcHRpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9nZXRPcHRpb25CeVZhbHVlKHRoaXMuX2tleU1hbmFnZXIuYWN0aXZlSXRlbS50aHlWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3NldExpc3RTaXplKHNpemU6IFRoeUxpc3RTaXplKSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGxpc3RTaXplc01hcCkge1xuICAgICAgICAgICAgaWYgKGxpc3RTaXplc01hcC5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ob3N0UmVuZGVyZXIucmVtb3ZlQ2xhc3MobGlzdFNpemVzTWFwW2tleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzaXplKSB7XG4gICAgICAgICAgICB0aGlzLmhvc3RSZW5kZXJlci5hZGRDbGFzcyhsaXN0U2l6ZXNNYXBbc2l6ZV0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBjb25zdCBiaW5kS2V5RXZlbnRFbGVtZW50ID0gdGhpcy5fZ2V0RWxlbWVudEJ5U2VsZWN0b3IodGhpcy50aHlCaW5kS2V5RXZlbnRDb250YWluZXIpO1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9iaW5kS2V5RXZlbnRVbnN1YnNjcmliZSA9IHRoaXMucmVuZGVyZXIubGlzdGVuKGJpbmRLZXlFdmVudEVsZW1lbnQsICdrZXlkb3duJywgdGhpcy5vbktleWRvd24uYmluZCh0aGlzKSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9pbnN0YW5jZVNlbGVjdGlvbk1vZGVsKCk7XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55W10gfCBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKCh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpICYmIHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiAhaGVscGVycy5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIG11bHRpcGxlIHNlbGVjdGlvbiBuZ01vZGVsIG11c3QgYmUgYW4gYXJyYXkuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXRoaXMubXVsdGlwbGUgJiYgaGVscGVycy5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHNpbmdsZSBzZWxlY3Rpb24gbmdNb2RlbCBzaG91bGQgbm90IGJlIGFuIGFycmF5LmApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IGhlbHBlcnMuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IHZhbHVlID8gW3ZhbHVlXSA6IFtdO1xuICAgICAgICB0aGlzLl9tb2RlbFZhbHVlcyA9IHZhbHVlcztcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5fc2V0U2VsZWN0aW9uQnlWYWx1ZXModmFsdWVzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIG9uS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy50aHlCZWZvcmVLZXlkb3duKSB7XG4gICAgICAgICAgICAvLyBzdG9wIGtleSBkb3duIGV2ZW50XG4gICAgICAgICAgICBjb25zdCBpc0NvbnRpbnVlID0gdGhpcy50aHlCZWZvcmVLZXlkb3duKGV2ZW50KTtcbiAgICAgICAgICAgIGlmICghaXNDb250aW51ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBrZXlDb2RlID0gZXZlbnQua2V5Q29kZSB8fCBldmVudC53aGljaDtcbiAgICAgICAgY29uc3QgbWFuYWdlciA9IHRoaXMuX2tleU1hbmFnZXI7XG4gICAgICAgIGNvbnN0IHByZXZpb3VzRm9jdXNJbmRleCA9IG1hbmFnZXIuYWN0aXZlSXRlbUluZGV4O1xuXG4gICAgICAgIHN3aXRjaCAoa2V5Q29kZSkge1xuICAgICAgICAgICAgY2FzZSBrZXljb2Rlcy5TUEFDRTpcbiAgICAgICAgICAgIGNhc2Uga2V5Y29kZXMuRU5URVI6XG4gICAgICAgICAgICAgICAgaWYgKGtleUNvZGUgPT09IGtleWNvZGVzLlNQQUNFICYmICF0aGlzLnNwYWNlRW5hYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuX3RvZ2dsZUZvY3VzZWRPcHRpb24oZXZlbnQpO1xuICAgICAgICAgICAgICAgIC8vIEFsd2F5cyBwcmV2ZW50IHNwYWNlIGZyb20gc2Nyb2xsaW5nIHRoZSBwYWdlIHNpbmNlIHRoZSBsaXN0IGhhcyBmb2N1c1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIG1hbmFnZXIub25LZXlkb3duKGV2ZW50KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoa2V5Q29kZSA9PT0ga2V5Y29kZXMuVVBfQVJST1cgfHwga2V5Q29kZSA9PT0ga2V5Y29kZXMuRE9XTl9BUlJPVykgJiZcbiAgICAgICAgICAgIGV2ZW50LnNoaWZ0S2V5ICYmXG4gICAgICAgICAgICBtYW5hZ2VyLmFjdGl2ZUl0ZW1JbmRleCAhPT0gcHJldmlvdXNGb2N1c0luZGV4XG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5fdG9nZ2xlRm9jdXNlZE9wdGlvbihldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVPcHRpb24ob3B0aW9uOiBUaHlMaXN0T3B0aW9uLCBldmVudD86IEV2ZW50KSB7XG4gICAgICAgIGlmIChvcHRpb24gJiYgIW9wdGlvbi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC50b2dnbGUodGhpcy5fZ2V0T3B0aW9uU2VsZWN0aW9uVmFsdWUob3B0aW9uKSk7XG4gICAgICAgICAgICAvLyBFbWl0IGEgY2hhbmdlIGV2ZW50IGJlY2F1c2UgdGhlIGZvY3VzZWQgb3B0aW9uIGNoYW5nZWQgaXRzIHN0YXRlIHRocm91Z2ggdXNlclxuICAgICAgICAgICAgLy8gaW50ZXJhY3Rpb24uXG4gICAgICAgICAgICB0aGlzLl9lbWl0TW9kZWxWYWx1ZUNoYW5nZSgpO1xuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUV2ZW50KG9wdGlvbiwgZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0QWN0aXZlT3B0aW9uKG9wdGlvbjogVGh5TGlzdE9wdGlvbikge1xuICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnVwZGF0ZUFjdGl2ZUl0ZW0ob3B0aW9uKTsgLy8gLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleCh0aGlzLl9nZXRPcHRpb25JbmRleChvcHRpb24pKTtcbiAgICB9XG5cbiAgICBzY3JvbGxJbnRvVmlldyhvcHRpb246IFRoeUxpc3RPcHRpb24pIHtcbiAgICAgICAgY29uc3Qgc2Nyb2xsQ29udGFpbmVyRWxlbWVudCA9IGRvbS5nZXRIVE1MRWxlbWVudEJ5U2VsZWN0b3IodGhpcy50aHlTY3JvbGxDb250YWluZXIsIHRoaXMuZWxlbWVudFJlZik7XG4gICAgICAgIFNjcm9sbFRvU2VydmljZS5zY3JvbGxUb0VsZW1lbnQob3B0aW9uLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgc2Nyb2xsQ29udGFpbmVyRWxlbWVudCk7XG4gICAgfVxuXG4gICAgaXNTZWxlY3RlZChvcHRpb246IFRoeUxpc3RPcHRpb24pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZWwuaXNTZWxlY3RlZCh0aGlzLl9nZXRPcHRpb25TZWxlY3Rpb25WYWx1ZShvcHRpb24pKTtcbiAgICB9XG5cbiAgICBjbGVhckFjdGl2ZUl0ZW0oKSB7XG4gICAgICAgIGlmICh0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuX2tleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgtMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkZXRlcm1pbmVDbGVhckFjdGl2ZUl0ZW0oKSB7XG4gICAgICAgIGlmICghdGhpcy5fZ2V0QWN0aXZlT3B0aW9uKCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2xlYXJBY3RpdmVJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2VsZWN0cyBhbGwgb2YgdGhlIG9wdGlvbnMuICovXG4gICAgc2VsZWN0QWxsKCkge1xuICAgICAgICB0aGlzLl9zZXRBbGxPcHRpb25zU2VsZWN0ZWQodHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIERlc2VsZWN0cyBhbGwgb2YgdGhlIG9wdGlvbnMuICovXG4gICAgZGVzZWxlY3RBbGwoKSB7XG4gICAgICAgIHRoaXMuX3NldEFsbE9wdGlvbnNTZWxlY3RlZChmYWxzZSk7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0aWFsaXplRm9jdXNLZXlNYW5hZ2VyKCk7XG4gICAgICAgIHRoaXMub3B0aW9ucy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRydWUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b0FjdGl2ZUZpcnN0SXRlbSkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5fa2V5TWFuYWdlci5hY3RpdmVJdGVtIHx8IHRoaXMub3B0aW9ucy50b0FycmF5KCkuaW5kZXhPZih0aGlzLl9rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0pIDwgMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9rZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGlvbkNoYW5nZXNVbnN1YnNjcmliZSQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgaWYgKHRoaXMuX2JpbmRLZXlFdmVudFVuc3Vic2NyaWJlKSB7XG4gICAgICAgICAgICB0aGlzLl9iaW5kS2V5RXZlbnRVbnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,5 +1,6 @@
1
- import { Component, Input, HostBinding, ChangeDetectionStrategy, ChangeDetectorRef, booleanAttribute } from '@angular/core';
1
+ import { Component, Input, HostBinding, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
2
2
  import { NgIf } from '@angular/common';
3
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
3
4
  import * as i0 from "@angular/core";
4
5
  /**
5
6
  * 加载组件,页面调用接口等待请求时,给用户的反馈
@@ -34,21 +35,21 @@ export class ThyLoading {
34
35
  this.loadingClassName = true;
35
36
  }
36
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyLoading, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyLoading, isStandalone: true, selector: "thy-loading", inputs: { thyDone: ["thyDone", "thyDone", booleanAttribute], thyTip: "thyTip", thyIsMask: ["thyIsMask", "thyIsMask", booleanAttribute] }, host: { properties: { "class.thy-loading": "this.loadingClassName" } }, ngImport: i0, template: "<div [class.thy-loading-mask]=\"isMask && !isDone\">\n <div class=\"thy-loading-indicator\" *ngIf=\"!isDone\">\n <h4>\n <span [style.display]=\"tip ? 'inline' : 'none'\">{{ tip }}</span>\n <div class=\"thy-loading-ellipsis\">\n <span class=\"thy-spot\"></span>\n </div>\n </h4>\n </div>\n <ng-content *ngIf=\"isMask || isDone\"></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyLoading, isStandalone: true, selector: "thy-loading", inputs: { thyDone: ["thyDone", "thyDone", coerceBooleanProperty], thyTip: "thyTip", thyIsMask: ["thyIsMask", "thyIsMask", coerceBooleanProperty] }, host: { properties: { "class.thy-loading": "this.loadingClassName" } }, ngImport: i0, template: "<div [class.thy-loading-mask]=\"isMask && !isDone\">\n <div class=\"thy-loading-indicator\" *ngIf=\"!isDone\">\n <h4>\n <span [style.display]=\"tip ? 'inline' : 'none'\">{{ tip }}</span>\n <div class=\"thy-loading-ellipsis\">\n <span class=\"thy-spot\"></span>\n </div>\n </h4>\n </div>\n <ng-content *ngIf=\"isMask || isDone\"></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
39
  }
39
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyLoading, decorators: [{
40
41
  type: Component,
41
42
  args: [{ selector: 'thy-loading', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgIf], template: "<div [class.thy-loading-mask]=\"isMask && !isDone\">\n <div class=\"thy-loading-indicator\" *ngIf=\"!isDone\">\n <h4>\n <span [style.display]=\"tip ? 'inline' : 'none'\">{{ tip }}</span>\n <div class=\"thy-loading-ellipsis\">\n <span class=\"thy-spot\"></span>\n </div>\n </h4>\n </div>\n <ng-content *ngIf=\"isMask || isDone\"></ng-content>\n</div>\n" }]
42
43
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { thyDone: [{
43
44
  type: Input,
44
- args: [{ transform: booleanAttribute }]
45
+ args: [{ transform: coerceBooleanProperty }]
45
46
  }], thyTip: [{
46
47
  type: Input
47
48
  }], thyIsMask: [{
48
49
  type: Input,
49
- args: [{ transform: booleanAttribute }]
50
+ args: [{ transform: coerceBooleanProperty }]
50
51
  }], loadingClassName: [{
51
52
  type: HostBinding,
52
53
  args: ['class.thy-loading']
53
54
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVILE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFdkM7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxVQUFVO0lBT25COzs7T0FHRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQWM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksTUFBTSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFJRCxZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUZ0QixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFFQyxDQUFDOzhHQXJDbkQsVUFBVTtrR0FBVixVQUFVLHlGQVdDLGdCQUFnQiwyREFrQmhCLGdCQUFnQixxR0M1Q3hDLGdZQVdBLDRDREVjLElBQUk7OzJGQUVMLFVBQVU7a0JBUHRCLFNBQVM7K0JBQ0ksYUFBYSxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksQ0FBQztzRkFjWCxPQUFPO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBVWxDLE1BQU07c0JBRFQsS0FBSztnQkFVRixTQUFTO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTUosZ0JBQWdCO3NCQUFqRCxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIGJvb2xlYW5BdHRyaWJ1dGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG4vKipcbiAqIOWKoOi9vee7hOS7tu+8jOmhtemdouiwg+eUqOaOpeWPo+etieW+heivt+axguaXtu+8jOe7meeUqOaIt+eahOWPjemmiFxuICogQG5hbWUgdGh5LWxvYWRpbmdcbiAqIEBvcmRlciAxMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1sb2FkaW5nJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbG9hZGluZy5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdJZl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5TG9hZGluZyB7XG4gICAgcHVibGljIGlzRG9uZTogYm9vbGVhbjtcblxuICAgIHB1YmxpYyB0aXA6IHN0cmluZztcblxuICAgIHB1YmxpYyBpc01hc2s6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiDmlbDmja7mmK/lkKbliqDovb3lrozmiJBcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlEb25lKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNEb25lID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5Yqg6L295o+Q56S65paH5qGIXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGlwKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50aXAgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDliqDovb3ml7bmmK/lkKblkK/nlKjltYzlpZfpga7nvanmqKHlvI/vvIzkuI3kvKDmiJbkvKAgZmFsc2XvvIzmsqHmnInpga7nvanlsYLvvIzliqDovb3lrozmiJDlh7rnjrDlhoXlrrlcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5SXNNYXNrKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNNYXNrID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50aHktbG9hZGluZycpIGxvYWRpbmdDbGFzc05hbWUgPSB0cnVlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG59XG4iLCI8ZGl2IFtjbGFzcy50aHktbG9hZGluZy1tYXNrXT1cImlzTWFzayAmJiAhaXNEb25lXCI+XG4gIDxkaXYgY2xhc3M9XCJ0aHktbG9hZGluZy1pbmRpY2F0b3JcIiAqbmdJZj1cIiFpc0RvbmVcIj5cbiAgICA8aDQ+XG4gICAgICA8c3BhbiBbc3R5bGUuZGlzcGxheV09XCJ0aXAgPyAnaW5saW5lJyA6ICdub25lJ1wiPnt7IHRpcCB9fTwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0aHktbG9hZGluZy1lbGxpcHNpc1wiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRoeS1zcG90XCI+PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9oND5cbiAgPC9kaXY+XG4gIDxuZy1jb250ZW50ICpuZ0lmPVwiaXNNYXNrIHx8IGlzRG9uZVwiPjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbG9hZGluZy9sb2FkaW5nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9sb2FkaW5nL2xvYWRpbmcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFeEQ7Ozs7R0FJRztBQVFILE1BQU0sT0FBTyxVQUFVO0lBT25COzs7T0FHRztJQUNILElBQ0ksT0FBTyxDQUFDLEtBQWM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksTUFBTSxDQUFDLEtBQWE7UUFDcEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7UUFDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFJRCxZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUZ0QixxQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFFQyxDQUFDOzhHQXJDbkQsVUFBVTtrR0FBVixVQUFVLHlGQVdDLHFCQUFxQiwyREFrQnJCLHFCQUFxQixxR0M3QzdDLGdZQVdBLDRDREdjLElBQUk7OzJGQUVMLFVBQVU7a0JBUHRCLFNBQVM7K0JBQ0ksYUFBYSxtQkFFTix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLElBQUksV0FDUCxDQUFDLElBQUksQ0FBQztzRkFjWCxPQUFPO3NCQURWLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBVXZDLE1BQU07c0JBRFQsS0FBSztnQkFVRixTQUFTO3NCQURaLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTVQsZ0JBQWdCO3NCQUFqRCxXQUFXO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIEhvc3RCaW5kaW5nLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuLyoqXG4gKiDliqDovb3nu4Tku7bvvIzpobXpnaLosIPnlKjmjqXlj6PnrYnlvoXor7fmsYLml7bvvIznu5nnlKjmiLfnmoTlj43ppohcbiAqIEBuYW1lIHRoeS1sb2FkaW5nXG4gKiBAb3JkZXIgMTBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktbG9hZGluZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvYWRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW05nSWZdXG59KVxuZXhwb3J0IGNsYXNzIFRoeUxvYWRpbmcge1xuICAgIHB1YmxpYyBpc0RvbmU6IGJvb2xlYW47XG5cbiAgICBwdWJsaWMgdGlwOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgaXNNYXNrOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICog5pWw5o2u5piv5ZCm5Yqg6L295a6M5oiQXG4gICAgICogQGRlZmF1bHQgZmFsc2VcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlEb25lKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNEb25lID0gdmFsdWU7XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog6Ieq5a6a5LmJ5Yqg6L295o+Q56S65paH5qGIXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5VGlwKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy50aXAgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDliqDovb3ml7bmmK/lkKblkK/nlKjltYzlpZfpga7nvanmqKHlvI/vvIzkuI3kvKDmiJbkvKAgZmFsc2XvvIzmsqHmnInpga7nvanlsYLvvIzliqDovb3lrozmiJDlh7rnjrDlhoXlrrlcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KVxuICAgIHNldCB0aHlJc01hc2sodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc01hc2sgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1sb2FkaW5nJykgbG9hZGluZ0NsYXNzTmFtZSA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge31cbn1cbiIsIjxkaXYgW2NsYXNzLnRoeS1sb2FkaW5nLW1hc2tdPVwiaXNNYXNrICYmICFpc0RvbmVcIj5cbiAgPGRpdiBjbGFzcz1cInRoeS1sb2FkaW5nLWluZGljYXRvclwiICpuZ0lmPVwiIWlzRG9uZVwiPlxuICAgIDxoND5cbiAgICAgIDxzcGFuIFtzdHlsZS5kaXNwbGF5XT1cInRpcCA/ICdpbmxpbmUnIDogJ25vbmUnXCI+e3sgdGlwIH19PC9zcGFuPlxuICAgICAgPGRpdiBjbGFzcz1cInRoeS1sb2FkaW5nLWVsbGlwc2lzXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGh5LXNwb3RcIj48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2g0PlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRlbnQgKm5nSWY9XCJpc01hc2sgfHwgaXNEb25lXCI+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -112,7 +112,7 @@ export class ThyMentionDirective {
112
112
  const inputElement = this.elementRef.nativeElement;
113
113
  const position = CaretPositioner.getCaretPosition(inputElement, matched.query.start);
114
114
  const fontSize = parseInt(getComputedStyle(this.elementRef.nativeElement).fontSize, 10);
115
- this.openedSuggestionsRef = this.thyPopover.open(ThyMentionSuggestions, Object.assign({}, POPOVER_DEFAULT_CONFIG, this.popoverConfig, {
115
+ this.openedSuggestionsRef = this.thyPopover.open(ThyMentionSuggestions, Object.assign({}, POPOVER_DEFAULT_CONFIG, {
116
116
  origin: this.elementRef,
117
117
  originPosition: {
118
118
  x: position.left,
@@ -123,7 +123,7 @@ export class ThyMentionDirective {
123
123
  initialState: {
124
124
  mention: matched.mention
125
125
  }
126
- }));
126
+ }, this.popoverConfig));
127
127
  this.openedSuggestionsRef.afterClosed().subscribe(() => {
128
128
  this.openedSuggestionsRef = null;
129
129
  this.openedSuggestionsRef$.next(null);
@@ -162,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
162
162
  type: Output,
163
163
  args: ['thySelectSuggestion']
164
164
  }] } });
165
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWVudGlvbi9tZW50aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFpQixNQUFNLG9CQUFvQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQXlELE1BQU0sV0FBVyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUVwRCxNQUFNLHlCQUF5QixHQUFHLGtDQUFrQyxDQUFDO0FBRXJFLE1BQU0sc0JBQXNCLEdBQUc7SUFDM0IsYUFBYSxFQUFFLHlCQUF5QjtJQUN4QyxTQUFTLEVBQUUsWUFBWTtDQUMxQixDQUFDO0FBRUYsTUFBTSxzQkFBc0IsR0FBcUI7SUFDN0MsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsZUFBZTtJQUMxQixNQUFNLEVBQUUsQ0FBQyxJQUFZLEVBQUUsSUFBOEIsRUFBRSxFQUFFO1FBQ3JELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMs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SSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNMLENBQUM7SUFFTyxnQkFBZ0I7UUFDcEIsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEMsQ0FBQztJQUNMLENBQUM7OEdBOUlRLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OzBCQWdEUSxRQUFROzswQkFBSSxJQUFJO3lDQWpDSSxRQUFRO3NCQUFoQyxLQUFLO3VCQUFDLFlBQVk7Z0JBZVEsYUFBYTtzQkFBdkMsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBS00sTUFBTTtzQkFBcEMsTUFBTTt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyQ29uZmlnLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IEVNUFRZLCBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IGNyZWF0ZU1lbnRpb25BZGFwdGVyLCBNYXRjaGVkTWVudGlvbiwgTWVudGlvbkFkYXB0ZXIsIE1lbnRpb25JbnB1dG9yRWxlbWVudCB9IGZyb20gJy4vYWRhcHRlcic7XG5pbXBvcnQgeyBDYXJldFBvc2l0aW9uZXIgfSBmcm9tICcuL2NhcmV0LXBvc2l0aW9uZXInO1xuaW1wb3J0IHsgTWVudGlvbiwgTWVudGlvbkRlZmF1bHREYXRhSXRlbSwgTWVudGlvblN1Z2dlc3Rpb25TZWxlY3RFdmVudCB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBUaHlNZW50aW9uU3VnZ2VzdGlvbnMgfSBmcm9tICcuL3N1Z2dlc3Rpb25zL3N1Z2dlc3Rpb25zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpc0lucHV0T3JUZXh0YXJlYSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbmNvbnN0IFNVR0dFU1RJT05fQkFDS0RST1BfQ0xBU1MgPSAndGh5LW1lbnRpb24tc3VnZ2VzdGlvbnMtYmFja2Ryb3AnO1xuXG5jb25zdCBQT1BPVkVSX0RFRkFVTFRfQ09ORklHID0ge1xuICAgIGJhY2tkcm9wQ2xhc3M6IFNVR0dFU1RJT05fQkFDS0RST1BfQ0xBU1MsXG4gICAgcGxhY2VtZW50OiAnYm90dG9tTGVmdCdcbn07XG5cbmNvbnN0IERFRkFVTFRfTUVOVElPTl9DT05GSUc6IFBhcnRpYWw8TWVudGlvbj4gPSB7XG4gICAgYXV0b0Nsb3NlOiB0cnVlLFxuICAgIGVtcHR5VGV4dDogJ+aXoOWMuemFjeaVsOaNru+8jOaMieepuuagvOWujOaIkOi+k+WFpScsXG4gICAgc2VhcmNoOiAodGVybTogc3RyaW5nLCBkYXRhOiBNZW50aW9uRGVmYXVsdERhdGFJdGVtW10pID0+IHtcbiAgICAgICAgcmV0dXJuIGRhdGEuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuICFpdGVtLm5hbWUgfHwgaXRlbS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGVybS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuLyoqXG4gKiBAbmFtZSB0aHlNZW50aW9uXG4gKiBAb3JkZXIgMTBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbdGh5TWVudGlvbl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5TWVudGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGFkYXB0ZXI6IE1lbnRpb25BZGFwdGVyID0gbnVsbDtcblxuICAgIHB1YmxpYyBvcGVuZWRTdWdnZXN0aW9uc1JlZjogVGh5UG9wb3ZlclJlZjxUaHlNZW50aW9uU3VnZ2VzdGlvbnM+O1xuXG4gICAgcHJpdmF0ZSBfbWVudGlvbnM6IE1lbnRpb248YW55PltdO1xuICAgIGdldCBtZW50aW9ucygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21lbnRpb25zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaPkOWPiui+k+WFpemFjee9ruWPguaVsO+8jOWQjOaXtuaUr+aMgeWkmuS4quaPkOWPiuinhOWImVxuICAgICAqIEB0eXBlIE1lbnRpb248YW55PltdXG4gICAgICovXG4gICAgQElucHV0KCd0aHlNZW50aW9uJykgc2V0IG1lbnRpb25zKHZhbHVlOiBNZW50aW9uPGFueT5bXSkge1xuICAgICAgICB0aGlzLl9tZW50aW9ucyA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fbWVudGlvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuX21lbnRpb25zID0gdGhpcy5fbWVudGlvbnMubWFwKG1lbnRpb24gPT4ge1xuICAgICAgICAgICAgICAgIGlmICgodHlwZW9mIG5nRGV2TW9kZSA9PT0gJ3VuZGVmaW5lZCcgfHwgbmdEZXZNb2RlKSAmJiAhbWVudGlvbi50cmlnZ2VyKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgbWVudGlvbiB0cmlnZ2VyIGlzIHJlcXVpcmVkYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX01FTlRJT05fQ09ORklHLCBtZW50aW9uKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUG9wb3ZlciDlvLnlh7rlsYLlj4LmlbDphY3nva5cbiAgICAgKi9cbiAgICBASW5wdXQoJ3RoeVBvcG92ZXJDb25maWcnKSBwb3BvdmVyQ29uZmlnOiBUaHlQb3BvdmVyQ29uZmlnO1xuXG4gICAgLyoqXG4gICAgICog6YCJ5oup5ZCO55qE5Zue6LCD5Ye95pWwXG4gICAgICovXG4gICAgQE91dHB1dCgndGh5U2VsZWN0U3VnZ2VzdGlvbicpIHNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8TWVudGlvblN1Z2dlc3Rpb25TZWxlY3RFdmVudD4oKTtcblxuICAgIGdldCBpc09wZW5lZCgpIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5vcGVuZWRTdWdnZXN0aW9uc1JlZjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgb3BlbmVkU3VnZ2VzdGlvbnNSZWYkID0gbmV3IFN1YmplY3Q8VGh5UG9wb3ZlclJlZjxUaHlNZW50aW9uU3VnZ2VzdGlvbnM+IHwgbnVsbD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIsXG4gICAgICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJpdmF0ZSBuZ0NvbnRyb2w6IE5nQ29udHJvbFxuICAgICkge1xuICAgICAgICB0aGlzLmFkYXB0ZXIgPSBjcmVhdGVNZW50aW9uQWRhcHRlcihlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgTWVudGlvbklucHV0b3JFbGVtZW50KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaW5wdXQnKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShldmVudCA9PiB0aGlzLm9uSW5wdXQoZXZlbnQpKTtcblxuICAgICAgICBmcm9tRXZlbnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHRoaXMub25DbGljayhldmVudCkpO1xuXG4gICAgICAgIHRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWYkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAob3BlbmVkU3VnZ2VzdGlvbnNSZWYgPT5cbiAgICAgICAgICAgICAgICAgICAgLy8gUmUtc3Vic2NyaWJlIHRvIGBzdWdnZXN0aW9uU2VsZWN0JGAgZXZlcnkgdGltZSB0aGUgc3VnZ2VzdGlvbnMgY29tcG9uZW50IGlzIHJlLWNyZWF0ZWQsXG4gICAgICAgICAgICAgICAgICAgIC8vIG90aGVyd2lzZSwgdW5zdWJzY3JpYmUsIGlmIGl0IGdldHMgY2xvc2VkLlxuICAgICAgICAgICAgICAgICAgICBvcGVuZWRTdWdnZXN0aW9uc1JlZiA/IG9wZW5lZFN1Z2dlc3Rpb25zUmVmLmNvbXBvbmVudEluc3RhbmNlLnN1Z2dlc3Rpb25TZWxlY3QkIDogRU1QVFlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLmFkYXB0ZXIuaW5zZXJ0TWVudGlvbihldmVudC5pdGVtKTtcbiAgICAgICAgICAgICAgICBpZiAoaXNJbnB1dE9yVGV4dGFyZWEodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm5nQ29udHJvbCAmJiB0aGlzLm5nQ29udHJvbC5jb250cm9sKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5nQ29udHJvbC5jb250cm9sLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5lZFN1Z2dlc3Rpb25zUmVmLmNsb3NlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3QuZW1pdChldmVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgfVxuXG4gICAgb25DbGljayhldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5sb29rdXAoZXZlbnQpO1xuICAgIH1cblxuICAgIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMubG9va3VwKGV2ZW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvb2t1cChldmVudDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlZCA9IHRoaXMuYWRhcHRlci5sb29rdXAoZXZlbnQsIHRoaXMubWVudGlvbnMpO1xuICAgICAgICBpZiAobWF0Y2hlZCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuU3VnZ2VzdGlvbnMobWF0Y2hlZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlU3VnZ2VzdGlvbnMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb3BlblN1Z2dlc3Rpb25zKG1hdGNoZWQ6IE1hdGNoZWRNZW50aW9uKSB7XG4gICAgICAgIGlmICghdGhpcy5vcGVuZWRTdWdnZXN0aW9uc1JlZikge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gQ2FyZXRQb3NpdGlvbmVyLmdldENhcmV0UG9zaXRpb24oaW5wdXRFbGVtZW50LCBtYXRjaGVkLnF1ZXJ5LnN0YXJ0KTtcbiAgICAgICAgICAgIGNvbnN0IGZvbnRTaXplID0gcGFyc2VJbnQoZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCkuZm9udFNpemUsIDEwKTtcbiAgICAgICAgICAgIHRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWYgPSB0aGlzLnRoeVBvcG92ZXIub3BlbihcbiAgICAgICAgICAgICAgICBUaHlNZW50aW9uU3VnZ2VzdGlvbnMsXG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbih7fSwgUE9QT1ZFUl9ERUZBVUxUX0NPTkZJRywgdGhpcy5wb3BvdmVyQ29uZmlnLCB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbjogdGhpcy5lbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW5Qb3NpdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgeDogcG9zaXRpb24ubGVmdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHk6IHBvc2l0aW9uLnRvcCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmb250U2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogZm9udFNpemVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgaW5pdGlhbFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtZW50aW9uOiBtYXRjaGVkLm1lbnRpb25cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5vcGVuZWRTdWdnZXN0aW9uc1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuZWRTdWdnZXN0aW9uc1JlZiA9IG51bGw7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuZWRTdWdnZXN0aW9uc1JlZiQubmV4dChudWxsKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aGlzLm9wZW5lZFN1Z2dlc3Rpb25zUmVmJC5uZXh0KHRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWYpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWYpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWYuY29tcG9uZW50SW5zdGFuY2Uuc2VhcmNoKG1hdGNoZWQucXVlcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbG9zZVN1Z2dlc3Rpb25zKCkge1xuICAgICAgICBpZiAodGhpcy5vcGVuZWRTdWdnZXN0aW9uc1JlZikge1xuICAgICAgICAgICAgdGhpcy5vcGVuZWRTdWdnZXN0aW9uc1JlZi5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
165
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWVudGlvbi9tZW50aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixFQUFpQixNQUFNLG9CQUFvQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQXlELE1BQU0sV0FBVyxDQUFDO0FBQ3hHLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUVwRCxNQUFNLHlCQUF5QixHQUFHLGtDQUFrQyxDQUFDO0FBRXJFLE1BQU0sc0JBQXNCLEdBQUc7SUFDM0IsYUFBYSxFQUFFLHlCQUF5QjtJQUN4QyxTQUFTLEVBQUUsWUFBWTtDQUMxQixDQUFDO0FBRUYsTUFBTSxzQkFBc0IsR0FBcUI7SUFDN0MsU0FBUyxFQUFFLElBQUk7SUFDZixTQUFTLEVBQUUsZUFBZTtJQUMxQixNQUFNLEVBQUUsQ0FBQyxJQUFZLEVBQUUsSUFBOEIsRUFBRSxFQUFFO1FBQ3JELE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMs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QUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RFLENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RDLENBQUM7SUFDTCxDQUFDOzhHQW5KUSxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFKL0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7aUJBQ25COzswQkFnRFEsUUFBUTs7MEJBQUksSUFBSTt5Q0FqQ0ksUUFBUTtzQkFBaEMsS0FBSzt1QkFBQyxZQUFZO2dCQWVRLGFBQWE7c0JBQXZDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUtNLE1BQU07c0JBQXBDLE1BQU07dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlckNvbmZpZywgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBFTVBUWSwgZnJvbUV2ZW50LCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIE91dHB1dCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBjcmVhdGVNZW50aW9uQWRhcHRlciwgTWF0Y2hlZE1lbnRpb24sIE1lbnRpb25BZGFwdGVyLCBNZW50aW9uSW5wdXRvckVsZW1lbnQgfSBmcm9tICcuL2FkYXB0ZXInO1xuaW1wb3J0IHsgQ2FyZXRQb3NpdGlvbmVyIH0gZnJvbSAnLi9jYXJldC1wb3NpdGlvbmVyJztcbmltcG9ydCB7IE1lbnRpb24sIE1lbnRpb25EZWZhdWx0RGF0YUl0ZW0sIE1lbnRpb25TdWdnZXN0aW9uU2VsZWN0RXZlbnQgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGh5TWVudGlvblN1Z2dlc3Rpb25zIH0gZnJvbSAnLi9zdWdnZXN0aW9ucy9zdWdnZXN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNJbnB1dE9yVGV4dGFyZWEgfSBmcm9tICduZ3gtdGV0aHlzL3V0aWwnO1xuXG5jb25zdCBTVUdHRVNUSU9OX0JBQ0tEUk9QX0NMQVNTID0gJ3RoeS1tZW50aW9uLXN1Z2dlc3Rpb25zLWJhY2tkcm9wJztcblxuY29uc3QgUE9QT1ZFUl9ERUZBVUxUX0NPTkZJRyA9IHtcbiAgICBiYWNrZHJvcENsYXNzOiBTVUdHRVNUSU9OX0JBQ0tEUk9QX0NMQVNTLFxuICAgIHBsYWNlbWVudDogJ2JvdHRvbUxlZnQnXG59O1xuXG5jb25zdCBERUZBVUxUX01FTlRJT05fQ09ORklHOiBQYXJ0aWFsPE1lbnRpb24+ID0ge1xuICAgIGF1dG9DbG9zZTogdHJ1ZSxcbiAgICBlbXB0eVRleHQ6ICfml6DljLnphY3mlbDmja7vvIzmjInnqbrmoLzlrozmiJDovpPlhaUnLFxuICAgIHNlYXJjaDogKHRlcm06IHN0cmluZywgZGF0YTogTWVudGlvbkRlZmF1bHREYXRhSXRlbVtdKSA9PiB7XG4gICAgICAgIHJldHVybiBkYXRhLmZpbHRlcihpdGVtID0+IHtcbiAgICAgICAgICAgIHJldHVybiAhaXRlbS5uYW1lIHx8IGl0ZW0ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRlcm0udG9Mb3dlckNhc2UoKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5cbi8qKlxuICogQG5hbWUgdGh5TWVudGlvblxuICogQG9yZGVyIDEwXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3RoeU1lbnRpb25dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIFRoeU1lbnRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSBhZGFwdGVyOiBNZW50aW9uQWRhcHRlciA9IG51bGw7XG5cbiAgICBwdWJsaWMgb3BlbmVkU3VnZ2VzdGlvbnNSZWY6IFRoeVBvcG92ZXJSZWY8VGh5TWVudGlvblN1Z2dlc3Rpb25zPjtcblxuICAgIHByaXZhdGUgX21lbnRpb25zOiBNZW50aW9uPGFueT5bXTtcbiAgICBnZXQgbWVudGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tZW50aW9ucztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmj5Dlj4rovpPlhaXphY3nva7lj4LmlbDvvIzlkIzml7bmlK/mjIHlpJrkuKrmj5Dlj4rop4TliJlcbiAgICAgKiBAdHlwZSBNZW50aW9uPGFueT5bXVxuICAgICAqL1xuICAgIEBJbnB1dCgndGh5TWVudGlvbicpIHNldCBtZW50aW9ucyh2YWx1ZTogTWVudGlvbjxhbnk+W10pIHtcbiAgICAgICAgdGhpcy5fbWVudGlvbnMgPSB2YWx1ZTtcbiAgICAgICAgaWYgKHRoaXMuX21lbnRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLl9tZW50aW9ucyA9IHRoaXMuX21lbnRpb25zLm1hcChtZW50aW9uID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoKHR5cGVvZiBuZ0Rldk1vZGUgPT09ICd1bmRlZmluZWQnIHx8IG5nRGV2TW9kZSkgJiYgIW1lbnRpb24udHJpZ2dlcikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYG1lbnRpb24gdHJpZ2dlciBpcyByZXF1aXJlZGApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9NRU5USU9OX0NPTkZJRywgbWVudGlvbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBvcG92ZXIg5by55Ye65bGC5Y+C5pWw6YWN572uXG4gICAgICovXG4gICAgQElucHV0KCd0aHlQb3BvdmVyQ29uZmlnJykgcG9wb3ZlckNvbmZpZzogVGh5UG9wb3ZlckNvbmZpZztcblxuICAgIC8qKlxuICAgICAqIOmAieaLqeWQjueahOWbnuiwg+WHveaVsFxuICAgICAqL1xuICAgIEBPdXRwdXQoJ3RoeVNlbGVjdFN1Z2dlc3Rpb24nKSBzZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPE1lbnRpb25TdWdnZXN0aW9uU2VsZWN0RXZlbnQ+KCk7XG5cbiAgICBnZXQgaXNPcGVuZWQoKSB7XG4gICAgICAgIHJldHVybiAhIXRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWY7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBwcml2YXRlIG9wZW5lZFN1Z2dlc3Rpb25zUmVmJCA9IG5ldyBTdWJqZWN0PFRoeVBvcG92ZXJSZWY8VGh5TWVudGlvblN1Z2dlc3Rpb25zPiB8IG51bGw+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICAgICAgcHJpdmF0ZSB0aHlQb3BvdmVyOiBUaHlQb3BvdmVyLFxuICAgICAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgICApIHtcbiAgICAgICAgdGhpcy5hZGFwdGVyID0gY3JlYXRlTWVudGlvbkFkYXB0ZXIoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIE1lbnRpb25JbnB1dG9yRWxlbWVudCk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2lucHV0JylcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4gdGhpcy5vbklucHV0KGV2ZW50KSk7XG5cbiAgICAgICAgZnJvbUV2ZW50KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShldmVudCA9PiB0aGlzLm9uQ2xpY2soZXZlbnQpKTtcblxuICAgICAgICB0aGlzLm9wZW5lZFN1Z2dlc3Rpb25zUmVmJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKG9wZW5lZFN1Z2dlc3Rpb25zUmVmID0+XG4gICAgICAgICAgICAgICAgICAgIC8vIFJlLXN1YnNjcmliZSB0byBgc3VnZ2VzdGlvblNlbGVjdCRgIGV2ZXJ5IHRpbWUgdGhlIHN1Z2dlc3Rpb25zIGNvbXBvbmVudCBpcyByZS1jcmVhdGVkLFxuICAgICAgICAgICAgICAgICAgICAvLyBvdGhlcndpc2UsIHVuc3Vic2NyaWJlLCBpZiBpdCBnZXRzIGNsb3NlZC5cbiAgICAgICAgICAgICAgICAgICAgb3BlbmVkU3VnZ2VzdGlvbnNSZWYgPyBvcGVuZWRTdWdnZXN0aW9uc1JlZi5jb21wb25lbnRJbnN0YW5jZS5zdWdnZXN0aW9uU2VsZWN0JCA6IEVNUFRZXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5hZGFwdGVyLmluc2VydE1lbnRpb24oZXZlbnQuaXRlbSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzSW5wdXRPclRleHRhcmVhKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5uZ0NvbnRyb2wgJiYgdGhpcy5uZ0NvbnRyb2wuY29udHJvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbC5zZXRWYWx1ZShuZXdWYWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pbm5lclRleHQgPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuZWRTdWdnZXN0aW9uc1JlZi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0LmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIH1cblxuICAgIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMubG9va3VwKGV2ZW50KTtcbiAgICB9XG5cbiAgICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgICAgICB0aGlzLmxvb2t1cChldmVudCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBsb29rdXAoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IG1hdGNoZWQgPSB0aGlzLmFkYXB0ZXIubG9va3VwKGV2ZW50LCB0aGlzLm1lbnRpb25zKTtcbiAgICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMub3BlblN1Z2dlc3Rpb25zKG1hdGNoZWQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jbG9zZVN1Z2dlc3Rpb25zKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9wZW5TdWdnZXN0aW9ucyhtYXRjaGVkOiBNYXRjaGVkTWVudGlvbikge1xuICAgICAgICBpZiAoIXRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWYpIHtcbiAgICAgICAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IENhcmV0UG9zaXRpb25lci5nZXRDYXJldFBvc2l0aW9uKGlucHV0RWxlbWVudCwgbWF0Y2hlZC5xdWVyeS5zdGFydCk7XG4gICAgICAgICAgICBjb25zdCBmb250U2l6ZSA9IHBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLmZvbnRTaXplLCAxMCk7XG4gICAgICAgICAgICB0aGlzLm9wZW5lZFN1Z2dlc3Rpb25zUmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4oXG4gICAgICAgICAgICAgICAgVGh5TWVudGlvblN1Z2dlc3Rpb25zLFxuICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgICBQT1BPVkVSX0RFRkFVTFRfQ09ORklHLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW46IHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblBvc2l0aW9uOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeDogcG9zaXRpb24ubGVmdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB5OiBwb3NpdGlvbi50b3AsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZvbnRTaXplLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogZm9udFNpemVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsU3RhdGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW50aW9uOiBtYXRjaGVkLm1lbnRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wb3BvdmVyQ29uZmlnXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWYgPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWYkLm5leHQobnVsbCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5vcGVuZWRTdWdnZXN0aW9uc1JlZiQubmV4dCh0aGlzLm9wZW5lZFN1Z2dlc3Rpb25zUmVmKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLm9wZW5lZFN1Z2dlc3Rpb25zUmVmKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5lZFN1Z2dlc3Rpb25zUmVmLmNvbXBvbmVudEluc3RhbmNlLnNlYXJjaChtYXRjaGVkLnF1ZXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xvc2VTdWdnZXN0aW9ucygpIHtcbiAgICAgICAgaWYgKHRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWYpIHtcbiAgICAgICAgICAgIHRoaXMub3BlbmVkU3VnZ2VzdGlvbnNSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,8 +1,9 @@
1
1
  import { animate, state, style, transition, trigger } from '@angular/animations';
2
- import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewChild, booleanAttribute } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, TemplateRef, ViewChild } from '@angular/core';
3
3
  import { ThyPopover } from 'ngx-tethys/popover';
4
4
  import { ThyIcon } from 'ngx-tethys/icon';
5
5
  import { NgClass, NgIf, NgTemplateOutlet } from '@angular/common';
6
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "ngx-tethys/popover";
8
9
  /**
@@ -103,7 +104,7 @@ export class ThyMenuGroup {
103
104
  }
104
105
  }
105
106
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyMenuGroup, deps: [{ token: i1.ThyPopover }], target: i0.ɵɵFactoryTarget.Component }); }
106
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyMenuGroup, isStandalone: true, selector: "thy-menu-group,[thy-menu-group],[thyMenuGroup]", inputs: { thyTitle: "thyTitle", thyExpand: ["thyExpand", "thyExpand", booleanAttribute], thyCollapsed: ["thyCollapsed", "thyCollapsed", booleanAttribute], thyCollapsible: ["thyCollapsible", "thyCollapsible", booleanAttribute], thyShowIcon: ["thyShowIcon", "thyShowIcon", booleanAttribute], thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyShowAction: ["thyShowAction", "thyShowAction", booleanAttribute], thyActionStopPropagation: ["thyActionStopPropagation", "thyActionStopPropagation", booleanAttribute], thyActionMenu: "thyActionMenu" }, outputs: { thyOnActionClick: "thyOnActionClick", thyCollapsedChange: "thyCollapsedChange" }, host: { properties: { "class.thy-menu-group": "this.isThyMenuGroup", "class.has-icon": "this.showIcon", "class.collapsed": "this.isCollapsed" } }, queries: [{ propertyName: "headerContentTemplateRef", first: true, predicate: ["headerContent"], descendants: true }], viewQueries: [{ propertyName: "_thyMenuGroup", first: true, predicate: ["thyMenuGroup"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-title-icon mr-2\" [thyIconName]=\"iconClass\"></thy-icon>\n <span class=\"thy-menu-group-title-text\">{{ thyTitle }}</span>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], animations: [
107
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyMenuGroup, isStandalone: true, selector: "thy-menu-group,[thy-menu-group],[thyMenuGroup]", inputs: { thyTitle: "thyTitle", thyExpand: ["thyExpand", "thyExpand", coerceBooleanProperty], thyCollapsed: ["thyCollapsed", "thyCollapsed", coerceBooleanProperty], thyCollapsible: ["thyCollapsible", "thyCollapsible", coerceBooleanProperty], thyShowIcon: ["thyShowIcon", "thyShowIcon", coerceBooleanProperty], thyIcon: "thyIcon", thyActionIcon: "thyActionIcon", thyShowAction: ["thyShowAction", "thyShowAction", coerceBooleanProperty], thyActionStopPropagation: ["thyActionStopPropagation", "thyActionStopPropagation", coerceBooleanProperty], thyActionMenu: "thyActionMenu" }, outputs: { thyOnActionClick: "thyOnActionClick", thyCollapsedChange: "thyCollapsedChange" }, host: { properties: { "class.thy-menu-group": "this.isThyMenuGroup", "class.has-icon": "this.showIcon", "class.collapsed": "this.isCollapsed" } }, queries: [{ propertyName: "headerContentTemplateRef", first: true, predicate: ["headerContent"], descendants: true }], viewQueries: [{ propertyName: "_thyMenuGroup", first: true, predicate: ["thyMenuGroup"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"thy-menu-group-header\" [ngClass]=\"{ 'thy-menu-group-collapsible': thyCollapsible }\" (click)=\"collapseGroup()\">\n <div class=\"thy-menu-group-header-content\">\n <ng-template *ngIf=\"headerContentTemplateRef; else defaultTitle\" [ngTemplateOutlet]=\"headerContentTemplateRef\"></ng-template>\n <ng-template #defaultTitle>\n <span class=\"thy-menu-group-title\">\n <thy-icon *ngIf=\"showIcon\" class=\"thy-menu-group-title-icon mr-2\" [thyIconName]=\"iconClass\"></thy-icon>\n <span class=\"thy-menu-group-title-text\">{{ thyTitle }}</span>\n </span>\n </ng-template>\n </div>\n <thy-icon\n *ngIf=\"thyShowAction\"\n class=\"thy-menu-group-operation\"\n [thyIconName]=\"rightIconClass\"\n (click)=\"onActionClick($event)\"\n ></thy-icon>\n <thy-icon thyIconName=\"angle-up\" *ngIf=\"thyCollapsible\" class=\"thy-menu-group-arrow\"></thy-icon>\n</div>\n<div class=\"thy-menu-group-body\" #thyMenuGroup [@detailsContentAnimation]=\"isCollapsed\">\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ThyIcon, selector: "thy-icon, [thy-icon]", inputs: ["thyIconType", "thyTwotoneColor", "thyIconName", "thyIconRotate", "thyIconSet", "thyIconLegging", "thyIconLinearGradient"] }], animations: [
107
108
  trigger('detailsContentAnimation', [
108
109
  state('void', style({
109
110
  height: '*'
@@ -155,16 +156,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
155
156
  type: Input
156
157
  }], thyExpand: [{
157
158
  type: Input,
158
- args: [{ transform: booleanAttribute }]
159
+ args: [{ transform: coerceBooleanProperty }]
159
160
  }], thyCollapsed: [{
160
161
  type: Input,
161
- args: [{ transform: booleanAttribute }]
162
+ args: [{ transform: coerceBooleanProperty }]
162
163
  }], thyCollapsible: [{
163
164
  type: Input,
164
- args: [{ transform: booleanAttribute }]
165
+ args: [{ transform: coerceBooleanProperty }]
165
166
  }], thyShowIcon: [{
166
167
  type: Input,
167
- args: [{ transform: booleanAttribute }]
168
+ args: [{ transform: coerceBooleanProperty }]
168
169
  }], thyIcon: [{
169
170
  type: Input,
170
171
  args: ['thyIcon']
@@ -173,10 +174,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
173
174
  args: ['thyActionIcon']
174
175
  }], thyShowAction: [{
175
176
  type: Input,
176
- args: [{ transform: booleanAttribute }]
177
+ args: [{ transform: coerceBooleanProperty }]
177
178
  }], thyActionStopPropagation: [{
178
179
  type: Input,
179
- args: [{ transform: booleanAttribute }]
180
+ args: [{ transform: coerceBooleanProperty }]
180
181
  }], thyOnActionClick: [{
181
182
  type: Output
182
183
  }], thyCollapsedChange: [{
@@ -184,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
184
185
  }], thyActionMenu: [{
185
186
  type: Input
186
187
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWVudS9ncm91cC9tZW51LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9tZW51L2dyb3VwL21lbnUtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRixPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNULGdCQUFnQixFQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUVsRTs7OztHQUlHO0FBZ0NILE1BQU0sT0FBTyxZQUFZO0lBeUJyQjs7O09BR0c7SUFDSCxJQUNJLFNBQVMsQ0FBQyxLQUFjO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUNJLFlBQVksQ0FBQyxLQUFjO1FBQzNCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFPRDs7T0FFRztJQUNILElBQ0ksV0FBVyxDQUFDLEtBQWM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVE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c0JBRGQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFTbEMsT0FBTztzQkFEVixLQUFLO3VCQUFDLFNBQVM7Z0JBU1osYUFBYTtzQkFEaEIsS0FBSzt1QkFBQyxlQUFlO2dCQVFrQixhQUFhO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUtFLHdCQUF3QjtzQkFBL0QsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFLNUIsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUVHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFNSCxhQUFhO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuLyoqXG4gKiDoj5zljZXliIbnu4Tnu4Tku7ZcbiAqIEBuYW1lIHRoeS1tZW51LWdyb3VwLFt0aHktbWVudS1ncm91cF0sW3RoeU1lbnVHcm91cF1cbiAqIEBvcmRlciAzMFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1tZW51LWdyb3VwLFt0aHktbWVudS1ncm91cF0sW3RoeU1lbnVHcm91cF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tZW51LWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ2RldGFpbHNDb250ZW50QW5pbWF0aW9uJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ3ZvaWQnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnKidcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICcxJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnMCcsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcqJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgdHJhbnNpdGlvbignKiA9PiAqJywgYW5pbWF0ZSgnMG1zIGVhc2Utb3V0JykpXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0LCBUaHlJY29uXVxufSlcbmV4cG9ydCBjbGFzcyBUaHlNZW51R3JvdXAgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHB1YmxpYyBfYWN0aW9uTWVudTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHB1YmxpYyByaWdodEljb25DbGFzcyA9ICdtb3JlJztcblxuICAgIHB1YmxpYyBpY29uQ2xhc3MgPSAnZm9sZGVyLWJvbGQnO1xuXG4gICAgcHVibGljIGdyb3VwSGVhZGVyUGFkZGluZ0xlZnQgPSAwO1xuXG4gICAgQFZpZXdDaGlsZCgndGh5TWVudUdyb3VwJywgeyBzdGF0aWM6IHRydWUgfSkgX3RoeU1lbnVHcm91cDogRWxlbWVudFJlZjtcblxuICAgIEBDb250ZW50Q2hpbGQoJ2hlYWRlckNvbnRlbnQnKVxuICAgIGhlYWRlckNvbnRlbnRUZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MudGh5LW1lbnUtZ3JvdXAnKSBpc1RoeU1lbnVHcm91cCA9IHRydWU7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1pY29uJykgc2hvd0ljb24gPSBmYWxzZTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuY29sbGFwc2VkJykgaXNDb2xsYXBzZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOWIhue7hOagh+mimFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHRoeVRpdGxlID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiDlt7Llup/lvIPvvIzor7fkvb/nlKggdGh5Q29sbGFwc2VkXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5RXhwYW5kKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhISF2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblpITkuo7mlLbotbfnirbmgIFcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIHNldCB0aHlDb2xsYXBzZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaUr+aMgeWxleW8gOaUtui1t1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0aHlDb2xsYXBzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pi+56S6IEljb25cbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgICBzZXQgdGh5U2hvd0ljb24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93SWNvbiA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWbvuagh1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5SWNvbicpXG4gICAgc2V0IHRoeUljb24odmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmljb25DbGFzcyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOWbvuagh1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5QWN0aW9uSWNvbicpXG4gICAgc2V0IHRoeUFjdGlvbkljb24odmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJpZ2h0SWNvbkNsYXNzID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICrmmK/lkKbmmL7npLrmk43kvZxcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGh5U2hvd0FjdGlvbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICog5pON5L2c6Zi75q2i5YaS5rOh5LqL5Lu2XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHRoeUFjdGlvblN0b3BQcm9wYWdhdGlvbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBBY3Rpb24g54K55Ye75LqL5Lu2XG4gICAgICovXG4gICAgQE91dHB1dCgpIHRoeU9uQWN0aW9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuXG4gICAgQE91dHB1dCgpIHRoeUNvbGxhcHNlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqXG4gICAgICog6K6+572uIEFjdGlvbiDoj5zljZVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCB0aHlBY3Rpb25NZW51KHZhbHVlOiBDb21wb25lbnRUeXBlPGFueT4gfCBUZW1wbGF0ZVJlZjxhbnk+KSB7XG4gICAgICAgIHRoaXMuX2FjdGlvbk1lbnUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBvcG92ZXI6IFRoeVBvcG92ZXIpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHt9XG5cbiAgICBjb2xsYXBzZUdyb3VwKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMudGh5Q29sbGFwc2libGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XG4gICAgICAgIHRoaXMudGh5Q29sbGFwc2VkQ2hhbmdlLmVtaXQodGhpcy5pc0NvbGxhcHNlZCk7XG4gICAgfVxuXG4gICAgb25BY3Rpb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGh5QWN0aW9uU3RvcFByb3BhZ2F0aW9uKSB7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fYWN0aW9uTWVudSkge1xuICAgICAgICAgICAgdGhpcy5wb3BvdmVyLm9wZW4odGhpcy5fYWN0aW9uTWVudSwge1xuICAgICAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b20nXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGh5T25BY3Rpb25DbGljay5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aHktbWVudS1ncm91cC1oZWFkZXJcIiBbbmdDbGFzc109XCJ7ICd0aHktbWVudS1ncm91cC1jb2xsYXBzaWJsZSc6IHRoeUNvbGxhcHNpYmxlIH1cIiAoY2xpY2spPVwiY29sbGFwc2VHcm91cCgpXCI+XG4gIDxkaXYgY2xhc3M9XCJ0aHktbWVudS1ncm91cC1oZWFkZXItY29udGVudFwiPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImhlYWRlckNvbnRlbnRUZW1wbGF0ZVJlZjsgZWxzZSBkZWZhdWx0VGl0bGVcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJDb250ZW50VGVtcGxhdGVSZWZcIj48L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdFRpdGxlPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0aHktbWVudS1ncm91cC10aXRsZVwiPlxuICAgICAgICA8dGh5LWljb24gKm5nSWY9XCJzaG93SWNvblwiIGNsYXNzPVwidGh5LW1lbnUtZ3JvdXAtdGl0bGUtaWNvbiBtci0yXCIgW3RoeUljb25OYW1lXT1cImljb25DbGFzc1wiPjwvdGh5LWljb24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGh5LW1lbnUtZ3JvdXAtdGl0bGUtdGV4dFwiPnt7IHRoeVRpdGxlIH19PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8dGh5LWljb25cbiAgICAqbmdJZj1cInRoeVNob3dBY3Rpb25cIlxuICAgIGNsYXNzPVwidGh5LW1lbnUtZ3JvdXAtb3BlcmF0aW9uXCJcbiAgICBbdGh5SWNvbk5hbWVdPVwicmlnaHRJY29uQ2xhc3NcIlxuICAgIChjbGljayk9XCJvbkFjdGlvbkNsaWNrKCRldmVudClcIlxuICA+PC90aHktaWNvbj5cbiAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiYW5nbGUtdXBcIiAqbmdJZj1cInRoeUNvbGxhcHNpYmxlXCIgY2xhc3M9XCJ0aHktbWVudS1ncm91cC1hcnJvd1wiPjwvdGh5LWljb24+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJ0aHktbWVudS1ncm91cC1ib2R5XCIgI3RoeU1lbnVHcm91cCBbQGRldGFpbHNDb250ZW50QW5pbWF0aW9uXT1cImlzQ29sbGFwc2VkXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1ncm91cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWVudS9ncm91cC9tZW51LWdyb3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9tZW51L2dyb3VwL21lbnUtZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRixPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRXhEOzs7O0dBSUc7QUFnQ0gsTUFBTSxPQUFPLFlBQVk7SUF5QnJCOzs7T0FHRztJQUNILElBQ0ksU0FBUyxDQUFDLEtBQWM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQ0ksWUFBWSxDQUFDLEtBQWM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQU9EOztPQUVHO0lBQ0gsSUFDSSxXQUFXLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsUUFB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QVMsRUFBRSxxQkFBcUIsRUFBRTtnQkFNdkMsV0FBVztzQkFEZCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQVN2QyxPQUFPO3NCQURWLEtBQUs7dUJBQUMsU0FBUztnQkFTWixhQUFhO3NCQURoQixLQUFLO3VCQUFDLGVBQWU7Z0JBUXVCLGFBQWE7c0JBQXpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBS0Usd0JBQXdCO3NCQUFwRSxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLHFCQUFxQixFQUFFO2dCQUtqQyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRUcsa0JBQWtCO3NCQUEzQixNQUFNO2dCQU1ILGFBQWE7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoeVBvcG92ZXIgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ25neC10ZXRoeXMvdXRpbCc7XG5cbi8qKlxuICog6I+c5Y2V5YiG57uE57uE5Lu2XG4gKiBAbmFtZSB0aHktbWVudS1ncm91cCxbdGh5LW1lbnUtZ3JvdXBdLFt0aHlNZW51R3JvdXBdXG4gKiBAb3JkZXIgMzBcbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aHktbWVudS1ncm91cCxbdGh5LW1lbnUtZ3JvdXBdLFt0aHlNZW51R3JvdXBdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbWVudS1ncm91cC5jb21wb25lbnQuaHRtbCcsXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdkZXRhaWxzQ29udGVudEFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICd2b2lkJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJyonXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzdGF0ZShcbiAgICAgICAgICAgICAgICAnMScsXG4gICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJzAnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnKidcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJyogPT4gKicsIGFuaW1hdGUoJzBtcyBlYXNlLW91dCcpKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgTmdJZiwgTmdUZW1wbGF0ZU91dGxldCwgVGh5SWNvbl1cbn0pXG5leHBvcnQgY2xhc3MgVGh5TWVudUdyb3VwIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgX2FjdGlvbk1lbnU6IENvbXBvbmVudFR5cGU8YW55PiB8IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBwdWJsaWMgcmlnaHRJY29uQ2xhc3MgPSAnbW9yZSc7XG5cbiAgICBwdWJsaWMgaWNvbkNsYXNzID0gJ2ZvbGRlci1ib2xkJztcblxuICAgIHB1YmxpYyBncm91cEhlYWRlclBhZGRpbmdMZWZ0ID0gMDtcblxuICAgIEBWaWV3Q2hpbGQoJ3RoeU1lbnVHcm91cCcsIHsgc3RhdGljOiB0cnVlIH0pIF90aHlNZW51R3JvdXA6IEVsZW1lbnRSZWY7XG5cbiAgICBAQ29udGVudENoaWxkKCdoZWFkZXJDb250ZW50JylcbiAgICBoZWFkZXJDb250ZW50VGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRoeS1tZW51LWdyb3VwJykgaXNUaHlNZW51R3JvdXAgPSB0cnVlO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtaWNvbicpIHNob3dJY29uID0gZmFsc2U7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvbGxhcHNlZCcpIGlzQ29sbGFwc2VkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDliIbnu4TmoIfpophcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0aHlUaXRsZSA9ICcnO1xuXG4gICAgLyoqXG4gICAgICog5bey5bqf5byD77yM6K+35L2/55SoIHRoeUNvbGxhcHNlZFxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgdGh5RXhwYW5kKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhISF2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKblpITkuo7mlLbotbfnirbmgIFcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogY29lcmNlQm9vbGVhblByb3BlcnR5IH0pXG4gICAgc2V0IHRoeUNvbGxhcHNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmlzQ29sbGFwc2VkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog5piv5ZCm5pSv5oyB5bGV5byA5pS26LW3XG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSkgdGh5Q29sbGFwc2libGU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIOaYr+WQpuaYvuekuiBJY29uXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSlcbiAgICBzZXQgdGh5U2hvd0ljb24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5zaG93SWNvbiA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOWbvuagh1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5SWNvbicpXG4gICAgc2V0IHRoeUljb24odmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmljb25DbGFzcyA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIOaTjeS9nOWbvuagh1xuICAgICAqL1xuICAgIEBJbnB1dCgndGh5QWN0aW9uSWNvbicpXG4gICAgc2V0IHRoeUFjdGlvbkljb24odmFsdWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJpZ2h0SWNvbkNsYXNzID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICrmmK/lkKbmmL7npLrmk43kvZxcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlTaG93QWN0aW9uID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiDmk43kvZzpmLvmraLlhpLms6Hkuovku7ZcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlBY3Rpb25TdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQWN0aW9uIOeCueWHu+S6i+S7tlxuICAgICAqL1xuICAgIEBPdXRwdXQoKSB0aHlPbkFjdGlvbkNsaWNrOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKSB0aHlDb2xsYXBzZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBBY3Rpb24g6I+c5Y2VXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QWN0aW9uTWVudSh2YWx1ZTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLl9hY3Rpb25NZW51ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3BvdmVyOiBUaHlQb3BvdmVyKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7fVxuXG4gICAgY29sbGFwc2VHcm91cCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnRoeUNvbGxhcHNpYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0NvbGxhcHNlZCA9ICF0aGlzLmlzQ29sbGFwc2VkO1xuICAgICAgICB0aGlzLnRoeUNvbGxhcHNlZENoYW5nZS5lbWl0KHRoaXMuaXNDb2xsYXBzZWQpO1xuICAgIH1cblxuICAgIG9uQWN0aW9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnRoeUFjdGlvblN0b3BQcm9wYWdhdGlvbikge1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX2FjdGlvbk1lbnUpIHtcbiAgICAgICAgICAgIHRoaXMucG9wb3Zlci5vcGVuKHRoaXMuX2FjdGlvbk1lbnUsIHtcbiAgICAgICAgICAgICAgICBvcmlnaW46IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50OiAnYm90dG9tJ1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRoeU9uQWN0aW9uQ2xpY2suZW1pdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwidGh5LW1lbnUtZ3JvdXAtaGVhZGVyXCIgW25nQ2xhc3NdPVwieyAndGh5LW1lbnUtZ3JvdXAtY29sbGFwc2libGUnOiB0aHlDb2xsYXBzaWJsZSB9XCIgKGNsaWNrKT1cImNvbGxhcHNlR3JvdXAoKVwiPlxuICA8ZGl2IGNsYXNzPVwidGh5LW1lbnUtZ3JvdXAtaGVhZGVyLWNvbnRlbnRcIj5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJoZWFkZXJDb250ZW50VGVtcGxhdGVSZWY7IGVsc2UgZGVmYXVsdFRpdGxlXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyQ29udGVudFRlbXBsYXRlUmVmXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHRUaXRsZT5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGh5LW1lbnUtZ3JvdXAtdGl0bGVcIj5cbiAgICAgICAgPHRoeS1pY29uICpuZ0lmPVwic2hvd0ljb25cIiBjbGFzcz1cInRoeS1tZW51LWdyb3VwLXRpdGxlLWljb24gbXItMlwiIFt0aHlJY29uTmFtZV09XCJpY29uQ2xhc3NcIj48L3RoeS1pY29uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRoeS1tZW51LWdyb3VwLXRpdGxlLXRleHRcIj57eyB0aHlUaXRsZSB9fTwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPHRoeS1pY29uXG4gICAgKm5nSWY9XCJ0aHlTaG93QWN0aW9uXCJcbiAgICBjbGFzcz1cInRoeS1tZW51LWdyb3VwLW9wZXJhdGlvblwiXG4gICAgW3RoeUljb25OYW1lXT1cInJpZ2h0SWNvbkNsYXNzXCJcbiAgICAoY2xpY2spPVwib25BY3Rpb25DbGljaygkZXZlbnQpXCJcbiAgPjwvdGh5LWljb24+XG4gIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImFuZ2xlLXVwXCIgKm5nSWY9XCJ0aHlDb2xsYXBzaWJsZVwiIGNsYXNzPVwidGh5LW1lbnUtZ3JvdXAtYXJyb3dcIj48L3RoeS1pY29uPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwidGh5LW1lbnUtZ3JvdXAtYm9keVwiICN0aHlNZW51R3JvdXAgW0BkZXRhaWxzQ29udGVudEFuaW1hdGlvbl09XCJpc0NvbGxhcHNlZFwiPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -1,5 +1,6 @@
1
- import { Component, ElementRef, Input, Renderer2, booleanAttribute } from '@angular/core';
2
- import { ThyPopover } from 'ngx-tethys/popover';
1
+ import { ThyPopover, ThyPopoverConfig } from 'ngx-tethys/popover';
2
+ import { coerceBooleanProperty } from 'ngx-tethys/util';
3
+ import { Component, ElementRef, Input, Renderer2 } from '@angular/core';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "ngx-tethys/popover";
5
6
  /**
@@ -27,10 +28,17 @@ export class ThyMenuItemAction {
27
28
  event.stopPropagation();
28
29
  }
29
30
  if (this._actionMenu) {
30
- this.popover.open(this._actionMenu, {
31
+ const activeClass = 'action-active';
32
+ const wrapDOM = event.target.closest('.thy-menu-item');
33
+ wrapDOM?.classList.add(activeClass);
34
+ const popoverRef = this.popover.open(this._actionMenu, Object.assign({
31
35
  origin: event.currentTarget,
32
36
  insideClosable: true,
33
- placement: 'bottom'
37
+ placement: 'bottomLeft',
38
+ originActiveClass: 'active'
39
+ }, this.thyPopoverOptions));
40
+ popoverRef?.afterClosed().subscribe(() => {
41
+ wrapDOM?.classList.remove(activeClass);
34
42
  });
35
43
  }
36
44
  });
@@ -50,7 +58,7 @@ export class ThyMenuItemAction {
50
58
  this.removeClickListenerFn?.();
51
59
  }
52
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyMenuItemAction, deps: [{ token: i1.ThyPopover }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyMenuItemAction, isStandalone: true, selector: "thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]", inputs: { thyActionMenu: "thyActionMenu", thyStopPropagation: ["thyStopPropagation", "thyStopPropagation", booleanAttribute] }, host: { classAttribute: "thy-menu-item-action" }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.0", type: ThyMenuItemAction, isStandalone: true, selector: "thy-menu-item-action,[thy-menu-item-action],[thyMenuItemAction]", inputs: { thyActionMenu: "thyActionMenu", thyStopPropagation: ["thyStopPropagation", "thyStopPropagation", coerceBooleanProperty], thyPopoverOptions: "thyPopoverOptions" }, host: { classAttribute: "thy-menu-item-action" }, ngImport: i0, template: "<ng-content></ng-content>\n" }); }
54
62
  }
55
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ThyMenuItemAction, decorators: [{
56
64
  type: Component,
@@ -61,6 +69,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImpor
61
69
  type: Input
62
70
  }], thyStopPropagation: [{
63
71
  type: Input,
64
- args: [{ transform: booleanAttribute }]
72
+ args: [{ transform: coerceBooleanProperty }]
73
+ }], thyPopoverOptions: [{
74
+ type: Input
65
75
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWVudS9pdGVtL2FjdGlvbi9tZW51LWl0ZW0tYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tZW51L2l0ZW0vYWN0aW9uL21lbnUtaXRlbS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFhLFNBQVMsRUFBZSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUVoRDs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLGlCQUFpQjtJQUsxQjs7T0FFRztJQUNILElBQ0ksYUFBYSxDQUFDLEtBQTRDO1FBQzFELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQU9PLGNBQWM7UUFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzlGLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7b0JBQ2hDLE1BQU0sRUFBRSxLQUFLLENBQUMsYUFBNEI7b0JBQzFDLGNBQWMsRUFBRSxJQUFJO29CQUNwQixTQUFTLEVBQUUsUUFBUTtpQkFDdEIsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUlELFlBQW9CLE9BQW1CLEVBQVUsUUFBbUIsRUFBVSxVQUFzQjtRQUFoRixZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLGVBQVUsR0FBVixVQUFVLENBQVk7UUF6Q3BHLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBZXBCOztXQUVHO1FBQ3FDLHVCQUFrQixHQUFHLElBQUksQ0FBQztRQXFCMUQsMEJBQXFCLEdBQXdCLElBQUksQ0FBQztJQUU2QyxDQUFDO0lBRXhHLFdBQVc7UUFDUCxJQUFJLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO0lBQ25DLENBQUM7OEdBOUNRLGlCQUFpQjtrR0FBakIsaUJBQWlCLDhNQW1CTixnQkFBZ0IsK0VDcEN4Qyw2QkFDQTs7MkZEZ0JhLGlCQUFpQjtrQkFSN0IsU0FBUzsrQkFDSSxpRUFBaUUsUUFFckU7d0JBQ0YsS0FBSyxFQUFFLHNCQUFzQjtxQkFDaEMsY0FDVyxJQUFJO2dJQVdaLGFBQWE7c0JBRGhCLEtBQUs7Z0JBV2tDLGtCQUFrQjtzQkFBekQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiwgYm9vbGVhbkF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5cbi8qKlxuICog6I+c5Y2V6aG55pON5L2c57uE5Lu2XG4gKiBAbmFtZSB0aHktbWVudS1pdGVtLWFjdGlvbixbdGh5LW1lbnUtaXRlbS1hY3Rpb25dLFt0aHlNZW51SXRlbUFjdGlvbl1cbiAqIEBvcmRlciAyNVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1tZW51LWl0ZW0tYWN0aW9uLFt0aHktbWVudS1pdGVtLWFjdGlvbl0sW3RoeU1lbnVJdGVtQWN0aW9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktbWVudS1pdGVtLWFjdGlvbidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5TWVudUl0ZW1BY3Rpb24gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIF9ib3VuZEV2ZW50ID0gZmFsc2U7XG5cbiAgICBfYWN0aW9uTWVudTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBBY3Rpb24g6I+c5Y2VXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QWN0aW9uTWVudSh2YWx1ZTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLl9hY3Rpb25NZW51ID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9hY3Rpb25NZW51KSB7XG4gICAgICAgICAgICB0aGlzLmJpbmRDbGlja0V2ZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbpmLvmraLkuovku7blhpLms6FcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdGh5U3RvcFByb3BhZ2F0aW9uID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgYmluZENsaWNrRXZlbnQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9ib3VuZEV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fYm91bmRFdmVudCA9IHRydWU7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2xpY2tMaXN0ZW5lckZuID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLnRoeVN0b3BQcm9wYWdhdGlvbikge1xuICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuX2FjdGlvbk1lbnUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXIub3Blbih0aGlzLl9hY3Rpb25NZW51LCB7XG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgaW5zaWRlQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlbWVudDogJ2JvdHRvbSdcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVDbGlja0xpc3RlbmVyRm46IFZvaWRGdW5jdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBwb3BvdmVyOiBUaHlQb3BvdmVyLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUNsaWNrTGlzdGVuZXJGbj8uKCk7XG4gICAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuIl19
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS1pdGVtLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWVudS9pdGVtL2FjdGlvbi9tZW51LWl0ZW0tYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tZW51L2l0ZW0vYWN0aW9uL21lbnUtaXRlbS1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBYSxTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7OztBQUVoRzs7OztHQUlHO0FBU0gsTUFBTSxPQUFPLGlCQUFpQjtJQUsxQjs7T0FFRztJQUNILElBQ0ksYUFBYSxDQUFDLEtBQTRDO1FBQzFELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUMxQixDQUFDO0lBQ0wsQ0FBQztJQWFPLGNBQWM7UUFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNYLENBQUM7UUFDRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQzlGLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7Z0JBQzFCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QixDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQztnQkFDcEMsTUFBTSxPQUFPLEdBQUksS0FBSyxDQUFDLE1BQXNCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ3hFLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDaEMsSUFBSSxDQUFDLFdBQVcsRUFDaEIsTUFBTSxDQUFDLE1BQU0sQ0FDVDtvQkFDSSxNQUFNLEVBQUUsS0FBSyxDQUFDLGFBQTRCO29CQUMxQyxjQUFjLEVBQUUsSUFBSTtvQkFDcEIsU0FBUyxFQUFFLFlBQVk7b0JBQ3ZCLGlCQUFpQixFQUFFLFFBQVE7aUJBQzlCLEVBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUN6QixDQUNKLENBQUM7Z0JBQ0YsVUFBVSxFQUFFLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7b0JBQ3JDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQztZQUNQLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFJRCxZQUFvQixPQUFtQixFQUFVLFFBQW1CLEVBQVUsVUFBc0I7UUFBaEYsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBNURwRyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQWVwQjs7V0FFRztRQUMwQyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUF3Qy9ELDBCQUFxQixHQUF3QixJQUFJLENBQUM7SUFFNkMsQ0FBQztJQUV4RyxXQUFXO1FBQ1AsSUFBSSxDQUFDLHFCQUFxQixFQUFFLEVBQUUsQ0FBQztJQUNuQyxDQUFDOzhHQWpFUSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw4TUFtQk4scUJBQXFCLHVIQ3RDN0MsNkJBQ0E7OzJGRGtCYSxpQkFBaUI7a0JBUjdCLFNBQVM7K0JBQ0ksaUVBQWlFLFFBRXJFO3dCQUNGLEtBQUssRUFBRSxzQkFBc0I7cUJBQ2hDLGNBQ1csSUFBSTtnSUFXWixhQUFhO3NCQURoQixLQUFLO2dCQVd1QyxrQkFBa0I7c0JBQTlELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUscUJBQXFCLEVBQUU7Z0JBTWxDLGlCQUFpQjtzQkFBekIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRoeVBvcG92ZXIsIFRoeVBvcG92ZXJDb25maWcgfSBmcm9tICduZ3gtdGV0aHlzL3BvcG92ZXInO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnbmd4LXRldGh5cy91dGlsJztcblxuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBSZW5kZXJlcjIsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICog6I+c5Y2V6aG55pON5L2c57uE5Lu2XG4gKiBAbmFtZSB0aHktbWVudS1pdGVtLWFjdGlvbixbdGh5LW1lbnUtaXRlbS1hY3Rpb25dLFt0aHlNZW51SXRlbUFjdGlvbl1cbiAqIEBvcmRlciAyNVxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoeS1tZW51LWl0ZW0tYWN0aW9uLFt0aHktbWVudS1pdGVtLWFjdGlvbl0sW3RoeU1lbnVJdGVtQWN0aW9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL21lbnUtaXRlbS1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICd0aHktbWVudS1pdGVtLWFjdGlvbidcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgVGh5TWVudUl0ZW1BY3Rpb24gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIF9ib3VuZEV2ZW50ID0gZmFsc2U7XG5cbiAgICBfYWN0aW9uTWVudTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIC8qKlxuICAgICAqIOiuvue9riBBY3Rpb24g6I+c5Y2VXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgdGh5QWN0aW9uTWVudSh2YWx1ZTogQ29tcG9uZW50VHlwZTxhbnk+IHwgVGVtcGxhdGVSZWY8YW55Pikge1xuICAgICAgICB0aGlzLl9hY3Rpb25NZW51ID0gdmFsdWU7XG4gICAgICAgIGlmICh0aGlzLl9hY3Rpb25NZW51KSB7XG4gICAgICAgICAgICB0aGlzLmJpbmRDbGlja0V2ZW50KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDmmK/lkKbpmLvmraLkuovku7blhpLms6FcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9KSB0aHlTdG9wUHJvcGFnYXRpb24gPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICog5by55Ye65qGG55qE5Y+C5pWwXG4gICAgICogQGRlZmF1bHQgeyBwbGFjZW1lbnQ6IFwiYm90dG9tTGVmdFwiLCBpbnNpZGVDbG9zYWJsZTogdHJ1ZSB9XG4gICAgICovXG4gICAgQElucHV0KCkgdGh5UG9wb3Zlck9wdGlvbnM6IFRoeVBvcG92ZXJDb25maWc7XG5cbiAgICBwcml2YXRlIGJpbmRDbGlja0V2ZW50KCkge1xuICAgICAgICBpZiAodGhpcy5fYm91bmRFdmVudCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2JvdW5kRXZlbnQgPSB0cnVlO1xuICAgICAgICB0aGlzLnJlbW92ZUNsaWNrTGlzdGVuZXJGbiA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCBldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy50aHlTdG9wUHJvcGFnYXRpb24pIHtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLl9hY3Rpb25NZW51KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYWN0aXZlQ2xhc3MgPSAnYWN0aW9uLWFjdGl2ZSc7XG4gICAgICAgICAgICAgICAgY29uc3Qgd3JhcERPTSA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmNsb3Nlc3QoJy50aHktbWVudS1pdGVtJyk7XG4gICAgICAgICAgICAgICAgd3JhcERPTT8uY2xhc3NMaXN0LmFkZChhY3RpdmVDbGFzcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9wb3ZlclJlZiA9IHRoaXMucG9wb3Zlci5vcGVuKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLl9hY3Rpb25NZW51LFxuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbjogZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZW1lbnQ6ICdib3R0b21MZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcmlnaW5BY3RpdmVDbGFzczogJ2FjdGl2ZSdcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRoeVBvcG92ZXJPcHRpb25zXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHBvcG92ZXJSZWY/LmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgd3JhcERPTT8uY2xhc3NMaXN0LnJlbW92ZShhY3RpdmVDbGFzcyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQ2xpY2tMaXN0ZW5lckZuOiBWb2lkRnVuY3Rpb24gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcG9wb3ZlcjogVGh5UG9wb3ZlciwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVDbGlja0xpc3RlbmVyRm4/LigpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==