cax-design-system 2.8.0 → 2.8.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 (1820) hide show
  1. package/README.md +46 -46
  2. package/accordion/index.d.ts +286 -3
  3. package/animate/index.d.ts +41 -3
  4. package/animateonscroll/index.d.ts +75 -3
  5. package/api/index.d.ts +1856 -3
  6. package/autocomplete/index.d.ts +799 -3
  7. package/autofocus/index.d.ts +29 -3
  8. package/avatar/index.d.ts +80 -3
  9. package/avatargroup/index.d.ts +30 -3
  10. package/badge/index.d.ts +67 -5
  11. package/baseicon/index.d.ts +18 -5
  12. package/blockui/index.d.ts +77 -3
  13. package/breadcrumb/index.d.ts +105 -3
  14. package/button/index.d.ts +170 -3
  15. package/buttongroup/index.d.ts +14 -5
  16. package/calendar/index.d.ts +935 -3
  17. package/card/index.d.ts +92 -3
  18. package/carousel/index.d.ts +290 -3
  19. package/cascadeselect/index.d.ts +564 -3
  20. package/cax-design-system-2.8.2.tgz +0 -0
  21. package/chart/index.d.ts +88 -3
  22. package/checkbox/index.d.ts +204 -3
  23. package/chip/index.d.ts +63 -3
  24. package/chips/index.d.ts +305 -3
  25. package/colorpicker/index.d.ts +265 -3
  26. package/commentbox/index.d.ts +138 -5
  27. package/confirmdialog/index.d.ts +336 -3
  28. package/confirmpopup/index.d.ts +148 -3
  29. package/contextmenu/index.d.ts +261 -3
  30. package/dataview/index.d.ts +457 -3
  31. package/defer/index.d.ts +40 -3
  32. package/dialog/index.d.ts +411 -3
  33. package/divider/index.d.ts +56 -3
  34. package/dock/index.d.ts +136 -3
  35. package/dom/index.d.ts +105 -3
  36. package/dragdrop/index.d.ts +120 -3
  37. package/dropdown/index.d.ts +818 -3
  38. package/dynamicdialog/index.d.ts +490 -3
  39. package/editor/index.d.ts +177 -3
  40. package/fesm2022/cax-design-system-accordion.mjs +4 -4
  41. package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
  42. package/fesm2022/cax-design-system-animate.mjs +1 -1
  43. package/fesm2022/cax-design-system-animate.mjs.map +1 -1
  44. package/fesm2022/cax-design-system-animateonscroll.mjs +1 -1
  45. package/fesm2022/cax-design-system-animateonscroll.mjs.map +1 -1
  46. package/fesm2022/cax-design-system-api.mjs +1 -1
  47. package/fesm2022/cax-design-system-api.mjs.map +1 -1
  48. package/fesm2022/cax-design-system-autocomplete.mjs +3 -3
  49. package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
  50. package/fesm2022/cax-design-system-autofocus.mjs +1 -1
  51. package/fesm2022/cax-design-system-autofocus.mjs.map +1 -1
  52. package/fesm2022/cax-design-system-avatar.mjs +3 -3
  53. package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
  54. package/fesm2022/cax-design-system-avatargroup.mjs +3 -3
  55. package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
  56. package/fesm2022/cax-design-system-badge.mjs +3 -3
  57. package/fesm2022/cax-design-system-badge.mjs.map +1 -1
  58. package/fesm2022/cax-design-system-baseicon.mjs +1 -1
  59. package/fesm2022/cax-design-system-baseicon.mjs.map +1 -1
  60. package/fesm2022/cax-design-system-blockui.mjs +1 -1
  61. package/fesm2022/cax-design-system-blockui.mjs.map +1 -1
  62. package/fesm2022/cax-design-system-breadcrumb.mjs +3 -3
  63. package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
  64. package/fesm2022/cax-design-system-button.mjs +3 -3
  65. package/fesm2022/cax-design-system-button.mjs.map +1 -1
  66. package/fesm2022/cax-design-system-buttongroup.mjs +1 -1
  67. package/fesm2022/cax-design-system-buttongroup.mjs.map +1 -1
  68. package/fesm2022/cax-design-system-calendar.mjs +5 -5
  69. package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
  70. package/fesm2022/cax-design-system-card.mjs +3 -3
  71. package/fesm2022/cax-design-system-card.mjs.map +1 -1
  72. package/fesm2022/cax-design-system-carousel.mjs +1 -1
  73. package/fesm2022/cax-design-system-carousel.mjs.map +1 -1
  74. package/fesm2022/cax-design-system-cascadeselect.mjs +5 -5
  75. package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
  76. package/fesm2022/cax-design-system-chart.mjs +1 -1
  77. package/fesm2022/cax-design-system-chart.mjs.map +1 -1
  78. package/fesm2022/cax-design-system-checkbox.mjs +3 -3
  79. package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
  80. package/fesm2022/cax-design-system-chip.mjs +3 -3
  81. package/fesm2022/cax-design-system-chip.mjs.map +1 -1
  82. package/fesm2022/cax-design-system-chips.mjs +4 -4
  83. package/fesm2022/cax-design-system-chips.mjs.map +1 -1
  84. package/fesm2022/cax-design-system-colorpicker.mjs +3 -3
  85. package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
  86. package/fesm2022/cax-design-system-commentbox.mjs +3 -3
  87. package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
  88. package/fesm2022/cax-design-system-confirmdialog.mjs +3 -3
  89. package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
  90. package/fesm2022/cax-design-system-confirmpopup.mjs +2 -2
  91. package/fesm2022/cax-design-system-confirmpopup.mjs.map +1 -1
  92. package/fesm2022/cax-design-system-contextmenu.mjs +1 -1
  93. package/fesm2022/cax-design-system-contextmenu.mjs.map +1 -1
  94. package/fesm2022/cax-design-system-dataview.mjs +1 -1
  95. package/fesm2022/cax-design-system-dataview.mjs.map +1 -1
  96. package/fesm2022/cax-design-system-defer.mjs +1 -1
  97. package/fesm2022/cax-design-system-defer.mjs.map +1 -1
  98. package/fesm2022/cax-design-system-dialog.mjs +3 -3
  99. package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
  100. package/fesm2022/cax-design-system-divider.mjs +3 -3
  101. package/fesm2022/cax-design-system-divider.mjs.map +1 -1
  102. package/fesm2022/cax-design-system-dock.mjs +1 -1
  103. package/fesm2022/cax-design-system-dock.mjs.map +1 -1
  104. package/fesm2022/cax-design-system-dom.mjs.map +1 -1
  105. package/fesm2022/cax-design-system-dragdrop.mjs +1 -1
  106. package/fesm2022/cax-design-system-dragdrop.mjs.map +1 -1
  107. package/fesm2022/cax-design-system-dropdown.mjs +6 -6
  108. package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
  109. package/fesm2022/cax-design-system-dynamicdialog.mjs +1 -1
  110. package/fesm2022/cax-design-system-dynamicdialog.mjs.map +1 -1
  111. package/fesm2022/cax-design-system-editor.mjs +3 -3
  112. package/fesm2022/cax-design-system-editor.mjs.map +1 -1
  113. package/fesm2022/cax-design-system-fieldset.mjs +2 -2
  114. package/fesm2022/cax-design-system-fieldset.mjs.map +1 -1
  115. package/fesm2022/cax-design-system-fileupload.mjs +1 -1
  116. package/fesm2022/cax-design-system-fileupload.mjs.map +1 -1
  117. package/fesm2022/cax-design-system-floatlabel.mjs +1 -1
  118. package/fesm2022/cax-design-system-floatlabel.mjs.map +1 -1
  119. package/fesm2022/cax-design-system-focustrap.mjs +1 -1
  120. package/fesm2022/cax-design-system-focustrap.mjs.map +1 -1
  121. package/fesm2022/cax-design-system-galleria.mjs +1 -1
  122. package/fesm2022/cax-design-system-galleria.mjs.map +1 -1
  123. package/fesm2022/cax-design-system-iconfield.mjs +1 -1
  124. package/fesm2022/cax-design-system-iconfield.mjs.map +1 -1
  125. package/fesm2022/cax-design-system-icons-angledoubledown.mjs.map +1 -1
  126. package/fesm2022/cax-design-system-icons-angledoubleleft.mjs.map +1 -1
  127. package/fesm2022/cax-design-system-icons-angledoubleright.mjs.map +1 -1
  128. package/fesm2022/cax-design-system-icons-angledoubleup.mjs.map +1 -1
  129. package/fesm2022/cax-design-system-icons-angledown.mjs.map +1 -1
  130. package/fesm2022/cax-design-system-icons-angleleft.mjs.map +1 -1
  131. package/fesm2022/cax-design-system-icons-angleright.mjs.map +1 -1
  132. package/fesm2022/cax-design-system-icons-angleup.mjs.map +1 -1
  133. package/fesm2022/cax-design-system-icons-arrowdown.mjs.map +1 -1
  134. package/fesm2022/cax-design-system-icons-arrowdownleft.mjs.map +1 -1
  135. package/fesm2022/cax-design-system-icons-arrowdownright.mjs.map +1 -1
  136. package/fesm2022/cax-design-system-icons-arrowleft.mjs.map +1 -1
  137. package/fesm2022/cax-design-system-icons-arrowright.mjs.map +1 -1
  138. package/fesm2022/cax-design-system-icons-arrowup.mjs.map +1 -1
  139. package/fesm2022/cax-design-system-icons-ban.mjs.map +1 -1
  140. package/fesm2022/cax-design-system-icons-bars.mjs.map +1 -1
  141. package/fesm2022/cax-design-system-icons-blank.mjs.map +1 -1
  142. package/fesm2022/cax-design-system-icons-calendar.mjs.map +1 -1
  143. package/fesm2022/cax-design-system-icons-caretleft.mjs.map +1 -1
  144. package/fesm2022/cax-design-system-icons-caretright.mjs.map +1 -1
  145. package/fesm2022/cax-design-system-icons-check.mjs.map +1 -1
  146. package/fesm2022/cax-design-system-icons-chevrondown.mjs.map +1 -1
  147. package/fesm2022/cax-design-system-icons-chevronleft.mjs.map +1 -1
  148. package/fesm2022/cax-design-system-icons-chevronright.mjs.map +1 -1
  149. package/fesm2022/cax-design-system-icons-chevronup.mjs.map +1 -1
  150. package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs.map +1 -1
  151. package/fesm2022/cax-design-system-icons-eye.mjs.map +1 -1
  152. package/fesm2022/cax-design-system-icons-eyeslash.mjs.map +1 -1
  153. package/fesm2022/cax-design-system-icons-filter.mjs.map +1 -1
  154. package/fesm2022/cax-design-system-icons-filterslash.mjs.map +1 -1
  155. package/fesm2022/cax-design-system-icons-home.mjs.map +1 -1
  156. package/fesm2022/cax-design-system-icons-infocircle.mjs.map +1 -1
  157. package/fesm2022/cax-design-system-icons-minus.mjs.map +1 -1
  158. package/fesm2022/cax-design-system-icons-pencil.mjs.map +1 -1
  159. package/fesm2022/cax-design-system-icons-plus.mjs.map +1 -1
  160. package/fesm2022/cax-design-system-icons-refresh.mjs.map +1 -1
  161. package/fesm2022/cax-design-system-icons-search.mjs.map +1 -1
  162. package/fesm2022/cax-design-system-icons-searchminus.mjs.map +1 -1
  163. package/fesm2022/cax-design-system-icons-searchplus.mjs.map +1 -1
  164. package/fesm2022/cax-design-system-icons-sortalt.mjs.map +1 -1
  165. package/fesm2022/cax-design-system-icons-sortamountdown.mjs.map +1 -1
  166. package/fesm2022/cax-design-system-icons-sortamountupalt.mjs.map +1 -1
  167. package/fesm2022/cax-design-system-icons-spinner.mjs.map +1 -1
  168. package/fesm2022/cax-design-system-icons-star.mjs.map +1 -1
  169. package/fesm2022/cax-design-system-icons-starfill.mjs.map +1 -1
  170. package/fesm2022/cax-design-system-icons-thlarge.mjs.map +1 -1
  171. package/fesm2022/cax-design-system-icons-times.mjs.map +1 -1
  172. package/fesm2022/cax-design-system-icons-timescircle.mjs.map +1 -1
  173. package/fesm2022/cax-design-system-icons-trash.mjs.map +1 -1
  174. package/fesm2022/cax-design-system-icons-undo.mjs.map +1 -1
  175. package/fesm2022/cax-design-system-icons-upload.mjs.map +1 -1
  176. package/fesm2022/cax-design-system-icons-windowmaximize.mjs.map +1 -1
  177. package/fesm2022/cax-design-system-icons-windowminimize.mjs.map +1 -1
  178. package/fesm2022/cax-design-system-image.mjs +4 -4
  179. package/fesm2022/cax-design-system-image.mjs.map +1 -1
  180. package/fesm2022/cax-design-system-inplace.mjs +1 -1
  181. package/fesm2022/cax-design-system-inplace.mjs.map +1 -1
  182. package/fesm2022/cax-design-system-inputgroup.mjs +3 -3
  183. package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
  184. package/fesm2022/cax-design-system-inputgroupaddon.mjs +3 -3
  185. package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
  186. package/fesm2022/cax-design-system-inputicon.mjs +1 -1
  187. package/fesm2022/cax-design-system-inputicon.mjs.map +1 -1
  188. package/fesm2022/cax-design-system-inputmask.mjs +3 -3
  189. package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
  190. package/fesm2022/cax-design-system-inputnumber.mjs +3 -3
  191. package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
  192. package/fesm2022/cax-design-system-inputotp.mjs +1 -1
  193. package/fesm2022/cax-design-system-inputotp.mjs.map +1 -1
  194. package/fesm2022/cax-design-system-inputswitch.mjs +1 -1
  195. package/fesm2022/cax-design-system-inputswitch.mjs.map +1 -1
  196. package/fesm2022/cax-design-system-inputtext.mjs +3 -3
  197. package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
  198. package/fesm2022/cax-design-system-inputtextarea.mjs +3 -3
  199. package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
  200. package/fesm2022/cax-design-system-keyfilter.mjs +1 -1
  201. package/fesm2022/cax-design-system-keyfilter.mjs.map +1 -1
  202. package/fesm2022/cax-design-system-knob.mjs +1 -1
  203. package/fesm2022/cax-design-system-knob.mjs.map +1 -1
  204. package/fesm2022/cax-design-system-listbox.mjs +1 -1
  205. package/fesm2022/cax-design-system-listbox.mjs.map +1 -1
  206. package/fesm2022/cax-design-system-logo.mjs +3 -3
  207. package/fesm2022/cax-design-system-logo.mjs.map +1 -1
  208. package/fesm2022/cax-design-system-megamenu.mjs +1 -1
  209. package/fesm2022/cax-design-system-megamenu.mjs.map +1 -1
  210. package/fesm2022/cax-design-system-menu.mjs +5 -5
  211. package/fesm2022/cax-design-system-menu.mjs.map +1 -1
  212. package/fesm2022/cax-design-system-menubar.mjs +1 -1
  213. package/fesm2022/cax-design-system-menubar.mjs.map +1 -1
  214. package/fesm2022/cax-design-system-message.mjs +1 -1
  215. package/fesm2022/cax-design-system-message.mjs.map +1 -1
  216. package/fesm2022/cax-design-system-messages.mjs +4 -4
  217. package/fesm2022/cax-design-system-messages.mjs.map +1 -1
  218. package/fesm2022/cax-design-system-metergroup.mjs +1 -1
  219. package/fesm2022/cax-design-system-metergroup.mjs.map +1 -1
  220. package/fesm2022/cax-design-system-multiselect.mjs +5 -5
  221. package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
  222. package/fesm2022/cax-design-system-navigation.mjs +3 -3
  223. package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
  224. package/fesm2022/cax-design-system-orderlist.mjs +1 -1
  225. package/fesm2022/cax-design-system-orderlist.mjs.map +1 -1
  226. package/fesm2022/cax-design-system-organizationchart.mjs +2 -2
  227. package/fesm2022/cax-design-system-organizationchart.mjs.map +1 -1
  228. package/fesm2022/cax-design-system-overlay.mjs +4 -4
  229. package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
  230. package/fesm2022/cax-design-system-overlaypanel.mjs +5 -5
  231. package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
  232. package/fesm2022/cax-design-system-paginator.mjs +3 -3
  233. package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
  234. package/fesm2022/cax-design-system-panel.mjs +2 -2
  235. package/fesm2022/cax-design-system-panel.mjs.map +1 -1
  236. package/fesm2022/cax-design-system-panelmenu.mjs +2 -2
  237. package/fesm2022/cax-design-system-panelmenu.mjs.map +1 -1
  238. package/fesm2022/cax-design-system-password.mjs +1 -1
  239. package/fesm2022/cax-design-system-password.mjs.map +1 -1
  240. package/fesm2022/cax-design-system-picklist.mjs +1 -1
  241. package/fesm2022/cax-design-system-picklist.mjs.map +1 -1
  242. package/fesm2022/cax-design-system-progressbar.mjs +3 -3
  243. package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
  244. package/fesm2022/cax-design-system-progressspinner.mjs +3 -3
  245. package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
  246. package/fesm2022/cax-design-system-radiobutton.mjs +3 -3
  247. package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
  248. package/fesm2022/cax-design-system-rating.mjs +1 -1
  249. package/fesm2022/cax-design-system-rating.mjs.map +1 -1
  250. package/fesm2022/cax-design-system-ripple.mjs +1 -1
  251. package/fesm2022/cax-design-system-ripple.mjs.map +1 -1
  252. package/fesm2022/cax-design-system-scroller.mjs +4 -4
  253. package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
  254. package/fesm2022/cax-design-system-scrollpanel.mjs +1 -1
  255. package/fesm2022/cax-design-system-scrollpanel.mjs.map +1 -1
  256. package/fesm2022/cax-design-system-scrolltop.mjs +2 -2
  257. package/fesm2022/cax-design-system-scrolltop.mjs.map +1 -1
  258. package/fesm2022/cax-design-system-selectbutton.mjs +3 -3
  259. package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
  260. package/fesm2022/cax-design-system-sidebar.mjs +4 -4
  261. package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
  262. package/fesm2022/cax-design-system-skeleton.mjs +3 -3
  263. package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
  264. package/fesm2022/cax-design-system-slidemenu.mjs +1 -1
  265. package/fesm2022/cax-design-system-slidemenu.mjs.map +1 -1
  266. package/fesm2022/cax-design-system-slider.mjs +1 -1
  267. package/fesm2022/cax-design-system-slider.mjs.map +1 -1
  268. package/fesm2022/cax-design-system-speeddial.mjs +3 -3
  269. package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
  270. package/fesm2022/cax-design-system-spinner.mjs +1 -1
  271. package/fesm2022/cax-design-system-spinner.mjs.map +1 -1
  272. package/fesm2022/cax-design-system-splitbutton.mjs +3 -3
  273. package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
  274. package/fesm2022/cax-design-system-splitter.mjs +3 -3
  275. package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
  276. package/fesm2022/cax-design-system-stepper.mjs +2 -2
  277. package/fesm2022/cax-design-system-stepper.mjs.map +1 -1
  278. package/fesm2022/cax-design-system-steps.mjs +3 -3
  279. package/fesm2022/cax-design-system-steps.mjs.map +1 -1
  280. package/fesm2022/cax-design-system-styleclass.mjs +1 -1
  281. package/fesm2022/cax-design-system-styleclass.mjs.map +1 -1
  282. package/fesm2022/cax-design-system-table.mjs +19 -19
  283. package/fesm2022/cax-design-system-table.mjs.map +1 -1
  284. package/fesm2022/cax-design-system-tableconfiguration.mjs +19 -11
  285. package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
  286. package/fesm2022/cax-design-system-tabmenu.mjs +1 -1
  287. package/fesm2022/cax-design-system-tabmenu.mjs.map +1 -1
  288. package/fesm2022/cax-design-system-tabview.mjs +5 -5
  289. package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
  290. package/fesm2022/cax-design-system-tag.mjs +3 -3
  291. package/fesm2022/cax-design-system-tag.mjs.map +1 -1
  292. package/fesm2022/cax-design-system-terminal.mjs +1 -1
  293. package/fesm2022/cax-design-system-terminal.mjs.map +1 -1
  294. package/fesm2022/cax-design-system-tieredmenu.mjs +1 -1
  295. package/fesm2022/cax-design-system-tieredmenu.mjs.map +1 -1
  296. package/fesm2022/cax-design-system-timeline.mjs +3 -3
  297. package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
  298. package/fesm2022/cax-design-system-toast.mjs +6 -6
  299. package/fesm2022/cax-design-system-toast.mjs.map +1 -1
  300. package/fesm2022/cax-design-system-togglebutton.mjs +1 -1
  301. package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
  302. package/fesm2022/cax-design-system-toggleswitch.mjs +3 -3
  303. package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
  304. package/fesm2022/cax-design-system-toolbar.mjs +1 -1
  305. package/fesm2022/cax-design-system-toolbar.mjs.map +1 -1
  306. package/fesm2022/cax-design-system-tooltip.mjs +1 -1
  307. package/fesm2022/cax-design-system-tooltip.mjs.map +1 -1
  308. package/fesm2022/cax-design-system-tree.mjs +5 -5
  309. package/fesm2022/cax-design-system-tree.mjs.map +1 -1
  310. package/fesm2022/cax-design-system-treeselect.mjs +3 -3
  311. package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
  312. package/fesm2022/cax-design-system-treetable.mjs +1 -1
  313. package/fesm2022/cax-design-system-treetable.mjs.map +1 -1
  314. package/fesm2022/cax-design-system-tristatecheckbox.mjs +4 -4
  315. package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
  316. package/fesm2022/cax-design-system-upload.mjs +3 -3
  317. package/fesm2022/cax-design-system-upload.mjs.map +1 -1
  318. package/fesm2022/cax-design-system-utils.mjs.map +1 -1
  319. package/fesm2022/cax-design-system-virtualscroller.mjs +1 -1
  320. package/fesm2022/cax-design-system-virtualscroller.mjs.map +1 -1
  321. package/fieldset/index.d.ts +140 -3
  322. package/fileupload/index.d.ts +606 -3
  323. package/floatlabel/index.d.ts +19 -3
  324. package/focustrap/index.d.ts +35 -3
  325. package/galleria/index.d.ts +502 -3
  326. package/iconfield/index.d.ts +26 -3
  327. package/icons/angledoubledown/index.d.ts +9 -5
  328. package/icons/angledoubleleft/index.d.ts +9 -5
  329. package/icons/angledoubleright/index.d.ts +9 -5
  330. package/icons/angledoubleup/index.d.ts +9 -5
  331. package/icons/angledown/index.d.ts +9 -5
  332. package/icons/angleleft/index.d.ts +9 -5
  333. package/icons/angleright/index.d.ts +9 -5
  334. package/icons/angleup/index.d.ts +9 -5
  335. package/icons/arrowdown/index.d.ts +12 -5
  336. package/icons/arrowdownleft/index.d.ts +9 -5
  337. package/icons/arrowdownright/index.d.ts +9 -5
  338. package/icons/arrowleft/index.d.ts +11 -5
  339. package/icons/arrowright/index.d.ts +9 -5
  340. package/icons/arrowup/index.d.ts +11 -5
  341. package/icons/ban/index.d.ts +11 -5
  342. package/icons/bars/index.d.ts +9 -5
  343. package/icons/blank/index.d.ts +9 -5
  344. package/icons/calendar/index.d.ts +9 -5
  345. package/icons/caretleft/index.d.ts +9 -5
  346. package/icons/caretright/index.d.ts +9 -5
  347. package/icons/check/index.d.ts +9 -5
  348. package/icons/chevrondown/index.d.ts +9 -5
  349. package/icons/chevronleft/index.d.ts +9 -5
  350. package/icons/chevronright/index.d.ts +9 -5
  351. package/icons/chevronup/index.d.ts +9 -5
  352. package/icons/exclamationtriangle/index.d.ts +12 -5
  353. package/icons/eye/index.d.ts +9 -5
  354. package/icons/eyeslash/index.d.ts +11 -5
  355. package/icons/filter/index.d.ts +11 -5
  356. package/icons/filterslash/index.d.ts +11 -5
  357. package/icons/home/index.d.ts +11 -5
  358. package/icons/infocircle/index.d.ts +11 -5
  359. package/icons/minus/index.d.ts +9 -5
  360. package/icons/pencil/index.d.ts +11 -5
  361. package/icons/plus/index.d.ts +11 -5
  362. package/icons/refresh/index.d.ts +11 -5
  363. package/icons/search/index.d.ts +11 -5
  364. package/icons/searchminus/index.d.ts +11 -5
  365. package/icons/searchplus/index.d.ts +11 -5
  366. package/icons/sortalt/index.d.ts +11 -5
  367. package/icons/sortamountdown/index.d.ts +11 -5
  368. package/icons/sortamountupalt/index.d.ts +11 -5
  369. package/icons/spinner/index.d.ts +11 -5
  370. package/icons/star/index.d.ts +11 -5
  371. package/icons/starfill/index.d.ts +11 -5
  372. package/icons/thlarge/index.d.ts +11 -5
  373. package/icons/times/index.d.ts +9 -5
  374. package/icons/timescircle/index.d.ts +11 -5
  375. package/icons/trash/index.d.ts +11 -5
  376. package/icons/undo/index.d.ts +11 -5
  377. package/icons/upload/index.d.ts +11 -5
  378. package/icons/windowmaximize/index.d.ts +11 -5
  379. package/icons/windowminimize/index.d.ts +11 -5
  380. package/image/index.d.ts +228 -3
  381. package/index.d.ts +2 -5
  382. package/inplace/index.d.ts +130 -3
  383. package/inputgroup/index.d.ts +48 -3
  384. package/inputgroupaddon/index.d.ts +35 -3
  385. package/inputicon/index.d.ts +22 -3
  386. package/inputmask/index.d.ts +304 -3
  387. package/inputnumber/index.d.ts +443 -3
  388. package/inputotp/index.d.ts +189 -3
  389. package/inputswitch/index.d.ts +123 -3
  390. package/inputtext/index.d.ts +76 -5
  391. package/inputtextarea/index.d.ts +112 -3
  392. package/keyfilter/index.d.ts +65 -3
  393. package/knob/index.d.ts +179 -3
  394. package/listbox/index.d.ts +620 -3
  395. package/logo/index.d.ts +20 -5
  396. package/megamenu/index.d.ts +230 -3
  397. package/menu/index.d.ts +222 -3
  398. package/menubar/index.d.ts +290 -3
  399. package/message/index.d.ts +53 -3
  400. package/messages/index.d.ts +140 -3
  401. package/metergroup/index.d.ts +224 -3
  402. package/multiselect/index.d.ts +974 -3
  403. package/navigation/index.d.ts +105 -5
  404. package/orderlist/index.d.ts +381 -3
  405. package/organizationchart/index.d.ts +192 -3
  406. package/overlay/index.d.ts +246 -3
  407. package/overlaypanel/index.d.ts +170 -3
  408. package/package.json +270 -610
  409. package/paginator/index.d.ts +249 -3
  410. package/panel/index.d.ts +185 -3
  411. package/panelmenu/index.d.ts +249 -3
  412. package/password/index.d.ts +342 -3
  413. package/picklist/index.d.ts +696 -3
  414. package/progressbar/index.d.ts +61 -3
  415. package/progressspinner/index.d.ts +58 -3
  416. package/radiobutton/index.d.ts +173 -3
  417. package/rating/index.d.ts +181 -3
  418. package/resources/cax.min.scss +1 -1
  419. package/resources/cax.scss +12518 -12518
  420. package/resources/components/accordion/accordion.scss +46 -46
  421. package/resources/components/autocomplete/autocomplete.scss +183 -183
  422. package/resources/components/avatar/avatar.scss +34 -34
  423. package/resources/components/avatargroup/avatargroup.scss +10 -10
  424. package/resources/components/badge/badge.scss +67 -67
  425. package/resources/components/blockui/blockui.css +26 -26
  426. package/resources/components/breadcrumb/breadcrumb.scss +33 -33
  427. package/resources/components/button/button.scss +163 -163
  428. package/resources/components/calendar/calendar.scss +235 -235
  429. package/resources/components/card/card.scss +50 -50
  430. package/resources/components/carousel/carousel.css +71 -71
  431. package/resources/components/cascadeselect/cascadeselect.scss +105 -105
  432. package/resources/components/checkbox/checkbox.scss +30 -30
  433. package/resources/components/chip/chip.scss +6 -6
  434. package/resources/components/chips/chips.scss +205 -205
  435. package/resources/components/colorpicker/colorpicker-images.scss +6 -6
  436. package/resources/components/colorpicker/colorpicker.scss +82 -82
  437. package/resources/components/commentbox/commentbox.scss +611 -611
  438. package/resources/components/common/common.scss +183 -183
  439. package/resources/components/confirmpopup/confirmpopup.css +53 -53
  440. package/resources/components/contextmenu/contextmenu.css +42 -42
  441. package/resources/components/dataview/dataview.css +13 -13
  442. package/resources/components/dialog/dialog.scss +171 -171
  443. package/resources/components/divider/divider.scss +86 -86
  444. package/resources/components/dock/dock.css +107 -107
  445. package/resources/components/dropdown/dropdown.scss +94 -94
  446. package/resources/components/editor/editor.scss +3 -3
  447. package/resources/components/fieldset/fieldset.css +30 -30
  448. package/resources/components/fileupload/fileupload.css +47 -47
  449. package/resources/components/galleria/galleria.css +281 -281
  450. package/resources/components/iconfield/iconfield.css +5 -5
  451. package/resources/components/image/image.scss +92 -92
  452. package/resources/components/inplace/inplace.css +19 -19
  453. package/resources/components/inputicon/inputicon.css +6 -6
  454. package/resources/components/inputmask/inputmask.scss +12 -12
  455. package/resources/components/inputnumber/inputnumber.scss +109 -109
  456. package/resources/components/inputotp/inputotp.css +2 -2
  457. package/resources/components/inputswitch/inputswitch.css +23 -23
  458. package/resources/components/inputtext/inputtext.scss +145 -145
  459. package/resources/components/inputtextarea/inputtextarea.scss +10 -10
  460. package/resources/components/knob/knob.css +20 -20
  461. package/resources/components/listbox/listbox.css +40 -40
  462. package/resources/components/megamenu/megamenu.css +108 -108
  463. package/resources/components/menu/menu.scss +31 -30
  464. package/resources/components/menubar/menubar.css +81 -81
  465. package/resources/components/message/message.css +17 -17
  466. package/resources/components/messages/messages.scss +55 -55
  467. package/resources/components/multiselect/multiselect.scss +132 -132
  468. package/resources/components/navigation/navigation.scss +197 -196
  469. package/resources/components/orderlist/orderlist.css +78 -78
  470. package/resources/components/organizationchart/organizationchart.css +62 -62
  471. package/resources/components/overlay/overlay.scss +80 -80
  472. package/resources/components/overlaypanel/overlaypanel.scss +66 -66
  473. package/resources/components/paginator/paginator.scss +41 -41
  474. package/resources/components/panel/panel.css +29 -29
  475. package/resources/components/panelmenu/panelmenu.css +45 -45
  476. package/resources/components/password/password.css +54 -54
  477. package/resources/components/picklist/picklist.css +60 -60
  478. package/resources/components/progressbar/progressbar.scss +107 -107
  479. package/resources/components/progressspinner/progressspinner.scss +94 -94
  480. package/resources/components/radiobutton/radiobutton.scss +34 -34
  481. package/resources/components/rating/rating.css +15 -15
  482. package/resources/components/ripple/ripple.scss +29 -29
  483. package/resources/components/scroller/scroller.scss +58 -58
  484. package/resources/components/scrollpanel/scrollpanel.css +50 -50
  485. package/resources/components/scrolltop/scrolltop.css +18 -18
  486. package/resources/components/sidebar/sidebar.scss +117 -117
  487. package/resources/components/skeleton/skeleton.scss +24 -24
  488. package/resources/components/slidemenu/slidemenu.css +100 -100
  489. package/resources/components/slider/slider.css +41 -41
  490. package/resources/components/speeddial/speeddial.scss +122 -122
  491. package/resources/components/spinner/spinner.css +63 -63
  492. package/resources/components/splitbutton/splitbutton.scss +53 -53
  493. package/resources/components/splitter/splitter.scss +73 -73
  494. package/resources/components/stepper/stepper.css +9 -9
  495. package/resources/components/steps/steps.scss +50 -50
  496. package/resources/components/table/table.scss +451 -451
  497. package/resources/components/tableconfiguration/tableconfiguration.scss +125 -115
  498. package/resources/components/tabmenu/tabmenu.css +80 -80
  499. package/resources/components/tabview/tabview.scss +198 -198
  500. package/resources/components/tag/tag.scss +23 -23
  501. package/resources/components/terminal/terminal.css +24 -24
  502. package/resources/components/tieredmenu/tieredmenu.scss +55 -55
  503. package/resources/components/timeline/timeline.scss +128 -128
  504. package/resources/components/toast/toast.scss +87 -87
  505. package/resources/components/toggleswitch/toggleswitch.scss +36 -36
  506. package/resources/components/toolbar/toolbar.css +19 -19
  507. package/resources/components/tooltip/tooltip.scss +124 -124
  508. package/resources/components/tree/tree.scss +154 -154
  509. package/resources/components/treeselect/treeselect.scss +114 -114
  510. package/resources/components/treetable/treetable.css +205 -205
  511. package/resources/components/upload/upload.component.scss +145 -145
  512. package/resources/logo/dataX-dark.svg +12 -12
  513. package/resources/logo/dataX-icon-dark.svg +5 -5
  514. package/resources/logo/dataX-icon.svg +5 -5
  515. package/resources/logo/dataX.svg +12 -12
  516. package/resources/styles/colors.scss +397 -397
  517. package/resources/styles/shadow-blur.scss +21 -21
  518. package/resources/styles/space-radius-border.scss +49 -49
  519. package/resources/styles/typography.scss +116 -116
  520. package/ripple/index.d.ts +37 -3
  521. package/scroller/index.d.ts +528 -3
  522. package/scrollpanel/index.d.ts +116 -3
  523. package/scrolltop/index.d.ts +117 -3
  524. package/selectbutton/index.d.ts +184 -3
  525. package/sidebar/index.d.ts +213 -3
  526. package/skeleton/index.d.ts +69 -3
  527. package/slidemenu/index.d.ts +339 -3
  528. package/slider/index.d.ts +214 -3
  529. package/speeddial/index.d.ts +319 -3
  530. package/spinner/index.d.ts +93 -5
  531. package/splitbutton/index.d.ts +264 -3
  532. package/splitter/index.d.ts +201 -3
  533. package/stepper/index.d.ts +145 -3
  534. package/steps/index.d.ts +87 -3
  535. package/styleclass/index.d.ts +109 -3
  536. package/table/index.d.ts +2556 -3
  537. package/tableconfiguration/index.d.ts +25 -5
  538. package/tabmenu/index.d.ts +160 -3
  539. package/tabview/index.d.ts +357 -3
  540. package/tag/index.d.ts +82 -3
  541. package/terminal/index.d.ts +68 -3
  542. package/tieredmenu/index.d.ts +307 -3
  543. package/timeline/index.d.ts +100 -3
  544. package/toast/index.d.ts +202 -3
  545. package/togglebutton/index.d.ts +150 -3
  546. package/toggleswitch/index.d.ts +25 -5
  547. package/toolbar/index.d.ts +64 -3
  548. package/tooltip/index.d.ts +218 -3
  549. package/tree/index.d.ts +673 -3
  550. package/treeselect/index.d.ts +517 -3
  551. package/treetable/index.d.ts +1461 -3
  552. package/tristatecheckbox/index.d.ts +155 -3
  553. package/ts-helpers/index.d.ts +6 -5
  554. package/upload/index.d.ts +81 -5
  555. package/utils/index.d.ts +35 -5
  556. package/virtualscroller/index.d.ts +161 -3
  557. package/accordion/accordion.d.ts +0 -224
  558. package/accordion/accordion.interface.d.ts +0 -49
  559. package/accordion/accordion.module.d.ts +0 -13
  560. package/accordion/public_api.d.ts +0 -3
  561. package/animate/animate.d.ts +0 -40
  562. package/animate/public_api.d.ts +0 -1
  563. package/animateonscroll/animateonscroll.d.ts +0 -75
  564. package/animateonscroll/public_api.d.ts +0 -1
  565. package/api/blockableui.d.ts +0 -10
  566. package/api/caxconfig.d.ts +0 -24
  567. package/api/confirmaeventtype.d.ts +0 -8
  568. package/api/confirmation.d.ts +0 -96
  569. package/api/confirmationservice.d.ts +0 -30
  570. package/api/contextmenuservice.d.ts +0 -11
  571. package/api/filtermatchmode.d.ts +0 -22
  572. package/api/filtermetadata.d.ts +0 -18
  573. package/api/filteroperator.d.ts +0 -4
  574. package/api/filterservice.d.ts +0 -10
  575. package/api/lazyloadevent.d.ts +0 -47
  576. package/api/lazyloadmeta.d.ts +0 -19
  577. package/api/megamenuitem.d.ts +0 -130
  578. package/api/menuitem.d.ts +0 -176
  579. package/api/message.d.ts +0 -30
  580. package/api/messageservice.d.ts +0 -32
  581. package/api/overlayoptions.d.ts +0 -188
  582. package/api/overlayservice.d.ts +0 -9
  583. package/api/primeicons.d.ts +0 -313
  584. package/api/public_api.d.ts +0 -34
  585. package/api/scrolleroptions.d.ts +0 -116
  586. package/api/selectitem.d.ts +0 -12
  587. package/api/selectitemgroup.d.ts +0 -10
  588. package/api/shared.d.ts +0 -24
  589. package/api/sortevent.d.ts +0 -12
  590. package/api/sortmeta.d.ts +0 -8
  591. package/api/tablestate.d.ts +0 -60
  592. package/api/themegeneratorservice.d.ts +0 -12
  593. package/api/tooltipoptions.d.ts +0 -69
  594. package/api/translation.d.ts +0 -135
  595. package/api/translationkeys.d.ts +0 -50
  596. package/api/treedragdropservice.d.ts +0 -12
  597. package/api/treenode.d.ts +0 -91
  598. package/api/treenodedragevent.d.ts +0 -27
  599. package/api/treetablenode.d.ts +0 -36
  600. package/autocomplete/autocomplete.d.ts +0 -616
  601. package/autocomplete/autocomplete.interface.d.ts +0 -164
  602. package/autocomplete/autocomplete.module.d.ts +0 -20
  603. package/autocomplete/public_api.d.ts +0 -3
  604. package/autofocus/autofocus.d.ts +0 -28
  605. package/autofocus/public_api.d.ts +0 -1
  606. package/avatar/avatar.d.ts +0 -73
  607. package/avatar/avatar.module.d.ts +0 -7
  608. package/avatar/public_api.d.ts +0 -2
  609. package/avatargroup/avatargroup.d.ts +0 -21
  610. package/avatargroup/avatargroup.module.d.ts +0 -9
  611. package/avatargroup/public_api.d.ts +0 -2
  612. package/badge/badge.d.ts +0 -21
  613. package/badge/badge.directive.d.ts +0 -35
  614. package/badge/badge.module.d.ts +0 -10
  615. package/badge/public_api.d.ts +0 -3
  616. package/baseicon/baseicon.d.ts +0 -15
  617. package/baseicon/public_api.d.ts +0 -1
  618. package/blockui/blockui.d.ts +0 -64
  619. package/blockui/blockui.interface.d.ts +0 -11
  620. package/blockui/public_api.d.ts +0 -2
  621. package/breadcrumb/breadcrumb.d.ts +0 -55
  622. package/breadcrumb/breadcrumb.interface.d.ts +0 -38
  623. package/breadcrumb/breadcrumb.module.d.ts +0 -13
  624. package/breadcrumb/public_api.d.ts +0 -3
  625. package/button/button.d.ts +0 -85
  626. package/button/button.directive.d.ts +0 -49
  627. package/button/button.interface.d.ts +0 -30
  628. package/button/button.module.d.ts +0 -9
  629. package/button/public_api.d.ts +0 -4
  630. package/buttongroup/buttongroup.d.ts +0 -11
  631. package/buttongroup/public_api.d.ts +0 -1
  632. package/calendar/calendar.d.ts +0 -722
  633. package/calendar/calendar.interface.d.ts +0 -204
  634. package/calendar/calendar.module.d.ts +0 -9
  635. package/calendar/public_api.d.ts +0 -3
  636. package/card/card.d.ts +0 -53
  637. package/card/card.interface.d.ts +0 -27
  638. package/card/card.module.d.ts +0 -11
  639. package/card/public_api.d.ts +0 -3
  640. package/carousel/carousel.d.ts +0 -227
  641. package/carousel/carousel.interface.d.ts +0 -63
  642. package/carousel/public_api.d.ts +0 -2
  643. package/cascadeselect/cascadeselect.d.ts +0 -435
  644. package/cascadeselect/cascadeselect.interface.d.ts +0 -115
  645. package/cascadeselect/cascadeselect.module.d.ts +0 -15
  646. package/cascadeselect/public_api.d.ts +0 -3
  647. package/chart/chart.d.ts +0 -87
  648. package/chart/public_api.d.ts +0 -1
  649. package/checkbox/checkbox.d.ts +0 -168
  650. package/checkbox/checkbox.interface.d.ts +0 -26
  651. package/checkbox/checkbox.module.d.ts +0 -10
  652. package/checkbox/public_api.d.ts +0 -3
  653. package/chip/chip.d.ts +0 -38
  654. package/chip/chip.interface.d.ts +0 -15
  655. package/chip/chip.module.d.ts +0 -10
  656. package/chip/public_api.d.ts +0 -3
  657. package/chips/chips.d.ts +0 -233
  658. package/chips/chips.interface.d.ts +0 -58
  659. package/chips/chips.module.d.ts +0 -14
  660. package/chips/public_api.d.ts +0 -3
  661. package/colorpicker/colorpicker.d.ts +0 -240
  662. package/colorpicker/colorpicker.interface.d.ts +0 -15
  663. package/colorpicker/colorpicker.module.d.ts +0 -9
  664. package/colorpicker/public_api.d.ts +0 -3
  665. package/commentbox/commentbox.d.ts +0 -120
  666. package/commentbox/commentbox.module.d.ts +0 -17
  667. package/commentbox/public_api.d.ts +0 -2
  668. package/confirmdialog/confirmdialog.d.ts +0 -281
  669. package/confirmdialog/confirmdialog.interface.d.ts +0 -39
  670. package/confirmdialog/confirmdialog.module.d.ts +0 -15
  671. package/confirmdialog/public_api.d.ts +0 -3
  672. package/confirmpopup/confirmpopup.d.ts +0 -119
  673. package/confirmpopup/confirmpopup.interface.d.ts +0 -27
  674. package/confirmpopup/public_api.d.ts +0 -2
  675. package/contextmenu/contextmenu.d.ts +0 -260
  676. package/contextmenu/public_api.d.ts +0 -1
  677. package/dataview/dataview.d.ts +0 -274
  678. package/dataview/dataview.interface.d.ts +0 -183
  679. package/dataview/public_api.d.ts +0 -2
  680. package/defer/defer.d.ts +0 -39
  681. package/defer/public_api.d.ts +0 -1
  682. package/dialog/dialog.d.ts +0 -364
  683. package/dialog/dialog.interface.d.ts +0 -31
  684. package/dialog/dialog.module.d.ts +0 -15
  685. package/dialog/public_api.d.ts +0 -3
  686. package/divider/divider.d.ts +0 -49
  687. package/divider/divider.module.d.ts +0 -7
  688. package/divider/public_api.d.ts +0 -2
  689. package/dock/dock.d.ts +0 -115
  690. package/dock/dock.interface.d.ts +0 -19
  691. package/dock/public_api.d.ts +0 -2
  692. package/dom/connectedoverlayscrollhandler.d.ts +0 -9
  693. package/dom/domhandler.d.ts +0 -95
  694. package/dom/public_api.d.ts +0 -2
  695. package/dragdrop/dragdrop.d.ts +0 -112
  696. package/dragdrop/dragdrop.module.d.ts +0 -8
  697. package/dragdrop/public_api.d.ts +0 -2
  698. package/dropdown/dropdown-item.d.ts +0 -30
  699. package/dropdown/dropdown.d.ts +0 -628
  700. package/dropdown/dropdown.interface.d.ts +0 -154
  701. package/dropdown/dropdown.module.d.ts +0 -11
  702. package/dropdown/public_api.d.ts +0 -4
  703. package/dynamicdialog/dialogservice.d.ts +0 -35
  704. package/dynamicdialog/dynamicdialog-config.d.ts +0 -221
  705. package/dynamicdialog/dynamicdialog-injector.d.ts +0 -7
  706. package/dynamicdialog/dynamicdialog-ref.d.ts +0 -101
  707. package/dynamicdialog/dynamicdialog.d.ts +0 -124
  708. package/dynamicdialog/dynamicdialogcontent.d.ts +0 -8
  709. package/dynamicdialog/public_api.d.ts +0 -6
  710. package/editor/editor.d.ts +0 -104
  711. package/editor/editor.interface.d.ts +0 -64
  712. package/editor/editor.module.d.ts +0 -9
  713. package/editor/public_api.d.ts +0 -3
  714. package/esm2022/accordion/accordion.interface.mjs +0 -2
  715. package/esm2022/accordion/accordion.mjs +0 -598
  716. package/esm2022/accordion/accordion.module.mjs +0 -23
  717. package/esm2022/accordion/cax-design-system-accordion.mjs +0 -5
  718. package/esm2022/accordion/public_api.mjs +0 -4
  719. package/esm2022/animate/animate.mjs +0 -101
  720. package/esm2022/animate/cax-design-system-animate.mjs +0 -5
  721. package/esm2022/animate/public_api.mjs +0 -2
  722. package/esm2022/animateonscroll/animateonscroll.mjs +0 -185
  723. package/esm2022/animateonscroll/cax-design-system-animateonscroll.mjs +0 -5
  724. package/esm2022/animateonscroll/public_api.mjs +0 -2
  725. package/esm2022/api/blockableui.mjs +0 -2
  726. package/esm2022/api/cax-design-system-api.mjs +0 -5
  727. package/esm2022/api/caxconfig.mjs +0 -163
  728. package/esm2022/api/confirmaeventtype.mjs +0 -10
  729. package/esm2022/api/confirmation.mjs +0 -2
  730. package/esm2022/api/confirmationservice.mjs +0 -43
  731. package/esm2022/api/contextmenuservice.mjs +0 -22
  732. package/esm2022/api/filtermatchmode.mjs +0 -23
  733. package/esm2022/api/filtermetadata.mjs +0 -2
  734. package/esm2022/api/filteroperator.mjs +0 -5
  735. package/esm2022/api/filterservice.mjs +0 -225
  736. package/esm2022/api/lazyloadevent.mjs +0 -2
  737. package/esm2022/api/lazyloadmeta.mjs +0 -2
  738. package/esm2022/api/megamenuitem.mjs +0 -2
  739. package/esm2022/api/menuitem.mjs +0 -2
  740. package/esm2022/api/message.mjs +0 -2
  741. package/esm2022/api/messageservice.mjs +0 -47
  742. package/esm2022/api/overlayoptions.mjs +0 -2
  743. package/esm2022/api/overlayservice.mjs +0 -19
  744. package/esm2022/api/primeicons.mjs +0 -314
  745. package/esm2022/api/public_api.mjs +0 -35
  746. package/esm2022/api/scrolleroptions.mjs +0 -2
  747. package/esm2022/api/selectitem.mjs +0 -2
  748. package/esm2022/api/selectitemgroup.mjs +0 -2
  749. package/esm2022/api/shared.mjs +0 -65
  750. package/esm2022/api/sortevent.mjs +0 -2
  751. package/esm2022/api/sortmeta.mjs +0 -2
  752. package/esm2022/api/tablestate.mjs +0 -2
  753. package/esm2022/api/themegeneratorservice.mjs +0 -109
  754. package/esm2022/api/tooltipoptions.mjs +0 -2
  755. package/esm2022/api/translation.mjs +0 -2
  756. package/esm2022/api/translationkeys.mjs +0 -51
  757. package/esm2022/api/treedragdropservice.mjs +0 -21
  758. package/esm2022/api/treenode.mjs +0 -2
  759. package/esm2022/api/treenodedragevent.mjs +0 -2
  760. package/esm2022/api/treetablenode.mjs +0 -2
  761. package/esm2022/autocomplete/autocomplete.interface.mjs +0 -2
  762. package/esm2022/autocomplete/autocomplete.mjs +0 -1462
  763. package/esm2022/autocomplete/autocomplete.module.mjs +0 -30
  764. package/esm2022/autocomplete/cax-design-system-autocomplete.mjs +0 -5
  765. package/esm2022/autocomplete/public_api.mjs +0 -4
  766. package/esm2022/autofocus/autofocus.mjs +0 -78
  767. package/esm2022/autofocus/cax-design-system-autofocus.mjs +0 -5
  768. package/esm2022/autofocus/public_api.mjs +0 -2
  769. package/esm2022/avatar/avatar.mjs +0 -104
  770. package/esm2022/avatar/avatar.module.mjs +0 -16
  771. package/esm2022/avatar/cax-design-system-avatar.mjs +0 -5
  772. package/esm2022/avatar/public_api.mjs +0 -3
  773. package/esm2022/avatargroup/avatargroup.mjs +0 -32
  774. package/esm2022/avatargroup/avatargroup.module.mjs +0 -19
  775. package/esm2022/avatargroup/cax-design-system-avatargroup.mjs +0 -5
  776. package/esm2022/avatargroup/public_api.mjs +0 -3
  777. package/esm2022/badge/badge.directive.mjs +0 -193
  778. package/esm2022/badge/badge.mjs +0 -50
  779. package/esm2022/badge/badge.module.mjs +0 -20
  780. package/esm2022/badge/cax-design-system-badge.mjs +0 -5
  781. package/esm2022/badge/public_api.mjs +0 -4
  782. package/esm2022/baseicon/baseicon.mjs +0 -45
  783. package/esm2022/baseicon/cax-design-system-baseicon.mjs +0 -5
  784. package/esm2022/baseicon/public_api.mjs +0 -2
  785. package/esm2022/blockui/blockui.interface.mjs +0 -2
  786. package/esm2022/blockui/blockui.mjs +0 -206
  787. package/esm2022/blockui/cax-design-system-blockui.mjs +0 -5
  788. package/esm2022/blockui/public_api.mjs +0 -3
  789. package/esm2022/breadcrumb/breadcrumb.interface.mjs +0 -2
  790. package/esm2022/breadcrumb/breadcrumb.mjs +0 -120
  791. package/esm2022/breadcrumb/breadcrumb.module.mjs +0 -23
  792. package/esm2022/breadcrumb/cax-design-system-breadcrumb.mjs +0 -5
  793. package/esm2022/breadcrumb/public_api.mjs +0 -4
  794. package/esm2022/button/button.directive.mjs +0 -259
  795. package/esm2022/button/button.interface.mjs +0 -2
  796. package/esm2022/button/button.mjs +0 -190
  797. package/esm2022/button/button.module.mjs +0 -18
  798. package/esm2022/button/cax-design-system-button.mjs +0 -5
  799. package/esm2022/button/public_api.mjs +0 -5
  800. package/esm2022/buttongroup/buttongroup.mjs +0 -38
  801. package/esm2022/buttongroup/cax-design-system-buttongroup.mjs +0 -5
  802. package/esm2022/buttongroup/public_api.mjs +0 -2
  803. package/esm2022/calendar/calendar.interface.mjs +0 -2
  804. package/esm2022/calendar/calendar.mjs +0 -3242
  805. package/esm2022/calendar/calendar.module.mjs +0 -18
  806. package/esm2022/calendar/cax-design-system-calendar.mjs +0 -5
  807. package/esm2022/calendar/public_api.mjs +0 -4
  808. package/esm2022/card/card.interface.mjs +0 -2
  809. package/esm2022/card/card.mjs +0 -117
  810. package/esm2022/card/card.module.mjs +0 -21
  811. package/esm2022/card/cax-design-system-card.mjs +0 -5
  812. package/esm2022/card/public_api.mjs +0 -4
  813. package/esm2022/carousel/carousel.interface.mjs +0 -2
  814. package/esm2022/carousel/carousel.mjs +0 -968
  815. package/esm2022/carousel/cax-design-system-carousel.mjs +0 -5
  816. package/esm2022/carousel/public_api.mjs +0 -3
  817. package/esm2022/cascadeselect/cascadeselect.interface.mjs +0 -2
  818. package/esm2022/cascadeselect/cascadeselect.mjs +0 -1135
  819. package/esm2022/cascadeselect/cascadeselect.module.mjs +0 -25
  820. package/esm2022/cascadeselect/cax-design-system-cascadeselect.mjs +0 -5
  821. package/esm2022/cascadeselect/public_api.mjs +0 -4
  822. package/esm2022/cax-design-system.mjs +0 -5
  823. package/esm2022/chart/cax-design-system-chart.mjs +0 -5
  824. package/esm2022/chart/chart.mjs +0 -236
  825. package/esm2022/chart/public_api.mjs +0 -2
  826. package/esm2022/checkbox/cax-design-system-checkbox.mjs +0 -5
  827. package/esm2022/checkbox/checkbox.interface.mjs +0 -2
  828. package/esm2022/checkbox/checkbox.mjs +0 -318
  829. package/esm2022/checkbox/checkbox.module.mjs +0 -20
  830. package/esm2022/checkbox/public_api.mjs +0 -4
  831. package/esm2022/chip/cax-design-system-chip.mjs +0 -5
  832. package/esm2022/chip/chip.interface.mjs +0 -2
  833. package/esm2022/chip/chip.mjs +0 -90
  834. package/esm2022/chip/chip.module.mjs +0 -20
  835. package/esm2022/chip/public_api.mjs +0 -4
  836. package/esm2022/chips/cax-design-system-chips.mjs +0 -5
  837. package/esm2022/chips/chips.interface.mjs +0 -2
  838. package/esm2022/chips/chips.mjs +0 -610
  839. package/esm2022/chips/chips.module.mjs +0 -23
  840. package/esm2022/chips/public_api.mjs +0 -4
  841. package/esm2022/colorpicker/cax-design-system-colorpicker.mjs +0 -5
  842. package/esm2022/colorpicker/colorpicker.interface.mjs +0 -2
  843. package/esm2022/colorpicker/colorpicker.mjs +0 -715
  844. package/esm2022/colorpicker/colorpicker.module.mjs +0 -19
  845. package/esm2022/colorpicker/public_api.mjs +0 -4
  846. package/esm2022/commentbox/cax-design-system-commentbox.mjs +0 -5
  847. package/esm2022/commentbox/commentbox.mjs +0 -575
  848. package/esm2022/commentbox/commentbox.module.mjs +0 -27
  849. package/esm2022/commentbox/public_api.mjs +0 -3
  850. package/esm2022/confirmdialog/cax-design-system-confirmdialog.mjs +0 -5
  851. package/esm2022/confirmdialog/confirmdialog.interface.mjs +0 -2
  852. package/esm2022/confirmdialog/confirmdialog.mjs +0 -720
  853. package/esm2022/confirmdialog/confirmdialog.module.mjs +0 -25
  854. package/esm2022/confirmdialog/public_api.mjs +0 -4
  855. package/esm2022/confirmpopup/cax-design-system-confirmpopup.mjs +0 -5
  856. package/esm2022/confirmpopup/confirmpopup.interface.mjs +0 -2
  857. package/esm2022/confirmpopup/confirmpopup.mjs +0 -499
  858. package/esm2022/confirmpopup/public_api.mjs +0 -3
  859. package/esm2022/contextmenu/cax-design-system-contextmenu.mjs +0 -5
  860. package/esm2022/contextmenu/contextmenu.mjs +0 -1304
  861. package/esm2022/contextmenu/public_api.mjs +0 -2
  862. package/esm2022/dataview/cax-design-system-dataview.mjs +0 -5
  863. package/esm2022/dataview/dataview.interface.mjs +0 -2
  864. package/esm2022/dataview/dataview.mjs +0 -723
  865. package/esm2022/dataview/public_api.mjs +0 -3
  866. package/esm2022/defer/cax-design-system-defer.mjs +0 -5
  867. package/esm2022/defer/defer.mjs +0 -111
  868. package/esm2022/defer/public_api.mjs +0 -2
  869. package/esm2022/dialog/cax-design-system-dialog.mjs +0 -5
  870. package/esm2022/dialog/dialog.interface.mjs +0 -2
  871. package/esm2022/dialog/dialog.mjs +0 -959
  872. package/esm2022/dialog/dialog.module.mjs +0 -25
  873. package/esm2022/dialog/public_api.mjs +0 -4
  874. package/esm2022/divider/cax-design-system-divider.mjs +0 -5
  875. package/esm2022/divider/divider.mjs +0 -69
  876. package/esm2022/divider/divider.module.mjs +0 -16
  877. package/esm2022/divider/public_api.mjs +0 -3
  878. package/esm2022/dock/cax-design-system-dock.mjs +0 -5
  879. package/esm2022/dock/dock.interface.mjs +0 -2
  880. package/esm2022/dock/dock.mjs +0 -431
  881. package/esm2022/dock/public_api.mjs +0 -3
  882. package/esm2022/dom/cax-design-system-dom.mjs +0 -5
  883. package/esm2022/dom/connectedoverlayscrollhandler.mjs +0 -30
  884. package/esm2022/dom/domhandler.mjs +0 -722
  885. package/esm2022/dom/public_api.mjs +0 -3
  886. package/esm2022/dragdrop/cax-design-system-dragdrop.mjs +0 -5
  887. package/esm2022/dragdrop/dragdrop.mjs +0 -309
  888. package/esm2022/dragdrop/dragdrop.module.mjs +0 -18
  889. package/esm2022/dragdrop/public_api.mjs +0 -3
  890. package/esm2022/dropdown/cax-design-system-dropdown.mjs +0 -5
  891. package/esm2022/dropdown/dropdown-item.mjs +0 -72
  892. package/esm2022/dropdown/dropdown.interface.mjs +0 -2
  893. package/esm2022/dropdown/dropdown.mjs +0 -1599
  894. package/esm2022/dropdown/dropdown.module.mjs +0 -20
  895. package/esm2022/dropdown/public_api.mjs +0 -5
  896. package/esm2022/dynamicdialog/cax-design-system-dynamicdialog.mjs +0 -5
  897. package/esm2022/dynamicdialog/dialogservice.mjs +0 -102
  898. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +0 -187
  899. package/esm2022/dynamicdialog/dynamicdialog-injector.mjs +0 -15
  900. package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +0 -119
  901. package/esm2022/dynamicdialog/dynamicdialog.mjs +0 -696
  902. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +0 -20
  903. package/esm2022/dynamicdialog/public_api.mjs +0 -7
  904. package/esm2022/editor/cax-design-system-editor.mjs +0 -5
  905. package/esm2022/editor/editor.interface.mjs +0 -2
  906. package/esm2022/editor/editor.mjs +0 -281
  907. package/esm2022/editor/editor.module.mjs +0 -19
  908. package/esm2022/editor/public_api.mjs +0 -4
  909. package/esm2022/fieldset/cax-design-system-fieldset.mjs +0 -5
  910. package/esm2022/fieldset/fieldset.interface.mjs +0 -2
  911. package/esm2022/fieldset/fieldset.mjs +0 -297
  912. package/esm2022/fieldset/public_api.mjs +0 -3
  913. package/esm2022/fileupload/cax-design-system-fileupload.mjs +0 -5
  914. package/esm2022/fileupload/fileupload.interface.mjs +0 -2
  915. package/esm2022/fileupload/fileupload.mjs +0 -1188
  916. package/esm2022/fileupload/public_api.mjs +0 -3
  917. package/esm2022/floatlabel/cax-design-system-floatlabel.mjs +0 -5
  918. package/esm2022/floatlabel/floatlabel.mjs +0 -28
  919. package/esm2022/floatlabel/floatlabel.module.mjs +0 -20
  920. package/esm2022/floatlabel/public_api.mjs +0 -3
  921. package/esm2022/focustrap/cax-design-system-focustrap.mjs +0 -5
  922. package/esm2022/focustrap/focustrap.mjs +0 -103
  923. package/esm2022/focustrap/public_api.mjs +0 -2
  924. package/esm2022/galleria/cax-design-system-galleria.mjs +0 -5
  925. package/esm2022/galleria/galleria.interface.mjs +0 -2
  926. package/esm2022/galleria/galleria.mjs +0 -1668
  927. package/esm2022/galleria/public_api.mjs +0 -3
  928. package/esm2022/iconfield/cax-design-system-iconfield.mjs +0 -5
  929. package/esm2022/iconfield/iconfield.mjs +0 -44
  930. package/esm2022/iconfield/public_api.mjs +0 -2
  931. package/esm2022/icons/angledoubledown/angledoubledown.mjs +0 -35
  932. package/esm2022/icons/angledoubledown/cax-design-system-icons-angledoubledown.mjs +0 -5
  933. package/esm2022/icons/angledoubledown/public_api.mjs +0 -2
  934. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +0 -35
  935. package/esm2022/icons/angledoubleleft/cax-design-system-icons-angledoubleleft.mjs +0 -5
  936. package/esm2022/icons/angledoubleleft/public_api.mjs +0 -2
  937. package/esm2022/icons/angledoubleright/angledoubleright.mjs +0 -35
  938. package/esm2022/icons/angledoubleright/cax-design-system-icons-angledoubleright.mjs +0 -5
  939. package/esm2022/icons/angledoubleright/public_api.mjs +0 -2
  940. package/esm2022/icons/angledoubleup/angledoubleup.mjs +0 -35
  941. package/esm2022/icons/angledoubleup/cax-design-system-icons-angledoubleup.mjs +0 -5
  942. package/esm2022/icons/angledoubleup/public_api.mjs +0 -2
  943. package/esm2022/icons/angledown/angledown.mjs +0 -31
  944. package/esm2022/icons/angledown/cax-design-system-icons-angledown.mjs +0 -5
  945. package/esm2022/icons/angledown/public_api.mjs +0 -2
  946. package/esm2022/icons/angleleft/angleleft.mjs +0 -31
  947. package/esm2022/icons/angleleft/cax-design-system-icons-angleleft.mjs +0 -5
  948. package/esm2022/icons/angleleft/public_api.mjs +0 -2
  949. package/esm2022/icons/angleright/angleright.mjs +0 -31
  950. package/esm2022/icons/angleright/cax-design-system-icons-angleright.mjs +0 -5
  951. package/esm2022/icons/angleright/public_api.mjs +0 -2
  952. package/esm2022/icons/angleup/angleup.mjs +0 -31
  953. package/esm2022/icons/angleup/cax-design-system-icons-angleup.mjs +0 -5
  954. package/esm2022/icons/angleup/public_api.mjs +0 -2
  955. package/esm2022/icons/arrowdown/arrowdown.mjs +0 -54
  956. package/esm2022/icons/arrowdown/cax-design-system-icons-arrowdown.mjs +0 -5
  957. package/esm2022/icons/arrowdown/public_api.mjs +0 -2
  958. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +0 -31
  959. package/esm2022/icons/arrowdownleft/cax-design-system-icons-arrowdownleft.mjs +0 -5
  960. package/esm2022/icons/arrowdownleft/public_api.mjs +0 -2
  961. package/esm2022/icons/arrowdownright/arrowdownright.mjs +0 -31
  962. package/esm2022/icons/arrowdownright/cax-design-system-icons-arrowdownright.mjs +0 -5
  963. package/esm2022/icons/arrowdownright/public_api.mjs +0 -2
  964. package/esm2022/icons/arrowleft/arrowleft.mjs +0 -54
  965. package/esm2022/icons/arrowleft/cax-design-system-icons-arrowleft.mjs +0 -5
  966. package/esm2022/icons/arrowleft/public_api.mjs +0 -2
  967. package/esm2022/icons/arrowright/arrowright.mjs +0 -35
  968. package/esm2022/icons/arrowright/cax-design-system-icons-arrowright.mjs +0 -5
  969. package/esm2022/icons/arrowright/public_api.mjs +0 -2
  970. package/esm2022/icons/arrowup/arrowup.mjs +0 -54
  971. package/esm2022/icons/arrowup/cax-design-system-icons-arrowup.mjs +0 -5
  972. package/esm2022/icons/arrowup/public_api.mjs +0 -2
  973. package/esm2022/icons/ban/ban.mjs +0 -50
  974. package/esm2022/icons/ban/cax-design-system-icons-ban.mjs +0 -5
  975. package/esm2022/icons/ban/public_api.mjs +0 -2
  976. package/esm2022/icons/bars/bars.mjs +0 -35
  977. package/esm2022/icons/bars/cax-design-system-icons-bars.mjs +0 -5
  978. package/esm2022/icons/bars/public_api.mjs +0 -2
  979. package/esm2022/icons/blank/blank.mjs +0 -25
  980. package/esm2022/icons/blank/cax-design-system-icons-blank.mjs +0 -5
  981. package/esm2022/icons/blank/public_api.mjs +0 -2
  982. package/esm2022/icons/calendar/calendar.mjs +0 -31
  983. package/esm2022/icons/calendar/cax-design-system-icons-calendar.mjs +0 -5
  984. package/esm2022/icons/calendar/public_api.mjs +0 -2
  985. package/esm2022/icons/caretleft/caretleft.mjs +0 -31
  986. package/esm2022/icons/caretleft/cax-design-system-icons-caretleft.mjs +0 -5
  987. package/esm2022/icons/caretleft/public_api.mjs +0 -2
  988. package/esm2022/icons/caretright/caretright.mjs +0 -31
  989. package/esm2022/icons/caretright/cax-design-system-icons-caretright.mjs +0 -5
  990. package/esm2022/icons/caretright/public_api.mjs +0 -2
  991. package/esm2022/icons/check/cax-design-system-icons-check.mjs +0 -5
  992. package/esm2022/icons/check/check.mjs +0 -31
  993. package/esm2022/icons/check/public_api.mjs +0 -2
  994. package/esm2022/icons/chevrondown/cax-design-system-icons-chevrondown.mjs +0 -5
  995. package/esm2022/icons/chevrondown/chevrondown.mjs +0 -31
  996. package/esm2022/icons/chevrondown/public_api.mjs +0 -2
  997. package/esm2022/icons/chevronleft/cax-design-system-icons-chevronleft.mjs +0 -5
  998. package/esm2022/icons/chevronleft/chevronleft.mjs +0 -31
  999. package/esm2022/icons/chevronleft/public_api.mjs +0 -2
  1000. package/esm2022/icons/chevronright/cax-design-system-icons-chevronright.mjs +0 -5
  1001. package/esm2022/icons/chevronright/chevronright.mjs +0 -31
  1002. package/esm2022/icons/chevronright/public_api.mjs +0 -2
  1003. package/esm2022/icons/chevronup/cax-design-system-icons-chevronup.mjs +0 -5
  1004. package/esm2022/icons/chevronup/chevronup.mjs +0 -31
  1005. package/esm2022/icons/chevronup/public_api.mjs +0 -2
  1006. package/esm2022/icons/exclamationtriangle/cax-design-system-icons-exclamationtriangle.mjs +0 -5
  1007. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +0 -66
  1008. package/esm2022/icons/exclamationtriangle/public_api.mjs +0 -2
  1009. package/esm2022/icons/eye/cax-design-system-icons-eye.mjs +0 -5
  1010. package/esm2022/icons/eye/eye.mjs +0 -35
  1011. package/esm2022/icons/eye/public_api.mjs +0 -2
  1012. package/esm2022/icons/eyeslash/cax-design-system-icons-eyeslash.mjs +0 -5
  1013. package/esm2022/icons/eyeslash/eyeslash.mjs +0 -54
  1014. package/esm2022/icons/eyeslash/public_api.mjs +0 -2
  1015. package/esm2022/icons/filter/cax-design-system-icons-filter.mjs +0 -5
  1016. package/esm2022/icons/filter/filter.mjs +0 -50
  1017. package/esm2022/icons/filter/public_api.mjs +0 -2
  1018. package/esm2022/icons/filterslash/cax-design-system-icons-filterslash.mjs +0 -5
  1019. package/esm2022/icons/filterslash/filterslash.mjs +0 -54
  1020. package/esm2022/icons/filterslash/public_api.mjs +0 -2
  1021. package/esm2022/icons/home/cax-design-system-icons-home.mjs +0 -5
  1022. package/esm2022/icons/home/home.mjs +0 -54
  1023. package/esm2022/icons/home/public_api.mjs +0 -2
  1024. package/esm2022/icons/infocircle/cax-design-system-icons-infocircle.mjs +0 -5
  1025. package/esm2022/icons/infocircle/infocircle.mjs +0 -54
  1026. package/esm2022/icons/infocircle/public_api.mjs +0 -2
  1027. package/esm2022/icons/minus/cax-design-system-icons-minus.mjs +0 -5
  1028. package/esm2022/icons/minus/minus.mjs +0 -32
  1029. package/esm2022/icons/minus/public_api.mjs +0 -2
  1030. package/esm2022/icons/pencil/cax-design-system-icons-pencil.mjs +0 -5
  1031. package/esm2022/icons/pencil/pencil.mjs +0 -50
  1032. package/esm2022/icons/pencil/public_api.mjs +0 -2
  1033. package/esm2022/icons/plus/cax-design-system-icons-plus.mjs +0 -5
  1034. package/esm2022/icons/plus/plus.mjs +0 -50
  1035. package/esm2022/icons/plus/public_api.mjs +0 -2
  1036. package/esm2022/icons/refresh/cax-design-system-icons-refresh.mjs +0 -5
  1037. package/esm2022/icons/refresh/public_api.mjs +0 -2
  1038. package/esm2022/icons/refresh/refresh.mjs +0 -54
  1039. package/esm2022/icons/search/cax-design-system-icons-search.mjs +0 -5
  1040. package/esm2022/icons/search/public_api.mjs +0 -2
  1041. package/esm2022/icons/search/search.mjs +0 -54
  1042. package/esm2022/icons/searchminus/cax-design-system-icons-searchminus.mjs +0 -5
  1043. package/esm2022/icons/searchminus/public_api.mjs +0 -2
  1044. package/esm2022/icons/searchminus/searchminus.mjs +0 -54
  1045. package/esm2022/icons/searchplus/cax-design-system-icons-searchplus.mjs +0 -5
  1046. package/esm2022/icons/searchplus/public_api.mjs +0 -2
  1047. package/esm2022/icons/searchplus/searchplus.mjs +0 -54
  1048. package/esm2022/icons/sortalt/cax-design-system-icons-sortalt.mjs +0 -5
  1049. package/esm2022/icons/sortalt/public_api.mjs +0 -2
  1050. package/esm2022/icons/sortalt/sortalt.mjs +0 -62
  1051. package/esm2022/icons/sortamountdown/cax-design-system-icons-sortamountdown.mjs +0 -5
  1052. package/esm2022/icons/sortamountdown/public_api.mjs +0 -2
  1053. package/esm2022/icons/sortamountdown/sortamountdown.mjs +0 -50
  1054. package/esm2022/icons/sortamountupalt/cax-design-system-icons-sortamountupalt.mjs +0 -5
  1055. package/esm2022/icons/sortamountupalt/public_api.mjs +0 -2
  1056. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +0 -50
  1057. package/esm2022/icons/spinner/cax-design-system-icons-spinner.mjs +0 -5
  1058. package/esm2022/icons/spinner/public_api.mjs +0 -2
  1059. package/esm2022/icons/spinner/spinner.mjs +0 -50
  1060. package/esm2022/icons/star/cax-design-system-icons-star.mjs +0 -5
  1061. package/esm2022/icons/star/public_api.mjs +0 -2
  1062. package/esm2022/icons/star/star.mjs +0 -50
  1063. package/esm2022/icons/starfill/cax-design-system-icons-starfill.mjs +0 -5
  1064. package/esm2022/icons/starfill/public_api.mjs +0 -2
  1065. package/esm2022/icons/starfill/starfill.mjs +0 -50
  1066. package/esm2022/icons/thlarge/cax-design-system-icons-thlarge.mjs +0 -5
  1067. package/esm2022/icons/thlarge/public_api.mjs +0 -2
  1068. package/esm2022/icons/thlarge/thlarge.mjs +0 -54
  1069. package/esm2022/icons/times/cax-design-system-icons-times.mjs +0 -5
  1070. package/esm2022/icons/times/public_api.mjs +0 -2
  1071. package/esm2022/icons/times/times.mjs +0 -31
  1072. package/esm2022/icons/timescircle/cax-design-system-icons-timescircle.mjs +0 -5
  1073. package/esm2022/icons/timescircle/public_api.mjs +0 -2
  1074. package/esm2022/icons/timescircle/timescircle.mjs +0 -54
  1075. package/esm2022/icons/trash/cax-design-system-icons-trash.mjs +0 -5
  1076. package/esm2022/icons/trash/public_api.mjs +0 -2
  1077. package/esm2022/icons/trash/trash.mjs +0 -54
  1078. package/esm2022/icons/undo/cax-design-system-icons-undo.mjs +0 -5
  1079. package/esm2022/icons/undo/public_api.mjs +0 -2
  1080. package/esm2022/icons/undo/undo.mjs +0 -54
  1081. package/esm2022/icons/upload/cax-design-system-icons-upload.mjs +0 -5
  1082. package/esm2022/icons/upload/public_api.mjs +0 -2
  1083. package/esm2022/icons/upload/upload.mjs +0 -54
  1084. package/esm2022/icons/windowmaximize/cax-design-system-icons-windowmaximize.mjs +0 -5
  1085. package/esm2022/icons/windowmaximize/public_api.mjs +0 -2
  1086. package/esm2022/icons/windowmaximize/windowmaximize.mjs +0 -54
  1087. package/esm2022/icons/windowminimize/cax-design-system-icons-windowminimize.mjs +0 -5
  1088. package/esm2022/icons/windowminimize/public_api.mjs +0 -2
  1089. package/esm2022/icons/windowminimize/windowminimize.mjs +0 -54
  1090. package/esm2022/image/cax-design-system-image.mjs +0 -5
  1091. package/esm2022/image/image.interface.mjs +0 -2
  1092. package/esm2022/image/image.mjs +0 -418
  1093. package/esm2022/image/image.module.mjs +0 -17
  1094. package/esm2022/image/public_api.mjs +0 -4
  1095. package/esm2022/inplace/cax-design-system-inplace.mjs +0 -5
  1096. package/esm2022/inplace/inplace.interface.mjs +0 -2
  1097. package/esm2022/inplace/inplace.mjs +0 -243
  1098. package/esm2022/inplace/public_api.mjs +0 -3
  1099. package/esm2022/inputgroup/cax-design-system-inputgroup.mjs +0 -5
  1100. package/esm2022/inputgroup/inputgroup.mjs +0 -55
  1101. package/esm2022/inputgroup/inputgroup.module.mjs +0 -25
  1102. package/esm2022/inputgroup/public_api.mjs +0 -3
  1103. package/esm2022/inputgroupaddon/cax-design-system-inputgroupaddon.mjs +0 -5
  1104. package/esm2022/inputgroupaddon/inputgroupaddon.mjs +0 -32
  1105. package/esm2022/inputgroupaddon/inputgroupaddon.module.mjs +0 -24
  1106. package/esm2022/inputgroupaddon/public_api.mjs +0 -3
  1107. package/esm2022/inputicon/cax-design-system-inputicon.mjs +0 -5
  1108. package/esm2022/inputicon/inputicon.mjs +0 -38
  1109. package/esm2022/inputicon/public_api.mjs +0 -2
  1110. package/esm2022/inputmask/cax-design-system-inputmask.mjs +0 -5
  1111. package/esm2022/inputmask/inputmask.interface.mjs +0 -2
  1112. package/esm2022/inputmask/inputmask.mjs +0 -848
  1113. package/esm2022/inputmask/inputmask.module.mjs +0 -22
  1114. package/esm2022/inputmask/public_api.mjs +0 -4
  1115. package/esm2022/inputnumber/cax-design-system-inputnumber.mjs +0 -5
  1116. package/esm2022/inputnumber/inputnumber.interface.mjs +0 -2
  1117. package/esm2022/inputnumber/inputnumber.mjs +0 -1296
  1118. package/esm2022/inputnumber/inputnumber.module.mjs +0 -17
  1119. package/esm2022/inputnumber/public_api.mjs +0 -4
  1120. package/esm2022/inputotp/cax-design-system-inputotp.mjs +0 -5
  1121. package/esm2022/inputotp/inputotp.interface.mjs +0 -2
  1122. package/esm2022/inputotp/inputotp.mjs +0 -381
  1123. package/esm2022/inputotp/public_api.mjs +0 -3
  1124. package/esm2022/inputswitch/cax-design-system-inputswitch.mjs +0 -5
  1125. package/esm2022/inputswitch/inputswitch.interface.mjs +0 -2
  1126. package/esm2022/inputswitch/inputswitch.mjs +0 -244
  1127. package/esm2022/inputswitch/public_api.mjs +0 -3
  1128. package/esm2022/inputtext/cax-design-system-inputtext.mjs +0 -5
  1129. package/esm2022/inputtext/inputtext.component.mjs +0 -132
  1130. package/esm2022/inputtext/inputtext.directive.mjs +0 -76
  1131. package/esm2022/inputtext/inputtext.module.mjs +0 -20
  1132. package/esm2022/inputtext/public_api.mjs +0 -4
  1133. package/esm2022/inputtextarea/cax-design-system-inputtextarea.mjs +0 -5
  1134. package/esm2022/inputtextarea/inputtextarea.component.mjs +0 -155
  1135. package/esm2022/inputtextarea/inputtextarea.directive.mjs +0 -121
  1136. package/esm2022/inputtextarea/inputtextarea.module.mjs +0 -20
  1137. package/esm2022/inputtextarea/public_api.mjs +0 -4
  1138. package/esm2022/keyfilter/cax-design-system-keyfilter.mjs +0 -5
  1139. package/esm2022/keyfilter/keyfilter.interface.mjs +0 -2
  1140. package/esm2022/keyfilter/keyfilter.mjs +0 -265
  1141. package/esm2022/keyfilter/public_api.mjs +0 -3
  1142. package/esm2022/knob/cax-design-system-knob.mjs +0 -5
  1143. package/esm2022/knob/knob.mjs +0 -464
  1144. package/esm2022/knob/public_api.mjs +0 -2
  1145. package/esm2022/listbox/cax-design-system-listbox.mjs +0 -5
  1146. package/esm2022/listbox/listbox.interface.mjs +0 -2
  1147. package/esm2022/listbox/listbox.mjs +0 -1555
  1148. package/esm2022/listbox/public_api.mjs +0 -3
  1149. package/esm2022/logo/cax-design-system-logo.mjs +0 -5
  1150. package/esm2022/logo/logo.mjs +0 -45
  1151. package/esm2022/logo/logo.module.mjs +0 -16
  1152. package/esm2022/logo/public_api.mjs +0 -3
  1153. package/esm2022/megamenu/cax-design-system-megamenu.mjs +0 -5
  1154. package/esm2022/megamenu/megamenu.interface.mjs +0 -2
  1155. package/esm2022/megamenu/megamenu.mjs +0 -1190
  1156. package/esm2022/megamenu/public_api.mjs +0 -3
  1157. package/esm2022/menu/cax-design-system-menu.mjs +0 -5
  1158. package/esm2022/menu/menu.mjs +0 -626
  1159. package/esm2022/menu/menu.module.mjs +0 -22
  1160. package/esm2022/menu/public_api.mjs +0 -3
  1161. package/esm2022/menubar/cax-design-system-menubar.mjs +0 -5
  1162. package/esm2022/menubar/menubar.interface.mjs +0 -2
  1163. package/esm2022/menubar/menubar.mjs +0 -1249
  1164. package/esm2022/menubar/public_api.mjs +0 -3
  1165. package/esm2022/message/cax-design-system-message.mjs +0 -5
  1166. package/esm2022/message/message.mjs +0 -112
  1167. package/esm2022/message/public_api.mjs +0 -2
  1168. package/esm2022/messages/cax-design-system-messages.mjs +0 -5
  1169. package/esm2022/messages/messages.interface.mjs +0 -2
  1170. package/esm2022/messages/messages.mjs +0 -283
  1171. package/esm2022/messages/messages.module.mjs +0 -17
  1172. package/esm2022/messages/public_api.mjs +0 -4
  1173. package/esm2022/metergroup/cax-design-system-metergroup.mjs +0 -5
  1174. package/esm2022/metergroup/metergroup.interface.mjs +0 -2
  1175. package/esm2022/metergroup/metergroup.mjs +0 -280
  1176. package/esm2022/metergroup/public_api.mjs +0 -3
  1177. package/esm2022/multiselect/cax-design-system-multiselect.mjs +0 -5
  1178. package/esm2022/multiselect/multiselect.interface.mjs +0 -2
  1179. package/esm2022/multiselect/multiselect.mjs +0 -1875
  1180. package/esm2022/multiselect/multiselect.module.mjs +0 -30
  1181. package/esm2022/multiselect/public_api.mjs +0 -4
  1182. package/esm2022/navigation/cax-design-system-navigation.mjs +0 -5
  1183. package/esm2022/navigation/navigation.interface.mjs +0 -2
  1184. package/esm2022/navigation/navigation.mjs +0 -399
  1185. package/esm2022/navigation/navigation.module.mjs +0 -16
  1186. package/esm2022/navigation/public_api.mjs +0 -3
  1187. package/esm2022/orderlist/cax-design-system-orderlist.mjs +0 -5
  1188. package/esm2022/orderlist/orderlist.interface.mjs +0 -2
  1189. package/esm2022/orderlist/orderlist.mjs +0 -993
  1190. package/esm2022/orderlist/public_api.mjs +0 -3
  1191. package/esm2022/organizationchart/cax-design-system-organizationchart.mjs +0 -5
  1192. package/esm2022/organizationchart/organizationchart.interface.mjs +0 -2
  1193. package/esm2022/organizationchart/organizationchart.mjs +0 -416
  1194. package/esm2022/organizationchart/public_api.mjs +0 -3
  1195. package/esm2022/overlay/cax-design-system-overlay.mjs +0 -5
  1196. package/esm2022/overlay/overlay.mjs +0 -579
  1197. package/esm2022/overlay/overlay.module.mjs +0 -17
  1198. package/esm2022/overlay/public_api.mjs +0 -3
  1199. package/esm2022/overlaypanel/cax-design-system-overlaypanel.mjs +0 -5
  1200. package/esm2022/overlaypanel/overlaypanel.mjs +0 -470
  1201. package/esm2022/overlaypanel/overlaypanel.module.mjs +0 -17
  1202. package/esm2022/overlaypanel/public_api.mjs +0 -3
  1203. package/esm2022/paginator/cax-design-system-paginator.mjs +0 -5
  1204. package/esm2022/paginator/paginator.interface.mjs +0 -2
  1205. package/esm2022/paginator/paginator.mjs +0 -437
  1206. package/esm2022/paginator/paginator.module.mjs +0 -27
  1207. package/esm2022/paginator/public_api.mjs +0 -4
  1208. package/esm2022/panel/cax-design-system-panel.mjs +0 -5
  1209. package/esm2022/panel/panel.interface.mjs +0 -2
  1210. package/esm2022/panel/panel.mjs +0 -393
  1211. package/esm2022/panel/public_api.mjs +0 -3
  1212. package/esm2022/panelmenu/cax-design-system-panelmenu.mjs +0 -5
  1213. package/esm2022/panelmenu/panelmenu.interface.mjs +0 -2
  1214. package/esm2022/panelmenu/panelmenu.mjs +0 -1276
  1215. package/esm2022/panelmenu/public_api.mjs +0 -3
  1216. package/esm2022/password/cax-design-system-password.mjs +0 -5
  1217. package/esm2022/password/password.mjs +0 -1017
  1218. package/esm2022/password/public_api.mjs +0 -2
  1219. package/esm2022/picklist/cax-design-system-picklist.mjs +0 -5
  1220. package/esm2022/picklist/picklist.interface.mjs +0 -2
  1221. package/esm2022/picklist/picklist.mjs +0 -1909
  1222. package/esm2022/picklist/public_api.mjs +0 -3
  1223. package/esm2022/progressbar/cax-design-system-progressbar.mjs +0 -5
  1224. package/esm2022/progressbar/progressbar.mjs +0 -86
  1225. package/esm2022/progressbar/progressbar.module.mjs +0 -18
  1226. package/esm2022/progressbar/public_api.mjs +0 -3
  1227. package/esm2022/progressspinner/cax-design-system-progressspinner.mjs +0 -5
  1228. package/esm2022/progressspinner/progressspinner.mjs +0 -112
  1229. package/esm2022/progressspinner/progressspinner.module.mjs +0 -18
  1230. package/esm2022/progressspinner/public_api.mjs +0 -3
  1231. package/esm2022/public_api.mjs +0 -2
  1232. package/esm2022/radiobutton/cax-design-system-radiobutton.mjs +0 -5
  1233. package/esm2022/radiobutton/public_api.mjs +0 -4
  1234. package/esm2022/radiobutton/radiobutton.interface.mjs +0 -2
  1235. package/esm2022/radiobutton/radiobutton.mjs +0 -284
  1236. package/esm2022/radiobutton/radiobutton.module.mjs +0 -16
  1237. package/esm2022/rating/cax-design-system-rating.mjs +0 -5
  1238. package/esm2022/rating/public_api.mjs +0 -3
  1239. package/esm2022/rating/rating.interface.mjs +0 -2
  1240. package/esm2022/rating/rating.mjs +0 -388
  1241. package/esm2022/ripple/cax-design-system-ripple.mjs +0 -5
  1242. package/esm2022/ripple/public_api.mjs +0 -3
  1243. package/esm2022/ripple/ripple.mjs +0 -129
  1244. package/esm2022/ripple/ripple.module.mjs +0 -16
  1245. package/esm2022/scroller/cax-design-system-scroller.mjs +0 -5
  1246. package/esm2022/scroller/public_api.mjs +0 -4
  1247. package/esm2022/scroller/scroller.interface.mjs +0 -2
  1248. package/esm2022/scroller/scroller.mjs +0 -981
  1249. package/esm2022/scroller/scroller.module.mjs +0 -17
  1250. package/esm2022/scrollpanel/cax-design-system-scrollpanel.mjs +0 -5
  1251. package/esm2022/scrollpanel/public_api.mjs +0 -3
  1252. package/esm2022/scrollpanel/scrollpanel.interface.mjs +0 -2
  1253. package/esm2022/scrollpanel/scrollpanel.mjs +0 -501
  1254. package/esm2022/scrolltop/cax-design-system-scrolltop.mjs +0 -5
  1255. package/esm2022/scrolltop/public_api.mjs +0 -3
  1256. package/esm2022/scrolltop/scrolltop.interface.mjs +0 -2
  1257. package/esm2022/scrolltop/scrolltop.mjs +0 -282
  1258. package/esm2022/selectbutton/cax-design-system-selectbutton.mjs +0 -5
  1259. package/esm2022/selectbutton/public_api.mjs +0 -4
  1260. package/esm2022/selectbutton/selectbutton.interface.mjs +0 -2
  1261. package/esm2022/selectbutton/selectbutton.mjs +0 -303
  1262. package/esm2022/selectbutton/selectbutton.module.mjs +0 -21
  1263. package/esm2022/sidebar/cax-design-system-sidebar.mjs +0 -5
  1264. package/esm2022/sidebar/public_api.mjs +0 -4
  1265. package/esm2022/sidebar/sidebar.interface.mjs +0 -2
  1266. package/esm2022/sidebar/sidebar.mjs +0 -488
  1267. package/esm2022/sidebar/sidebar.module.mjs +0 -21
  1268. package/esm2022/skeleton/cax-design-system-skeleton.mjs +0 -5
  1269. package/esm2022/skeleton/public_api.mjs +0 -3
  1270. package/esm2022/skeleton/skeleton.mjs +0 -87
  1271. package/esm2022/skeleton/skeleton.module.mjs +0 -18
  1272. package/esm2022/slidemenu/cax-design-system-slidemenu.mjs +0 -5
  1273. package/esm2022/slidemenu/public_api.mjs +0 -3
  1274. package/esm2022/slidemenu/slidemenu.interface.mjs +0 -2
  1275. package/esm2022/slidemenu/slidemenu.mjs +0 -1501
  1276. package/esm2022/slider/cax-design-system-slider.mjs +0 -5
  1277. package/esm2022/slider/public_api.mjs +0 -3
  1278. package/esm2022/slider/slider.interface.mjs +0 -2
  1279. package/esm2022/slider/slider.mjs +0 -796
  1280. package/esm2022/speeddial/cax-design-system-speeddial.mjs +0 -5
  1281. package/esm2022/speeddial/public_api.mjs +0 -4
  1282. package/esm2022/speeddial/speeddial.interface.mjs +0 -2
  1283. package/esm2022/speeddial/speeddial.mjs +0 -611
  1284. package/esm2022/speeddial/speeddial.module.mjs +0 -24
  1285. package/esm2022/spinner/cax-design-system-spinner.mjs +0 -5
  1286. package/esm2022/spinner/public_api.mjs +0 -2
  1287. package/esm2022/spinner/spinner.mjs +0 -447
  1288. package/esm2022/splitbutton/cax-design-system-splitbutton.mjs +0 -5
  1289. package/esm2022/splitbutton/public_api.mjs +0 -4
  1290. package/esm2022/splitbutton/splitbutton.interface.mjs +0 -2
  1291. package/esm2022/splitbutton/splitbutton.mjs +0 -369
  1292. package/esm2022/splitbutton/splitbutton.module.mjs +0 -23
  1293. package/esm2022/splitter/cax-design-system-splitter.mjs +0 -5
  1294. package/esm2022/splitter/public_api.mjs +0 -4
  1295. package/esm2022/splitter/splitter.interface.mjs +0 -2
  1296. package/esm2022/splitter/splitter.mjs +0 -490
  1297. package/esm2022/splitter/splitter.module.mjs +0 -19
  1298. package/esm2022/stepper/cax-design-system-stepper.mjs +0 -5
  1299. package/esm2022/stepper/public_api.mjs +0 -3
  1300. package/esm2022/stepper/stepper.interface.mjs +0 -2
  1301. package/esm2022/stepper/stepper.mjs +0 -677
  1302. package/esm2022/steps/cax-design-system-steps.mjs +0 -5
  1303. package/esm2022/steps/public_api.mjs +0 -3
  1304. package/esm2022/steps/steps.mjs +0 -207
  1305. package/esm2022/steps/steps.module.mjs +0 -20
  1306. package/esm2022/styleclass/cax-design-system-styleclass.mjs +0 -5
  1307. package/esm2022/styleclass/public_api.mjs +0 -2
  1308. package/esm2022/styleclass/styleclass.mjs +0 -316
  1309. package/esm2022/table/cax-design-system-table.mjs +0 -5
  1310. package/esm2022/table/columnfilter.interface.mjs +0 -2
  1311. package/esm2022/table/components/cell-editor/cell-editor.mjs +0 -52
  1312. package/esm2022/table/components/column-filter/column-filter.mjs +0 -865
  1313. package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +0 -107
  1314. package/esm2022/table/components/sort-icon/sort-icon.mjs +0 -78
  1315. package/esm2022/table/components/table-body/table-body.mjs +0 -152
  1316. package/esm2022/table/components/table-checkbox/table-checkbox.mjs +0 -83
  1317. package/esm2022/table/components/table-header-checkbox/table-header-checkbox.mjs +0 -92
  1318. package/esm2022/table/components/table-radio-button/table-radio-button.mjs +0 -79
  1319. package/esm2022/table/directives/cancel-editable-row.directive.mjs +0 -32
  1320. package/esm2022/table/directives/cell-highlight.directive.mjs +0 -42
  1321. package/esm2022/table/directives/content-menu-row.directive.mjs +0 -70
  1322. package/esm2022/table/directives/dynamic-column-width.directive.mjs +0 -34
  1323. package/esm2022/table/directives/editable-column.directive.mjs +0 -344
  1324. package/esm2022/table/directives/editable-row.directive.mjs +0 -32
  1325. package/esm2022/table/directives/frozen-column.directive.mjs +0 -77
  1326. package/esm2022/table/directives/init-editable-row.directive.mjs +0 -32
  1327. package/esm2022/table/directives/reorderable-column.directive.mjs +0 -115
  1328. package/esm2022/table/directives/reorderable-row-handle.directive.mjs +0 -25
  1329. package/esm2022/table/directives/reorderable-row.directive.mjs +0 -122
  1330. package/esm2022/table/directives/resizable-column.directive.mjs +0 -123
  1331. package/esm2022/table/directives/row-group-header.directive.mjs +0 -26
  1332. package/esm2022/table/directives/row-toggler.directive.mjs +0 -42
  1333. package/esm2022/table/directives/save-editable-row.directive.mjs +0 -32
  1334. package/esm2022/table/directives/selectable-row-double-click.directive.mjs +0 -71
  1335. package/esm2022/table/directives/selectable-row.directive.mjs +0 -243
  1336. package/esm2022/table/directives/sortable-column.directive.mjs +0 -90
  1337. package/esm2022/table/public_api.mjs +0 -31
  1338. package/esm2022/table/table.interface.mjs +0 -2
  1339. package/esm2022/table/table.mjs +0 -2799
  1340. package/esm2022/table/table.module.mjs +0 -157
  1341. package/esm2022/table/table.service.mjs +0 -42
  1342. package/esm2022/tableconfiguration/cax-design-system-tableconfiguration.mjs +0 -5
  1343. package/esm2022/tableconfiguration/public_api.mjs +0 -3
  1344. package/esm2022/tableconfiguration/tableconfiguration.mjs +0 -60
  1345. package/esm2022/tableconfiguration/tableconfiguration.module.mjs +0 -16
  1346. package/esm2022/tabmenu/cax-design-system-tabmenu.mjs +0 -5
  1347. package/esm2022/tabmenu/public_api.mjs +0 -3
  1348. package/esm2022/tabmenu/tabmenu.interface.mjs +0 -2
  1349. package/esm2022/tabmenu/tabmenu.mjs +0 -576
  1350. package/esm2022/tabview/cax-design-system-tabview.mjs +0 -5
  1351. package/esm2022/tabview/public_api.mjs +0 -4
  1352. package/esm2022/tabview/tabview.interface.mjs +0 -2
  1353. package/esm2022/tabview/tabview.mjs +0 -913
  1354. package/esm2022/tabview/tabview.module.mjs +0 -25
  1355. package/esm2022/tag/cax-design-system-tag.mjs +0 -5
  1356. package/esm2022/tag/public_api.mjs +0 -4
  1357. package/esm2022/tag/tag.interface.mjs +0 -2
  1358. package/esm2022/tag/tag.mjs +0 -95
  1359. package/esm2022/tag/tag.module.mjs +0 -19
  1360. package/esm2022/terminal/cax-design-system-terminal.mjs +0 -5
  1361. package/esm2022/terminal/public_api.mjs +0 -3
  1362. package/esm2022/terminal/terminal.mjs +0 -143
  1363. package/esm2022/terminal/terminalservice.mjs +0 -25
  1364. package/esm2022/tieredmenu/cax-design-system-tieredmenu.mjs +0 -5
  1365. package/esm2022/tieredmenu/public_api.mjs +0 -4
  1366. package/esm2022/tieredmenu/tieredmenu.interface.mjs +0 -2
  1367. package/esm2022/tieredmenu/tieredmenu.mjs +0 -1289
  1368. package/esm2022/tieredmenu/tiredmenu.module.mjs +0 -23
  1369. package/esm2022/timeline/cax-design-system-timeline.mjs +0 -5
  1370. package/esm2022/timeline/public_api.mjs +0 -4
  1371. package/esm2022/timeline/timeline.interface.mjs +0 -2
  1372. package/esm2022/timeline/timeline.mjs +0 -83
  1373. package/esm2022/timeline/timeline.module.mjs +0 -19
  1374. package/esm2022/toast/cax-design-system-toast.mjs +0 -5
  1375. package/esm2022/toast/public_api.mjs +0 -4
  1376. package/esm2022/toast/toast.interface.mjs +0 -2
  1377. package/esm2022/toast/toast.mjs +0 -324
  1378. package/esm2022/toast/toast.module.mjs +0 -18
  1379. package/esm2022/toast/toastitem.mjs +0 -170
  1380. package/esm2022/togglebutton/cax-design-system-togglebutton.mjs +0 -5
  1381. package/esm2022/togglebutton/public_api.mjs +0 -3
  1382. package/esm2022/togglebutton/togglebutton.interface.mjs +0 -2
  1383. package/esm2022/togglebutton/togglebutton.mjs +0 -274
  1384. package/esm2022/toggleswitch/cax-design-system-toggleswitch.mjs +0 -5
  1385. package/esm2022/toggleswitch/public_api.mjs +0 -3
  1386. package/esm2022/toggleswitch/toggleswitch.mjs +0 -37
  1387. package/esm2022/toggleswitch/toggleswitch.module.mjs +0 -19
  1388. package/esm2022/toolbar/cax-design-system-toolbar.mjs +0 -5
  1389. package/esm2022/toolbar/public_api.mjs +0 -3
  1390. package/esm2022/toolbar/toolbar.interface.mjs +0 -2
  1391. package/esm2022/toolbar/toolbar.mjs +0 -111
  1392. package/esm2022/tooltip/cax-design-system-tooltip.mjs +0 -5
  1393. package/esm2022/tooltip/public_api.mjs +0 -3
  1394. package/esm2022/tooltip/tooltip.mjs +0 -889
  1395. package/esm2022/tooltip/tooltip.module.mjs +0 -20
  1396. package/esm2022/tree/cax-design-system-tree.mjs +0 -5
  1397. package/esm2022/tree/public_api.mjs +0 -4
  1398. package/esm2022/tree/tree.interface.mjs +0 -2
  1399. package/esm2022/tree/tree.mjs +0 -1544
  1400. package/esm2022/tree/tree.module.mjs +0 -31
  1401. package/esm2022/treeselect/cax-design-system-treeselect.mjs +0 -5
  1402. package/esm2022/treeselect/public_api.mjs +0 -4
  1403. package/esm2022/treeselect/treeselect.interface.mjs +0 -2
  1404. package/esm2022/treeselect/treeselect.mjs +0 -865
  1405. package/esm2022/treeselect/treeselect.module.mjs +0 -26
  1406. package/esm2022/treetable/cax-design-system-treetable.mjs +0 -5
  1407. package/esm2022/treetable/public_api.mjs +0 -3
  1408. package/esm2022/treetable/treetable.interface.mjs +0 -2
  1409. package/esm2022/treetable/treetable.mjs +0 -4111
  1410. package/esm2022/tristatecheckbox/cax-design-system-tristatecheckbox.mjs +0 -5
  1411. package/esm2022/tristatecheckbox/public_api.mjs +0 -4
  1412. package/esm2022/tristatecheckbox/tristatecheckbox.interface.mjs +0 -2
  1413. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +0 -215
  1414. package/esm2022/tristatecheckbox/tristatecheckbox.module.mjs +0 -17
  1415. package/esm2022/ts-helpers/cax-design-system-ts-helpers.mjs +0 -5
  1416. package/esm2022/ts-helpers/public_api.mjs +0 -2
  1417. package/esm2022/ts-helpers/ts-helpers.mjs +0 -2
  1418. package/esm2022/upload/cax-design-system-upload.mjs +0 -5
  1419. package/esm2022/upload/public_api.mjs +0 -3
  1420. package/esm2022/upload/upload.component.mjs +0 -367
  1421. package/esm2022/upload/upload.component.module.mjs +0 -21
  1422. package/esm2022/utils/cax-design-system-utils.mjs +0 -5
  1423. package/esm2022/utils/objectutils.mjs +0 -258
  1424. package/esm2022/utils/public_api.mjs +0 -5
  1425. package/esm2022/utils/uniquecomponentid.mjs +0 -6
  1426. package/esm2022/utils/zindexutils.mjs +0 -35
  1427. package/esm2022/virtualscroller/cax-design-system-virtualscroller.mjs +0 -5
  1428. package/esm2022/virtualscroller/public_api.mjs +0 -3
  1429. package/esm2022/virtualscroller/virtualscroller.interface.mjs +0 -2
  1430. package/esm2022/virtualscroller/virtualscroller.mjs +0 -215
  1431. package/fieldset/fieldset.d.ts +0 -93
  1432. package/fieldset/fieldset.interface.d.ts +0 -46
  1433. package/fieldset/public_api.d.ts +0 -2
  1434. package/fileupload/fileupload.d.ts +0 -380
  1435. package/fileupload/fileupload.interface.d.ts +0 -226
  1436. package/fileupload/public_api.d.ts +0 -2
  1437. package/floatlabel/floatlabel.d.ts +0 -9
  1438. package/floatlabel/floatlabel.module.d.ts +0 -10
  1439. package/floatlabel/public_api.d.ts +0 -2
  1440. package/focustrap/focustrap.d.ts +0 -34
  1441. package/focustrap/public_api.d.ts +0 -1
  1442. package/galleria/galleria.d.ts +0 -404
  1443. package/galleria/galleria.interface.d.ts +0 -97
  1444. package/galleria/public_api.d.ts +0 -2
  1445. package/iconfield/iconfield.d.ts +0 -25
  1446. package/iconfield/public_api.d.ts +0 -1
  1447. package/icons/angledoubledown/angledoubledown.d.ts +0 -6
  1448. package/icons/angledoubledown/public_api.d.ts +0 -1
  1449. package/icons/angledoubleleft/angledoubleleft.d.ts +0 -6
  1450. package/icons/angledoubleleft/public_api.d.ts +0 -1
  1451. package/icons/angledoubleright/angledoubleright.d.ts +0 -6
  1452. package/icons/angledoubleright/public_api.d.ts +0 -1
  1453. package/icons/angledoubleup/angledoubleup.d.ts +0 -6
  1454. package/icons/angledoubleup/public_api.d.ts +0 -1
  1455. package/icons/angledown/angledown.d.ts +0 -6
  1456. package/icons/angledown/public_api.d.ts +0 -1
  1457. package/icons/angleleft/angleleft.d.ts +0 -6
  1458. package/icons/angleleft/public_api.d.ts +0 -1
  1459. package/icons/angleright/angleright.d.ts +0 -6
  1460. package/icons/angleright/public_api.d.ts +0 -1
  1461. package/icons/angleup/angleup.d.ts +0 -6
  1462. package/icons/angleup/public_api.d.ts +0 -1
  1463. package/icons/arrowdown/arrowdown.d.ts +0 -9
  1464. package/icons/arrowdown/public_api.d.ts +0 -1
  1465. package/icons/arrowdownleft/arrowdownleft.d.ts +0 -6
  1466. package/icons/arrowdownleft/public_api.d.ts +0 -1
  1467. package/icons/arrowdownright/arrowdownright.d.ts +0 -6
  1468. package/icons/arrowdownright/public_api.d.ts +0 -1
  1469. package/icons/arrowleft/arrowleft.d.ts +0 -8
  1470. package/icons/arrowleft/public_api.d.ts +0 -1
  1471. package/icons/arrowright/arrowright.d.ts +0 -6
  1472. package/icons/arrowright/public_api.d.ts +0 -1
  1473. package/icons/arrowup/arrowup.d.ts +0 -8
  1474. package/icons/arrowup/public_api.d.ts +0 -1
  1475. package/icons/ban/ban.d.ts +0 -8
  1476. package/icons/ban/public_api.d.ts +0 -1
  1477. package/icons/bars/bars.d.ts +0 -6
  1478. package/icons/bars/public_api.d.ts +0 -1
  1479. package/icons/blank/blank.d.ts +0 -6
  1480. package/icons/blank/public_api.d.ts +0 -1
  1481. package/icons/calendar/calendar.d.ts +0 -6
  1482. package/icons/calendar/public_api.d.ts +0 -1
  1483. package/icons/caretleft/caretleft.d.ts +0 -6
  1484. package/icons/caretleft/public_api.d.ts +0 -1
  1485. package/icons/caretright/caretright.d.ts +0 -6
  1486. package/icons/caretright/public_api.d.ts +0 -1
  1487. package/icons/check/check.d.ts +0 -6
  1488. package/icons/check/public_api.d.ts +0 -1
  1489. package/icons/chevrondown/chevrondown.d.ts +0 -6
  1490. package/icons/chevrondown/public_api.d.ts +0 -1
  1491. package/icons/chevronleft/chevronleft.d.ts +0 -6
  1492. package/icons/chevronleft/public_api.d.ts +0 -1
  1493. package/icons/chevronright/chevronright.d.ts +0 -6
  1494. package/icons/chevronright/public_api.d.ts +0 -1
  1495. package/icons/chevronup/chevronup.d.ts +0 -6
  1496. package/icons/chevronup/public_api.d.ts +0 -1
  1497. package/icons/exclamationtriangle/exclamationtriangle.d.ts +0 -9
  1498. package/icons/exclamationtriangle/public_api.d.ts +0 -1
  1499. package/icons/eye/eye.d.ts +0 -6
  1500. package/icons/eye/public_api.d.ts +0 -1
  1501. package/icons/eyeslash/eyeslash.d.ts +0 -8
  1502. package/icons/eyeslash/public_api.d.ts +0 -1
  1503. package/icons/filter/filter.d.ts +0 -8
  1504. package/icons/filter/public_api.d.ts +0 -1
  1505. package/icons/filterslash/filterslash.d.ts +0 -8
  1506. package/icons/filterslash/public_api.d.ts +0 -1
  1507. package/icons/home/home.d.ts +0 -8
  1508. package/icons/home/public_api.d.ts +0 -1
  1509. package/icons/infocircle/infocircle.d.ts +0 -8
  1510. package/icons/infocircle/public_api.d.ts +0 -1
  1511. package/icons/minus/minus.d.ts +0 -6
  1512. package/icons/minus/public_api.d.ts +0 -1
  1513. package/icons/pencil/pencil.d.ts +0 -8
  1514. package/icons/pencil/public_api.d.ts +0 -1
  1515. package/icons/plus/plus.d.ts +0 -8
  1516. package/icons/plus/public_api.d.ts +0 -1
  1517. package/icons/refresh/public_api.d.ts +0 -1
  1518. package/icons/refresh/refresh.d.ts +0 -8
  1519. package/icons/search/public_api.d.ts +0 -1
  1520. package/icons/search/search.d.ts +0 -8
  1521. package/icons/searchminus/public_api.d.ts +0 -1
  1522. package/icons/searchminus/searchminus.d.ts +0 -8
  1523. package/icons/searchplus/public_api.d.ts +0 -1
  1524. package/icons/searchplus/searchplus.d.ts +0 -8
  1525. package/icons/sortalt/public_api.d.ts +0 -1
  1526. package/icons/sortalt/sortalt.d.ts +0 -8
  1527. package/icons/sortamountdown/public_api.d.ts +0 -1
  1528. package/icons/sortamountdown/sortamountdown.d.ts +0 -8
  1529. package/icons/sortamountupalt/public_api.d.ts +0 -1
  1530. package/icons/sortamountupalt/sortamountupalt.d.ts +0 -8
  1531. package/icons/spinner/public_api.d.ts +0 -1
  1532. package/icons/spinner/spinner.d.ts +0 -8
  1533. package/icons/star/public_api.d.ts +0 -1
  1534. package/icons/star/star.d.ts +0 -8
  1535. package/icons/starfill/public_api.d.ts +0 -1
  1536. package/icons/starfill/starfill.d.ts +0 -8
  1537. package/icons/thlarge/public_api.d.ts +0 -1
  1538. package/icons/thlarge/thlarge.d.ts +0 -8
  1539. package/icons/times/public_api.d.ts +0 -1
  1540. package/icons/times/times.d.ts +0 -6
  1541. package/icons/timescircle/public_api.d.ts +0 -1
  1542. package/icons/timescircle/timescircle.d.ts +0 -8
  1543. package/icons/trash/public_api.d.ts +0 -1
  1544. package/icons/trash/trash.d.ts +0 -8
  1545. package/icons/undo/public_api.d.ts +0 -1
  1546. package/icons/undo/undo.d.ts +0 -8
  1547. package/icons/upload/public_api.d.ts +0 -1
  1548. package/icons/upload/upload.d.ts +0 -8
  1549. package/icons/windowmaximize/public_api.d.ts +0 -1
  1550. package/icons/windowmaximize/windowmaximize.d.ts +0 -8
  1551. package/icons/windowminimize/public_api.d.ts +0 -1
  1552. package/icons/windowminimize/windowminimize.d.ts +0 -8
  1553. package/image/image.d.ts +0 -188
  1554. package/image/image.interface.d.ts +0 -31
  1555. package/image/image.module.d.ts +0 -8
  1556. package/image/public_api.d.ts +0 -3
  1557. package/inplace/inplace.d.ts +0 -109
  1558. package/inplace/inplace.interface.d.ts +0 -19
  1559. package/inplace/public_api.d.ts +0 -2
  1560. package/inputgroup/inputgroup.d.ts +0 -33
  1561. package/inputgroup/inputgroup.module.d.ts +0 -15
  1562. package/inputgroup/public_api.d.ts +0 -2
  1563. package/inputgroupaddon/inputgroupaddon.d.ts +0 -21
  1564. package/inputgroupaddon/inputgroupaddon.module.d.ts +0 -14
  1565. package/inputgroupaddon/public_api.d.ts +0 -2
  1566. package/inputicon/inputicon.d.ts +0 -21
  1567. package/inputicon/public_api.d.ts +0 -1
  1568. package/inputmask/inputmask.d.ts +0 -273
  1569. package/inputmask/inputmask.interface.d.ts +0 -19
  1570. package/inputmask/inputmask.module.d.ts +0 -12
  1571. package/inputmask/public_api.d.ts +0 -3
  1572. package/inputnumber/inputnumber.d.ts +0 -397
  1573. package/inputnumber/inputnumber.interface.d.ts +0 -38
  1574. package/inputnumber/inputnumber.module.d.ts +0 -8
  1575. package/inputnumber/public_api.d.ts +0 -3
  1576. package/inputotp/inputotp.d.ts +0 -123
  1577. package/inputotp/inputotp.interface.d.ts +0 -65
  1578. package/inputotp/public_api.d.ts +0 -2
  1579. package/inputswitch/inputswitch.d.ts +0 -106
  1580. package/inputswitch/inputswitch.interface.d.ts +0 -15
  1581. package/inputswitch/public_api.d.ts +0 -2
  1582. package/inputtext/inputtext.component.d.ts +0 -43
  1583. package/inputtext/inputtext.directive.d.ts +0 -25
  1584. package/inputtext/inputtext.module.d.ts +0 -10
  1585. package/inputtext/public_api.d.ts +0 -3
  1586. package/inputtextarea/inputtextarea.component.d.ts +0 -57
  1587. package/inputtextarea/inputtextarea.directive.d.ts +0 -47
  1588. package/inputtextarea/inputtextarea.module.d.ts +0 -10
  1589. package/inputtextarea/public_api.d.ts +0 -3
  1590. package/keyfilter/keyfilter.d.ts +0 -58
  1591. package/keyfilter/keyfilter.interface.d.ts +0 -5
  1592. package/keyfilter/public_api.d.ts +0 -2
  1593. package/knob/knob.d.ts +0 -178
  1594. package/knob/public_api.d.ts +0 -1
  1595. package/listbox/listbox.d.ts +0 -463
  1596. package/listbox/listbox.interface.d.ts +0 -156
  1597. package/listbox/public_api.d.ts +0 -2
  1598. package/logo/logo.d.ts +0 -11
  1599. package/logo/logo.module.d.ts +0 -7
  1600. package/logo/public_api.d.ts +0 -2
  1601. package/megamenu/megamenu.d.ts +0 -198
  1602. package/megamenu/megamenu.interface.d.ts +0 -31
  1603. package/megamenu/public_api.d.ts +0 -2
  1604. package/menu/menu.d.ts +0 -210
  1605. package/menu/menu.module.d.ts +0 -12
  1606. package/menu/public_api.d.ts +0 -2
  1607. package/menubar/menubar.d.ts +0 -248
  1608. package/menubar/menubar.interface.d.ts +0 -40
  1609. package/menubar/public_api.d.ts +0 -2
  1610. package/message/message.d.ts +0 -52
  1611. package/message/public_api.d.ts +0 -1
  1612. package/messages/messages.d.ts +0 -115
  1613. package/messages/messages.interface.d.ts +0 -18
  1614. package/messages/messages.module.d.ts +0 -8
  1615. package/messages/public_api.d.ts +0 -3
  1616. package/metergroup/metergroup.d.ts +0 -101
  1617. package/metergroup/metergroup.interface.d.ts +0 -122
  1618. package/metergroup/public_api.d.ts +0 -2
  1619. package/multiselect/multiselect.d.ts +0 -710
  1620. package/multiselect/multiselect.interface.d.ts +0 -247
  1621. package/multiselect/multiselect.module.d.ts +0 -20
  1622. package/multiselect/public_api.d.ts +0 -3
  1623. package/navigation/navigation.d.ts +0 -70
  1624. package/navigation/navigation.interface.d.ts +0 -26
  1625. package/navigation/navigation.module.d.ts +0 -7
  1626. package/navigation/public_api.d.ts +0 -2
  1627. package/orderlist/orderlist.d.ts +0 -270
  1628. package/orderlist/orderlist.interface.d.ts +0 -110
  1629. package/orderlist/public_api.d.ts +0 -2
  1630. package/organizationchart/organizationchart.d.ts +0 -132
  1631. package/organizationchart/organizationchart.interface.d.ts +0 -59
  1632. package/organizationchart/public_api.d.ts +0 -2
  1633. package/overlay/overlay.d.ts +0 -238
  1634. package/overlay/overlay.module.d.ts +0 -8
  1635. package/overlay/public_api.d.ts +0 -2
  1636. package/overlaypanel/overlaypanel.d.ts +0 -162
  1637. package/overlaypanel/overlaypanel.module.d.ts +0 -8
  1638. package/overlaypanel/public_api.d.ts +0 -2
  1639. package/paginator/paginator.d.ts +0 -195
  1640. package/paginator/paginator.interface.d.ts +0 -37
  1641. package/paginator/paginator.module.d.ts +0 -17
  1642. package/paginator/public_api.d.ts +0 -3
  1643. package/panel/panel.d.ts +0 -126
  1644. package/panel/panel.interface.d.ts +0 -58
  1645. package/panel/public_api.d.ts +0 -2
  1646. package/panelmenu/panelmenu.d.ts +0 -225
  1647. package/panelmenu/panelmenu.interface.d.ts +0 -23
  1648. package/panelmenu/public_api.d.ts +0 -2
  1649. package/password/password.d.ts +0 -342
  1650. package/password/public_api.d.ts +0 -1
  1651. package/picklist/picklist.d.ts +0 -453
  1652. package/picklist/picklist.interface.d.ts +0 -242
  1653. package/picklist/public_api.d.ts +0 -2
  1654. package/progressbar/progressbar.d.ts +0 -54
  1655. package/progressbar/progressbar.module.d.ts +0 -8
  1656. package/progressbar/public_api.d.ts +0 -2
  1657. package/progressspinner/progressspinner.d.ts +0 -50
  1658. package/progressspinner/progressspinner.module.d.ts +0 -8
  1659. package/progressspinner/public_api.d.ts +0 -2
  1660. package/public_api.d.ts +0 -2
  1661. package/radiobutton/public_api.d.ts +0 -3
  1662. package/radiobutton/radiobutton.d.ts +0 -150
  1663. package/radiobutton/radiobutton.interface.d.ts +0 -15
  1664. package/radiobutton/radiobutton.module.d.ts +0 -7
  1665. package/rating/public_api.d.ts +0 -2
  1666. package/rating/rating.d.ts +0 -146
  1667. package/rating/rating.interface.d.ts +0 -34
  1668. package/ripple/public_api.d.ts +0 -2
  1669. package/ripple/ripple.d.ts +0 -30
  1670. package/ripple/ripple.module.d.ts +0 -7
  1671. package/scroller/public_api.d.ts +0 -3
  1672. package/scroller/scroller.d.ts +0 -343
  1673. package/scroller/scroller.interface.d.ts +0 -177
  1674. package/scroller/scroller.module.d.ts +0 -8
  1675. package/scrollpanel/public_api.d.ts +0 -2
  1676. package/scrollpanel/scrollpanel.d.ts +0 -103
  1677. package/scrollpanel/scrollpanel.interface.d.ts +0 -11
  1678. package/scrolltop/public_api.d.ts +0 -2
  1679. package/scrolltop/scrolltop.d.ts +0 -97
  1680. package/scrolltop/scrolltop.interface.d.ts +0 -18
  1681. package/selectbutton/public_api.d.ts +0 -3
  1682. package/selectbutton/selectbutton.d.ts +0 -128
  1683. package/selectbutton/selectbutton.interface.d.ts +0 -45
  1684. package/selectbutton/selectbutton.module.d.ts +0 -11
  1685. package/sidebar/public_api.d.ts +0 -3
  1686. package/sidebar/sidebar.d.ts +0 -173
  1687. package/sidebar/sidebar.interface.d.ts +0 -27
  1688. package/sidebar/sidebar.module.d.ts +0 -12
  1689. package/skeleton/public_api.d.ts +0 -2
  1690. package/skeleton/skeleton.d.ts +0 -61
  1691. package/skeleton/skeleton.module.d.ts +0 -8
  1692. package/slidemenu/public_api.d.ts +0 -2
  1693. package/slidemenu/slidemenu.d.ts +0 -322
  1694. package/slidemenu/slidemenu.interface.d.ts +0 -15
  1695. package/slider/public_api.d.ts +0 -2
  1696. package/slider/slider.d.ts +0 -174
  1697. package/slider/slider.interface.d.ts +0 -38
  1698. package/speeddial/public_api.d.ts +0 -3
  1699. package/speeddial/speeddial.d.ts +0 -277
  1700. package/speeddial/speeddial.interface.d.ts +0 -28
  1701. package/speeddial/speeddial.module.d.ts +0 -14
  1702. package/spinner/public_api.d.ts +0 -1
  1703. package/spinner/spinner.d.ts +0 -90
  1704. package/splitbutton/public_api.d.ts +0 -3
  1705. package/splitbutton/splitbutton.d.ts +0 -222
  1706. package/splitbutton/splitbutton.interface.d.ts +0 -30
  1707. package/splitbutton/splitbutton.module.d.ts +0 -13
  1708. package/splitter/public_api.d.ts +0 -3
  1709. package/splitter/splitter.d.ts +0 -158
  1710. package/splitter/splitter.interface.d.ts +0 -34
  1711. package/splitter/splitter.module.d.ts +0 -9
  1712. package/stepper/public_api.d.ts +0 -2
  1713. package/stepper/stepper.d.ts +0 -117
  1714. package/stepper/stepper.interface.d.ts +0 -26
  1715. package/steps/public_api.d.ts +0 -2
  1716. package/steps/steps.d.ts +0 -77
  1717. package/steps/steps.module.d.ts +0 -10
  1718. package/styleclass/public_api.d.ts +0 -1
  1719. package/styleclass/styleclass.d.ts +0 -108
  1720. package/table/columnfilter.interface.d.ts +0 -247
  1721. package/table/components/cell-editor/cell-editor.d.ts +0 -20
  1722. package/table/components/column-filter/column-filter.d.ts +0 -291
  1723. package/table/components/column-filter-form-element/column-filter-form-element.d.ts +0 -37
  1724. package/table/components/sort-icon/sort-icon.d.ts +0 -22
  1725. package/table/components/table-body/table-body.d.ts +0 -36
  1726. package/table/components/table-checkbox/table-checkbox.d.ts +0 -32
  1727. package/table/components/table-header-checkbox/table-header-checkbox.d.ts +0 -29
  1728. package/table/components/table-radio-button/table-radio-button.d.ts +0 -29
  1729. package/table/directives/cancel-editable-row.directive.d.ts +0 -11
  1730. package/table/directives/cell-highlight.directive.d.ts +0 -14
  1731. package/table/directives/content-menu-row.directive.d.ts +0 -22
  1732. package/table/directives/dynamic-column-width.directive.d.ts +0 -12
  1733. package/table/directives/editable-column.directive.d.ts +0 -40
  1734. package/table/directives/editable-row.directive.d.ts +0 -12
  1735. package/table/directives/frozen-column.directive.d.ts +0 -16
  1736. package/table/directives/init-editable-row.directive.d.ts +0 -11
  1737. package/table/directives/reorderable-column.directive.d.ts +0 -32
  1738. package/table/directives/reorderable-row-handle.directive.d.ts +0 -9
  1739. package/table/directives/reorderable-row.directive.d.ts +0 -34
  1740. package/table/directives/resizable-column.directive.d.ts +0 -35
  1741. package/table/directives/row-group-header.directive.d.ts +0 -9
  1742. package/table/directives/row-toggler.directive.d.ts +0 -13
  1743. package/table/directives/save-editable-row.directive.d.ts +0 -11
  1744. package/table/directives/selectable-row-double-click.directive.d.ts +0 -22
  1745. package/table/directives/selectable-row.directive.d.ts +0 -37
  1746. package/table/directives/sortable-column.directive.d.ts +0 -24
  1747. package/table/public_api.d.ts +0 -30
  1748. package/table/table.d.ts +0 -871
  1749. package/table/table.interface.d.ts +0 -623
  1750. package/table/table.module.d.ts +0 -34
  1751. package/table/table.service.d.ts +0 -24
  1752. package/tableconfiguration/public_api.d.ts +0 -2
  1753. package/tableconfiguration/tableconfiguration.d.ts +0 -15
  1754. package/tableconfiguration/tableconfiguration.module.d.ts +0 -7
  1755. package/tabmenu/public_api.d.ts +0 -2
  1756. package/tabmenu/tabmenu.d.ts +0 -126
  1757. package/tabmenu/tabmenu.interface.d.ts +0 -32
  1758. package/tabview/public_api.d.ts +0 -3
  1759. package/tabview/tabview.d.ts +0 -293
  1760. package/tabview/tabview.interface.d.ts +0 -49
  1761. package/tabview/tabview.module.d.ts +0 -15
  1762. package/tag/public_api.d.ts +0 -3
  1763. package/tag/tag.d.ts +0 -61
  1764. package/tag/tag.interface.d.ts +0 -11
  1765. package/tag/tag.module.d.ts +0 -9
  1766. package/terminal/public_api.d.ts +0 -2
  1767. package/terminal/terminal.d.ts +0 -56
  1768. package/terminal/terminalservice.d.ts +0 -11
  1769. package/tieredmenu/public_api.d.ts +0 -3
  1770. package/tieredmenu/tieredmenu.d.ts +0 -266
  1771. package/tieredmenu/tieredmenu.interface.d.ts +0 -27
  1772. package/tieredmenu/tiredmenu.module.d.ts +0 -13
  1773. package/timeline/public_api.d.ts +0 -3
  1774. package/timeline/timeline.d.ts +0 -47
  1775. package/timeline/timeline.interface.d.ts +0 -43
  1776. package/timeline/timeline.module.d.ts +0 -9
  1777. package/toast/public_api.d.ts +0 -3
  1778. package/toast/toast.d.ts +0 -142
  1779. package/toast/toast.interface.d.ts +0 -52
  1780. package/toast/toast.module.d.ts +0 -9
  1781. package/toast/toastitem.d.ts +0 -37
  1782. package/togglebutton/public_api.d.ts +0 -2
  1783. package/togglebutton/togglebutton.d.ts +0 -115
  1784. package/togglebutton/togglebutton.interface.d.ts +0 -34
  1785. package/toggleswitch/public_api.d.ts +0 -2
  1786. package/toggleswitch/toggleswitch.d.ts +0 -14
  1787. package/toggleswitch/toggleswitch.module.d.ts +0 -9
  1788. package/toolbar/public_api.d.ts +0 -2
  1789. package/toolbar/toolbar.d.ts +0 -43
  1790. package/toolbar/toolbar.interface.d.ts +0 -19
  1791. package/tooltip/public_api.d.ts +0 -2
  1792. package/tooltip/tooltip.d.ts +0 -208
  1793. package/tooltip/tooltip.module.d.ts +0 -10
  1794. package/tree/public_api.d.ts +0 -3
  1795. package/tree/tree.d.ts +0 -461
  1796. package/tree/tree.interface.d.ts +0 -193
  1797. package/tree/tree.module.d.ts +0 -21
  1798. package/treeselect/public_api.d.ts +0 -3
  1799. package/treeselect/treeselect.d.ts +0 -394
  1800. package/treeselect/treeselect.interface.d.ts +0 -108
  1801. package/treeselect/treeselect.module.d.ts +0 -16
  1802. package/treetable/public_api.d.ts +0 -2
  1803. package/treetable/treetable.d.ts +0 -988
  1804. package/treetable/treetable.interface.d.ts +0 -472
  1805. package/tristatecheckbox/public_api.d.ts +0 -3
  1806. package/tristatecheckbox/tristatecheckbox.d.ts +0 -117
  1807. package/tristatecheckbox/tristatecheckbox.interface.d.ts +0 -30
  1808. package/tristatecheckbox/tristatecheckbox.module.d.ts +0 -8
  1809. package/ts-helpers/public_api.d.ts +0 -1
  1810. package/ts-helpers/ts-helpers.d.ts +0 -4
  1811. package/upload/public_api.d.ts +0 -2
  1812. package/upload/upload.component.d.ts +0 -67
  1813. package/upload/upload.component.module.d.ts +0 -11
  1814. package/utils/objectutils.d.ts +0 -24
  1815. package/utils/public_api.d.ts +0 -4
  1816. package/utils/uniquecomponentid.d.ts +0 -2
  1817. package/utils/zindexutils.d.ts +0 -7
  1818. package/virtualscroller/public_api.d.ts +0 -2
  1819. package/virtualscroller/virtualscroller.d.ts +0 -89
  1820. package/virtualscroller/virtualscroller.interface.d.ts +0 -72
@@ -1,575 +0,0 @@
1
- import { Component, Input, Output, EventEmitter, ViewChild, HostListener } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/platform-browser";
4
- import * as i2 from "@angular/common";
5
- import * as i3 from "@angular/forms";
6
- import * as i4 from "cax-design-system/inputtext";
7
- import * as i5 from "cax-design-system/button";
8
- import * as i6 from "cax-design-system/api";
9
- import * as i7 from "cax-design-system/chip";
10
- import * as i8 from "cax-design-system/overlay";
11
- import * as i9 from "cax-design-system/avatar";
12
- export class CommentboxComponent {
13
- sanitizer;
14
- ngZone;
15
- _comments = [];
16
- set comments(value) {
17
- this._comments = Array.isArray(value) ? value : [];
18
- this.recomputeGroupedComments();
19
- }
20
- get comments() {
21
- return this._comments;
22
- }
23
- mentionSuggestions = [];
24
- hashtagSuggestions = [];
25
- sidebarHeader;
26
- isAdmin = true;
27
- placeholder = 'Comment or mention others with @, ‘#’ for columns';
28
- commentAdded = new EventEmitter();
29
- fileSelected = new EventEmitter();
30
- fileDownload = new EventEmitter();
31
- visibleChange = new EventEmitter();
32
- onSidebarHide = new EventEmitter();
33
- newComment = '';
34
- isMentioning = false;
35
- isHashtagging = false;
36
- suggestions = [];
37
- selectedSuggestion = null;
38
- selectedSuggestionIndex = -1;
39
- filteredSuggestions = [];
40
- currentTokenType = null;
41
- cursorPosition = 0;
42
- fileInput;
43
- suggestionPanel;
44
- inputText;
45
- commentsList;
46
- countChip;
47
- selectedFiles = [];
48
- selectedFilesMap = new Map();
49
- today = new Date();
50
- groupedCommentsCache = [];
51
- overlayVisible = false;
52
- filesOverlayVisible = false;
53
- overlayPosition = { top: 0, left: 0 };
54
- dateUpdateInterval;
55
- // Keep track of should auto scroll
56
- shouldAutoScroll = true;
57
- isUserScrolling = false;
58
- // Add new property for mutation observer
59
- observer;
60
- scrollQueued = false;
61
- constructor(sanitizer, ngZone) {
62
- this.sanitizer = sanitizer;
63
- this.ngZone = ngZone;
64
- this.updateCurrentDate();
65
- // Run the interval outside Angular to avoid frequent change detection in docs/canvas
66
- this.ngZone.runOutsideAngular(() => {
67
- this.dateUpdateInterval = setInterval(() => {
68
- this.ngZone.run(() => this.updateCurrentDate());
69
- }, 60000);
70
- });
71
- }
72
- ngAfterViewInit() {
73
- setTimeout(() => {
74
- this.forceScrollToBottom();
75
- }, 100);
76
- // Set up observer to auto-scroll when content changes (outside Angular)
77
- if (this.commentsList?.nativeElement) {
78
- this.ngZone.runOutsideAngular(() => {
79
- this.observer = new MutationObserver(() => {
80
- if (this.scrollQueued)
81
- return;
82
- this.scrollQueued = true;
83
- requestAnimationFrame(() => {
84
- this.forceScrollToBottom();
85
- this.scrollQueued = false;
86
- });
87
- });
88
- this.observer.observe(this.commentsList.nativeElement, {
89
- childList: true
90
- });
91
- });
92
- }
93
- }
94
- ngOnDestroy() {
95
- if (this.dateUpdateInterval) {
96
- clearInterval(this.dateUpdateInterval);
97
- }
98
- // Disconnect the observer
99
- if (this.observer)
100
- this.observer.disconnect();
101
- // Remove event listeners
102
- document.removeEventListener('click', this.handleClickOutside);
103
- }
104
- updateCurrentDate() {
105
- this.today = new Date();
106
- }
107
- formatDate(date) {
108
- return date.toLocaleDateString(undefined, {
109
- day: '2-digit',
110
- month: '2-digit',
111
- year: 'numeric',
112
- timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone
113
- });
114
- }
115
- formatMessageWithTags(text) {
116
- if (!text)
117
- return '';
118
- const sanitizedText = text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
119
- const htmlContent = sanitizedText.replace(/(@\w+|#\w+)/g, (match) => {
120
- if (match.startsWith('@')) {
121
- return `<span class="mention" style="color: #0C4AF3; font-weight: 600;">${match}</span>`;
122
- }
123
- else if (match.startsWith('#')) {
124
- return `<span class="hashtag" style="color: #0C4AF3; font-weight: 600;">${match}</span>`;
125
- }
126
- return match;
127
- });
128
- return this.sanitizer.bypassSecurityTrustHtml(htmlContent);
129
- }
130
- addComment() {
131
- if (this.newComment.trim() || this.selectedFiles.length > 0) {
132
- const newComment = {
133
- text: this.newComment,
134
- date: new Date(),
135
- files: this.selectedFiles.length > 0 ? [...this.selectedFiles] : undefined,
136
- isAdmin: this.isAdmin,
137
- sender: this.isAdmin ? 'System Admin' : 'User'
138
- };
139
- this.comments = [...this.comments, newComment];
140
- this.commentAdded.emit(newComment);
141
- this.newComment = '';
142
- this.selectedFiles = [];
143
- this.selectedFilesMap.clear();
144
- this.filesOverlayVisible = false;
145
- if (this.suggestionPanel?.nativeElement) {
146
- this.suggestionPanel.nativeElement.style.display = 'none';
147
- }
148
- // Always scroll to bottom immediately
149
- this.scrollToBottom(true);
150
- this.recomputeGroupedComments();
151
- }
152
- }
153
- forceScrollToBottom() {
154
- if (!this.commentsList?.nativeElement)
155
- return;
156
- const element = this.commentsList.nativeElement;
157
- try {
158
- element.scrollTop = element.scrollHeight;
159
- }
160
- catch {
161
- // no-op
162
- }
163
- }
164
- scrollToBottom(force = false) {
165
- if (force) {
166
- this.forceScrollToBottom();
167
- return;
168
- }
169
- if (!this.commentsList?.nativeElement)
170
- return;
171
- const element = this.commentsList.nativeElement;
172
- // Single RAF to avoid nested scheduling overhead in Storybook
173
- requestAnimationFrame(() => {
174
- try {
175
- element.scrollTop = element.scrollHeight;
176
- element.scrollTo({ top: element.scrollHeight });
177
- }
178
- catch {
179
- element.scrollTop = element.scrollHeight;
180
- }
181
- });
182
- }
183
- set visible(value) {
184
- if (this._visible !== value) {
185
- this._visible = value;
186
- if (this._visible) {
187
- this.shouldAutoScroll = true;
188
- setTimeout(() => this.scrollToBottom(true), 300);
189
- }
190
- }
191
- }
192
- get visible() {
193
- return this._visible;
194
- }
195
- _visible = false;
196
- toggleComments() {
197
- if (this._visible) {
198
- this.hideComments();
199
- }
200
- else {
201
- this.showComments();
202
- }
203
- }
204
- showComments() {
205
- if (!this._visible) {
206
- this._visible = true;
207
- this.visibleChange.emit(true);
208
- this.shouldAutoScroll = true;
209
- setTimeout(() => this.scrollToBottom(true), 300);
210
- }
211
- }
212
- hideComments() {
213
- if (this._visible) {
214
- this._visible = false;
215
- this.visibleChange.emit(false);
216
- this.onSidebarHide.emit();
217
- }
218
- }
219
- handleSidebarHide() {
220
- this.hideComments();
221
- }
222
- onDocumentClick(event) {
223
- const target = event.target;
224
- const isInputClick = this.inputText?.nativeElement?.contains(target);
225
- const isPanelClick = this.suggestionPanel?.nativeElement?.contains(target);
226
- if (!isInputClick && !isPanelClick) {
227
- this.overlayVisible = false;
228
- this.currentTokenType = null;
229
- this.filteredSuggestions = [];
230
- }
231
- }
232
- handleKeyUp(event) {
233
- // Update cursor position on every key press
234
- const input = event.target;
235
- this.cursorPosition = input.selectionStart || 0;
236
- if (event.key === 'Escape') {
237
- this.overlayVisible = false;
238
- this.currentTokenType = null;
239
- this.filteredSuggestions = [];
240
- return;
241
- }
242
- if (event.key === '@' || event.key === '#') {
243
- this.currentTokenType = event.key === '@' ? 'mention' : 'hashtag';
244
- this.filteredSuggestions = this.currentTokenType === 'mention' ? this.mentionSuggestions : this.hashtagSuggestions;
245
- this.selectedSuggestionIndex = 0;
246
- const rect = input.getBoundingClientRect();
247
- const cursorPosition = this.getCursorPosition(input);
248
- this.overlayVisible = true;
249
- setTimeout(() => {
250
- const panel = this.suggestionPanel?.nativeElement;
251
- if (panel) {
252
- panel.style.left = `${rect.left + cursorPosition.left}px`;
253
- panel.style.top = `${rect.top - 10}px`;
254
- }
255
- });
256
- }
257
- if (this.currentTokenType) {
258
- const token = this.getTokenAtCursor(input.value, this.cursorPosition);
259
- if (token) {
260
- const searchTerm = token.slice(1).toLowerCase();
261
- this.filteredSuggestions = (this.currentTokenType === 'mention' ? this.mentionSuggestions : this.hashtagSuggestions).filter((item) => item.name.toLowerCase().includes(searchTerm) || item.id.toLowerCase().includes(searchTerm));
262
- if (this.filteredSuggestions.length > 0) {
263
- this.overlayVisible = true;
264
- // Only reset selection index if we have new suggestions
265
- if (this.selectedSuggestionIndex < 0 || this.selectedSuggestionIndex >= this.filteredSuggestions.length) {
266
- this.selectedSuggestionIndex = 0;
267
- }
268
- }
269
- else {
270
- this.overlayVisible = false;
271
- this.selectedSuggestionIndex = -1;
272
- }
273
- }
274
- else {
275
- this.overlayVisible = false;
276
- this.currentTokenType = null;
277
- }
278
- }
279
- }
280
- getTokenAtCursor(text, cursorPos) {
281
- const beforeCursor = text.slice(0, cursorPos);
282
- const match = beforeCursor.match(/[@#][^\s]*$/);
283
- return match ? match[0] : null;
284
- }
285
- getWordAtPosition(text, position) {
286
- const left = text.slice(0, position).search(/[@#][^\s]*$/);
287
- if (left === -1)
288
- return '';
289
- return text.slice(left, position);
290
- }
291
- selectSuggestion(suggestion) {
292
- const input = this.newComment;
293
- const wordStart = input.slice(0, this.cursorPosition).search(/[@#][^\s]*$/);
294
- this.newComment = input.slice(0, wordStart) + suggestion.value + ' ' + input.slice(this.cursorPosition);
295
- this.isMentioning = false;
296
- this.isHashtagging = false;
297
- }
298
- onSuggestionSelect(item) {
299
- const input = this.newComment;
300
- const beforeCursor = input.slice(0, this.cursorPosition);
301
- const afterCursor = input.slice(this.cursorPosition);
302
- const lastTokenIndex = Math.max(beforeCursor.lastIndexOf('@'), beforeCursor.lastIndexOf('#'));
303
- if (lastTokenIndex >= 0) {
304
- // Insert the suggestion at the cursor position
305
- this.newComment = beforeCursor.slice(0, lastTokenIndex) + item.id + ' ' + afterCursor;
306
- }
307
- this.suggestionPanel.nativeElement.style.display = 'none';
308
- this.overlayVisible = false;
309
- this.currentTokenType = null;
310
- this.filteredSuggestions = [];
311
- this.selectedSuggestionIndex = -1;
312
- setTimeout(() => {
313
- const inputEl = this.inputText.nativeElement.querySelector('input');
314
- if (inputEl) {
315
- inputEl.focus();
316
- }
317
- });
318
- }
319
- onSuggestionPanelHide() {
320
- this.overlayVisible = false;
321
- this.currentTokenType = null;
322
- this.filteredSuggestions = [];
323
- this.selectedSuggestionIndex = -1;
324
- }
325
- getCursorPosition(input) {
326
- const selectionStart = input.selectionStart || 0;
327
- const textBeforeCursor = input.value.substring(0, selectionStart);
328
- const span = document.createElement('span');
329
- span.textContent = textBeforeCursor;
330
- span.style.cssText = window.getComputedStyle(input, null).cssText;
331
- span.style.visibility = 'hidden';
332
- document.body.appendChild(span);
333
- const position = {
334
- left: span.offsetWidth,
335
- top: span.offsetHeight
336
- };
337
- document.body.removeChild(span);
338
- return position;
339
- }
340
- onFileIconClick(event) {
341
- event?.preventDefault();
342
- event?.stopPropagation();
343
- if (this.fileInput?.nativeElement) {
344
- this.fileInput.nativeElement.click();
345
- }
346
- }
347
- onFileSelect(event) {
348
- const input = event.target;
349
- if (input.files && input.files.length > 0) {
350
- Array.from(input.files).forEach((file) => {
351
- // Check if file already exists in selection
352
- const fileExists = this.selectedFiles.some((existingFile) => existingFile.name === file.name && existingFile.size === this.formatFileSize(file.size));
353
- if (!fileExists) {
354
- const fileInfo = {
355
- name: file.name,
356
- size: this.formatFileSize(file.size)
357
- };
358
- this.selectedFiles.push(fileInfo);
359
- this.selectedFilesMap.set(this.selectedFiles.length - 1, fileInfo);
360
- this.fileSelected.emit(file);
361
- }
362
- });
363
- input.value = '';
364
- const inputEl = document.querySelector('.chat-input input');
365
- if (inputEl instanceof HTMLElement) {
366
- inputEl.focus();
367
- }
368
- }
369
- }
370
- updateFileState(index, fromChip = true) {
371
- const actualIndex = fromChip ? index : index + 4;
372
- this.selectedFiles = this.selectedFiles.filter((_, i) => i !== actualIndex);
373
- this.selectedFilesMap.clear();
374
- this.selectedFiles.forEach((file, i) => {
375
- this.selectedFilesMap.set(i, file);
376
- });
377
- }
378
- removeFile(index, fromChip = true) {
379
- this.updateFileState(index, fromChip);
380
- if (this.selectedFiles.length <= 4) {
381
- this.hideFilesOverlay();
382
- }
383
- }
384
- getOverflowCount() {
385
- // Return count of files beyond the first 4
386
- return Math.max(0, this.selectedFiles.length - 4);
387
- }
388
- showFilesOverlay(event) {
389
- const target = event.currentTarget;
390
- const rect = target.getBoundingClientRect();
391
- // Position the overlay below the count chip
392
- this.overlayPosition = {
393
- top: rect.bottom + 5,
394
- left: rect.left - 250 + rect.width / 2 // Center the overlay horizontally
395
- };
396
- this.filesOverlayVisible = true;
397
- // Add a click outside listener to close the overlay
398
- setTimeout(() => {
399
- document.addEventListener('click', this.handleClickOutside);
400
- });
401
- }
402
- hideFilesOverlay() {
403
- this.filesOverlayVisible = false;
404
- document.removeEventListener('click', this.handleClickOutside);
405
- }
406
- handleClickOutside = (event) => {
407
- const target = event.target;
408
- const overlay = document.querySelector('.files-overlay');
409
- const countChip = document.querySelector('.count-chip');
410
- if (overlay && !overlay.contains(target) && countChip && !countChip.contains(target)) {
411
- this.hideFilesOverlay();
412
- }
413
- };
414
- formatFileSize(bytes) {
415
- if (bytes === 0)
416
- return '0 Bytes';
417
- const k = 1024;
418
- const sizes = ['Bytes', 'KB', 'MB', 'GB'];
419
- const i = Math.floor(Math.log(bytes) / Math.log(k));
420
- return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
421
- }
422
- showSuggestions(_event, type) {
423
- this.currentTokenType = type;
424
- this.filteredSuggestions = type === 'mention' ? this.mentionSuggestions : this.hashtagSuggestions;
425
- if (this.suggestionPanel) {
426
- this.suggestionPanel.nativeElement.style.display = 'block';
427
- }
428
- }
429
- onKeyDown(event) {
430
- // If suggestions are visible, handle keyboard navigation
431
- if (this.overlayVisible && this.filteredSuggestions.length > 0) {
432
- switch (event.key) {
433
- case 'ArrowDown':
434
- event.preventDefault();
435
- this.selectedSuggestionIndex = Math.min(this.selectedSuggestionIndex + 1, this.filteredSuggestions.length - 1);
436
- this.scrollSuggestionIntoView();
437
- break;
438
- case 'ArrowUp':
439
- event.preventDefault();
440
- this.selectedSuggestionIndex = Math.max(this.selectedSuggestionIndex - 1, 0);
441
- this.scrollSuggestionIntoView();
442
- break;
443
- case 'Tab':
444
- event.preventDefault();
445
- if (event.shiftKey) {
446
- // Shift+Tab - move up
447
- this.selectedSuggestionIndex = Math.max(this.selectedSuggestionIndex - 1, 0);
448
- }
449
- else {
450
- // Tab - move down
451
- this.selectedSuggestionIndex = Math.min(this.selectedSuggestionIndex + 1, this.filteredSuggestions.length - 1);
452
- }
453
- this.scrollSuggestionIntoView();
454
- break;
455
- case 'Enter':
456
- event.preventDefault();
457
- if (this.selectedSuggestionIndex >= 0) {
458
- this.onSuggestionSelect(this.filteredSuggestions[this.selectedSuggestionIndex]);
459
- }
460
- break;
461
- case 'Escape':
462
- event.preventDefault();
463
- this.onSuggestionPanelHide();
464
- break;
465
- }
466
- return;
467
- }
468
- // If no suggestions are visible, handle normal enter key press
469
- if (event.key === 'Enter' && !event.shiftKey) {
470
- event.preventDefault();
471
- this.addComment();
472
- }
473
- }
474
- // Helper method to scroll the selected suggestion into view
475
- scrollSuggestionIntoView() {
476
- setTimeout(() => {
477
- const suggestionList = this.suggestionPanel?.nativeElement.querySelector('.suggestion-list');
478
- const selectedItem = suggestionList?.querySelector('.suggestion-item.selected');
479
- if (suggestionList && selectedItem) {
480
- const listRect = suggestionList.getBoundingClientRect();
481
- const itemRect = selectedItem.getBoundingClientRect();
482
- // Check if the selected item is outside the visible area
483
- if (itemRect.bottom > listRect.bottom) {
484
- // Item is below the visible area
485
- selectedItem.scrollIntoView({ block: 'end', behavior: 'smooth' });
486
- }
487
- else if (itemRect.top < listRect.top) {
488
- // Item is above the visible area
489
- selectedItem.scrollIntoView({ block: 'start', behavior: 'smooth' });
490
- }
491
- }
492
- });
493
- }
494
- onFileDownload(file) {
495
- this.fileDownload.emit(file);
496
- }
497
- recomputeGroupedComments() {
498
- const groups = this._comments.reduce((acc, comment) => {
499
- const commentDate = new Date(comment.date);
500
- commentDate.setHours(0, 0, 0, 0);
501
- const existingGroup = acc.find((group) => {
502
- const groupDate = new Date(group.date);
503
- groupDate.setHours(0, 0, 0, 0);
504
- return groupDate.getTime() === commentDate.getTime();
505
- });
506
- if (existingGroup) {
507
- existingGroup.items.push(comment);
508
- }
509
- else {
510
- acc.push({ date: commentDate, items: [comment] });
511
- }
512
- return acc;
513
- }, []);
514
- this.groupedCommentsCache = groups.sort((a, b) => a.date.getTime() - b.date.getTime());
515
- }
516
- getShortFileName(filename) {
517
- if (filename.length <= 4)
518
- return filename;
519
- // Get file extension
520
- const lastDotIndex = filename.lastIndexOf('.');
521
- const extension = lastDotIndex !== -1 ? filename.substring(lastDotIndex) : '';
522
- // Truncate the name part and add the extension
523
- const namePart = filename.substring(0, lastDotIndex !== -1 ? lastDotIndex : filename.length);
524
- return namePart.substring(0, 4) + '..' + extension;
525
- }
526
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CommentboxComponent, deps: [{ token: i1.DomSanitizer }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
527
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.9", type: CommentboxComponent, selector: "cax-comments", inputs: { comments: "comments", mentionSuggestions: "mentionSuggestions", hashtagSuggestions: "hashtagSuggestions", sidebarHeader: "sidebarHeader", isAdmin: "isAdmin", placeholder: "placeholder", visible: "visible" }, outputs: { commentAdded: "commentAdded", fileSelected: "fileSelected", fileDownload: "fileDownload", visibleChange: "visibleChange", onSidebarHide: "onSidebarHide" }, host: { listeners: { "document:click": "onDocumentClick($event)" } }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true }, { propertyName: "suggestionPanel", first: true, predicate: ["suggestionPanel"], descendants: true }, { propertyName: "inputText", first: true, predicate: ["inputText"], descendants: true }, { propertyName: "commentsList", first: true, predicate: ["commentsList"], descendants: true }, { propertyName: "countChip", first: true, predicate: ["countChip"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"visible\" class=\"cax-comments-wrapper\">\n <!-- <ng-template caxTemplate=\"content\"> -->\n <div class=\"cax-comments-container\">\n <div class=\"cax-comments-list\" #commentsList>\n <ng-container *ngFor=\"let group of groupedCommentsCache\">\n <div class=\"cax-date-header\">{{ formatDate(group.date) }}</div>\n <div\n class=\"cax-comment-item\"\n *ngFor=\"let comment of group.items; let i = index\"\n [ngClass]=\"{\n 'cax-user-comment': !comment.isAdmin,\n 'cax-admin-comment': comment.isAdmin,\n 'consecutive-message': i > 0 && comment.isAdmin === group.items[i-1].isAdmin && comment.sender === group.items[i-1].sender,\n 'new-sender': i > 0 && comment.sender !== group.items[i-1].sender,\n 'new-date': i === 0 && group.items.length > 0\n }\"\n >\n <!-- User Message (Left Aligned) -->\n <ng-container *ngIf=\"!comment.isAdmin\">\n <div class=\"cax-commentbox-avatar-container\" *ngIf=\"i === 0 || group.items[i-1].sender !== comment.sender\">\n <cax-avatar [label]=\"comment.sender?.substring(0, 2).toUpperCase() || 'U'\" [avatarSize]=\"'xs'\" [shape]=\"'circle'\" styleclass=\"cax-commentbox-avatar\"> </cax-avatar>\n </div>\n <div class=\"cax-comment-content\" [class.no-avatar]=\"i > 0 && group.items[i-1].sender === comment.sender\">\n <div class=\"cax-comment-sender\" *ngIf=\"i === 0 || group.items[i-1].sender !== comment.sender\">{{comment.sender}}</div>\n <div class=\"cax-file-attachment\" *ngIf=\"comment.files?.length\">\n <div *ngFor=\"let file of comment.files\" class=\"file-item\">\n <div class=\"file-details\">\n <span class=\"file-name\">{{ file.name.slice(0, 20) }}{{ file.name.includes('.') ? '.' + file.name.split('.').pop() : '' }}</span>\n <span class=\"file-size\">{{file.size}}</span>\n </div>\n <i class=\"cax cax-download\" (click)=\"onFileDownload(file)\" role=\"button\" tabindex=\"0\"></i>\n </div>\n </div>\n <div class=\"cax-comment-text\" [innerHTML]=\"formatMessageWithTags(comment.text)\"></div>\n <span class=\"cax-comment-date\">{{ comment.date | date: 'shortTime' }}</span>\n </div>\n </ng-container>\n\n <!-- Admin Message (Right Aligned) -->\n <ng-container *ngIf=\"comment.isAdmin\">\n <div class=\"cax-comment-content admin\">\n <div class=\"cax-file-attachment\" *ngIf=\"comment.files?.length\">\n <div *ngFor=\"let file of comment.files\" class=\"file-item\">\n <div class=\"file-details\">\n <span class=\"file-name\">{{ file.name.slice(0, 20) }}{{ file.name.includes('.') ? '.' + file.name.split('.').pop() : '' }}</span>\n <span class=\"file-size\">{{file.size}}</span>\n </div>\n <i class=\"cax cax-download\" (click)=\"onFileDownload(file)\" role=\"button\" tabindex=\"0\"></i>\n </div>\n </div>\n <div class=\"cax-comment-text\" [innerHTML]=\"formatMessageWithTags(comment.text)\"></div>\n <span class=\"cax-comment-date\">{{ comment.date | date: 'shortTime' }}</span>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n <!-- </ng-template> -->\n <cax-overlay #suggestionPanel [(visible)]=\"overlayVisible\" [appendTo]=\"inputText\" (onHide)=\"onSuggestionPanelHide()\" [styleClass]=\"'suggestion-panel'\">\n <div class=\"suggestion-list\">\n <div *ngFor=\"let item of filteredSuggestions; let i = index\" class=\"suggestion-item\" [ngClass]=\"{'selected': selectedSuggestionIndex === i}\" (click)=\"onSuggestionSelect(item)\" (mouseenter)=\"selectedSuggestionIndex = i\">\n <span class=\"suggestion-label\">{{item.name}}</span>\n <small class=\"suggestion-id\" *ngIf=\"currentTokenType === 'mention'\">{{item.id}}</small>\n </div>\n </div>\n </cax-overlay>\n <cax-overlay\n [(visible)]=\"filesOverlayVisible\"\n [appendTo]=\"countChip\"\n [showTransitionOptions]=\"'0.12s ease-out'\"\n [hideTransitionOptions]=\"'0.1s ease-in'\"\n [style]=\"{ width: '224px', right: '5%' }\"\n styleClass=\"files-list-overlay\"\n (onHide)=\"hideFilesOverlay()\"\n >\n <div class=\"files-overlay-content\">\n <div *ngFor=\"let file of selectedFiles.slice(4); let i = index\" class=\"file-item\">\n <span class=\"file-name\">{{getShortFileName(file.name)}}</span>\n <i class=\"cax cax-close-circle\" (click)=\"removeFile(i + 4)\"></i>\n </div>\n </div>\n </cax-overlay>\n\n <!-- <ng-template caxTemplate=\"footer\"> -->\n <div class=\"chat-footer\">\n <div class=\"selected-files\" *ngIf=\"selectedFiles.length > 0\">\n <cax-chip *ngFor=\"let file of selectedFiles.slice(0, 4); let i = index\" [label]=\"getShortFileName(file.name)\" [removable]=\"true\" [size]=\"'lg'\" (onRemove)=\"removeFile(i, true)\">\n <ng-template caxTemplate=\"content\">\n <i class=\"cax cax-paperclip\"></i>\n </ng-template>\n </cax-chip>\n <cax-chip #countChip *ngIf=\"selectedFiles.length > 4\" [label]=\"'+' + getOverflowCount()\" [size]=\"'lg'\" (mouseenter)=\"showFilesOverlay($event)\"> </cax-chip>\n </div>\n <div class=\"cax-chat-input-container\">\n <div class=\"input-wrapper\">\n <cax-inputtext\n [(ngModel)]=\"newComment\"\n [size]=\"'lg'\"\n [rightIcon]=\"true\"\n [clearIcon]=\"false\"\n [rightIconClass]=\"'cax cax-paperclip'\"\n [rightIconClickable]=\"true\"\n (rightIconClick)=\"onFileIconClick($event)\"\n [placeholder]=\"placeholder\"\n (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"onKeyDown($event)\"\n [ngClass]=\"{'chat-input': true, 'admin-input': isAdmin}\"\n [style]=\"{'border-radius': '8px', background: '#ffffff'}\"\n #inputText\n >\n </cax-inputtext>\n </div>\n\n <cax-button [icon]=\"'cax cax-plain'\" [severity]=\"'primary'\" [size]=\"'large'\" (click)=\"addComment()\" [disabled]=\"!newComment.trim() && selectedFiles.length === 0\" class=\"send-button\"> </cax-button>\n </div>\n\n <input #fileInput type=\"file\" (change)=\"onFileSelect($event)\" style=\"display: none\" accept=\"*/*\" multiple />\n </div>\n <!-- </ng-template> -->\n</div>\n", styles: ["@layer cax{.cax-comments-wrapper{width:100%;min-height:100%;display:flex;flex-direction:column}.cax-comments-list{display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto;overflow-x:hidden;height:100%;padding-bottom:0;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:rgba(94,92,92,.3) transparent}.cax-comments-list:after{content:\"\";display:block;min-height:20px;scroll-snap-align:end}.cax-comments-list::-webkit-scrollbar-track{background:transparent}.cax-comments-list::-webkit-scrollbar-thumb{background-color:#5553531a;border-radius:4px;border:2px solid transparent;background-clip:padding-box}.cax-comment-item{display:flex;align-items:flex-end;max-width:85%;gap:4px}.cax-comment-item.consecutive-message{margin-top:0}.cax-comment-item.new-sender{margin-top:12px}.cax-comment-item.new-date{margin-top:0}.cax-user-comment{align-self:flex-start;display:flex;flex-direction:row;text-align:left}.cax-user-comment .cax-commentbox-avatar-container{display:flex;align-items:flex-end}.cax-user-comment .cax-comment-content{margin-bottom:0;display:flex;flex-direction:column;border-radius:12px 12px 12px 0}.cax-user-comment .cax-comment-content.no-avatar{border-radius:12px;margin-left:25px}.cax-user-comment .cax-comment-content .cax-comment-sender{font-size:14px;font-weight:600;color:var(--neutral-900);margin-bottom:0;line-height:20px}.cax-user-comment.consecutive-message .cax-comment-content{border-radius:12px}.cax-admin-comment{align-self:flex-end;display:flex;flex-direction:row;justify-content:flex-end;text-align:right}.cax-admin-comment .cax-commentbox-avatar-container{display:flex;align-items:flex-end}.cax-admin-comment .cax-comment-content{margin-bottom:0;display:flex;flex-direction:column;border-radius:12px 12px 0;text-align:left}.cax-admin-comment .cax-comment-content .cax-comment-sender{font-size:14px;font-weight:600;color:var(--neutral-900);margin-bottom:0;line-height:20px}.cax-admin-comment.consecutive-message .cax-comment-content{border-radius:12px}.cax-commentbox-avatar{width:32px;height:32px;border-radius:50%;margin:0 8px}.cax-comment-content{background:var(--white-100);border-radius:12px 12px 12px 0;padding:8px;max-width:100%;word-wrap:break-word;display:flex;flex-direction:column;box-shadow:0 2px 4px #0000000d}.cax-comment-content .cax-comment-text{font-weight:400;font-size:14px;line-height:20px}.cax-comment-content .cax-comment-text ::ng-deep .mention{display:inline-block;font-weight:600;color:var(--primary-500)}.cax-comment-content .cax-comment-text ::ng-deep .hashtag{display:inline-block;font-weight:600;color:var(--primary-500)}.cax-comment-content .cax-comment-sender{font-size:14px;font-weight:600;color:var(--neutral-900);margin-bottom:0;line-height:20px}.cax-file-attachment{margin-bottom:12px}.cax-file-attachment .file-item{display:flex;align-items:center;gap:12px;border-color:1px solid var(--neutral-150);padding:10px 16px;background:var(--neutral-75);border-radius:8px;cursor:pointer;margin-bottom:8px}.cax-file-attachment .file-item .file-details{display:flex;flex:1;align-items:center;gap:12px}.cax-file-attachment .file-item .file-name{color:var(--neutral-900);font-weight:500;font-size:14px;line-height:20px;flex:1;white-space:nowrap;overflow:hidden}.cax-file-attachment .file-item .file-size{color:var(--neutral-600);font-weight:400;font-size:12px;line-height:18px;margin-right:8px}.cax-file-attachment .file-item i{color:var(--neutral-900);font-size:1.1rem;margin-left:auto;order:2}.cax-file-attachment .file-item i.cax-download{cursor:pointer;transition:color .2s ease}.cax-file-attachment .file-item i.cax-download:hover{color:var(--primary-600)}.cax-file-attachment .file-item i.cax-download:active{color:var(--primary-700)}.cax-file-attachment .file-item:last-child{margin-bottom:0}.cax-file-attachment:last-child{margin-bottom:0}.cax-comment-date{font-weight:400;font-size:12px;line-height:18px;color:var(--neutral-600);align-self:flex-end}.cax-chat-input-container{display:flex;gap:.5rem}.cax-chat-input-container .chat-input{flex:1}.cax-chat-input-container .send-button{cursor:pointer}.input-wrapper{position:relative;flex:1;display:flex;flex-direction:column}.cax-date-header{text-align:center;font-size:12px;font-weight:500;line-height:18px;color:var(--neutral-700);background:var(--neutral-100);align-self:center;width:fit-content;padding:4px 12px;border-radius:4px;margin:11px 0;position:relative;z-index:1}.cax-date-header:first-child{margin-top:0}.cax-comments-container{display:flex;flex-direction:column;height:calc(100vh - 200px);overflow:hidden;position:relative;transform:translateZ(0);backface-visibility:hidden}.selected-files{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 0 5px;position:relative}.selected-files .cax-chip{background:var(--neutral-100)}.selected-files .cax-chip i{margin-right:.5rem}.selected-files .files-overlay{position:absolute;background:var(--white-100);border-radius:8px;box-shadow:0 4px 12px #00000026;width:300px;max-height:400px;z-index:1000;overflow:hidden;border:1px solid var(--neutral-200)}.selected-files .files-overlay .files-overlay-header{padding:12px 16px;font-weight:600;font-size:14px;border-bottom:1px solid var(--neutral-100);background:var(--neutral-50)}.selected-files .files-overlay .files-overlay-content{max-height:350px;overflow-y:auto;padding:8px 0}.selected-files .files-overlay .files-overlay-content .file-item{display:flex;align-items:center;padding:8px 16px;transition:background-color .2s ease}.selected-files .files-overlay .files-overlay-content .file-item:hover{background-color:var(--neutral-50)}.selected-files .files-overlay .files-overlay-content .file-item i.cax-paperclip{color:var(--neutral-600);margin-right:8px}.selected-files .files-overlay .files-overlay-content .file-item .file-name{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}.selected-files .files-overlay .files-overlay-content .file-item .file-size{color:var(--neutral-600);font-size:12px;margin-right:8px}.selected-files .files-overlay .files-overlay-content .file-item i.cax-times{color:var(--neutral-600);cursor:pointer;transition:color .2s ease}.selected-files .files-overlay .files-overlay-content .file-item i.cax-times:hover{color:var --error-500}.selected-files :deep(.file-chip){background:var(--neutral-50);border:1px solid var(--neutral-100)}.selected-files :deep(.file-chip) .file-details{display:flex;align-items:center;gap:8px}.selected-files :deep(.file-chip) i{color:var(--primary-500);margin-right:8px}.selected-files :deep(.file-chip) .file-name{font-weight:500}.selected-files :deep(.file-chip) .file-size{color:var(--neutral-600);font-size:.8rem}:host ::ng-deep .cax-sidebar{width:589px!important;border:1px solid var(--neutral-200)!important}:host ::ng-deep .cax-sidebar .cax-sidebar-content{display:flex;flex-direction:column;background:var(--neutral-25);padding:24px 8px!important}:host ::ng-deep .cax-sidebar .cax-sidebar-footer{padding:12px!important;background:var(--neutral-50);border-top:1px solid var(--neutral-200)}:host ::ng-deep .cax-sidebar .cax-sidebar-header{border-bottom:1px solid var(--neutral-200);background:var(--neutral-50);padding:16px 24px!important}:host ::ng-deep .cax-overlay{position:absolute;bottom:0!important;top:unset!important;left:unset!important}:host ::ng-deep .suggestion-panel{background:var(--white-100);box-shadow:0 2px 8px #0000001a;z-index:9999;padding:12px 4px;margin-left:20px;width:224px;border-radius:8px;border:1px solid var(--neutral-200)}:host ::ng-deep .suggestion-panel .suggestion-list{max-height:200px;overflow-y:auto;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:rgba(94,92,92,.3) transparent}:host ::ng-deep .suggestion-panel .suggestion-list .suggestion-item{padding:6px 8px;cursor:pointer;display:flex;justify-content:space-between;transition:background-color .2s ease;align-items:center}:host ::ng-deep .suggestion-panel .suggestion-list .suggestion-item:hover{background-color:var(--neutral-50)}:host ::ng-deep .suggestion-panel .suggestion-list .suggestion-item.selected{background-color:var(--neutral-50)}:host ::ng-deep .suggestion-panel .suggestion-list .suggestion-item .suggestion-label{font-weight:500}:host ::ng-deep .suggestion-panel .suggestion-list .suggestion-item .suggestion-id{color:var(--neutral-600);font-size:.85em}:host ::ng-deep .suggestion-panel .suggestion-list:after{content:\"\";display:block;min-height:20px;scroll-snap-align:end}:host ::ng-deep .suggestion-panel .suggestion-list::-webkit-scrollbar-track{background:transparent}:host ::ng-deep .suggestion-panel .suggestion-list::-webkit-scrollbar-thumb{background-color:#5553531a;border-radius:4px;border:2px solid transparent;background-clip:padding-box}:host ::ng-deep .chat-footer{position:sticky;bottom:0;z-index:10}:host ::ng-deep .cax-chat-input-container .chat-input .cax-paperclip{color:var(--neutral-900)!important}:host ::ng-deep .files-list-overlay{border:1px solid var(--neutral-200);background:var(--white-100);box-shadow:0 2px 8px #0000001a;z-index:9999;padding:12px 4px;width:224px;border-radius:8px}:host ::ng-deep .files-list-overlay.cax-overlay{transform-origin:right center!important}:host ::ng-deep .files-list-overlay .files-overlay-content{max-height:200px;overflow-y:auto}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item{transition:background-color .2s ease;padding:6px 8px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:rgba(94,92,92,.3) transparent}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item:hover{background-color:var(--neutral-50)}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item .file-name{flex:1;font-size:14px;font-weight:500;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item .file-size{color:var(--neutral-600);font-size:12px;margin-right:8px}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item i.cax-times{color:var(--neutral-600);cursor:pointer;border:1.1rem solid var(--neutral-200);transition:color .2s ease}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item:after{content:\"\";display:block;min-height:20px;scroll-snap-align:end}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item::-webkit-scrollbar-track{background:transparent}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item::-webkit-scrollbar-thumb{background-color:#5553531a;border-radius:4px;border:2px solid transparent;background-clip:padding-box}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.InputTextComponent, selector: "cax-inputtext", inputs: ["value", "placeholder", "disabled", "maxlength", "successText", "errorText", "showLabel", "leftIcon", "rightIcon", "rightIconClickable", "clearIcon", "label", "iconPath", "disabledIcon", "showIcon", "iconClass", "leftIconClass", "rightIconClass", "invalid", "required", "style", "size", "styleClass"], outputs: ["valueChange", "rightIconClick"] }, { kind: "component", type: i5.Button, selector: "cax-button", inputs: ["type", "iconPos", "icon", "badge", "rightIcon", "leftIcon", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i6.CaxTemplate, selector: "[caxTemplate]", inputs: ["type", "caxTemplate"] }, { kind: "component", type: i7.Chip, selector: "cax-chip", inputs: ["label", "icon", "image", "alt", "style", "styleClass", "removable", "removeIcon", "size", "severity"], outputs: ["onRemove", "onImageError"] }, { kind: "component", type: i8.Overlay, selector: "cax-overlay", inputs: ["visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }, { kind: "component", type: i9.Avatar, selector: "cax-avatar", inputs: ["label", "icon", "image", "avatarSize", "shape", "style", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "pipe", type: i2.DatePipe, name: "date" }] });
528
- }
529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: CommentboxComponent, decorators: [{
530
- type: Component,
531
- args: [{ selector: 'cax-comments', template: "<div *ngIf=\"visible\" class=\"cax-comments-wrapper\">\n <!-- <ng-template caxTemplate=\"content\"> -->\n <div class=\"cax-comments-container\">\n <div class=\"cax-comments-list\" #commentsList>\n <ng-container *ngFor=\"let group of groupedCommentsCache\">\n <div class=\"cax-date-header\">{{ formatDate(group.date) }}</div>\n <div\n class=\"cax-comment-item\"\n *ngFor=\"let comment of group.items; let i = index\"\n [ngClass]=\"{\n 'cax-user-comment': !comment.isAdmin,\n 'cax-admin-comment': comment.isAdmin,\n 'consecutive-message': i > 0 && comment.isAdmin === group.items[i-1].isAdmin && comment.sender === group.items[i-1].sender,\n 'new-sender': i > 0 && comment.sender !== group.items[i-1].sender,\n 'new-date': i === 0 && group.items.length > 0\n }\"\n >\n <!-- User Message (Left Aligned) -->\n <ng-container *ngIf=\"!comment.isAdmin\">\n <div class=\"cax-commentbox-avatar-container\" *ngIf=\"i === 0 || group.items[i-1].sender !== comment.sender\">\n <cax-avatar [label]=\"comment.sender?.substring(0, 2).toUpperCase() || 'U'\" [avatarSize]=\"'xs'\" [shape]=\"'circle'\" styleclass=\"cax-commentbox-avatar\"> </cax-avatar>\n </div>\n <div class=\"cax-comment-content\" [class.no-avatar]=\"i > 0 && group.items[i-1].sender === comment.sender\">\n <div class=\"cax-comment-sender\" *ngIf=\"i === 0 || group.items[i-1].sender !== comment.sender\">{{comment.sender}}</div>\n <div class=\"cax-file-attachment\" *ngIf=\"comment.files?.length\">\n <div *ngFor=\"let file of comment.files\" class=\"file-item\">\n <div class=\"file-details\">\n <span class=\"file-name\">{{ file.name.slice(0, 20) }}{{ file.name.includes('.') ? '.' + file.name.split('.').pop() : '' }}</span>\n <span class=\"file-size\">{{file.size}}</span>\n </div>\n <i class=\"cax cax-download\" (click)=\"onFileDownload(file)\" role=\"button\" tabindex=\"0\"></i>\n </div>\n </div>\n <div class=\"cax-comment-text\" [innerHTML]=\"formatMessageWithTags(comment.text)\"></div>\n <span class=\"cax-comment-date\">{{ comment.date | date: 'shortTime' }}</span>\n </div>\n </ng-container>\n\n <!-- Admin Message (Right Aligned) -->\n <ng-container *ngIf=\"comment.isAdmin\">\n <div class=\"cax-comment-content admin\">\n <div class=\"cax-file-attachment\" *ngIf=\"comment.files?.length\">\n <div *ngFor=\"let file of comment.files\" class=\"file-item\">\n <div class=\"file-details\">\n <span class=\"file-name\">{{ file.name.slice(0, 20) }}{{ file.name.includes('.') ? '.' + file.name.split('.').pop() : '' }}</span>\n <span class=\"file-size\">{{file.size}}</span>\n </div>\n <i class=\"cax cax-download\" (click)=\"onFileDownload(file)\" role=\"button\" tabindex=\"0\"></i>\n </div>\n </div>\n <div class=\"cax-comment-text\" [innerHTML]=\"formatMessageWithTags(comment.text)\"></div>\n <span class=\"cax-comment-date\">{{ comment.date | date: 'shortTime' }}</span>\n </div>\n </ng-container>\n </div>\n </ng-container>\n </div>\n </div>\n <!-- </ng-template> -->\n <cax-overlay #suggestionPanel [(visible)]=\"overlayVisible\" [appendTo]=\"inputText\" (onHide)=\"onSuggestionPanelHide()\" [styleClass]=\"'suggestion-panel'\">\n <div class=\"suggestion-list\">\n <div *ngFor=\"let item of filteredSuggestions; let i = index\" class=\"suggestion-item\" [ngClass]=\"{'selected': selectedSuggestionIndex === i}\" (click)=\"onSuggestionSelect(item)\" (mouseenter)=\"selectedSuggestionIndex = i\">\n <span class=\"suggestion-label\">{{item.name}}</span>\n <small class=\"suggestion-id\" *ngIf=\"currentTokenType === 'mention'\">{{item.id}}</small>\n </div>\n </div>\n </cax-overlay>\n <cax-overlay\n [(visible)]=\"filesOverlayVisible\"\n [appendTo]=\"countChip\"\n [showTransitionOptions]=\"'0.12s ease-out'\"\n [hideTransitionOptions]=\"'0.1s ease-in'\"\n [style]=\"{ width: '224px', right: '5%' }\"\n styleClass=\"files-list-overlay\"\n (onHide)=\"hideFilesOverlay()\"\n >\n <div class=\"files-overlay-content\">\n <div *ngFor=\"let file of selectedFiles.slice(4); let i = index\" class=\"file-item\">\n <span class=\"file-name\">{{getShortFileName(file.name)}}</span>\n <i class=\"cax cax-close-circle\" (click)=\"removeFile(i + 4)\"></i>\n </div>\n </div>\n </cax-overlay>\n\n <!-- <ng-template caxTemplate=\"footer\"> -->\n <div class=\"chat-footer\">\n <div class=\"selected-files\" *ngIf=\"selectedFiles.length > 0\">\n <cax-chip *ngFor=\"let file of selectedFiles.slice(0, 4); let i = index\" [label]=\"getShortFileName(file.name)\" [removable]=\"true\" [size]=\"'lg'\" (onRemove)=\"removeFile(i, true)\">\n <ng-template caxTemplate=\"content\">\n <i class=\"cax cax-paperclip\"></i>\n </ng-template>\n </cax-chip>\n <cax-chip #countChip *ngIf=\"selectedFiles.length > 4\" [label]=\"'+' + getOverflowCount()\" [size]=\"'lg'\" (mouseenter)=\"showFilesOverlay($event)\"> </cax-chip>\n </div>\n <div class=\"cax-chat-input-container\">\n <div class=\"input-wrapper\">\n <cax-inputtext\n [(ngModel)]=\"newComment\"\n [size]=\"'lg'\"\n [rightIcon]=\"true\"\n [clearIcon]=\"false\"\n [rightIconClass]=\"'cax cax-paperclip'\"\n [rightIconClickable]=\"true\"\n (rightIconClick)=\"onFileIconClick($event)\"\n [placeholder]=\"placeholder\"\n (keyup)=\"handleKeyUp($event)\"\n (keydown)=\"onKeyDown($event)\"\n [ngClass]=\"{'chat-input': true, 'admin-input': isAdmin}\"\n [style]=\"{'border-radius': '8px', background: '#ffffff'}\"\n #inputText\n >\n </cax-inputtext>\n </div>\n\n <cax-button [icon]=\"'cax cax-plain'\" [severity]=\"'primary'\" [size]=\"'large'\" (click)=\"addComment()\" [disabled]=\"!newComment.trim() && selectedFiles.length === 0\" class=\"send-button\"> </cax-button>\n </div>\n\n <input #fileInput type=\"file\" (change)=\"onFileSelect($event)\" style=\"display: none\" accept=\"*/*\" multiple />\n </div>\n <!-- </ng-template> -->\n</div>\n", styles: ["@layer cax{.cax-comments-wrapper{width:100%;min-height:100%;display:flex;flex-direction:column}.cax-comments-list{display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto;overflow-x:hidden;height:100%;padding-bottom:0;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:rgba(94,92,92,.3) transparent}.cax-comments-list:after{content:\"\";display:block;min-height:20px;scroll-snap-align:end}.cax-comments-list::-webkit-scrollbar-track{background:transparent}.cax-comments-list::-webkit-scrollbar-thumb{background-color:#5553531a;border-radius:4px;border:2px solid transparent;background-clip:padding-box}.cax-comment-item{display:flex;align-items:flex-end;max-width:85%;gap:4px}.cax-comment-item.consecutive-message{margin-top:0}.cax-comment-item.new-sender{margin-top:12px}.cax-comment-item.new-date{margin-top:0}.cax-user-comment{align-self:flex-start;display:flex;flex-direction:row;text-align:left}.cax-user-comment .cax-commentbox-avatar-container{display:flex;align-items:flex-end}.cax-user-comment .cax-comment-content{margin-bottom:0;display:flex;flex-direction:column;border-radius:12px 12px 12px 0}.cax-user-comment .cax-comment-content.no-avatar{border-radius:12px;margin-left:25px}.cax-user-comment .cax-comment-content .cax-comment-sender{font-size:14px;font-weight:600;color:var(--neutral-900);margin-bottom:0;line-height:20px}.cax-user-comment.consecutive-message .cax-comment-content{border-radius:12px}.cax-admin-comment{align-self:flex-end;display:flex;flex-direction:row;justify-content:flex-end;text-align:right}.cax-admin-comment .cax-commentbox-avatar-container{display:flex;align-items:flex-end}.cax-admin-comment .cax-comment-content{margin-bottom:0;display:flex;flex-direction:column;border-radius:12px 12px 0;text-align:left}.cax-admin-comment .cax-comment-content .cax-comment-sender{font-size:14px;font-weight:600;color:var(--neutral-900);margin-bottom:0;line-height:20px}.cax-admin-comment.consecutive-message .cax-comment-content{border-radius:12px}.cax-commentbox-avatar{width:32px;height:32px;border-radius:50%;margin:0 8px}.cax-comment-content{background:var(--white-100);border-radius:12px 12px 12px 0;padding:8px;max-width:100%;word-wrap:break-word;display:flex;flex-direction:column;box-shadow:0 2px 4px #0000000d}.cax-comment-content .cax-comment-text{font-weight:400;font-size:14px;line-height:20px}.cax-comment-content .cax-comment-text ::ng-deep .mention{display:inline-block;font-weight:600;color:var(--primary-500)}.cax-comment-content .cax-comment-text ::ng-deep .hashtag{display:inline-block;font-weight:600;color:var(--primary-500)}.cax-comment-content .cax-comment-sender{font-size:14px;font-weight:600;color:var(--neutral-900);margin-bottom:0;line-height:20px}.cax-file-attachment{margin-bottom:12px}.cax-file-attachment .file-item{display:flex;align-items:center;gap:12px;border-color:1px solid var(--neutral-150);padding:10px 16px;background:var(--neutral-75);border-radius:8px;cursor:pointer;margin-bottom:8px}.cax-file-attachment .file-item .file-details{display:flex;flex:1;align-items:center;gap:12px}.cax-file-attachment .file-item .file-name{color:var(--neutral-900);font-weight:500;font-size:14px;line-height:20px;flex:1;white-space:nowrap;overflow:hidden}.cax-file-attachment .file-item .file-size{color:var(--neutral-600);font-weight:400;font-size:12px;line-height:18px;margin-right:8px}.cax-file-attachment .file-item i{color:var(--neutral-900);font-size:1.1rem;margin-left:auto;order:2}.cax-file-attachment .file-item i.cax-download{cursor:pointer;transition:color .2s ease}.cax-file-attachment .file-item i.cax-download:hover{color:var(--primary-600)}.cax-file-attachment .file-item i.cax-download:active{color:var(--primary-700)}.cax-file-attachment .file-item:last-child{margin-bottom:0}.cax-file-attachment:last-child{margin-bottom:0}.cax-comment-date{font-weight:400;font-size:12px;line-height:18px;color:var(--neutral-600);align-self:flex-end}.cax-chat-input-container{display:flex;gap:.5rem}.cax-chat-input-container .chat-input{flex:1}.cax-chat-input-container .send-button{cursor:pointer}.input-wrapper{position:relative;flex:1;display:flex;flex-direction:column}.cax-date-header{text-align:center;font-size:12px;font-weight:500;line-height:18px;color:var(--neutral-700);background:var(--neutral-100);align-self:center;width:fit-content;padding:4px 12px;border-radius:4px;margin:11px 0;position:relative;z-index:1}.cax-date-header:first-child{margin-top:0}.cax-comments-container{display:flex;flex-direction:column;height:calc(100vh - 200px);overflow:hidden;position:relative;transform:translateZ(0);backface-visibility:hidden}.selected-files{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 0 5px;position:relative}.selected-files .cax-chip{background:var(--neutral-100)}.selected-files .cax-chip i{margin-right:.5rem}.selected-files .files-overlay{position:absolute;background:var(--white-100);border-radius:8px;box-shadow:0 4px 12px #00000026;width:300px;max-height:400px;z-index:1000;overflow:hidden;border:1px solid var(--neutral-200)}.selected-files .files-overlay .files-overlay-header{padding:12px 16px;font-weight:600;font-size:14px;border-bottom:1px solid var(--neutral-100);background:var(--neutral-50)}.selected-files .files-overlay .files-overlay-content{max-height:350px;overflow-y:auto;padding:8px 0}.selected-files .files-overlay .files-overlay-content .file-item{display:flex;align-items:center;padding:8px 16px;transition:background-color .2s ease}.selected-files .files-overlay .files-overlay-content .file-item:hover{background-color:var(--neutral-50)}.selected-files .files-overlay .files-overlay-content .file-item i.cax-paperclip{color:var(--neutral-600);margin-right:8px}.selected-files .files-overlay .files-overlay-content .file-item .file-name{flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}.selected-files .files-overlay .files-overlay-content .file-item .file-size{color:var(--neutral-600);font-size:12px;margin-right:8px}.selected-files .files-overlay .files-overlay-content .file-item i.cax-times{color:var(--neutral-600);cursor:pointer;transition:color .2s ease}.selected-files .files-overlay .files-overlay-content .file-item i.cax-times:hover{color:var --error-500}.selected-files :deep(.file-chip){background:var(--neutral-50);border:1px solid var(--neutral-100)}.selected-files :deep(.file-chip) .file-details{display:flex;align-items:center;gap:8px}.selected-files :deep(.file-chip) i{color:var(--primary-500);margin-right:8px}.selected-files :deep(.file-chip) .file-name{font-weight:500}.selected-files :deep(.file-chip) .file-size{color:var(--neutral-600);font-size:.8rem}:host ::ng-deep .cax-sidebar{width:589px!important;border:1px solid var(--neutral-200)!important}:host ::ng-deep .cax-sidebar .cax-sidebar-content{display:flex;flex-direction:column;background:var(--neutral-25);padding:24px 8px!important}:host ::ng-deep .cax-sidebar .cax-sidebar-footer{padding:12px!important;background:var(--neutral-50);border-top:1px solid var(--neutral-200)}:host ::ng-deep .cax-sidebar .cax-sidebar-header{border-bottom:1px solid var(--neutral-200);background:var(--neutral-50);padding:16px 24px!important}:host ::ng-deep .cax-overlay{position:absolute;bottom:0!important;top:unset!important;left:unset!important}:host ::ng-deep .suggestion-panel{background:var(--white-100);box-shadow:0 2px 8px #0000001a;z-index:9999;padding:12px 4px;margin-left:20px;width:224px;border-radius:8px;border:1px solid var(--neutral-200)}:host ::ng-deep .suggestion-panel .suggestion-list{max-height:200px;overflow-y:auto;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:rgba(94,92,92,.3) transparent}:host ::ng-deep .suggestion-panel .suggestion-list .suggestion-item{padding:6px 8px;cursor:pointer;display:flex;justify-content:space-between;transition:background-color .2s ease;align-items:center}:host ::ng-deep .suggestion-panel .suggestion-list .suggestion-item:hover{background-color:var(--neutral-50)}:host ::ng-deep .suggestion-panel .suggestion-list .suggestion-item.selected{background-color:var(--neutral-50)}:host ::ng-deep .suggestion-panel .suggestion-list .suggestion-item .suggestion-label{font-weight:500}:host ::ng-deep .suggestion-panel .suggestion-list .suggestion-item .suggestion-id{color:var(--neutral-600);font-size:.85em}:host ::ng-deep .suggestion-panel .suggestion-list:after{content:\"\";display:block;min-height:20px;scroll-snap-align:end}:host ::ng-deep .suggestion-panel .suggestion-list::-webkit-scrollbar-track{background:transparent}:host ::ng-deep .suggestion-panel .suggestion-list::-webkit-scrollbar-thumb{background-color:#5553531a;border-radius:4px;border:2px solid transparent;background-clip:padding-box}:host ::ng-deep .chat-footer{position:sticky;bottom:0;z-index:10}:host ::ng-deep .cax-chat-input-container .chat-input .cax-paperclip{color:var(--neutral-900)!important}:host ::ng-deep .files-list-overlay{border:1px solid var(--neutral-200);background:var(--white-100);box-shadow:0 2px 8px #0000001a;z-index:9999;padding:12px 4px;width:224px;border-radius:8px}:host ::ng-deep .files-list-overlay.cax-overlay{transform-origin:right center!important}:host ::ng-deep .files-list-overlay .files-overlay-content{max-height:200px;overflow-y:auto}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item{transition:background-color .2s ease;padding:6px 8px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;will-change:transform;transform:translateZ(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;scrollbar-width:thin;scrollbar-color:rgba(94,92,92,.3) transparent}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item:hover{background-color:var(--neutral-50)}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item .file-name{flex:1;font-size:14px;font-weight:500;line-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:8px}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item .file-size{color:var(--neutral-600);font-size:12px;margin-right:8px}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item i.cax-times{color:var(--neutral-600);cursor:pointer;border:1.1rem solid var(--neutral-200);transition:color .2s ease}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item:after{content:\"\";display:block;min-height:20px;scroll-snap-align:end}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item::-webkit-scrollbar-track{background:transparent}:host ::ng-deep .files-list-overlay .files-overlay-content .file-item::-webkit-scrollbar-thumb{background-color:#5553531a;border-radius:4px;border:2px solid transparent;background-clip:padding-box}}\n"] }]
532
- }], ctorParameters: () => [{ type: i1.DomSanitizer }, { type: i0.NgZone }], propDecorators: { comments: [{
533
- type: Input
534
- }], mentionSuggestions: [{
535
- type: Input
536
- }], hashtagSuggestions: [{
537
- type: Input
538
- }], sidebarHeader: [{
539
- type: Input
540
- }], isAdmin: [{
541
- type: Input
542
- }], placeholder: [{
543
- type: Input
544
- }], commentAdded: [{
545
- type: Output
546
- }], fileSelected: [{
547
- type: Output
548
- }], fileDownload: [{
549
- type: Output
550
- }], visibleChange: [{
551
- type: Output
552
- }], onSidebarHide: [{
553
- type: Output
554
- }], fileInput: [{
555
- type: ViewChild,
556
- args: ['fileInput']
557
- }], suggestionPanel: [{
558
- type: ViewChild,
559
- args: ['suggestionPanel']
560
- }], inputText: [{
561
- type: ViewChild,
562
- args: ['inputText']
563
- }], commentsList: [{
564
- type: ViewChild,
565
- args: ['commentsList']
566
- }], countChip: [{
567
- type: ViewChild,
568
- args: ['countChip']
569
- }], visible: [{
570
- type: Input
571
- }], onDocumentClick: [{
572
- type: HostListener,
573
- args: ['document:click', ['$event']]
574
- }] } });
575
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudGJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9jb21tZW50Ym94L2NvbW1lbnRib3gudHMiLCIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvY29tbWVudGJveC9jb21tZW50Ym94Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztBQXNCcEgsTUFBTSxPQUFPLG1CQUFtQjtJQXdEaEI7SUFDQTtJQXhESixTQUFTLEdBQWMsRUFBRSxDQUFDO0lBQ2xDLElBQWEsUUFBUSxDQUFDLEtBQWdCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUNELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBQ1Esa0JBQWtCLEdBQVUsRUFBRSxDQUFDO0lBQy9CLGtCQUFrQixHQUFVLEVBQUUsQ0FBQztJQUMvQixhQUFhLENBQVM7SUFDdEIsT0FBTyxHQUFZLElBQUksQ0FBQztJQUN4QixXQUFXLEdBQVcsbURBQW1ELENBQUM7SUFDekUsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFDdkMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFDeEMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFrQyxDQUFDO0lBQ2xFLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO0lBQzVDLGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBQ25ELFVBQVUsR0FBVyxFQUFFLENBQUM7SUFFeEIsWUFBWSxHQUFZLEtBQUssQ0FBQztJQUM5QixhQUFhLEdBQVksS0FBSyxDQUFDO0lBQy9CLFdBQVcsR0FBVSxFQUFFLENBQUM7SUFDeEIsa0JBQWtCLEdBQVEsSUFBSSxDQUFDO0lBQy9CLHVCQUF1QixHQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLG1CQUFtQixHQUFVLEVBQUUsQ0FBQztJQUNoQyxnQkFBZ0IsR0FBaUMsSUFBSSxDQUFDO0lBQ3RELGNBQWMsR0FBVyxDQUFDLENBQUM7SUFFSCxTQUFTLENBQWdDO0lBQ25DLGVBQWUsQ0FBYztJQUNuQyxTQUFTLENBQWM7SUFDWixZQUFZLENBQWM7SUFDckMsU0FBUyxDQUFjO0lBQy9DLGFBQWEsR0FBMEMsRUFBRSxDQUFDO0lBQzFELGdCQUFnQixHQUFnRCxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRTFFLEtBQUssR0FBUyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3pCLG9CQUFvQixHQUFzQixFQUFFLENBQUM7SUFFN0MsY0FBYyxHQUFZLEtBQUssQ0FBQztJQUNoQyxtQkFBbUIsR0FBWSxLQUFLLENBQUM7SUFDckMsZUFBZSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFFOUIsa0JBQWtCLENBQU07SUFFaEMsbUNBQW1DO0lBQzNCLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUN4QixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRWhDLHlDQUF5QztJQUNqQyxRQUFRLENBQW1CO0lBQzNCLFlBQVksR0FBWSxLQUFLLENBQUM7SUFFdEMsWUFDWSxTQUF1QixFQUN2QixNQUFjO1FBRGQsY0FBUyxHQUFULFNBQVMsQ0FBYztRQUN2QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRXRCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ3pCLHFGQUFxRjtRQUNyRixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRTtnQkFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztZQUNwRCxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxlQUFlO1FBQ1gsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQy9CLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVSLHdFQUF3RTtRQUN4RSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7b0JBQ3RDLElBQUksSUFBSSxDQUFDLFlBQVk7d0JBQUUsT0FBTztvQkFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7b0JBQ3pCLHFCQUFxQixDQUFDLEdBQUcsRUFBRTt3QkFDdkIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7d0JBQzNCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO29CQUM5QixDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRTtvQkFDbkQsU0FBUyxFQUFFLElBQUk7aUJBQ2xCLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUMxQixhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDM0MsQ0FBQztRQUNELDBCQUEwQjtRQUMxQixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUU5Qyx5QkFBeUI7UUFDekIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQVU7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFO1lBQ3RDLEdBQUcsRUFBRSxTQUFTO1lBQ2QsS0FBSyxFQUFFLFNBQVM7WUFDaEIsSUFBSSxFQUFFLFNBQVM7WUFDZixRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVE7U0FDN0QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHFCQUFxQixDQUFDLElBQVk7UUFDOUIsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUYsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNoRSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDeEIsT0FBTyxtRUFBbUUsS0FBSyxTQUFTLENBQUM7WUFDN0YsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDL0IsT0FBTyxtRUFBbUUsS0FBSyxTQUFTLENBQUM7WUFDN0YsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFELE1BQU0sVUFBVSxHQUFZO2dCQUN4QixJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQ3JCLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztnQkFDMUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNO2FBQ2pELENBQUM7WUFFRixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1lBRWpDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsQ0FBQztnQkFDdEMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7WUFDOUQsQ0FBQztZQUVELHNDQUFzQztZQUN0QyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ3BDLENBQUM7SUFDTCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWE7WUFBRSxPQUFPO1FBQzlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQ2hELElBQUksQ0FBQztZQUNELE9BQU8sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUM3QyxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ0wsUUFBUTtRQUNaLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQUssR0FBRyxLQUFLO1FBQ2hDLElBQUksS0FBSyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLGFBQWE7WUFBRSxPQUFPO1FBRTlDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1FBRWhELDhEQUE4RDtRQUM5RCxxQkFBcUIsQ0FBQyxHQUFHLEVBQUU7WUFDdkIsSUFBSSxDQUFDO2dCQUNELE9BQU8sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztnQkFDekMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNMLE9BQU8sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQztZQUM3QyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsSUFBYSxPQUFPLENBQUMsS0FBYztRQUMvQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBRU8sUUFBUSxHQUFZLEtBQUssQ0FBQztJQUVsQyxjQUFjO1FBQ1YsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFHRCxlQUFlLENBQUMsS0FBaUI7UUFDN0IsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDM0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzRSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVU7UUFDbEIsNENBQTRDO1FBQzVDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxJQUFJLENBQUMsQ0FBQztRQUVoRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1lBQzlCLE9BQU87UUFDWCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbEUsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQ25ILElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUM7WUFFakMsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDM0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXJELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUM7Z0JBQ2xELElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1IsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQyxJQUFJLElBQUksQ0FBQztvQkFDMUQsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsSUFBSSxDQUFDO2dCQUMzQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDdEUsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDUixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNoRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFFbE8sSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztvQkFDM0Isd0RBQXdEO29CQUN4RCxJQUFJLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLHVCQUF1QixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQzt3QkFDdEcsSUFBSSxDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQztvQkFDckMsQ0FBQztnQkFDTCxDQUFDO3FCQUFNLENBQUM7b0JBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7b0JBQzVCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDdEMsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztnQkFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUNqQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZLEVBQUUsU0FBaUI7UUFDNUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDOUMsTUFBTSxLQUFLLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNoRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVksRUFBRSxRQUFnQjtRQUM1QyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDM0QsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBZTtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzlCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxVQUFVLENBQUMsS0FBSyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV4RyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUMvQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsSUFBUztRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzlCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN6RCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTlGLElBQUksY0FBYyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3RCLCtDQUErQztZQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLFdBQVcsQ0FBQztRQUMxRixDQUFDO1FBRUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDMUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUVsQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3BFLElBQUksT0FBTyxFQUFFLENBQUM7Z0JBQ1YsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxxQkFBcUI7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBdUI7UUFDckMsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFDakQsTUFBTSxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDbEUsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLGdCQUFnQixDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztRQUNqQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxNQUFNLFFBQVEsR0FBRztZQUNiLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVztZQUN0QixHQUFHLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDekIsQ0FBQztRQUNGLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBWTtRQUN4QixLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7UUFDeEIsS0FBSyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN6QyxDQUFDO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3JCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQy9DLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUN4QyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDckMsNENBQTRDO2dCQUM1QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsSUFBSSxJQUFJLFlBQVksQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFFdEosSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNkLE1BQU0sUUFBUSxHQUFHO3dCQUNiLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTt3QkFDZixJQUFJLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO3FCQUN2QyxDQUFDO29CQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUNsQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztvQkFDbkUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2pDLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILEtBQUssQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM1RCxJQUFJLE9BQU8sWUFBWSxXQUFXLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BCLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWUsQ0FBQyxLQUFhLEVBQUUsV0FBb0IsSUFBSTtRQUMzRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYSxFQUFFLFdBQW9CLElBQUk7UUFDOUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQjtRQUNaLDJDQUEyQztRQUMzQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFpQjtRQUM5QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsYUFBNEIsQ0FBQztRQUNsRCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU1Qyw0Q0FBNEM7UUFDNUMsSUFBSSxDQUFDLGVBQWUsR0FBRztZQUNuQixHQUFHLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ3BCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxrQ0FBa0M7U0FDNUUsQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUM7UUFFaEMsb0RBQW9EO1FBQ3BELFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQjtRQUNaLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDakMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRU8sa0JBQWtCLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7UUFDL0MsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDM0MsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFeEQsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNuRixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUYsY0FBYyxDQUFDLEtBQWE7UUFDeEIsSUFBSSxLQUFLLEtBQUssQ0FBQztZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQztRQUNmLE1BQU0sS0FBSyxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFXLEVBQUUsSUFBMkI7UUFDcEQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDbEcsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDL0QsQ0FBQztJQUNMLENBQUM7SUFDRCxTQUFTLENBQUMsS0FBb0I7UUFDMUIseURBQXlEO1FBQ3pELElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzdELFFBQVEsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNoQixLQUFLLFdBQVc7b0JBQ1osS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7b0JBQy9HLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO29CQUNoQyxNQUFNO2dCQUNWLEtBQUssU0FBUztvQkFDVixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzdFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO29CQUNoQyxNQUFNO2dCQUNWLEtBQUssS0FBSztvQkFDTixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7b0JBQ3ZCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUNqQixzQkFBc0I7d0JBQ3RCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2pGLENBQUM7eUJBQU0sQ0FBQzt3QkFDSixrQkFBa0I7d0JBQ2xCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztvQkFDbkgsQ0FBQztvQkFDRCxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztvQkFDaEMsTUFBTTtnQkFDVixLQUFLLE9BQU87b0JBQ1IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixJQUFJLElBQUksQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLEVBQUUsQ0FBQzt3QkFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO29CQUNwRixDQUFDO29CQUNELE1BQU07Z0JBQ1YsS0FBSyxRQUFRO29CQUNULEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7b0JBQzdCLE1BQU07WUFDZCxDQUFDO1lBQ0QsT0FBTztRQUNYLENBQUM7UUFFRCwrREFBK0Q7UUFDL0QsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUMzQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3RCLENBQUM7SUFDTCxDQUFDO0lBRUQsNERBQTREO0lBQ3BELHdCQUF3QjtRQUM1QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7WUFDN0YsTUFBTSxZQUFZLEdBQUcsY0FBYyxFQUFFLGFBQWEsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1lBRWhGLElBQUksY0FBYyxJQUFJLFlBQVksRUFBRSxDQUFDO2dCQUNqQyxNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUMscUJBQXFCLEVBQUUsQ0FBQztnQkFDeEQsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixFQUFFLENBQUM7Z0JBRXRELHlEQUF5RDtnQkFDekQsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDcEMsaUNBQWlDO29CQUNqQyxZQUFZLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDdEUsQ0FBQztxQkFBTSxJQUFJLFFBQVEsQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNyQyxpQ0FBaUM7b0JBQ2pDLFlBQVksQ0FBQyxjQUFjLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUN4RSxDQUFDO1lBQ0wsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWMsQ0FBQyxJQUFvQztRQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sd0JBQXdCO1FBQzVCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBc0IsRUFBRSxPQUFnQixFQUFFLEVBQUU7WUFDOUUsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzNDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFakMsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3ZDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQy9CLE9BQU8sU0FBUyxDQUFDLE9BQU8sRUFBRSxLQUFLLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN6RCxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ2hCLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RDLENBQUM7aUJBQU0sQ0FBQztnQkFDSixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEQsQ0FBQztZQUNELE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRVAsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsUUFBZ0I7UUFDN0IsSUFBSSxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUM7WUFBRSxPQUFPLFFBQVEsQ0FBQztRQUUxQyxxQkFBcUI7UUFDckIsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQyxNQUFNLFNBQVMsR0FBRyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUU5RSwrQ0FBK0M7UUFDL0MsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RixPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxTQUFTLENBQUM7SUFDdkQsQ0FBQzt1R0EvakJRLG1CQUFtQjsyRkFBbkIsbUJBQW1CLHk5QkN0QmhDLG1pUEF5SEE7OzJGRG5HYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0ksY0FBYztzR0FNWCxRQUFRO3NCQUFwQixLQUFLO2dCQU9HLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBWWlCLFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkFDUSxlQUFlO3NCQUE1QyxTQUFTO3VCQUFDLGlCQUFpQjtnQkFDSixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBQ2EsWUFBWTtzQkFBOUMsU0FBUzt1QkFBQyxjQUFjO2dCQUNELFNBQVM7c0JBQWhDLFNBQVM7dUJBQUMsV0FBVztnQkF5SlQsT0FBTztzQkFBbkIsS0FBSztnQkE4Q04sZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuLy8gQWRkIHRoaXMgaW50ZXJmYWNlIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGVcbmludGVyZmFjZSBDb21tZW50IHtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgZGF0ZTogRGF0ZTtcbiAgICBmaWxlcz86IEFycmF5PHsgbmFtZTogc3RyaW5nOyBzaXplOiBzdHJpbmcgfT47XG4gICAgaXNBZG1pbj86IGJvb2xlYW47XG4gICAgc2VuZGVyPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgR3JvdXBlZENvbW1lbnRzIHtcbiAgICBkYXRlOiBEYXRlO1xuICAgIGl0ZW1zOiBDb21tZW50W107XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2F4LWNvbW1lbnRzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29tbWVudGJveC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb21tZW50Ym94LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDb21tZW50Ym94Q29tcG9uZW50IHtcbiAgICBwcml2YXRlIF9jb21tZW50czogQ29tbWVudFtdID0gW107XG4gICAgQElucHV0KCkgc2V0IGNvbW1lbnRzKHZhbHVlOiBDb21tZW50W10pIHtcbiAgICAgICAgdGhpcy5fY29tbWVudHMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW107XG4gICAgICAgIHRoaXMucmVjb21wdXRlR3JvdXBlZENvbW1lbnRzKCk7XG4gICAgfVxuICAgIGdldCBjb21tZW50cygpOiBDb21tZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29tbWVudHM7XG4gICAgfVxuICAgIEBJbnB1dCgpIG1lbnRpb25TdWdnZXN0aW9uczogYW55W10gPSBbXTtcbiAgICBASW5wdXQoKSBoYXNodGFnU3VnZ2VzdGlvbnM6IGFueVtdID0gW107XG4gICAgQElucHV0KCkgc2lkZWJhckhlYWRlcjogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGlzQWRtaW46IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnQ29tbWVudCBvciBtZW50aW9uIG90aGVycyB3aXRoIEAsIOKAmCPigJkgZm9yIGNvbHVtbnMnO1xuICAgIEBPdXRwdXQoKSBjb21tZW50QWRkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgZmlsZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGaWxlPigpO1xuICAgIEBPdXRwdXQoKSBmaWxlRG93bmxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbmFtZTogc3RyaW5nOyBzaXplOiBzdHJpbmcgfT4oKTtcbiAgICBAT3V0cHV0KCkgdmlzaWJsZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KCkgb25TaWRlYmFySGlkZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgICBuZXdDb21tZW50OiBzdHJpbmcgPSAnJztcblxuICAgIGlzTWVudGlvbmluZzogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGlzSGFzaHRhZ2dpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBzdWdnZXN0aW9uczogYW55W10gPSBbXTtcbiAgICBzZWxlY3RlZFN1Z2dlc3Rpb246IGFueSA9IG51bGw7XG4gICAgc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXg6IG51bWJlciA9IC0xO1xuICAgIGZpbHRlcmVkU3VnZ2VzdGlvbnM6IGFueVtdID0gW107XG4gICAgY3VycmVudFRva2VuVHlwZTogJ21lbnRpb24nIHwgJ2hhc2h0YWcnIHwgbnVsbCA9IG51bGw7XG4gICAgY3Vyc29yUG9zaXRpb246IG51bWJlciA9IDA7XG5cbiAgICBAVmlld0NoaWxkKCdmaWxlSW5wdXQnKSBmaWxlSW5wdXQhOiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3N1Z2dlc3Rpb25QYW5lbCcpIHN1Z2dlc3Rpb25QYW5lbCE6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnaW5wdXRUZXh0JykgaW5wdXRUZXh0ITogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdjb21tZW50c0xpc3QnKSBwcml2YXRlIGNvbW1lbnRzTGlzdCE6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnY291bnRDaGlwJykgY291bnRDaGlwITogRWxlbWVudFJlZjtcbiAgICBzZWxlY3RlZEZpbGVzOiBBcnJheTx7IG5hbWU6IHN0cmluZzsgc2l6ZTogc3RyaW5nIH0+ID0gW107XG4gICAgc2VsZWN0ZWRGaWxlc01hcDogTWFwPG51bWJlciwgeyBuYW1lOiBzdHJpbmc7IHNpemU6IHN0cmluZyB9PiA9IG5ldyBNYXAoKTtcblxuICAgIHRvZGF5OiBEYXRlID0gbmV3IERhdGUoKTtcbiAgICBncm91cGVkQ29tbWVudHNDYWNoZTogR3JvdXBlZENvbW1lbnRzW10gPSBbXTtcblxuICAgIG92ZXJsYXlWaXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgZmlsZXNPdmVybGF5VmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIG92ZXJsYXlQb3NpdGlvbiA9IHsgdG9wOiAwLCBsZWZ0OiAwIH07XG5cbiAgICBwcml2YXRlIGRhdGVVcGRhdGVJbnRlcnZhbDogYW55O1xuXG4gICAgLy8gS2VlcCB0cmFjayBvZiBzaG91bGQgYXV0byBzY3JvbGxcbiAgICBwcml2YXRlIHNob3VsZEF1dG9TY3JvbGwgPSB0cnVlO1xuICAgIHByaXZhdGUgaXNVc2VyU2Nyb2xsaW5nID0gZmFsc2U7XG5cbiAgICAvLyBBZGQgbmV3IHByb3BlcnR5IGZvciBtdXRhdGlvbiBvYnNlcnZlclxuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgcHJpdmF0ZSBzY3JvbGxRdWV1ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHNhbml0aXplcjogRG9tU2FuaXRpemVyLFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lXG4gICAgKSB7XG4gICAgICAgIHRoaXMudXBkYXRlQ3VycmVudERhdGUoKTtcbiAgICAgICAgLy8gUnVuIHRoZSBpbnRlcnZhbCBvdXRzaWRlIEFuZ3VsYXIgdG8gYXZvaWQgZnJlcXVlbnQgY2hhbmdlIGRldGVjdGlvbiBpbiBkb2NzL2NhbnZhc1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmRhdGVVcGRhdGVJbnRlcnZhbCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy51cGRhdGVDdXJyZW50RGF0ZSgpKTtcbiAgICAgICAgICAgIH0sIDYwMDAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9yY2VTY3JvbGxUb0JvdHRvbSgpO1xuICAgICAgICB9LCAxMDApO1xuXG4gICAgICAgIC8vIFNldCB1cCBvYnNlcnZlciB0byBhdXRvLXNjcm9sbCB3aGVuIGNvbnRlbnQgY2hhbmdlcyAob3V0c2lkZSBBbmd1bGFyKVxuICAgICAgICBpZiAodGhpcy5jb21tZW50c0xpc3Q/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxRdWV1ZWQpIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxRdWV1ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JjZVNjcm9sbFRvQm90dG9tKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFF1ZXVlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy5jb21tZW50c0xpc3QubmF0aXZlRWxlbWVudCwge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZExpc3Q6IHRydWVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGVVcGRhdGVJbnRlcnZhbCkge1xuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmRhdGVVcGRhdGVJbnRlcnZhbCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRGlzY29ubmVjdCB0aGUgb2JzZXJ2ZXJcbiAgICAgICAgaWYgKHRoaXMub2JzZXJ2ZXIpIHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuXG4gICAgICAgIC8vIFJlbW92ZSBldmVudCBsaXN0ZW5lcnNcbiAgICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVDdXJyZW50RGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b2RheSA9IG5ldyBEYXRlKCk7XG4gICAgfVxuXG4gICAgZm9ybWF0RGF0ZShkYXRlOiBEYXRlKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGRhdGUudG9Mb2NhbGVEYXRlU3RyaW5nKHVuZGVmaW5lZCwge1xuICAgICAgICAgICAgZGF5OiAnMi1kaWdpdCcsXG4gICAgICAgICAgICBtb250aDogJzItZGlnaXQnLFxuICAgICAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICAgICAgdGltZVpvbmU6IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBmb3JtYXRNZXNzYWdlV2l0aFRhZ3ModGV4dDogc3RyaW5nKTogU2FmZUh0bWwge1xuICAgICAgICBpZiAoIXRleHQpIHJldHVybiAnJztcbiAgICAgICAgY29uc3Qgc2FuaXRpemVkVGV4dCA9IHRleHQucmVwbGFjZSgvJi9nLCAnJmFtcDsnKS5yZXBsYWNlKC88L2csICcmbHQ7JykucmVwbGFjZSgvPi9nLCAnJmd0OycpO1xuICAgICAgICBjb25zdCBodG1sQ29udGVudCA9IHNhbml0aXplZFRleHQucmVwbGFjZSgvKEBcXHcrfCNcXHcrKS9nLCAobWF0Y2gpID0+IHtcbiAgICAgICAgICAgIGlmIChtYXRjaC5zdGFydHNXaXRoKCdAJykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYDxzcGFuIGNsYXNzPVwibWVudGlvblwiIHN0eWxlPVwiY29sb3I6ICMwQzRBRjM7IGZvbnQtd2VpZ2h0OiA2MDA7XCI+JHttYXRjaH08L3NwYW4+YDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobWF0Y2guc3RhcnRzV2l0aCgnIycpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGA8c3BhbiBjbGFzcz1cImhhc2h0YWdcIiBzdHlsZT1cImNvbG9yOiAjMEM0QUYzOyBmb250LXdlaWdodDogNjAwO1wiPiR7bWF0Y2h9PC9zcGFuPmA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbWF0Y2g7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChodG1sQ29udGVudCk7XG4gICAgfVxuXG4gICAgYWRkQ29tbWVudCgpIHtcbiAgICAgICAgaWYgKHRoaXMubmV3Q29tbWVudC50cmltKCkgfHwgdGhpcy5zZWxlY3RlZEZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NvbW1lbnQ6IENvbW1lbnQgPSB7XG4gICAgICAgICAgICAgICAgdGV4dDogdGhpcy5uZXdDb21tZW50LFxuICAgICAgICAgICAgICAgIGRhdGU6IG5ldyBEYXRlKCksXG4gICAgICAgICAgICAgICAgZmlsZXM6IHRoaXMuc2VsZWN0ZWRGaWxlcy5sZW5ndGggPiAwID8gWy4uLnRoaXMuc2VsZWN0ZWRGaWxlc10gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgaXNBZG1pbjogdGhpcy5pc0FkbWluLFxuICAgICAgICAgICAgICAgIHNlbmRlcjogdGhpcy5pc0FkbWluID8gJ1N5c3RlbSBBZG1pbicgOiAnVXNlcidcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHRoaXMuY29tbWVudHMgPSBbLi4udGhpcy5jb21tZW50cywgbmV3Q29tbWVudF07XG4gICAgICAgICAgICB0aGlzLmNvbW1lbnRBZGRlZC5lbWl0KG5ld0NvbW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5uZXdDb21tZW50ID0gJyc7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlc01hcC5jbGVhcigpO1xuICAgICAgICAgICAgdGhpcy5maWxlc092ZXJsYXlWaXNpYmxlID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnN1Z2dlc3Rpb25QYW5lbD8ubmF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc3VnZ2VzdGlvblBhbmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWx3YXlzIHNjcm9sbCB0byBib3R0b20gaW1tZWRpYXRlbHlcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVG9Cb3R0b20odHJ1ZSk7XG4gICAgICAgICAgICB0aGlzLnJlY29tcHV0ZUdyb3VwZWRDb21tZW50cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb3JjZVNjcm9sbFRvQm90dG9tKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuY29tbWVudHNMaXN0Py5uYXRpdmVFbGVtZW50KSByZXR1cm47XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmNvbW1lbnRzTGlzdC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgZWxlbWVudC5zY3JvbGxUb3AgPSBlbGVtZW50LnNjcm9sbEhlaWdodDtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvLyBuby1vcFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzY3JvbGxUb0JvdHRvbShmb3JjZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChmb3JjZSkge1xuICAgICAgICAgICAgdGhpcy5mb3JjZVNjcm9sbFRvQm90dG9tKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmNvbW1lbnRzTGlzdD8ubmF0aXZlRWxlbWVudCkgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmNvbW1lbnRzTGlzdC5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIC8vIFNpbmdsZSBSQUYgdG8gYXZvaWQgbmVzdGVkIHNjaGVkdWxpbmcgb3ZlcmhlYWQgaW4gU3Rvcnlib29rXG4gICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsVG9wID0gZWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgICAgICAgICAgICAgZWxlbWVudC5zY3JvbGxUbyh7IHRvcDogZWxlbWVudC5zY3JvbGxIZWlnaHQgfSk7XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbFRvcCA9IGVsZW1lbnQuc2Nyb2xsSGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgdmlzaWJsZSh2YWx1ZTogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5fdmlzaWJsZSAhPT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3Zpc2libGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIGlmICh0aGlzLl92aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaG91bGRBdXRvU2Nyb2xsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2Nyb2xsVG9Cb3R0b20odHJ1ZSksIDMwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Zpc2libGU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgdG9nZ2xlQ29tbWVudHMoKSB7XG4gICAgICAgIGlmICh0aGlzLl92aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLmhpZGVDb21tZW50cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zaG93Q29tbWVudHMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3dDb21tZW50cygpIHtcbiAgICAgICAgaWYgKCF0aGlzLl92aXNpYmxlKSB7XG4gICAgICAgICAgICB0aGlzLl92aXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KHRydWUpO1xuICAgICAgICAgICAgdGhpcy5zaG91bGRBdXRvU2Nyb2xsID0gdHJ1ZTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zY3JvbGxUb0JvdHRvbSh0cnVlKSwgMzAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhpZGVDb21tZW50cygpIHtcbiAgICAgICAgaWYgKHRoaXMuX3Zpc2libGUpIHtcbiAgICAgICAgICAgIHRoaXMuX3Zpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgIHRoaXMub25TaWRlYmFySGlkZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYW5kbGVTaWRlYmFySGlkZSgpIHtcbiAgICAgICAgdGhpcy5oaWRlQ29tbWVudHMoKTtcbiAgICB9XG5cbiAgICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25Eb2N1bWVudENsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgaXNJbnB1dENsaWNrID0gdGhpcy5pbnB1dFRleHQ/Lm5hdGl2ZUVsZW1lbnQ/LmNvbnRhaW5zKHRhcmdldCk7XG4gICAgICAgIGNvbnN0IGlzUGFuZWxDbGljayA9IHRoaXMuc3VnZ2VzdGlvblBhbmVsPy5uYXRpdmVFbGVtZW50Py5jb250YWlucyh0YXJnZXQpO1xuXG4gICAgICAgIGlmICghaXNJbnB1dENsaWNrICYmICFpc1BhbmVsQ2xpY2spIHtcbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFRva2VuVHlwZSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkU3VnZ2VzdGlvbnMgPSBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhbmRsZUtleVVwKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gVXBkYXRlIGN1cnNvciBwb3NpdGlvbiBvbiBldmVyeSBrZXkgcHJlc3NcbiAgICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQ7XG4gICAgICAgIHRoaXMuY3Vyc29yUG9zaXRpb24gPSBpbnB1dC5zZWxlY3Rpb25TdGFydCB8fCAwO1xuXG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRUb2tlblR5cGUgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFN1Z2dlc3Rpb25zID0gW107XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQCcgfHwgZXZlbnQua2V5ID09PSAnIycpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudFRva2VuVHlwZSA9IGV2ZW50LmtleSA9PT0gJ0AnID8gJ21lbnRpb24nIDogJ2hhc2h0YWcnO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFN1Z2dlc3Rpb25zID0gdGhpcy5jdXJyZW50VG9rZW5UeXBlID09PSAnbWVudGlvbicgPyB0aGlzLm1lbnRpb25TdWdnZXN0aW9ucyA6IHRoaXMuaGFzaHRhZ1N1Z2dlc3Rpb25zO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IDA7XG5cbiAgICAgICAgICAgIGNvbnN0IHJlY3QgPSBpbnB1dC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGN1cnNvclBvc2l0aW9uID0gdGhpcy5nZXRDdXJzb3JQb3NpdGlvbihpbnB1dCk7XG5cbiAgICAgICAgICAgIHRoaXMub3ZlcmxheVZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFuZWwgPSB0aGlzLnN1Z2dlc3Rpb25QYW5lbD8ubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgICAgICBpZiAocGFuZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFuZWwuc3R5bGUubGVmdCA9IGAke3JlY3QubGVmdCArIGN1cnNvclBvc2l0aW9uLmxlZnR9cHhgO1xuICAgICAgICAgICAgICAgICAgICBwYW5lbC5zdHlsZS50b3AgPSBgJHtyZWN0LnRvcCAtIDEwfXB4YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmN1cnJlbnRUb2tlblR5cGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHRva2VuID0gdGhpcy5nZXRUb2tlbkF0Q3Vyc29yKGlucHV0LnZhbHVlLCB0aGlzLmN1cnNvclBvc2l0aW9uKTtcbiAgICAgICAgICAgIGlmICh0b2tlbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlYXJjaFRlcm0gPSB0b2tlbi5zbGljZSgxKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRTdWdnZXN0aW9ucyA9ICh0aGlzLmN1cnJlbnRUb2tlblR5cGUgPT09ICdtZW50aW9uJyA/IHRoaXMubWVudGlvblN1Z2dlc3Rpb25zIDogdGhpcy5oYXNodGFnU3VnZ2VzdGlvbnMpLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoc2VhcmNoVGVybSkgfHwgaXRlbS5pZC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHNlYXJjaFRlcm0pKTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcmVkU3VnZ2VzdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gT25seSByZXNldCBzZWxlY3Rpb24gaW5kZXggaWYgd2UgaGF2ZSBuZXcgc3VnZ2VzdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPCAwIHx8IHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPj0gdGhpcy5maWx0ZXJlZFN1Z2dlc3Rpb25zLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm92ZXJsYXlWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPSAtMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMub3ZlcmxheVZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnRUb2tlblR5cGUgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VG9rZW5BdEN1cnNvcih0ZXh0OiBzdHJpbmcsIGN1cnNvclBvczogbnVtYmVyKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGJlZm9yZUN1cnNvciA9IHRleHQuc2xpY2UoMCwgY3Vyc29yUG9zKTtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSBiZWZvcmVDdXJzb3IubWF0Y2goL1tAI11bXlxcc10qJC8pO1xuICAgICAgICByZXR1cm4gbWF0Y2ggPyBtYXRjaFswXSA6IG51bGw7XG4gICAgfVxuXG4gICAgZ2V0V29yZEF0UG9zaXRpb24odGV4dDogc3RyaW5nLCBwb3NpdGlvbjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbGVmdCA9IHRleHQuc2xpY2UoMCwgcG9zaXRpb24pLnNlYXJjaCgvW0AjXVteXFxzXSokLyk7XG4gICAgICAgIGlmIChsZWZ0ID09PSAtMSkgcmV0dXJuICcnO1xuICAgICAgICByZXR1cm4gdGV4dC5zbGljZShsZWZ0LCBwb3NpdGlvbik7XG4gICAgfVxuXG4gICAgc2VsZWN0U3VnZ2VzdGlvbihzdWdnZXN0aW9uOiBhbnkpIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLm5ld0NvbW1lbnQ7XG4gICAgICAgIGNvbnN0IHdvcmRTdGFydCA9IGlucHV0LnNsaWNlKDAsIHRoaXMuY3Vyc29yUG9zaXRpb24pLnNlYXJjaCgvW0AjXVteXFxzXSokLyk7XG5cbiAgICAgICAgdGhpcy5uZXdDb21tZW50ID0gaW5wdXQuc2xpY2UoMCwgd29yZFN0YXJ0KSArIHN1Z2dlc3Rpb24udmFsdWUgKyAnICcgKyBpbnB1dC5zbGljZSh0aGlzLmN1cnNvclBvc2l0aW9uKTtcblxuICAgICAgICB0aGlzLmlzTWVudGlvbmluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzSGFzaHRhZ2dpbmcgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBvblN1Z2dlc3Rpb25TZWxlY3QoaXRlbTogYW55KSB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5uZXdDb21tZW50O1xuICAgICAgICBjb25zdCBiZWZvcmVDdXJzb3IgPSBpbnB1dC5zbGljZSgwLCB0aGlzLmN1cnNvclBvc2l0aW9uKTtcbiAgICAgICAgY29uc3QgYWZ0ZXJDdXJzb3IgPSBpbnB1dC5zbGljZSh0aGlzLmN1cnNvclBvc2l0aW9uKTtcbiAgICAgICAgY29uc3QgbGFzdFRva2VuSW5kZXggPSBNYXRoLm1heChiZWZvcmVDdXJzb3IubGFzdEluZGV4T2YoJ0AnKSwgYmVmb3JlQ3Vyc29yLmxhc3RJbmRleE9mKCcjJykpO1xuXG4gICAgICAgIGlmIChsYXN0VG9rZW5JbmRleCA+PSAwKSB7XG4gICAgICAgICAgICAvLyBJbnNlcnQgdGhlIHN1Z2dlc3Rpb24gYXQgdGhlIGN1cnNvciBwb3NpdGlvblxuICAgICAgICAgICAgdGhpcy5uZXdDb21tZW50ID0gYmVmb3JlQ3Vyc29yLnNsaWNlKDAsIGxhc3RUb2tlbkluZGV4KSArIGl0ZW0uaWQgKyAnICcgKyBhZnRlckN1cnNvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc3VnZ2VzdGlvblBhbmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgdGhpcy5vdmVybGF5VmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmN1cnJlbnRUb2tlblR5cGUgPSBudWxsO1xuICAgICAgICB0aGlzLmZpbHRlcmVkU3VnZ2VzdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IC0xO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaW5wdXRFbCA9IHRoaXMuaW5wdXRUZXh0Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgICAgICAgICAgIGlmIChpbnB1dEVsKSB7XG4gICAgICAgICAgICAgICAgaW5wdXRFbC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvblN1Z2dlc3Rpb25QYW5lbEhpZGUoKSB7XG4gICAgICAgIHRoaXMub3ZlcmxheVZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5jdXJyZW50VG9rZW5UeXBlID0gbnVsbDtcbiAgICAgICAgdGhpcy5maWx0ZXJlZFN1Z2dlc3Rpb25zID0gW107XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPSAtMTtcbiAgICB9XG5cbiAgICBnZXRDdXJzb3JQb3NpdGlvbihpbnB1dDogSFRNTElucHV0RWxlbWVudCk6IHsgbGVmdDogbnVtYmVyOyB0b3A6IG51bWJlciB9IHtcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uU3RhcnQgPSBpbnB1dC5zZWxlY3Rpb25TdGFydCB8fCAwO1xuICAgICAgICBjb25zdCB0ZXh0QmVmb3JlQ3Vyc29yID0gaW5wdXQudmFsdWUuc3Vic3RyaW5nKDAsIHNlbGVjdGlvblN0YXJ0KTtcbiAgICAgICAgY29uc3Qgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgc3Bhbi50ZXh0Q29udGVudCA9IHRleHRCZWZvcmVDdXJzb3I7XG4gICAgICAgIHNwYW4uc3R5bGUuY3NzVGV4dCA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGlucHV0LCBudWxsKS5jc3NUZXh0O1xuICAgICAgICBzcGFuLnN0eWxlLnZpc2liaWxpdHkgPSAnaGlkZGVuJztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzcGFuKTtcbiAgICAgICAgY29uc3QgcG9zaXRpb24gPSB7XG4gICAgICAgICAgICBsZWZ0OiBzcGFuLm9mZnNldFdpZHRoLFxuICAgICAgICAgICAgdG9wOiBzcGFuLm9mZnNldEhlaWdodFxuICAgICAgICB9O1xuICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHNwYW4pO1xuICAgICAgICByZXR1cm4gcG9zaXRpb247XG4gICAgfVxuXG4gICAgb25GaWxlSWNvbkNsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBldmVudD8ucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5maWxlSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuZmlsZUlucHV0Lm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRmlsZVNlbGVjdChldmVudDogRXZlbnQpIHtcbiAgICAgICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICAgICAgaWYgKGlucHV0LmZpbGVzICYmIGlucHV0LmZpbGVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIEFycmF5LmZyb20oaW5wdXQuZmlsZXMpLmZvckVhY2goKGZpbGUpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBmaWxlIGFscmVhZHkgZXhpc3RzIGluIHNlbGVjdGlvblxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVFeGlzdHMgPSB0aGlzLnNlbGVjdGVkRmlsZXMuc29tZSgoZXhpc3RpbmdGaWxlKSA9PiBleGlzdGluZ0ZpbGUubmFtZSA9PT0gZmlsZS5uYW1lICYmIGV4aXN0aW5nRmlsZS5zaXplID09PSB0aGlzLmZvcm1hdEZpbGVTaXplKGZpbGUuc2l6ZSkpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCFmaWxlRXhpc3RzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVJbmZvID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZTogdGhpcy5mb3JtYXRGaWxlU2l6ZShmaWxlLnNpemUpXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlcy5wdXNoKGZpbGVJbmZvKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzTWFwLnNldCh0aGlzLnNlbGVjdGVkRmlsZXMubGVuZ3RoIC0gMSwgZmlsZUluZm8pO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbGVTZWxlY3RlZC5lbWl0KGZpbGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpbnB1dC52YWx1ZSA9ICcnO1xuICAgICAgICAgICAgY29uc3QgaW5wdXRFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5jaGF0LWlucHV0IGlucHV0Jyk7XG4gICAgICAgICAgICBpZiAoaW5wdXRFbCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgaW5wdXRFbC5mb2N1cygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGaWxlU3RhdGUoaW5kZXg6IG51bWJlciwgZnJvbUNoaXA6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgICAgIGNvbnN0IGFjdHVhbEluZGV4ID0gZnJvbUNoaXAgPyBpbmRleCA6IGluZGV4ICsgNDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzID0gdGhpcy5zZWxlY3RlZEZpbGVzLmZpbHRlcigoXywgaSkgPT4gaSAhPT0gYWN0dWFsSW5kZXgpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkRmlsZXNNYXAuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEZpbGVzLmZvckVhY2goKGZpbGUsIGkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRGaWxlc01hcC5zZXQoaSwgZmlsZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJlbW92ZUZpbGUoaW5kZXg6IG51bWJlciwgZnJvbUNoaXA6IGJvb2xlYW4gPSB0cnVlKSB7XG4gICAgICAgIHRoaXMudXBkYXRlRmlsZVN0YXRlKGluZGV4LCBmcm9tQ2hpcCk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkRmlsZXMubGVuZ3RoIDw9IDQpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZUZpbGVzT3ZlcmxheSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0T3ZlcmZsb3dDb3VudCgpOiBudW1iZXIge1xuICAgICAgICAvLyBSZXR1cm4gY291bnQgb2YgZmlsZXMgYmV5b25kIHRoZSBmaXJzdCA0XG4gICAgICAgIHJldHVybiBNYXRoLm1heCgwLCB0aGlzLnNlbGVjdGVkRmlsZXMubGVuZ3RoIC0gNCk7XG4gICAgfVxuXG4gICAgc2hvd0ZpbGVzT3ZlcmxheShldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBjb25zdCByZWN0ID0gdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgIC8vIFBvc2l0aW9uIHRoZSBvdmVybGF5IGJlbG93IHRoZSBjb3VudCBjaGlwXG4gICAgICAgIHRoaXMub3ZlcmxheVBvc2l0aW9uID0ge1xuICAgICAgICAgICAgdG9wOiByZWN0LmJvdHRvbSArIDUsXG4gICAgICAgICAgICBsZWZ0OiByZWN0LmxlZnQgLSAyNTAgKyByZWN0LndpZHRoIC8gMiAvLyBDZW50ZXIgdGhlIG92ZXJsYXkgaG9yaXpvbnRhbGx5XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5maWxlc092ZXJsYXlWaXNpYmxlID0gdHJ1ZTtcblxuICAgICAgICAvLyBBZGQgYSBjbGljayBvdXRzaWRlIGxpc3RlbmVyIHRvIGNsb3NlIHRoZSBvdmVybGF5XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGhpZGVGaWxlc092ZXJsYXkoKSB7XG4gICAgICAgIHRoaXMuZmlsZXNPdmVybGF5VmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIHRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IG92ZXJsYXkgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuZmlsZXMtb3ZlcmxheScpO1xuICAgICAgICBjb25zdCBjb3VudENoaXAgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY291bnQtY2hpcCcpO1xuXG4gICAgICAgIGlmIChvdmVybGF5ICYmICFvdmVybGF5LmNvbnRhaW5zKHRhcmdldCkgJiYgY291bnRDaGlwICYmICFjb3VudENoaXAuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5oaWRlRmlsZXNPdmVybGF5KCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgZm9ybWF0RmlsZVNpemUoYnl0ZXM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIGlmIChieXRlcyA9PT0gMCkgcmV0dXJuICcwIEJ5dGVzJztcbiAgICAgICAgY29uc3QgayA9IDEwMjQ7XG4gICAgICAgIGNvbnN0IHNpemVzID0gWydCeXRlcycsICdLQicsICdNQicsICdHQiddO1xuICAgICAgICBjb25zdCBpID0gTWF0aC5mbG9vcihNYXRoLmxvZyhieXRlcykgLyBNYXRoLmxvZyhrKSk7XG4gICAgICAgIHJldHVybiBwYXJzZUZsb2F0KChieXRlcyAvIE1hdGgucG93KGssIGkpKS50b0ZpeGVkKDIpKSArICcgJyArIHNpemVzW2ldO1xuICAgIH1cblxuICAgIHNob3dTdWdnZXN0aW9ucyhfZXZlbnQ6IGFueSwgdHlwZTogJ21lbnRpb24nIHwgJ2hhc2h0YWcnKSB7XG4gICAgICAgIHRoaXMuY3VycmVudFRva2VuVHlwZSA9IHR5cGU7XG4gICAgICAgIHRoaXMuZmlsdGVyZWRTdWdnZXN0aW9ucyA9IHR5cGUgPT09ICdtZW50aW9uJyA/IHRoaXMubWVudGlvblN1Z2dlc3Rpb25zIDogdGhpcy5oYXNodGFnU3VnZ2VzdGlvbnM7XG4gICAgICAgIGlmICh0aGlzLnN1Z2dlc3Rpb25QYW5lbCkge1xuICAgICAgICAgICAgdGhpcy5zdWdnZXN0aW9uUGFuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgLy8gSWYgc3VnZ2VzdGlvbnMgYXJlIHZpc2libGUsIGhhbmRsZSBrZXlib2FyZCBuYXZpZ2F0aW9uXG4gICAgICAgIGlmICh0aGlzLm92ZXJsYXlWaXNpYmxlICYmIHRoaXMuZmlsdGVyZWRTdWdnZXN0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LmtleSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ0Fycm93RG93bic6XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPSBNYXRoLm1pbih0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ICsgMSwgdGhpcy5maWx0ZXJlZFN1Z2dlc3Rpb25zLmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFN1Z2dlc3Rpb25JbnRvVmlldygpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdBcnJvd1VwJzpcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IE1hdGgubWF4KHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggLSAxLCAwKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxTdWdnZXN0aW9uSW50b1ZpZXcoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnVGFiJzpcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBTaGlmdCtUYWIgLSBtb3ZlIHVwXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ID0gTWF0aC5tYXgodGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCAtIDEsIDApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGFiIC0gbW92ZSBkb3duXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ID0gTWF0aC5taW4odGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCArIDEsIHRoaXMuZmlsdGVyZWRTdWdnZXN0aW9ucy5sZW5ndGggLSAxKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbFN1Z2dlc3Rpb25JbnRvVmlldygpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdFbnRlcic6XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ID49IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25TdWdnZXN0aW9uU2VsZWN0KHRoaXMuZmlsdGVyZWRTdWdnZXN0aW9uc1t0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4XSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnRXNjYXBlJzpcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vblN1Z2dlc3Rpb25QYW5lbEhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBubyBzdWdnZXN0aW9ucyBhcmUgdmlzaWJsZSwgaGFuZGxlIG5vcm1hbCBlbnRlciBrZXkgcHJlc3NcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJyAmJiAhZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICB0aGlzLmFkZENvbW1lbnQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhlbHBlciBtZXRob2QgdG8gc2Nyb2xsIHRoZSBzZWxlY3RlZCBzdWdnZXN0aW9uIGludG8gdmlld1xuICAgIHByaXZhdGUgc2Nyb2xsU3VnZ2VzdGlvbkludG9WaWV3KCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHN1Z2dlc3Rpb25MaXN0ID0gdGhpcy5zdWdnZXN0aW9uUGFuZWw/Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLnN1Z2dlc3Rpb24tbGlzdCcpO1xuICAgICAgICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtID0gc3VnZ2VzdGlvbkxpc3Q/LnF1ZXJ5U2VsZWN0b3IoJy5zdWdnZXN0aW9uLWl0ZW0uc2VsZWN0ZWQnKTtcblxuICAgICAgICAgICAgaWYgKHN1Z2dlc3Rpb25MaXN0ICYmIHNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpc3RSZWN0ID0gc3VnZ2VzdGlvbkxpc3QuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbVJlY3QgPSBzZWxlY3RlZEl0ZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgc2VsZWN0ZWQgaXRlbSBpcyBvdXRzaWRlIHRoZSB2aXNpYmxlIGFyZWFcbiAgICAgICAgICAgICAgICBpZiAoaXRlbVJlY3QuYm90dG9tID4gbGlzdFJlY3QuYm90dG9tKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEl0ZW0gaXMgYmVsb3cgdGhlIHZpc2libGUgYXJlYVxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZEl0ZW0uc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ2VuZCcsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGl0ZW1SZWN0LnRvcCA8IGxpc3RSZWN0LnRvcCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBJdGVtIGlzIGFib3ZlIHRoZSB2aXNpYmxlIGFyZWFcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRJdGVtLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICdzdGFydCcsIGJlaGF2aW9yOiAnc21vb3RoJyB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uRmlsZURvd25sb2FkKGZpbGU6IHsgbmFtZTogc3RyaW5nOyBzaXplOiBzdHJpbmcgfSkge1xuICAgICAgICB0aGlzLmZpbGVEb3dubG9hZC5lbWl0KGZpbGUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVjb21wdXRlR3JvdXBlZENvbW1lbnRzKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBncm91cHMgPSB0aGlzLl9jb21tZW50cy5yZWR1Y2UoKGFjYzogR3JvdXBlZENvbW1lbnRzW10sIGNvbW1lbnQ6IENvbW1lbnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbW1lbnREYXRlID0gbmV3IERhdGUoY29tbWVudC5kYXRlKTtcbiAgICAgICAgICAgIGNvbW1lbnREYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuXG4gICAgICAgICAgICBjb25zdCBleGlzdGluZ0dyb3VwID0gYWNjLmZpbmQoKGdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ3JvdXBEYXRlID0gbmV3IERhdGUoZ3JvdXAuZGF0ZSk7XG4gICAgICAgICAgICAgICAgZ3JvdXBEYXRlLnNldEhvdXJzKDAsIDAsIDAsIDApO1xuICAgICAgICAgICAgICAgIHJldHVybiBncm91cERhdGUuZ2V0VGltZSgpID09PSBjb21tZW50RGF0ZS5nZXRUaW1lKCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKGV4aXN0aW5nR3JvdXApIHtcbiAgICAgICAgICAgICAgICBleGlzdGluZ0dyb3VwLml0ZW1zLnB1c2goY29tbWVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGFjYy5wdXNoKHsgZGF0ZTogY29tbWVudERhdGUsIGl0ZW1zOiBbY29tbWVudF0gfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9LCBbXSk7XG5cbiAgICAgICAgdGhpcy5ncm91cGVkQ29tbWVudHNDYWNoZSA9IGdyb3Vwcy5zb3J0KChhLCBiKSA9PiBhLmRhdGUuZ2V0VGltZSgpIC0gYi5kYXRlLmdldFRpbWUoKSk7XG4gICAgfVxuXG4gICAgZ2V0U2hvcnRGaWxlTmFtZShmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGZpbGVuYW1lLmxlbmd0aCA8PSA0KSByZXR1cm4gZmlsZW5hbWU7XG5cbiAgICAgICAgLy8gR2V0IGZpbGUgZXh0ZW5zaW9uXG4gICAgICAgIGNvbnN0IGxhc3REb3RJbmRleCA9IGZpbGVuYW1lLmxhc3RJbmRleE9mKCcuJyk7XG4gICAgICAgIGNvbnN0IGV4dGVuc2lvbiA9IGxhc3REb3RJbmRleCAhPT0gLTEgPyBmaWxlbmFtZS5zdWJzdHJpbmcobGFzdERvdEluZGV4KSA6ICcnO1xuXG4gICAgICAgIC8vIFRydW5jYXRlIHRoZSBuYW1lIHBhcnQgYW5kIGFkZCB0aGUgZXh0ZW5zaW9uXG4gICAgICAgIGNvbnN0IG5hbWVQYXJ0ID0gZmlsZW5hbWUuc3Vic3RyaW5nKDAsIGxhc3REb3RJbmRleCAhPT0gLTEgPyBsYXN0RG90SW5kZXggOiBmaWxlbmFtZS5sZW5ndGgpO1xuICAgICAgICByZXR1cm4gbmFtZVBhcnQuc3Vic3RyaW5nKDAsIDQpICsgJy4uJyArIGV4dGVuc2lvbjtcbiAgICB9XG59XG4iLCI8ZGl2ICpuZ0lmPVwidmlzaWJsZVwiIGNsYXNzPVwiY2F4LWNvbW1lbnRzLXdyYXBwZXJcIj5cbiAgICA8IS0tIDxuZy10ZW1wbGF0ZSBjYXhUZW1wbGF0ZT1cImNvbnRlbnRcIj4gLS0+XG4gICAgPGRpdiBjbGFzcz1cImNheC1jb21tZW50cy1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNheC1jb21tZW50cy1saXN0XCIgI2NvbW1lbnRzTGlzdD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGdyb3VwZWRDb21tZW50c0NhY2hlXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNheC1kYXRlLWhlYWRlclwiPnt7IGZvcm1hdERhdGUoZ3JvdXAuZGF0ZSkgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F4LWNvbW1lbnQtaXRlbVwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb21tZW50IG9mIGdyb3VwLml0ZW1zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjYXgtdXNlci1jb21tZW50JzogIWNvbW1lbnQuaXNBZG1pbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2F4LWFkbWluLWNvbW1lbnQnOiBjb21tZW50LmlzQWRtaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnNlY3V0aXZlLW1lc3NhZ2UnOiBpID4gMCAmJiBjb21tZW50LmlzQWRtaW4gPT09IGdyb3VwLml0ZW1zW2ktMV0uaXNBZG1pbiAmJiBjb21tZW50LnNlbmRlciA9PT0gZ3JvdXAuaXRlbXNbaS0xXS5zZW5kZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25ldy1zZW5kZXInOiBpID4gMCAmJiBjb21tZW50LnNlbmRlciAhPT0gZ3JvdXAuaXRlbXNbaS0xXS5zZW5kZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25ldy1kYXRlJzogaSA9PT0gMCAmJiBncm91cC5pdGVtcy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwhLS0gVXNlciBNZXNzYWdlIChMZWZ0IEFsaWduZWQpIC0tPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWNvbW1lbnQuaXNBZG1pblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNheC1jb21tZW50Ym94LWF2YXRhci1jb250YWluZXJcIiAqbmdJZj1cImkgPT09IDAgfHwgZ3JvdXAuaXRlbXNbaS0xXS5zZW5kZXIgIT09IGNvbW1lbnQuc2VuZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNheC1hdmF0YXIgW2xhYmVsXT1cImNvbW1lbnQuc2VuZGVyPy5zdWJzdHJpbmcoMCwgMikudG9VcHBlckNhc2UoKSB8fCAnVSdcIiBbYXZhdGFyU2l6ZV09XCIneHMnXCIgW3NoYXBlXT1cIidjaXJjbGUnXCIgc3R5bGVjbGFzcz1cImNheC1jb21tZW50Ym94LWF2YXRhclwiPiA8L2NheC1hdmF0YXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtY29tbWVudC1jb250ZW50XCIgW2NsYXNzLm5vLWF2YXRhcl09XCJpID4gMCAmJiBncm91cC5pdGVtc1tpLTFdLnNlbmRlciA9PT0gY29tbWVudC5zZW5kZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F4LWNvbW1lbnQtc2VuZGVyXCIgKm5nSWY9XCJpID09PSAwIHx8IGdyb3VwLml0ZW1zW2ktMV0uc2VuZGVyICE9PSBjb21tZW50LnNlbmRlclwiPnt7Y29tbWVudC5zZW5kZXJ9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtZmlsZS1hdHRhY2htZW50XCIgKm5nSWY9XCJjb21tZW50LmZpbGVzPy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsZSBvZiBjb21tZW50LmZpbGVzXCIgY2xhc3M9XCJmaWxlLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWRldGFpbHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGZpbGUubmFtZS5zbGljZSgwLCAyMCkgfX17eyBmaWxlLm5hbWUuaW5jbHVkZXMoJy4nKSA/ICcuJyArIGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpIDogJycgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLXNpemVcIj57e2ZpbGUuc2l6ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImNheCBjYXgtZG93bmxvYWRcIiAoY2xpY2spPVwib25GaWxlRG93bmxvYWQoZmlsZSlcIiByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F4LWNvbW1lbnQtdGV4dFwiIFtpbm5lckhUTUxdPVwiZm9ybWF0TWVzc2FnZVdpdGhUYWdzKGNvbW1lbnQudGV4dClcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNheC1jb21tZW50LWRhdGVcIj57eyBjb21tZW50LmRhdGUgfCBkYXRlOiAnc2hvcnRUaW1lJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICA8IS0tIEFkbWluIE1lc3NhZ2UgKFJpZ2h0IEFsaWduZWQpIC0tPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29tbWVudC5pc0FkbWluXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F4LWNvbW1lbnQtY29udGVudCBhZG1pblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtZmlsZS1hdHRhY2htZW50XCIgKm5nSWY9XCJjb21tZW50LmZpbGVzPy5sZW5ndGhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgZmlsZSBvZiBjb21tZW50LmZpbGVzXCIgY2xhc3M9XCJmaWxlLWl0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlLWRldGFpbHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGUtbmFtZVwiPnt7IGZpbGUubmFtZS5zbGljZSgwLCAyMCkgfX17eyBmaWxlLm5hbWUuaW5jbHVkZXMoJy4nKSA/ICcuJyArIGZpbGUubmFtZS5zcGxpdCgnLicpLnBvcCgpIDogJycgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlLXNpemVcIj57e2ZpbGUuc2l6ZX19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImNheCBjYXgtZG93bmxvYWRcIiAoY2xpY2spPVwib25GaWxlRG93bmxvYWQoZmlsZSlcIiByb2xlPVwiYnV0dG9uXCIgdGFiaW5kZXg9XCIwXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2F4LWNvbW1lbnQtdGV4dFwiIFtpbm5lckhUTUxdPVwiZm9ybWF0TWVzc2FnZVdpdGhUYWdzKGNvbW1lbnQudGV4dClcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNheC1jb21tZW50LWRhdGVcIj57eyBjb21tZW50LmRhdGUgfCBkYXRlOiAnc2hvcnRUaW1lJyB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIDwvbmctdGVtcGxhdGU+IC0tPlxuICAgIDxjYXgtb3ZlcmxheSAjc3VnZ2VzdGlvblBhbmVsIFsodmlzaWJsZSldPVwib3ZlcmxheVZpc2libGVcIiBbYXBwZW5kVG9dPVwiaW5wdXRUZXh0XCIgKG9uSGlkZSk9XCJvblN1Z2dlc3Rpb25QYW5lbEhpZGUoKVwiIFtzdHlsZUNsYXNzXT1cIidzdWdnZXN0aW9uLXBhbmVsJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic3VnZ2VzdGlvbi1saXN0XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcmVkU3VnZ2VzdGlvbnM7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cInN1Z2dlc3Rpb24taXRlbVwiIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOiBzZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9PT0gaX1cIiAoY2xpY2spPVwib25TdWdnZXN0aW9uU2VsZWN0KGl0ZW0pXCIgKG1vdXNlZW50ZXIpPVwic2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPSBpXCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWdnZXN0aW9uLWxhYmVsXCI+e3tpdGVtLm5hbWV9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8c21hbGwgY2xhc3M9XCJzdWdnZXN0aW9uLWlkXCIgKm5nSWY9XCJjdXJyZW50VG9rZW5UeXBlID09PSAnbWVudGlvbidcIj57e2l0ZW0uaWR9fTwvc21hbGw+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9jYXgtb3ZlcmxheT5cbiAgICA8Y2F4LW92ZXJsYXlcbiAgICAgICAgWyh2aXNpYmxlKV09XCJmaWxlc092ZXJsYXlWaXNpYmxlXCJcbiAgICAgICAgW2FwcGVuZFRvXT1cImNvdW50Q2hpcFwiXG4gICAgICAgIFtzaG93VHJhbnNpdGlvbk9wdGlvbnNdPVwiJzAuMTJzIGVhc2Utb3V0J1wiXG4gICAgICAgIFtoaWRlVHJhbnNpdGlvbk9wdGlvbnNdPVwiJzAuMXMgZWFzZS1pbidcIlxuICAgICAgICBbc3R5bGVdPVwieyB3aWR0aDogJzIyNHB4JywgcmlnaHQ6ICc1JScgfVwiXG4gICAgICAgIHN0eWxlQ2xhc3M9XCJmaWxlcy1saXN0LW92ZXJsYXlcIlxuICAgICAgICAob25IaWRlKT1cImhpZGVGaWxlc092ZXJsYXkoKVwiXG4gICAgPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZXMtb3ZlcmxheS1jb250ZW50XCI+XG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBmaWxlIG9mIHNlbGVjdGVkRmlsZXMuc2xpY2UoNCk7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImZpbGUtaXRlbVwiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZS1uYW1lXCI+e3tnZXRTaG9ydEZpbGVOYW1lKGZpbGUubmFtZSl9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImNheCBjYXgtY2xvc2UtY2lyY2xlXCIgKGNsaWNrKT1cInJlbW92ZUZpbGUoaSArIDQpXCI+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvY2F4LW92ZXJsYXk+XG5cbiAgICA8IS0tIDxuZy10ZW1wbGF0ZSBjYXhUZW1wbGF0ZT1cImZvb3RlclwiPiAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY2hhdC1mb290ZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNlbGVjdGVkLWZpbGVzXCIgKm5nSWY9XCJzZWxlY3RlZEZpbGVzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxjYXgtY2hpcCAqbmdGb3I9XCJsZXQgZmlsZSBvZiBzZWxlY3RlZEZpbGVzLnNsaWNlKDAsIDQpOyBsZXQgaSA9IGluZGV4XCIgW2xhYmVsXT1cImdldFNob3J0RmlsZU5hbWUoZmlsZS5uYW1lKVwiIFtyZW1vdmFibGVdPVwidHJ1ZVwiIFtzaXplXT1cIidsZydcIiAob25SZW1vdmUpPVwicmVtb3ZlRmlsZShpLCB0cnVlKVwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBjYXhUZW1wbGF0ZT1cImNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJjYXggY2F4LXBhcGVyY2xpcFwiPjwvaT5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9jYXgtY2hpcD5cbiAgICAgICAgICAgIDxjYXgtY2hpcCAjY291bnRDaGlwICpuZ0lmPVwic2VsZWN0ZWRGaWxlcy5sZW5ndGggPiA0XCIgW2xhYmVsXT1cIicrJyArIGdldE92ZXJmbG93Q291bnQoKVwiIFtzaXplXT1cIidsZydcIiAobW91c2VlbnRlcik9XCJzaG93RmlsZXNPdmVybGF5KCRldmVudClcIj4gPC9jYXgtY2hpcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtY2hhdC1pbnB1dC1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGNheC1pbnB1dHRleHRcbiAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJuZXdDb21tZW50XCJcbiAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwiJ2xnJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtyaWdodEljb25dPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGVhckljb25dPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICBbcmlnaHRJY29uQ2xhc3NdPVwiJ2NheCBjYXgtcGFwZXJjbGlwJ1wiXG4gICAgICAgICAgICAgICAgICAgIFtyaWdodEljb25DbGlja2FibGVdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChyaWdodEljb25DbGljayk9XCJvbkZpbGVJY29uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgICAgICAgICAgICAgIChrZXl1cCk9XCJoYW5kbGVLZXlVcCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2NoYXQtaW5wdXQnOiB0cnVlLCAnYWRtaW4taW5wdXQnOiBpc0FkbWlufVwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZV09XCJ7J2JvcmRlci1yYWRpdXMnOiAnOHB4JywgYmFja2dyb3VuZDogJyNmZmZmZmYnfVwiXG4gICAgICAgICAgICAgICAgICAgICNpbnB1dFRleHRcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jYXgtaW5wdXR0ZXh0PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxjYXgtYnV0dG9uIFtpY29uXT1cIidjYXggY2F4LXBsYWluJ1wiIFtzZXZlcml0eV09XCIncHJpbWFyeSdcIiBbc2l6ZV09XCInbGFyZ2UnXCIgKGNsaWNrKT1cImFkZENvbW1lbnQoKVwiIFtkaXNhYmxlZF09XCIhbmV3Q29tbWVudC50cmltKCkgJiYgc2VsZWN0ZWRGaWxlcy5sZW5ndGggPT09IDBcIiBjbGFzcz1cInNlbmQtYnV0dG9uXCI+IDwvY2F4LWJ1dHRvbj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGlucHV0ICNmaWxlSW5wdXQgdHlwZT1cImZpbGVcIiAoY2hhbmdlKT1cIm9uRmlsZVNlbGVjdCgkZXZlbnQpXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgYWNjZXB0PVwiKi8qXCIgbXVsdGlwbGUgLz5cbiAgICA8L2Rpdj5cbiAgICA8IS0tIDwvbmctdGVtcGxhdGU+IC0tPlxuPC9kaXY+XG4iXX0=