primeng 22.1.1 → 22.1.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 (850) hide show
  1. package/fesm2022/primeng-accordion.mjs +998 -594
  2. package/fesm2022/primeng-accordion.mjs.map +1 -1
  3. package/fesm2022/primeng-animateonscroll.mjs +266 -174
  4. package/fesm2022/primeng-animateonscroll.mjs.map +1 -1
  5. package/fesm2022/primeng-api.mjs +888 -848
  6. package/fesm2022/primeng-api.mjs.map +1 -1
  7. package/fesm2022/primeng-autocomplete.mjs +2534 -1631
  8. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  9. package/fesm2022/primeng-autofocus.mjs +114 -77
  10. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  11. package/fesm2022/primeng-avatar.mjs +330 -189
  12. package/fesm2022/primeng-avatar.mjs.map +1 -1
  13. package/fesm2022/primeng-avatargroup.mjs +178 -95
  14. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  15. package/fesm2022/primeng-badge.mjs +290 -156
  16. package/fesm2022/primeng-badge.mjs.map +1 -1
  17. package/fesm2022/primeng-base.mjs +95 -83
  18. package/fesm2022/primeng-base.mjs.map +1 -1
  19. package/fesm2022/primeng-basecomponent.mjs +528 -478
  20. package/fesm2022/primeng-basecomponent.mjs.map +1 -1
  21. package/fesm2022/primeng-baseeditableholder.mjs +131 -74
  22. package/fesm2022/primeng-baseeditableholder.mjs.map +1 -1
  23. package/fesm2022/primeng-baseinput.mjs +214 -99
  24. package/fesm2022/primeng-baseinput.mjs.map +1 -1
  25. package/fesm2022/primeng-basemodelholder.mjs +39 -26
  26. package/fesm2022/primeng-basemodelholder.mjs.map +1 -1
  27. package/fesm2022/primeng-bind.mjs +156 -97
  28. package/fesm2022/primeng-bind.mjs.map +1 -1
  29. package/fesm2022/primeng-blockui.mjs +360 -225
  30. package/fesm2022/primeng-blockui.mjs.map +1 -1
  31. package/fesm2022/primeng-breadcrumb.mjs +458 -220
  32. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  33. package/fesm2022/primeng-button.mjs +1568 -710
  34. package/fesm2022/primeng-button.mjs.map +1 -1
  35. package/fesm2022/primeng-buttongroup.mjs +125 -73
  36. package/fesm2022/primeng-buttongroup.mjs.map +1 -1
  37. package/fesm2022/primeng-card.mjs +389 -178
  38. package/fesm2022/primeng-card.mjs.map +1 -1
  39. package/fesm2022/primeng-carousel.mjs +2393 -1772
  40. package/fesm2022/primeng-carousel.mjs.map +1 -1
  41. package/fesm2022/primeng-cascadeselect.mjs +2373 -1399
  42. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  43. package/fesm2022/primeng-chart.mjs +402 -231
  44. package/fesm2022/primeng-chart.mjs.map +1 -1
  45. package/fesm2022/primeng-checkbox.mjs +650 -351
  46. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  47. package/fesm2022/primeng-chip.mjs +411 -224
  48. package/fesm2022/primeng-chip.mjs.map +1 -1
  49. package/fesm2022/primeng-classnames.mjs +95 -48
  50. package/fesm2022/primeng-classnames.mjs.map +1 -1
  51. package/fesm2022/primeng-colorpicker.mjs +890 -635
  52. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  53. package/fesm2022/primeng-commandmenu.mjs +568 -313
  54. package/fesm2022/primeng-commandmenu.mjs.map +1 -1
  55. package/fesm2022/primeng-compare.mjs +843 -481
  56. package/fesm2022/primeng-compare.mjs.map +1 -1
  57. package/fesm2022/primeng-config.mjs +415 -321
  58. package/fesm2022/primeng-config.mjs.map +1 -1
  59. package/fesm2022/primeng-confirmdialog.mjs +1188 -536
  60. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  61. package/fesm2022/primeng-confirmpopup.mjs +810 -518
  62. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  63. package/fesm2022/primeng-contextmenu.mjs +1862 -1082
  64. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  65. package/fesm2022/primeng-dataview.mjs +1130 -550
  66. package/fesm2022/primeng-dataview.mjs.map +1 -1
  67. package/fesm2022/primeng-datepicker.mjs +3750 -3356
  68. package/fesm2022/primeng-datepicker.mjs.map +1 -1
  69. package/fesm2022/primeng-dialog.mjs +1635 -975
  70. package/fesm2022/primeng-dialog.mjs.map +1 -1
  71. package/fesm2022/primeng-divider.mjs +272 -146
  72. package/fesm2022/primeng-divider.mjs.map +1 -1
  73. package/fesm2022/primeng-dock.mjs +609 -391
  74. package/fesm2022/primeng-dock.mjs.map +1 -1
  75. package/fesm2022/primeng-dom.mjs +599 -767
  76. package/fesm2022/primeng-dom.mjs.map +1 -1
  77. package/fesm2022/primeng-dragdrop.mjs +323 -312
  78. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  79. package/fesm2022/primeng-drawer.mjs +913 -484
  80. package/fesm2022/primeng-drawer.mjs.map +1 -1
  81. package/fesm2022/primeng-dynamicdialog.mjs +828 -917
  82. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  83. package/fesm2022/primeng-editor.mjs +547 -391
  84. package/fesm2022/primeng-editor.mjs.map +1 -1
  85. package/fesm2022/primeng-fieldset.mjs +559 -271
  86. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  87. package/fesm2022/primeng-fileupload.mjs +1836 -1054
  88. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  89. package/fesm2022/primeng-floatlabel.mjs +187 -102
  90. package/fesm2022/primeng-floatlabel.mjs.map +1 -1
  91. package/fesm2022/primeng-fluid.mjs +156 -85
  92. package/fesm2022/primeng-fluid.mjs.map +1 -1
  93. package/fesm2022/primeng-focustrap.mjs +150 -112
  94. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  95. package/fesm2022/primeng-galleria.mjs +2589 -1410
  96. package/fesm2022/primeng-galleria.mjs.map +1 -1
  97. package/fesm2022/primeng-gallery.mjs +2768 -1796
  98. package/fesm2022/primeng-gallery.mjs.map +1 -1
  99. package/fesm2022/primeng-iconfield.mjs +192 -93
  100. package/fesm2022/primeng-iconfield.mjs.map +1 -1
  101. package/fesm2022/primeng-icons-angledoubledown.mjs +41 -23
  102. package/fesm2022/primeng-icons-angledoubledown.mjs.map +1 -1
  103. package/fesm2022/primeng-icons-angledoubleleft.mjs +41 -23
  104. package/fesm2022/primeng-icons-angledoubleleft.mjs.map +1 -1
  105. package/fesm2022/primeng-icons-angledoubleright.mjs +41 -23
  106. package/fesm2022/primeng-icons-angledoubleright.mjs.map +1 -1
  107. package/fesm2022/primeng-icons-angledoubleup.mjs +41 -23
  108. package/fesm2022/primeng-icons-angledoubleup.mjs.map +1 -1
  109. package/fesm2022/primeng-icons-angledown.mjs +41 -23
  110. package/fesm2022/primeng-icons-angledown.mjs.map +1 -1
  111. package/fesm2022/primeng-icons-angleleft.mjs +41 -23
  112. package/fesm2022/primeng-icons-angleleft.mjs.map +1 -1
  113. package/fesm2022/primeng-icons-angleright.mjs +41 -23
  114. package/fesm2022/primeng-icons-angleright.mjs.map +1 -1
  115. package/fesm2022/primeng-icons-angleup.mjs +41 -23
  116. package/fesm2022/primeng-icons-angleup.mjs.map +1 -1
  117. package/fesm2022/primeng-icons-arrowdown.mjs +46 -28
  118. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  119. package/fesm2022/primeng-icons-arrowdownleft.mjs +41 -23
  120. package/fesm2022/primeng-icons-arrowdownleft.mjs.map +1 -1
  121. package/fesm2022/primeng-icons-arrowdownright.mjs +41 -23
  122. package/fesm2022/primeng-icons-arrowdownright.mjs.map +1 -1
  123. package/fesm2022/primeng-icons-arrowleft.mjs +46 -28
  124. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  125. package/fesm2022/primeng-icons-arrowright.mjs +41 -23
  126. package/fesm2022/primeng-icons-arrowright.mjs.map +1 -1
  127. package/fesm2022/primeng-icons-arrowup.mjs +46 -28
  128. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  129. package/fesm2022/primeng-icons-ban.mjs +46 -28
  130. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  131. package/fesm2022/primeng-icons-bars.mjs +41 -23
  132. package/fesm2022/primeng-icons-bars.mjs.map +1 -1
  133. package/fesm2022/primeng-icons-baseicon.mjs +111 -67
  134. package/fesm2022/primeng-icons-baseicon.mjs.map +1 -1
  135. package/fesm2022/primeng-icons-blank.mjs +40 -22
  136. package/fesm2022/primeng-icons-blank.mjs.map +1 -1
  137. package/fesm2022/primeng-icons-calendar.mjs +41 -23
  138. package/fesm2022/primeng-icons-calendar.mjs.map +1 -1
  139. package/fesm2022/primeng-icons-caretleft.mjs +41 -23
  140. package/fesm2022/primeng-icons-caretleft.mjs.map +1 -1
  141. package/fesm2022/primeng-icons-caretright.mjs +41 -23
  142. package/fesm2022/primeng-icons-caretright.mjs.map +1 -1
  143. package/fesm2022/primeng-icons-check.mjs +41 -23
  144. package/fesm2022/primeng-icons-check.mjs.map +1 -1
  145. package/fesm2022/primeng-icons-chevrondown.mjs +41 -23
  146. package/fesm2022/primeng-icons-chevrondown.mjs.map +1 -1
  147. package/fesm2022/primeng-icons-chevronleft.mjs +41 -23
  148. package/fesm2022/primeng-icons-chevronleft.mjs.map +1 -1
  149. package/fesm2022/primeng-icons-chevronright.mjs +41 -23
  150. package/fesm2022/primeng-icons-chevronright.mjs.map +1 -1
  151. package/fesm2022/primeng-icons-chevronup.mjs +41 -23
  152. package/fesm2022/primeng-icons-chevronup.mjs.map +1 -1
  153. package/fesm2022/primeng-icons-exclamationtriangle.mjs +46 -28
  154. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  155. package/fesm2022/primeng-icons-eye.mjs +41 -23
  156. package/fesm2022/primeng-icons-eye.mjs.map +1 -1
  157. package/fesm2022/primeng-icons-eyeslash.mjs +46 -28
  158. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  159. package/fesm2022/primeng-icons-filter.mjs +46 -28
  160. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  161. package/fesm2022/primeng-icons-filterfill.mjs +41 -23
  162. package/fesm2022/primeng-icons-filterfill.mjs.map +1 -1
  163. package/fesm2022/primeng-icons-filterslash.mjs +46 -28
  164. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  165. package/fesm2022/primeng-icons-home.mjs +46 -28
  166. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  167. package/fesm2022/primeng-icons-infocircle.mjs +46 -28
  168. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  169. package/fesm2022/primeng-icons-minus.mjs +41 -23
  170. package/fesm2022/primeng-icons-minus.mjs.map +1 -1
  171. package/fesm2022/primeng-icons-pencil.mjs +46 -28
  172. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  173. package/fesm2022/primeng-icons-plus.mjs +46 -28
  174. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  175. package/fesm2022/primeng-icons-refresh.mjs +46 -28
  176. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  177. package/fesm2022/primeng-icons-search.mjs +46 -28
  178. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  179. package/fesm2022/primeng-icons-searchminus.mjs +46 -28
  180. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  181. package/fesm2022/primeng-icons-searchplus.mjs +46 -28
  182. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  183. package/fesm2022/primeng-icons-sortalt.mjs +46 -28
  184. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  185. package/fesm2022/primeng-icons-sortamountdown.mjs +46 -28
  186. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  187. package/fesm2022/primeng-icons-sortamountupalt.mjs +46 -28
  188. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  189. package/fesm2022/primeng-icons-spinner.mjs +46 -28
  190. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  191. package/fesm2022/primeng-icons-star.mjs +46 -28
  192. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  193. package/fesm2022/primeng-icons-starfill.mjs +46 -28
  194. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  195. package/fesm2022/primeng-icons-thlarge.mjs +46 -28
  196. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  197. package/fesm2022/primeng-icons-times.mjs +41 -23
  198. package/fesm2022/primeng-icons-times.mjs.map +1 -1
  199. package/fesm2022/primeng-icons-timescircle.mjs +46 -28
  200. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  201. package/fesm2022/primeng-icons-trash.mjs +46 -28
  202. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  203. package/fesm2022/primeng-icons-undo.mjs +46 -28
  204. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  205. package/fesm2022/primeng-icons-upload.mjs +46 -28
  206. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  207. package/fesm2022/primeng-icons-windowmaximize.mjs +46 -28
  208. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  209. package/fesm2022/primeng-icons-windowminimize.mjs +46 -28
  210. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  211. package/fesm2022/primeng-icons.mjs +53 -63
  212. package/fesm2022/primeng-iftalabel.mjs +153 -86
  213. package/fesm2022/primeng-iftalabel.mjs.map +1 -1
  214. package/fesm2022/primeng-image.mjs +1006 -532
  215. package/fesm2022/primeng-image.mjs.map +1 -1
  216. package/fesm2022/primeng-imagecompare.mjs +325 -165
  217. package/fesm2022/primeng-imagecompare.mjs.map +1 -1
  218. package/fesm2022/primeng-inplace.mjs +401 -199
  219. package/fesm2022/primeng-inplace.mjs.map +1 -1
  220. package/fesm2022/primeng-inputcolor.mjs +2631 -2189
  221. package/fesm2022/primeng-inputcolor.mjs.map +1 -1
  222. package/fesm2022/primeng-inputgroup.mjs +159 -91
  223. package/fesm2022/primeng-inputgroup.mjs.map +1 -1
  224. package/fesm2022/primeng-inputgroupaddon.mjs +153 -68
  225. package/fesm2022/primeng-inputgroupaddon.mjs.map +1 -1
  226. package/fesm2022/primeng-inputicon.mjs +173 -72
  227. package/fesm2022/primeng-inputicon.mjs.map +1 -1
  228. package/fesm2022/primeng-inputmask.mjs +1607 -1387
  229. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  230. package/fesm2022/primeng-inputnumber.mjs +1646 -1305
  231. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  232. package/fesm2022/primeng-inputotp.mjs +571 -376
  233. package/fesm2022/primeng-inputotp.mjs.map +1 -1
  234. package/fesm2022/primeng-inputpassword.mjs +179 -96
  235. package/fesm2022/primeng-inputpassword.mjs.map +1 -1
  236. package/fesm2022/primeng-inputtags.mjs +1212 -588
  237. package/fesm2022/primeng-inputtags.mjs.map +1 -1
  238. package/fesm2022/primeng-inputtext.mjs +325 -175
  239. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  240. package/fesm2022/primeng-keyfilter.mjs +268 -244
  241. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  242. package/fesm2022/primeng-knob.mjs +627 -405
  243. package/fesm2022/primeng-knob.mjs.map +1 -1
  244. package/fesm2022/primeng-label.mjs +143 -81
  245. package/fesm2022/primeng-label.mjs.map +1 -1
  246. package/fesm2022/primeng-license.mjs +10 -36
  247. package/fesm2022/primeng-license.mjs.map +1 -1
  248. package/fesm2022/primeng-listbox.mjs +2409 -1608
  249. package/fesm2022/primeng-listbox.mjs.map +1 -1
  250. package/fesm2022/primeng-megamenu.mjs +2006 -1137
  251. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  252. package/fesm2022/primeng-menu.mjs +1437 -848
  253. package/fesm2022/primeng-menu.mjs.map +1 -1
  254. package/fesm2022/primeng-menubar.mjs +1832 -994
  255. package/fesm2022/primeng-menubar.mjs.map +1 -1
  256. package/fesm2022/primeng-message.mjs +474 -239
  257. package/fesm2022/primeng-message.mjs.map +1 -1
  258. package/fesm2022/primeng-metergroup.mjs +663 -331
  259. package/fesm2022/primeng-metergroup.mjs.map +1 -1
  260. package/fesm2022/primeng-motion.mjs +1179 -690
  261. package/fesm2022/primeng-motion.mjs.map +1 -1
  262. package/fesm2022/primeng-multiselect.mjs +3406 -1932
  263. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  264. package/fesm2022/primeng-orderlist.mjs +1308 -664
  265. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  266. package/fesm2022/primeng-organizationchart.mjs +912 -595
  267. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  268. package/fesm2022/primeng-overlay.mjs +929 -624
  269. package/fesm2022/primeng-overlay.mjs.map +1 -1
  270. package/fesm2022/primeng-overlaybadge.mjs +291 -107
  271. package/fesm2022/primeng-overlaybadge.mjs.map +1 -1
  272. package/fesm2022/primeng-paginator.mjs +959 -503
  273. package/fesm2022/primeng-paginator.mjs.map +1 -1
  274. package/fesm2022/primeng-panel.mjs +668 -343
  275. package/fesm2022/primeng-panel.mjs.map +1 -1
  276. package/fesm2022/primeng-panelmenu.mjs +1842 -998
  277. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  278. package/fesm2022/primeng-passthrough.mjs +8 -16
  279. package/fesm2022/primeng-passthrough.mjs.map +1 -1
  280. package/fesm2022/primeng-password.mjs +1518 -866
  281. package/fesm2022/primeng-password.mjs.map +1 -1
  282. package/fesm2022/primeng-picklist.mjs +2270 -1256
  283. package/fesm2022/primeng-picklist.mjs.map +1 -1
  284. package/fesm2022/primeng-popover.mjs +656 -436
  285. package/fesm2022/primeng-popover.mjs.map +1 -1
  286. package/fesm2022/primeng-progressbar.mjs +346 -168
  287. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  288. package/fesm2022/primeng-progressspinner.mjs +338 -188
  289. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  290. package/fesm2022/primeng-radiobutton.mjs +499 -292
  291. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  292. package/fesm2022/primeng-rating.mjs +583 -352
  293. package/fesm2022/primeng-rating.mjs.map +1 -1
  294. package/fesm2022/primeng-ripple.mjs +194 -184
  295. package/fesm2022/primeng-ripple.mjs.map +1 -1
  296. package/fesm2022/primeng-scrollarea.mjs +1018 -721
  297. package/fesm2022/primeng-scrollarea.mjs.map +1 -1
  298. package/fesm2022/primeng-scroller.mjs +1386 -1083
  299. package/fesm2022/primeng-scroller.mjs.map +1 -1
  300. package/fesm2022/primeng-scrollpanel.mjs +568 -480
  301. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  302. package/fesm2022/primeng-scrolltop.mjs +509 -260
  303. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  304. package/fesm2022/primeng-select.mjs +2948 -1765
  305. package/fesm2022/primeng-select.mjs.map +1 -1
  306. package/fesm2022/primeng-selectbutton.mjs +629 -339
  307. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  308. package/fesm2022/primeng-sidebar.mjs +2561 -1416
  309. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  310. package/fesm2022/primeng-skeleton.mjs +300 -157
  311. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  312. package/fesm2022/primeng-slider.mjs +841 -604
  313. package/fesm2022/primeng-slider.mjs.map +1 -1
  314. package/fesm2022/primeng-speeddial.mjs +1115 -717
  315. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  316. package/fesm2022/primeng-splitbutton.mjs +889 -339
  317. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  318. package/fesm2022/primeng-splitter.mjs +997 -759
  319. package/fesm2022/primeng-splitter.mjs.map +1 -1
  320. package/fesm2022/primeng-stepper.mjs +1355 -641
  321. package/fesm2022/primeng-stepper.mjs.map +1 -1
  322. package/fesm2022/primeng-steps.mjs +397 -304
  323. package/fesm2022/primeng-steps.mjs.map +1 -1
  324. package/fesm2022/primeng-styleclass.mjs +446 -334
  325. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  326. package/fesm2022/primeng-table.mjs +9763 -5870
  327. package/fesm2022/primeng-table.mjs.map +1 -1
  328. package/fesm2022/primeng-tabs.mjs +1357 -831
  329. package/fesm2022/primeng-tabs.mjs.map +1 -1
  330. package/fesm2022/primeng-tag.mjs +305 -151
  331. package/fesm2022/primeng-tag.mjs.map +1 -1
  332. package/fesm2022/primeng-terminal.mjs +368 -216
  333. package/fesm2022/primeng-terminal.mjs.map +1 -1
  334. package/fesm2022/primeng-textarea.mjs +345 -208
  335. package/fesm2022/primeng-textarea.mjs.map +1 -1
  336. package/fesm2022/primeng-tieredmenu.mjs +1917 -1125
  337. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  338. package/fesm2022/primeng-timeline.mjs +304 -165
  339. package/fesm2022/primeng-timeline.mjs.map +1 -1
  340. package/fesm2022/primeng-toast.mjs +1369 -922
  341. package/fesm2022/primeng-toast.mjs.map +1 -1
  342. package/fesm2022/primeng-togglebutton.mjs +563 -309
  343. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  344. package/fesm2022/primeng-toggleswitch.mjs +464 -237
  345. package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
  346. package/fesm2022/primeng-toolbar.mjs +299 -129
  347. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  348. package/fesm2022/primeng-tooltip.mjs +1018 -778
  349. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  350. package/fesm2022/primeng-tree.mjs +2679 -1875
  351. package/fesm2022/primeng-tree.mjs.map +1 -1
  352. package/fesm2022/primeng-treeselect.mjs +1678 -939
  353. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  354. package/fesm2022/primeng-treetable.mjs +5849 -3754
  355. package/fesm2022/primeng-treetable.mjs.map +1 -1
  356. package/fesm2022/primeng-ts-helpers.mjs +0 -4
  357. package/fesm2022/primeng-types-accordion.mjs +0 -4
  358. package/fesm2022/primeng-types-autocomplete.mjs +0 -4
  359. package/fesm2022/primeng-types-avatar.mjs +0 -4
  360. package/fesm2022/primeng-types-avatargroup.mjs +0 -4
  361. package/fesm2022/primeng-types-badge.mjs +0 -4
  362. package/fesm2022/primeng-types-blockui.mjs +0 -4
  363. package/fesm2022/primeng-types-breadcrumb.mjs +0 -4
  364. package/fesm2022/primeng-types-button.mjs +0 -4
  365. package/fesm2022/primeng-types-card.mjs +0 -4
  366. package/fesm2022/primeng-types-carousel.mjs +0 -4
  367. package/fesm2022/primeng-types-cascadeselect.mjs +0 -4
  368. package/fesm2022/primeng-types-chart.mjs +0 -4
  369. package/fesm2022/primeng-types-checkbox.mjs +0 -4
  370. package/fesm2022/primeng-types-chip.mjs +0 -4
  371. package/fesm2022/primeng-types-colorpicker.mjs +0 -4
  372. package/fesm2022/primeng-types-commandmenu.mjs +0 -4
  373. package/fesm2022/primeng-types-compare.mjs +0 -4
  374. package/fesm2022/primeng-types-confirmdialog.mjs +0 -4
  375. package/fesm2022/primeng-types-confirmpopup.mjs +0 -4
  376. package/fesm2022/primeng-types-contextmenu.mjs +0 -4
  377. package/fesm2022/primeng-types-dataview.mjs +0 -4
  378. package/fesm2022/primeng-types-datepicker.mjs +0 -4
  379. package/fesm2022/primeng-types-dialog.mjs +0 -4
  380. package/fesm2022/primeng-types-divider.mjs +0 -4
  381. package/fesm2022/primeng-types-dock.mjs +0 -4
  382. package/fesm2022/primeng-types-drawer.mjs +0 -4
  383. package/fesm2022/primeng-types-editor.mjs +0 -4
  384. package/fesm2022/primeng-types-fieldset.mjs +0 -4
  385. package/fesm2022/primeng-types-fileupload.mjs +0 -4
  386. package/fesm2022/primeng-types-floatlabel.mjs +0 -4
  387. package/fesm2022/primeng-types-fluid.mjs +0 -4
  388. package/fesm2022/primeng-types-galleria.mjs +0 -4
  389. package/fesm2022/primeng-types-gallery.mjs +0 -4
  390. package/fesm2022/primeng-types-iconfield.mjs +0 -4
  391. package/fesm2022/primeng-types-iftalabel.mjs +0 -4
  392. package/fesm2022/primeng-types-image.mjs +0 -4
  393. package/fesm2022/primeng-types-imagecompare.mjs +0 -4
  394. package/fesm2022/primeng-types-inplace.mjs +0 -4
  395. package/fesm2022/primeng-types-inputcolor.mjs +0 -4
  396. package/fesm2022/primeng-types-inputgroup.mjs +0 -4
  397. package/fesm2022/primeng-types-inputgroupaddon.mjs +0 -4
  398. package/fesm2022/primeng-types-inputicon.mjs +0 -4
  399. package/fesm2022/primeng-types-inputmask.mjs +0 -4
  400. package/fesm2022/primeng-types-inputnumber.mjs +0 -4
  401. package/fesm2022/primeng-types-inputotp.mjs +0 -4
  402. package/fesm2022/primeng-types-inputpassword.mjs +0 -4
  403. package/fesm2022/primeng-types-inputtags.mjs +0 -4
  404. package/fesm2022/primeng-types-inputtext.mjs +0 -4
  405. package/fesm2022/primeng-types-knob.mjs +0 -4
  406. package/fesm2022/primeng-types-label.mjs +0 -4
  407. package/fesm2022/primeng-types-listbox.mjs +0 -4
  408. package/fesm2022/primeng-types-megamenu.mjs +0 -4
  409. package/fesm2022/primeng-types-menu.mjs +0 -4
  410. package/fesm2022/primeng-types-menubar.mjs +0 -4
  411. package/fesm2022/primeng-types-message.mjs +0 -4
  412. package/fesm2022/primeng-types-metergroup.mjs +0 -4
  413. package/fesm2022/primeng-types-motion.mjs +0 -4
  414. package/fesm2022/primeng-types-multiselect.mjs +0 -4
  415. package/fesm2022/primeng-types-orderlist.mjs +0 -4
  416. package/fesm2022/primeng-types-organizationchart.mjs +0 -4
  417. package/fesm2022/primeng-types-overlay.mjs +0 -4
  418. package/fesm2022/primeng-types-overlaybadge.mjs +0 -4
  419. package/fesm2022/primeng-types-paginator.mjs +0 -4
  420. package/fesm2022/primeng-types-panel.mjs +0 -4
  421. package/fesm2022/primeng-types-panelmenu.mjs +0 -4
  422. package/fesm2022/primeng-types-password.mjs +0 -4
  423. package/fesm2022/primeng-types-picklist.mjs +0 -4
  424. package/fesm2022/primeng-types-popover.mjs +0 -4
  425. package/fesm2022/primeng-types-progressbar.mjs +0 -4
  426. package/fesm2022/primeng-types-progressspinner.mjs +0 -4
  427. package/fesm2022/primeng-types-radiobutton.mjs +0 -4
  428. package/fesm2022/primeng-types-rating.mjs +0 -4
  429. package/fesm2022/primeng-types-scrollarea.mjs +0 -4
  430. package/fesm2022/primeng-types-scroller.mjs +0 -4
  431. package/fesm2022/primeng-types-scrollpanel.mjs +0 -4
  432. package/fesm2022/primeng-types-scrolltop.mjs +0 -4
  433. package/fesm2022/primeng-types-select.mjs +0 -4
  434. package/fesm2022/primeng-types-selectbutton.mjs +0 -4
  435. package/fesm2022/primeng-types-shared.mjs +0 -4
  436. package/fesm2022/primeng-types-sidebar.mjs +0 -4
  437. package/fesm2022/primeng-types-skeleton.mjs +0 -4
  438. package/fesm2022/primeng-types-slider.mjs +0 -4
  439. package/fesm2022/primeng-types-speeddial.mjs +0 -4
  440. package/fesm2022/primeng-types-splitbutton.mjs +0 -4
  441. package/fesm2022/primeng-types-splitter.mjs +0 -4
  442. package/fesm2022/primeng-types-stepper.mjs +0 -4
  443. package/fesm2022/primeng-types-table.mjs +0 -4
  444. package/fesm2022/primeng-types-tabs.mjs +0 -4
  445. package/fesm2022/primeng-types-tag.mjs +0 -4
  446. package/fesm2022/primeng-types-terminal.mjs +0 -4
  447. package/fesm2022/primeng-types-textarea.mjs +0 -4
  448. package/fesm2022/primeng-types-tieredmenu.mjs +0 -4
  449. package/fesm2022/primeng-types-timeline.mjs +0 -4
  450. package/fesm2022/primeng-types-toast.mjs +0 -4
  451. package/fesm2022/primeng-types-togglebutton.mjs +0 -4
  452. package/fesm2022/primeng-types-toggleswitch.mjs +0 -4
  453. package/fesm2022/primeng-types-toolbar.mjs +0 -4
  454. package/fesm2022/primeng-types-tooltip.mjs +0 -4
  455. package/fesm2022/primeng-types-tree.mjs +0 -4
  456. package/fesm2022/primeng-types-treeselect.mjs +0 -4
  457. package/fesm2022/primeng-types-treetable.mjs +0 -4
  458. package/fesm2022/primeng-usestyle.mjs +105 -113
  459. package/fesm2022/primeng-usestyle.mjs.map +1 -1
  460. package/fesm2022/primeng-utils.mjs +236 -317
  461. package/fesm2022/primeng-utils.mjs.map +1 -1
  462. package/fesm2022/primeng.mjs +1 -5
  463. package/fesm2022/primeng.mjs.map +1 -1
  464. package/package.json +6 -1
  465. package/types/primeng-accordion.d.ts +289 -219
  466. package/types/primeng-animateonscroll.d.ts +89 -61
  467. package/types/primeng-api.d.ts +1754 -1790
  468. package/types/primeng-autocomplete.d.ts +1053 -754
  469. package/types/primeng-autofocus.d.ts +27 -24
  470. package/types/primeng-avatar.d.ts +152 -114
  471. package/types/primeng-avatargroup.d.ts +45 -40
  472. package/types/primeng-badge.d.ts +104 -78
  473. package/types/primeng-base.d.ts +49 -52
  474. package/types/primeng-basecomponent.d.ts +191 -174
  475. package/types/primeng-baseeditableholder.d.ts +63 -45
  476. package/types/primeng-baseinput.d.ts +122 -74
  477. package/types/primeng-basemodelholder.d.ts +9 -12
  478. package/types/primeng-bind.d.ts +36 -32
  479. package/types/primeng-blockui.d.ts +99 -80
  480. package/types/primeng-breadcrumb.d.ts +159 -133
  481. package/types/primeng-button.d.ts +690 -425
  482. package/types/primeng-buttongroup.d.ts +26 -30
  483. package/types/primeng-card.d.ts +130 -119
  484. package/types/primeng-carousel.d.ts +799 -629
  485. package/types/primeng-cascadeselect.d.ts +753 -562
  486. package/types/primeng-chart.d.ts +158 -112
  487. package/types/primeng-checkbox.d.ts +298 -208
  488. package/types/primeng-chip.d.ts +187 -143
  489. package/types/primeng-classnames.d.ts +23 -21
  490. package/types/primeng-colorpicker.d.ts +324 -269
  491. package/types/primeng-commandmenu.d.ts +213 -165
  492. package/types/primeng-compare.d.ts +267 -189
  493. package/types/primeng-config.d.ts +294 -304
  494. package/types/primeng-confirmdialog.d.ts +504 -325
  495. package/types/primeng-confirmpopup.d.ts +253 -207
  496. package/types/primeng-contextmenu.d.ts +522 -366
  497. package/types/primeng-dataview.d.ts +497 -342
  498. package/types/primeng-datepicker.d.ts +1268 -969
  499. package/types/primeng-dialog.d.ts +667 -462
  500. package/types/primeng-divider.d.ts +112 -96
  501. package/types/primeng-dock.d.ts +206 -172
  502. package/types/primeng-dom.d.ts +97 -100
  503. package/types/primeng-dragdrop.d.ts +142 -107
  504. package/types/primeng-drawer.d.ts +354 -254
  505. package/types/primeng-dynamicdialog.d.ts +527 -535
  506. package/types/primeng-editor.d.ts +210 -162
  507. package/types/primeng-fieldset.d.ts +198 -163
  508. package/types/primeng-fileupload.d.ts +726 -523
  509. package/types/primeng-floatlabel.d.ts +54 -48
  510. package/types/primeng-fluid.d.ts +36 -36
  511. package/types/primeng-focustrap.d.ts +30 -27
  512. package/types/primeng-galleria.d.ts +569 -430
  513. package/types/primeng-gallery.d.ts +754 -552
  514. package/types/primeng-iconfield.d.ts +53 -42
  515. package/types/primeng-icons-angledoubledown.d.ts +6 -9
  516. package/types/primeng-icons-angledoubleleft.d.ts +6 -9
  517. package/types/primeng-icons-angledoubleright.d.ts +6 -9
  518. package/types/primeng-icons-angledoubleup.d.ts +6 -9
  519. package/types/primeng-icons-angledown.d.ts +6 -9
  520. package/types/primeng-icons-angleleft.d.ts +6 -9
  521. package/types/primeng-icons-angleright.d.ts +6 -9
  522. package/types/primeng-icons-angleup.d.ts +6 -9
  523. package/types/primeng-icons-arrowdown.d.ts +8 -11
  524. package/types/primeng-icons-arrowdownleft.d.ts +6 -9
  525. package/types/primeng-icons-arrowdownright.d.ts +6 -9
  526. package/types/primeng-icons-arrowleft.d.ts +8 -11
  527. package/types/primeng-icons-arrowright.d.ts +6 -9
  528. package/types/primeng-icons-arrowup.d.ts +8 -11
  529. package/types/primeng-icons-ban.d.ts +8 -11
  530. package/types/primeng-icons-bars.d.ts +6 -9
  531. package/types/primeng-icons-baseicon.d.ts +23 -22
  532. package/types/primeng-icons-blank.d.ts +6 -9
  533. package/types/primeng-icons-calendar.d.ts +6 -9
  534. package/types/primeng-icons-caretleft.d.ts +6 -9
  535. package/types/primeng-icons-caretright.d.ts +6 -9
  536. package/types/primeng-icons-check.d.ts +6 -9
  537. package/types/primeng-icons-chevrondown.d.ts +6 -9
  538. package/types/primeng-icons-chevronleft.d.ts +6 -9
  539. package/types/primeng-icons-chevronright.d.ts +6 -9
  540. package/types/primeng-icons-chevronup.d.ts +6 -9
  541. package/types/primeng-icons-exclamationtriangle.d.ts +8 -11
  542. package/types/primeng-icons-eye.d.ts +6 -9
  543. package/types/primeng-icons-eyeslash.d.ts +8 -11
  544. package/types/primeng-icons-filter.d.ts +8 -11
  545. package/types/primeng-icons-filterfill.d.ts +6 -9
  546. package/types/primeng-icons-filterslash.d.ts +8 -11
  547. package/types/primeng-icons-home.d.ts +8 -11
  548. package/types/primeng-icons-infocircle.d.ts +8 -11
  549. package/types/primeng-icons-minus.d.ts +6 -9
  550. package/types/primeng-icons-pencil.d.ts +8 -11
  551. package/types/primeng-icons-plus.d.ts +8 -11
  552. package/types/primeng-icons-refresh.d.ts +8 -11
  553. package/types/primeng-icons-search.d.ts +8 -11
  554. package/types/primeng-icons-searchminus.d.ts +8 -11
  555. package/types/primeng-icons-searchplus.d.ts +8 -11
  556. package/types/primeng-icons-sortalt.d.ts +8 -11
  557. package/types/primeng-icons-sortamountdown.d.ts +8 -11
  558. package/types/primeng-icons-sortamountupalt.d.ts +8 -11
  559. package/types/primeng-icons-spinner.d.ts +8 -11
  560. package/types/primeng-icons-star.d.ts +8 -11
  561. package/types/primeng-icons-starfill.d.ts +8 -11
  562. package/types/primeng-icons-thlarge.d.ts +8 -11
  563. package/types/primeng-icons-times.d.ts +6 -9
  564. package/types/primeng-icons-timescircle.d.ts +8 -11
  565. package/types/primeng-icons-trash.d.ts +8 -11
  566. package/types/primeng-icons-undo.d.ts +8 -11
  567. package/types/primeng-icons-upload.d.ts +8 -11
  568. package/types/primeng-icons-windowmaximize.d.ts +8 -11
  569. package/types/primeng-icons-windowminimize.d.ts +8 -11
  570. package/types/primeng-icons.d.ts +53 -53
  571. package/types/primeng-iftalabel.d.ts +37 -37
  572. package/types/primeng-image.d.ts +403 -308
  573. package/types/primeng-imagecompare.d.ts +93 -77
  574. package/types/primeng-inplace.d.ts +125 -111
  575. package/types/primeng-inputcolor.d.ts +646 -507
  576. package/types/primeng-inputgroup.d.ts +41 -41
  577. package/types/primeng-inputgroupaddon.d.ts +31 -31
  578. package/types/primeng-inputicon.d.ts +38 -32
  579. package/types/primeng-inputmask.d.ts +519 -362
  580. package/types/primeng-inputnumber.d.ts +572 -405
  581. package/types/primeng-inputotp.d.ts +205 -156
  582. package/types/primeng-inputpassword.d.ts +59 -43
  583. package/types/primeng-inputtags.d.ts +451 -297
  584. package/types/primeng-inputtext.d.ts +129 -93
  585. package/types/primeng-keyfilter.d.ts +62 -53
  586. package/types/primeng-knob.d.ts +256 -183
  587. package/types/primeng-label.d.ts +36 -36
  588. package/types/primeng-license.d.ts +1 -3
  589. package/types/primeng-listbox.d.ts +1040 -786
  590. package/types/primeng-megamenu.d.ts +535 -383
  591. package/types/primeng-menu.d.ts +478 -361
  592. package/types/primeng-menubar.d.ts +495 -354
  593. package/types/primeng-message.d.ts +191 -148
  594. package/types/primeng-metergroup.d.ts +249 -187
  595. package/types/primeng-motion.d.ts +602 -384
  596. package/types/primeng-multiselect.d.ts +1192 -858
  597. package/types/primeng-orderlist.d.ts +538 -390
  598. package/types/primeng-organizationchart.d.ts +235 -192
  599. package/types/primeng-overlay.d.ts +394 -294
  600. package/types/primeng-overlaybadge.d.ts +95 -64
  601. package/types/primeng-paginator.d.ts +409 -309
  602. package/types/primeng-panel.d.ts +267 -217
  603. package/types/primeng-panelmenu.d.ts +254 -228
  604. package/types/primeng-passthrough.d.ts +5 -7
  605. package/types/primeng-password.d.ts +605 -430
  606. package/types/primeng-picklist.d.ts +1041 -756
  607. package/types/primeng-popover.d.ts +235 -176
  608. package/types/primeng-progressbar.d.ts +130 -99
  609. package/types/primeng-progressspinner.d.ts +144 -108
  610. package/types/primeng-radiobutton.d.ts +218 -168
  611. package/types/primeng-rating.d.ts +239 -189
  612. package/types/primeng-ripple.d.ts +38 -42
  613. package/types/primeng-scrollarea.d.ts +290 -239
  614. package/types/primeng-scroller.d.ts +522 -387
  615. package/types/primeng-scrollpanel.d.ts +134 -128
  616. package/types/primeng-scrolltop.d.ts +169 -123
  617. package/types/primeng-select.d.ts +1013 -738
  618. package/types/primeng-selectbutton.d.ts +238 -164
  619. package/types/primeng-sidebar.d.ts +794 -561
  620. package/types/primeng-skeleton.d.ts +114 -83
  621. package/types/primeng-slider.d.ts +375 -306
  622. package/types/primeng-speeddial.d.ts +492 -370
  623. package/types/primeng-splitbutton.d.ts +381 -240
  624. package/types/primeng-splitter.d.ts +392 -299
  625. package/types/primeng-stepper.d.ts +422 -250
  626. package/types/primeng-steps.d.ts +157 -134
  627. package/types/primeng-styleclass.d.ts +163 -105
  628. package/types/primeng-table.d.ts +2898 -1911
  629. package/types/primeng-tabs.d.ts +467 -301
  630. package/types/primeng-tag.d.ts +106 -85
  631. package/types/primeng-terminal.d.ts +131 -117
  632. package/types/primeng-textarea.d.ts +145 -107
  633. package/types/primeng-tieredmenu.d.ts +572 -398
  634. package/types/primeng-timeline.d.ts +125 -109
  635. package/types/primeng-toast.d.ts +310 -247
  636. package/types/primeng-togglebutton.d.ts +254 -182
  637. package/types/primeng-toggleswitch.d.ts +188 -140
  638. package/types/primeng-toolbar.d.ts +82 -76
  639. package/types/primeng-tooltip.d.ts +334 -232
  640. package/types/primeng-tree.d.ts +762 -559
  641. package/types/primeng-treeselect.d.ts +749 -547
  642. package/types/primeng-treetable.d.ts +1839 -1313
  643. package/types/primeng-ts-helpers.d.ts +4 -6
  644. package/types/primeng-types-accordion.d.ts +58 -62
  645. package/types/primeng-types-autocomplete.d.ts +230 -233
  646. package/types/primeng-types-avatar.d.ts +25 -28
  647. package/types/primeng-types-avatargroup.d.ts +11 -14
  648. package/types/primeng-types-badge.d.ts +13 -16
  649. package/types/primeng-types-blockui.d.ts +18 -21
  650. package/types/primeng-types-breadcrumb.d.ts +65 -68
  651. package/types/primeng-types-button.d.ts +106 -109
  652. package/types/primeng-types-card.d.ts +54 -57
  653. package/types/primeng-types-carousel.d.ts +143 -146
  654. package/types/primeng-types-cascadeselect.d.ts +186 -192
  655. package/types/primeng-types-chart.d.ts +34 -39
  656. package/types/primeng-types-checkbox.d.ts +52 -55
  657. package/types/primeng-types-chip.d.ts +48 -51
  658. package/types/primeng-types-colorpicker.d.ts +59 -62
  659. package/types/primeng-types-commandmenu.d.ts +98 -101
  660. package/types/primeng-types-compare.d.ts +33 -36
  661. package/types/primeng-types-confirmdialog.d.ts +124 -127
  662. package/types/primeng-types-confirmpopup.d.ts +75 -78
  663. package/types/primeng-types-contextmenu.d.ts +100 -103
  664. package/types/primeng-types-dataview.d.ts +180 -183
  665. package/types/primeng-types-datepicker.d.ts +442 -445
  666. package/types/primeng-types-dialog.d.ts +93 -96
  667. package/types/primeng-types-divider.d.ts +14 -17
  668. package/types/primeng-types-dock.d.ts +45 -48
  669. package/types/primeng-types-drawer.d.ts +62 -65
  670. package/types/primeng-types-editor.d.ts +143 -146
  671. package/types/primeng-types-fieldset.d.ts +83 -87
  672. package/types/primeng-types-fileupload.d.ts +296 -301
  673. package/types/primeng-types-floatlabel.d.ts +12 -15
  674. package/types/primeng-types-fluid.d.ts +11 -14
  675. package/types/primeng-types-galleria.d.ts +209 -212
  676. package/types/primeng-types-gallery.d.ts +195 -198
  677. package/types/primeng-types-iconfield.d.ts +12 -15
  678. package/types/primeng-types-iftalabel.d.ts +11 -14
  679. package/types/primeng-types-image.d.ts +118 -121
  680. package/types/primeng-types-imagecompare.d.ts +22 -25
  681. package/types/primeng-types-inplace.d.ts +46 -49
  682. package/types/primeng-types-inputcolor.d.ts +86 -89
  683. package/types/primeng-types-inputgroup.d.ts +11 -14
  684. package/types/primeng-types-inputgroupaddon.d.ts +11 -14
  685. package/types/primeng-types-inputicon.d.ts +11 -14
  686. package/types/primeng-types-inputmask.d.ts +30 -33
  687. package/types/primeng-types-inputnumber.d.ts +72 -75
  688. package/types/primeng-types-inputotp.d.ts +67 -70
  689. package/types/primeng-types-inputpassword.d.ts +7 -10
  690. package/types/primeng-types-inputtags.d.ts +122 -125
  691. package/types/primeng-types-inputtext.d.ts +7 -10
  692. package/types/primeng-types-knob.d.ts +23 -26
  693. package/types/primeng-types-label.d.ts +7 -10
  694. package/types/primeng-types-listbox.d.ts +262 -266
  695. package/types/primeng-types-megamenu.d.ts +135 -138
  696. package/types/primeng-types-menu.d.ts +98 -101
  697. package/types/primeng-types-menubar.d.ts +122 -125
  698. package/types/primeng-types-message.d.ts +69 -72
  699. package/types/primeng-types-metergroup.d.ts +137 -140
  700. package/types/primeng-types-motion.d.ts +11 -14
  701. package/types/primeng-types-multiselect.d.ts +329 -333
  702. package/types/primeng-types-orderlist.d.ts +126 -129
  703. package/types/primeng-types-organizationchart.d.ts +147 -153
  704. package/types/primeng-types-overlay.d.ts +31 -34
  705. package/types/primeng-types-overlaybadge.d.ts +17 -20
  706. package/types/primeng-types-paginator.d.ts +131 -134
  707. package/types/primeng-types-panel.d.ts +91 -95
  708. package/types/primeng-types-panelmenu.d.ts +150 -153
  709. package/types/primeng-types-password.d.ts +94 -97
  710. package/types/primeng-types-picklist.d.ts +250 -260
  711. package/types/primeng-types-popover.d.ts +33 -36
  712. package/types/primeng-types-progressbar.d.ts +33 -36
  713. package/types/primeng-types-progressspinner.d.ts +27 -30
  714. package/types/primeng-types-radiobutton.d.ts +29 -32
  715. package/types/primeng-types-rating.d.ts +62 -65
  716. package/types/primeng-types-scrollarea.d.ts +35 -38
  717. package/types/primeng-types-scroller.d.ts +142 -146
  718. package/types/primeng-types-scrollpanel.d.ts +31 -34
  719. package/types/primeng-types-scrolltop.d.ts +37 -40
  720. package/types/primeng-types-select.d.ts +251 -254
  721. package/types/primeng-types-selectbutton.d.ts +56 -59
  722. package/types/primeng-types-shared.d.ts +6 -9
  723. package/types/primeng-types-sidebar.d.ts +105 -108
  724. package/types/primeng-types-skeleton.d.ts +11 -14
  725. package/types/primeng-types-slider.d.ts +59 -62
  726. package/types/primeng-types-speeddial.d.ts +71 -74
  727. package/types/primeng-types-splitbutton.d.ts +35 -38
  728. package/types/primeng-types-splitter.d.ts +58 -63
  729. package/types/primeng-types-stepper.d.ts +77 -80
  730. package/types/primeng-types-table.d.ts +743 -749
  731. package/types/primeng-types-tabs.d.ts +48 -51
  732. package/types/primeng-types-tag.d.ts +27 -30
  733. package/types/primeng-types-terminal.d.ts +43 -46
  734. package/types/primeng-types-textarea.d.ts +11 -14
  735. package/types/primeng-types-tieredmenu.d.ts +154 -157
  736. package/types/primeng-types-timeline.d.ts +60 -63
  737. package/types/primeng-types-toast.d.ts +92 -95
  738. package/types/primeng-types-togglebutton.d.ts +52 -55
  739. package/types/primeng-types-toggleswitch.d.ts +41 -44
  740. package/types/primeng-types-toolbar.d.ts +34 -37
  741. package/types/primeng-types-tooltip.d.ts +17 -20
  742. package/types/primeng-types-tree.d.ts +237 -246
  743. package/types/primeng-types-treeselect.d.ts +198 -202
  744. package/types/primeng-types-treetable.d.ts +492 -497
  745. package/types/primeng-usestyle.d.ts +28 -31
  746. package/types/primeng-utils.d.ts +37 -40
  747. package/types/primeng.d.ts +2 -2
  748. package/fesm2022/primeng-icons.mjs.map +0 -1
  749. package/fesm2022/primeng-ts-helpers.mjs.map +0 -1
  750. package/fesm2022/primeng-types-accordion.mjs.map +0 -1
  751. package/fesm2022/primeng-types-autocomplete.mjs.map +0 -1
  752. package/fesm2022/primeng-types-avatar.mjs.map +0 -1
  753. package/fesm2022/primeng-types-avatargroup.mjs.map +0 -1
  754. package/fesm2022/primeng-types-badge.mjs.map +0 -1
  755. package/fesm2022/primeng-types-blockui.mjs.map +0 -1
  756. package/fesm2022/primeng-types-breadcrumb.mjs.map +0 -1
  757. package/fesm2022/primeng-types-button.mjs.map +0 -1
  758. package/fesm2022/primeng-types-card.mjs.map +0 -1
  759. package/fesm2022/primeng-types-carousel.mjs.map +0 -1
  760. package/fesm2022/primeng-types-cascadeselect.mjs.map +0 -1
  761. package/fesm2022/primeng-types-chart.mjs.map +0 -1
  762. package/fesm2022/primeng-types-checkbox.mjs.map +0 -1
  763. package/fesm2022/primeng-types-chip.mjs.map +0 -1
  764. package/fesm2022/primeng-types-colorpicker.mjs.map +0 -1
  765. package/fesm2022/primeng-types-commandmenu.mjs.map +0 -1
  766. package/fesm2022/primeng-types-compare.mjs.map +0 -1
  767. package/fesm2022/primeng-types-confirmdialog.mjs.map +0 -1
  768. package/fesm2022/primeng-types-confirmpopup.mjs.map +0 -1
  769. package/fesm2022/primeng-types-contextmenu.mjs.map +0 -1
  770. package/fesm2022/primeng-types-dataview.mjs.map +0 -1
  771. package/fesm2022/primeng-types-datepicker.mjs.map +0 -1
  772. package/fesm2022/primeng-types-dialog.mjs.map +0 -1
  773. package/fesm2022/primeng-types-divider.mjs.map +0 -1
  774. package/fesm2022/primeng-types-dock.mjs.map +0 -1
  775. package/fesm2022/primeng-types-drawer.mjs.map +0 -1
  776. package/fesm2022/primeng-types-editor.mjs.map +0 -1
  777. package/fesm2022/primeng-types-fieldset.mjs.map +0 -1
  778. package/fesm2022/primeng-types-fileupload.mjs.map +0 -1
  779. package/fesm2022/primeng-types-floatlabel.mjs.map +0 -1
  780. package/fesm2022/primeng-types-fluid.mjs.map +0 -1
  781. package/fesm2022/primeng-types-galleria.mjs.map +0 -1
  782. package/fesm2022/primeng-types-gallery.mjs.map +0 -1
  783. package/fesm2022/primeng-types-iconfield.mjs.map +0 -1
  784. package/fesm2022/primeng-types-iftalabel.mjs.map +0 -1
  785. package/fesm2022/primeng-types-image.mjs.map +0 -1
  786. package/fesm2022/primeng-types-imagecompare.mjs.map +0 -1
  787. package/fesm2022/primeng-types-inplace.mjs.map +0 -1
  788. package/fesm2022/primeng-types-inputcolor.mjs.map +0 -1
  789. package/fesm2022/primeng-types-inputgroup.mjs.map +0 -1
  790. package/fesm2022/primeng-types-inputgroupaddon.mjs.map +0 -1
  791. package/fesm2022/primeng-types-inputicon.mjs.map +0 -1
  792. package/fesm2022/primeng-types-inputmask.mjs.map +0 -1
  793. package/fesm2022/primeng-types-inputnumber.mjs.map +0 -1
  794. package/fesm2022/primeng-types-inputotp.mjs.map +0 -1
  795. package/fesm2022/primeng-types-inputpassword.mjs.map +0 -1
  796. package/fesm2022/primeng-types-inputtags.mjs.map +0 -1
  797. package/fesm2022/primeng-types-inputtext.mjs.map +0 -1
  798. package/fesm2022/primeng-types-knob.mjs.map +0 -1
  799. package/fesm2022/primeng-types-label.mjs.map +0 -1
  800. package/fesm2022/primeng-types-listbox.mjs.map +0 -1
  801. package/fesm2022/primeng-types-megamenu.mjs.map +0 -1
  802. package/fesm2022/primeng-types-menu.mjs.map +0 -1
  803. package/fesm2022/primeng-types-menubar.mjs.map +0 -1
  804. package/fesm2022/primeng-types-message.mjs.map +0 -1
  805. package/fesm2022/primeng-types-metergroup.mjs.map +0 -1
  806. package/fesm2022/primeng-types-motion.mjs.map +0 -1
  807. package/fesm2022/primeng-types-multiselect.mjs.map +0 -1
  808. package/fesm2022/primeng-types-orderlist.mjs.map +0 -1
  809. package/fesm2022/primeng-types-organizationchart.mjs.map +0 -1
  810. package/fesm2022/primeng-types-overlay.mjs.map +0 -1
  811. package/fesm2022/primeng-types-overlaybadge.mjs.map +0 -1
  812. package/fesm2022/primeng-types-paginator.mjs.map +0 -1
  813. package/fesm2022/primeng-types-panel.mjs.map +0 -1
  814. package/fesm2022/primeng-types-panelmenu.mjs.map +0 -1
  815. package/fesm2022/primeng-types-password.mjs.map +0 -1
  816. package/fesm2022/primeng-types-picklist.mjs.map +0 -1
  817. package/fesm2022/primeng-types-popover.mjs.map +0 -1
  818. package/fesm2022/primeng-types-progressbar.mjs.map +0 -1
  819. package/fesm2022/primeng-types-progressspinner.mjs.map +0 -1
  820. package/fesm2022/primeng-types-radiobutton.mjs.map +0 -1
  821. package/fesm2022/primeng-types-rating.mjs.map +0 -1
  822. package/fesm2022/primeng-types-scrollarea.mjs.map +0 -1
  823. package/fesm2022/primeng-types-scroller.mjs.map +0 -1
  824. package/fesm2022/primeng-types-scrollpanel.mjs.map +0 -1
  825. package/fesm2022/primeng-types-scrolltop.mjs.map +0 -1
  826. package/fesm2022/primeng-types-select.mjs.map +0 -1
  827. package/fesm2022/primeng-types-selectbutton.mjs.map +0 -1
  828. package/fesm2022/primeng-types-shared.mjs.map +0 -1
  829. package/fesm2022/primeng-types-sidebar.mjs.map +0 -1
  830. package/fesm2022/primeng-types-skeleton.mjs.map +0 -1
  831. package/fesm2022/primeng-types-slider.mjs.map +0 -1
  832. package/fesm2022/primeng-types-speeddial.mjs.map +0 -1
  833. package/fesm2022/primeng-types-splitbutton.mjs.map +0 -1
  834. package/fesm2022/primeng-types-splitter.mjs.map +0 -1
  835. package/fesm2022/primeng-types-stepper.mjs.map +0 -1
  836. package/fesm2022/primeng-types-table.mjs.map +0 -1
  837. package/fesm2022/primeng-types-tabs.mjs.map +0 -1
  838. package/fesm2022/primeng-types-tag.mjs.map +0 -1
  839. package/fesm2022/primeng-types-terminal.mjs.map +0 -1
  840. package/fesm2022/primeng-types-textarea.mjs.map +0 -1
  841. package/fesm2022/primeng-types-tieredmenu.mjs.map +0 -1
  842. package/fesm2022/primeng-types-timeline.mjs.map +0 -1
  843. package/fesm2022/primeng-types-toast.mjs.map +0 -1
  844. package/fesm2022/primeng-types-togglebutton.mjs.map +0 -1
  845. package/fesm2022/primeng-types-toggleswitch.mjs.map +0 -1
  846. package/fesm2022/primeng-types-toolbar.mjs.map +0 -1
  847. package/fesm2022/primeng-types-tooltip.mjs.map +0 -1
  848. package/fesm2022/primeng-types-tree.mjs.map +0 -1
  849. package/fesm2022/primeng-types-treeselect.mjs.map +0 -1
  850. package/fesm2022/primeng-types-treetable.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"primeng-select.mjs","sources":["../../src/select/select-token.ts","../../src/select/style/selectstyle.ts","../../src/select/select-item.ts","../../src/select/select.ts","../../src/select/primeng-select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const SELECT_INSTANCE = new InjectionToken<any>('SELECT_INSTANCE');\nexport const SELECT_ITEM_INSTANCE = new InjectionToken<any>('SELECT_ITEM_INSTANCE');\n","import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/select';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-select p-component p-inputwrapper',\n {\n 'p-disabled': instance.$disabled(),\n 'p-invalid': instance.invalid(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-focus': instance.focused(),\n 'p-inputwrapper-filled': instance.$filled(),\n 'p-inputwrapper-focus': instance.focused() || instance.overlayVisible(),\n 'p-select-open': instance.overlayVisible(),\n 'p-select-fluid': instance.hasFluid,\n 'p-select-sm p-inputfield-sm': instance.size() === 'small',\n 'p-select-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n label: ({ instance }) => [\n 'p-select-label',\n {\n 'p-placeholder': instance.placeholder() && instance.label() === instance.placeholder(),\n 'p-select-label-empty': !instance.editable() && !instance.selectedItemTemplate() && (instance.label() === undefined || instance.label() === null || instance.label() === 'p-emptylabel' || instance.label().length === 0)\n }\n ],\n clearIcon: 'p-select-clear-icon',\n dropdown: 'p-select-dropdown',\n loadingIcon: 'p-select-loading-icon',\n dropdownIcon: 'p-select-dropdown-icon',\n overlay: 'p-select-overlay p-component-overlay p-component',\n header: 'p-select-header',\n pcFilter: 'p-select-filter',\n listContainer: 'p-select-list-container',\n list: 'p-select-list',\n optionGroup: 'p-select-option-group',\n optionGroupLabel: 'p-select-option-group-label',\n option: ({ instance }) => [\n 'p-select-option',\n {\n 'p-select-option-selected': instance.selected() && !instance.checkmark(),\n 'p-disabled': instance.disabled(),\n 'p-focus': instance.focused()\n }\n ],\n optionLabel: 'p-select-option-label',\n optionCheckIcon: 'p-select-option-check-icon',\n optionBlankIcon: 'p-select-option-blank-icon',\n emptyMessage: 'p-select-empty-message'\n};\n\n@Injectable()\nexport class SelectStyle extends BaseStyle {\n name = 'select';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Select also known as Select, is used to choose an item from a collection of options.\n *\n * [Live Demo](https://www.primeng.org/select/)\n *\n * @module selectstyle\n *\n */\nexport enum SelectClasses {\n /**\n * Class name of the root element\n */\n root = 'p-select',\n /**\n * Class name of the label element\n */\n label = 'p-select-label',\n /**\n * Class name of the clear icon element\n */\n clearIcon = 'p-select-clear-icon',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-select-dropdown',\n /**\n * Class name of the loadingicon element\n */\n loadingIcon = 'p-select-loading-icon',\n /**\n * Class name of the dropdown icon element\n */\n dropdownIcon = 'p-select-dropdown-icon',\n /**\n * Class name of the overlay element\n */\n overlay = 'p-select-overlay',\n /**\n * Class name of the header element\n */\n header = 'p-select-header',\n /**\n * Class name of the filter element\n */\n pcFilter = 'p-select-filter',\n /**\n * Class name of the list container element\n */\n listContainer = 'p-select-list-container',\n /**\n * Class name of the list element\n */\n list = 'p-select-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'p-select-option-group',\n /**\n * Class name of the option group label element\n */\n optionGroupLabel = 'p-select-option-group-label',\n /**\n * Class name of the option element\n */\n option = 'p-select-option',\n /**\n * Class name of the option label element\n */\n optionLabel = 'p-select-option-label',\n /**\n * Class name of the option check icon element\n */\n optionCheckIcon = 'p-select-option-check-icon',\n /**\n * Class name of the option blank icon element\n */\n optionBlankIcon = 'p-select-option-blank-icon',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-select-empty-message'\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, Component, computed, inject, input, numberAttribute, output, TemplateRef } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BindModule } from 'primeng/bind';\nimport { Check as CheckIcon } from '@primeicons/angular/check';\nimport { Blank as BlankIcon } from '@primeicons/angular/blank';\nimport { Ripple } from 'primeng/ripple';\nimport type { Select } from './select';\nimport { SELECT_INSTANCE, SELECT_ITEM_INSTANCE } from './select-token';\nimport { SelectStyle } from './style/selectstyle';\n\n@Component({\n selector: 'p-select-item',\n standalone: true,\n imports: [NgTemplateOutlet, SharedModule, Ripple, CheckIcon, BlankIcon, BindModule],\n template: `\n <li\n [id]=\"id()\"\n [pBind]=\"getPTOptions()\"\n (click)=\"onOptionClick($event)\"\n (mouseenter)=\"onOptionMouseEnter($event)\"\n role=\"option\"\n pRipple\n [attr.aria-label]=\"label()\"\n [attr.aria-setsize]=\"ariaSetSize()\"\n [attr.aria-posinset]=\"ariaPosInset()\"\n [attr.aria-selected]=\"selected()\"\n [attr.data-p-focused]=\"focused()\"\n [attr.data-p-highlight]=\"selected()\"\n [attr.data-p-selected]=\"selected()\"\n [attr.data-p-disabled]=\"disabled()\"\n [style]=\"itemSizeStyle()\"\n [class]=\"cx('option')\"\n >\n @if (checkmark()) {\n @if (selected()) {\n <svg data-p-icon=\"check\" [class]=\"cx('optionCheckIcon')\" [pBind]=\"$pcSelect?.ptm('optionCheckIcon')\" />\n } @else {\n <svg data-p-icon=\"blank\" [class]=\"cx('optionBlankIcon')\" [pBind]=\"$pcSelect?.ptm('optionBlankIcon')\" />\n }\n }\n @if (!template()) {\n <span [pBind]=\"$pcSelect?.ptm('optionLabel')\">{{ label() ?? 'empty' }}</span>\n }\n <ng-container *ngTemplateOutlet=\"template(); context: templateContext()\"></ng-container>\n </li>\n `,\n providers: [SelectStyle, { provide: PARENT_INSTANCE, useExisting: SelectItem }]\n})\nexport class SelectItem extends BaseComponent {\n hostName = 'select';\n\n $pcSelectItem: SelectItem | undefined = inject(SELECT_ITEM_INSTANCE, { optional: true, skipSelf: true }) ?? undefined;\n\n $pcSelect: Select | undefined = inject(SELECT_INSTANCE, { optional: true, skipSelf: true }) as Select | undefined;\n\n id = input<string>();\n\n option = input<any>();\n\n selected = input(undefined, { transform: booleanAttribute });\n\n focused = input(undefined, { transform: booleanAttribute });\n\n label = input<string>();\n\n disabled = input(undefined, { transform: booleanAttribute });\n\n visible = input(undefined, { transform: booleanAttribute });\n\n itemSize = input(undefined, { transform: numberAttribute });\n\n ariaPosInset = input<string>();\n\n ariaSetSize = input<string>();\n\n template = input<TemplateRef<any>>();\n\n checkmark = input(false, { transform: booleanAttribute });\n\n index = input<number>();\n\n scrollerOptions = input<any>();\n\n templateContext = computed(() => ({ $implicit: this.option() }));\n\n itemSizeStyle = computed(() => ({ height: this.scrollerOptions()?.itemSize + 'px' }));\n\n onClick = output<any>();\n\n onMouseEnter = output<any>();\n\n _componentStyle = inject(SelectStyle);\n\n onOptionClick(event: Event) {\n this.onClick.emit(event);\n }\n\n onOptionMouseEnter(event: Event) {\n this.onMouseEnter.emit(event);\n }\n\n getPTOptions() {\n return (\n this.$pcSelect?.getPTItemOptions?.(this.option(), this.scrollerOptions(), this.index() ?? 0, 'option') ??\n this.$pcSelect?.ptm('option', {\n context: {\n option: this.option(),\n selected: this.selected(),\n focused: this.focused(),\n disabled: this.disabled()\n }\n })\n );\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewChecked,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n NgModule,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { Search as SearchIcon } from '@primeicons/angular/search';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { deepEquals, equals, findLastIndex, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, isEmpty, isNotEmpty, isPrintableCharacter, resolveFieldData, scrollInView, uuid } from '@primeuix/utils';\nimport { FilterMatchModeType, FilterService, OverlayOptions, ScrollerOptions, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseInput } from 'primeng/baseinput';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { unblockBodyScroll } from 'primeng/dom';\nimport { IconField } from 'primeng/iconfield';\nimport { InputIcon } from 'primeng/inputicon';\nimport { InputText } from 'primeng/inputtext';\nimport { Overlay } from 'primeng/overlay';\nimport { Scroller } from 'primeng/scroller';\nimport { Tooltip } from 'primeng/tooltip';\nimport { Nullable } from 'primeng/ts-helpers';\nimport {\n SelectChangeEvent,\n SelectFilterEvent,\n SelectFilterOptions,\n SelectFilterTemplateContext,\n SelectGroupTemplateContext,\n SelectHeaderTemplateContext,\n SelectIconTemplateContext,\n SelectItemTemplateContext,\n SelectLazyLoadEvent,\n SelectLoaderTemplateContext,\n SelectPassThrough,\n SelectSelectedItemTemplateContext\n} from 'primeng/types/select';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport type { TooltipPosition } from 'primeng/types/tooltip';\nimport { SelectItem } from './select-item';\nimport { SELECT_INSTANCE } from './select-token';\nimport { SelectStyle } from './style/selectstyle';\n\nexport const SELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Select),\n multi: true\n};\n\n/**\n * Select is used to choose an item from a collection of options.\n * @group Components\n */\n\n@Component({\n selector: 'p-select',\n standalone: true,\n imports: [NgTemplateOutlet, SelectItem, Overlay, Tooltip, AutoFocus, TimesIcon, ChevronDownIcon, SearchIcon, InputText, IconField, InputIcon, Scroller, SharedModule, BindModule],\n template: `\n @if (!editable()) {\n <span\n #focusInput\n [class]=\"cx('label')\"\n [pBind]=\"ptm('label')\"\n [pTooltip]=\"tooltip()\"\n [pTooltipUnstyled]=\"unstyled()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [positionStyle]=\"tooltipPositionStyle()\"\n [tooltipStyleClass]=\"tooltipStyleClass()\"\n [attr.aria-disabled]=\"$disabled()\"\n [attr.id]=\"inputId()\"\n role=\"combobox\"\n [attr.aria-label]=\"$ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"$ariaExpanded\"\n [attr.aria-multiselectable]=\"$ariaMultiselectable()\"\n [attr.aria-controls]=\"$ariaControls()\"\n [attr.tabindex]=\"$tabindex()\"\n [pAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"$ariaActivedescendant\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.aria-required]=\"required()\"\n [attr.required]=\"$required()\"\n [attr.disabled]=\"$disabledAttr()\"\n [attr.data-p]=\"labelDataP\"\n >\n @if (!selectedItemTemplate()) {\n {{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}\n } @else {\n @if (isSelectedOptionEmpty()) {\n <span>{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</span>\n } @else {\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate(); context: selectedItemContext\"></ng-container>\n }\n }\n </span>\n } @else {\n <input\n #editableInput\n type=\"text\"\n [attr.id]=\"inputId()\"\n [class]=\"cx('label')\"\n [pBind]=\"ptm('label')\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.placeholder]=\"$placeholder()\"\n [attr.aria-label]=\"$ariaLabel()\"\n (input)=\"onEditableInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n [pAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"$ariaActivedescendant\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"$pattern()\"\n [attr.size]=\"inputSize()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.required]=\"$required()\"\n [attr.readonly]=\"$readonly()\"\n [attr.disabled]=\"$disabledAttr()\"\n [attr.data-p]=\"labelDataP\"\n />\n }\n @if (isVisibleClearIcon()) {\n @if (!clearIconTemplate()) {\n <svg data-p-icon=\"times\" [class]=\"cx('clearIcon')\" [pBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" />\n } @else {\n <span [class]=\"cx('clearIcon')\" [pBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate(); context: clearIconContext\"></ng-template>\n </span>\n }\n }\n\n <div [class]=\"cx('dropdown')\" [pBind]=\"ptm('dropdown')\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"$ariaExpanded\" [attr.data-pc-section]=\"'trigger'\">\n @if (loading()) {\n @if (loadingIconTemplate()) {\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate()\"></ng-container>\n } @else {\n @if (loadingIcon()) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())\" [pBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n } @else {\n <span [class]=\"cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')\" [pBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n }\n }\n } @else {\n @if (!dropdownIconTemplate()) {\n @if (dropdownIcon()) {\n <span [class]=\"cn(cx('dropdownIcon'), dropdownIcon())\" [pBind]=\"ptm('dropdownIcon')\"></span>\n } @else {\n <svg data-p-icon=\"chevron-down\" [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\" />\n }\n } @else {\n <span [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate(); context: dropdownIconContext\"></ng-template>\n </span>\n }\n }\n </div>\n\n <p-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [visible]=\"overlayVisible()\"\n (visibleChange)=\"overlayVisible.set($event)\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter($event)\"\n (onAfterLeave)=\"onOverlayAfterLeave($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template #content>\n <div [class]=\"cn(cx('overlay'), panelStyleClass())\" [style]=\"panelStyle()\" [pBind]=\"ptm('overlay')\" [attr.data-p]=\"overlayDataP\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenFirstFocusableEl')\"\n >\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate(); context: { class: cx('header') }\"></ng-container>\n @if (filter()) {\n <div [class]=\"cx('header')\" (click)=\"$event.stopPropagation()\" [pBind]=\"ptm('header')\">\n @if (filterTemplate()) {\n <ng-container *ngTemplateOutlet=\"filterTemplate(); context: filterTemplateContext\"></ng-container>\n } @else {\n <p-iconfield [pt]=\"ptm('pcFilterContainer')\" [unstyled]=\"unstyled()\">\n <input\n #filter\n pInputText\n [pSize]=\"size()\"\n type=\"text\"\n role=\"searchbox\"\n autocomplete=\"off\"\n [value]=\"filterInputValue()\"\n [class]=\"cx('pcFilter')\"\n [variant]=\"$variant()\"\n [attr.placeholder]=\"filterPlaceholder()\"\n [attr.aria-owns]=\"$ariaOwns()\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel()\"\n [attr.aria-activedescendant]=\"focusedOptionId()\"\n (keydown)=\"onFilterKeyDown($event)\"\n (blur)=\"onFilterBlur($event)\"\n [pt]=\"ptm('pcFilter')\"\n [unstyled]=\"unstyled()\"\n />\n <p-inputicon [pt]=\"ptm('pcFilterIconContainer')\" [unstyled]=\"unstyled()\">\n @if (!filterIconTemplate()) {\n <svg data-p-icon=\"search\" [pBind]=\"ptm('filterIcon')\" />\n } @else {\n <span [pBind]=\"ptm('filterIcon')\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate()\"></ng-template>\n </span>\n }\n </p-inputicon>\n </p-iconfield>\n }\n </div>\n }\n <div [class]=\"cx('listContainer')\" [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight() || 'auto'\" [pBind]=\"ptm('listContainer')\">\n @if (virtualScroll()) {\n <p-scroller\n hostName=\"select\"\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight() }\"\n [itemSize]=\"virtualScrollItemSize()!\"\n [autoSize]=\"true\"\n [lazy]=\"lazy()\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions()\"\n [pt]=\"ptm('virtualScroller')\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: getBuildInItemsContext(items, scrollerOptions)\"></ng-container>\n </ng-template>\n @if (loaderTemplate()) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate(); context: getLoaderContext(scrollerOptions)\"></ng-container>\n </ng-template>\n }\n </p-scroller>\n } @else {\n <ng-container *ngTemplateOutlet=\"buildInItems; context: defaultBuildInItemsContext\"></ng-container>\n }\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"$id() + '_list'\" [attr.aria-label]=\"listLabel\" [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [pBind]=\"ptm('list')\">\n @for (option of items; track trackOption(option, i); let i = $index) {\n @if (isOptionGroup(option)) {\n <li [class]=\"cx('optionGroup')\" [attr.id]=\"$id() + '_' + getOptionIndex(i, scrollerOptions)\" [style]=\"getItemSizeStyle(scrollerOptions)\" role=\"option\" [pBind]=\"ptm('optionGroup')\">\n @if (!groupTemplate()) {\n <span [class]=\"cx('optionGroupLabel')\" [pBind]=\"ptm('optionGroupLabel')\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate(); context: getGroupContext(option.optionGroup)\"></ng-container>\n </li>\n } @else {\n <p-select-item\n [id]=\"$id() + '_' + getOptionIndex(i, scrollerOptions)\"\n [option]=\"option\"\n [checkmark]=\"checkmark()\"\n [selected]=\"isSelected(option)\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n [template]=\"itemTemplate()\"\n [focused]=\"isOptionFocused(i, scrollerOptions)\"\n [ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n [ariaSetSize]=\"ariaSetSize\"\n [index]=\"i\"\n [unstyled]=\"unstyled()\"\n [scrollerOptions]=\"scrollerOptions\"\n (onClick)=\"onOptionSelect($event, option)\"\n (onMouseEnter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n ></p-select-item>\n }\n }\n @if (showEmptyFilterMessage()) {\n <li [class]=\"cx('emptyMessage')\" [style]=\"getItemSizeStyle(scrollerOptions)\" role=\"option\" [pBind]=\"ptm('emptyMessage')\">\n @if (!hasEmptyTemplate()) {\n {{ emptyFilterMessageLabel() }}\n } @else {\n <ng-container *ngTemplateOutlet=\"hasEmptyTemplate()\"></ng-container>\n }\n </li>\n }\n @if (showEmptyMessage()) {\n <li [class]=\"cx('emptyMessage')\" [style]=\"getItemSizeStyle(scrollerOptions)\" role=\"option\" [pBind]=\"ptm('emptyMessage')\">\n @if (!emptyTemplate()) {\n {{ emptyMessageLabel() || emptyFilterMessageLabel() }}\n } @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate()\"></ng-container>\n }\n </li>\n }\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [pBind]=\"ptm('hiddenLastFocusableEl')\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n ></span>\n </div>\n </ng-template>\n </p-overlay>\n `,\n host: {\n '[class]': \"cx('root')\",\n '[attr.id]': '$id()',\n '[attr.data-p]': 'containerDataP',\n '(click)': 'onContainerClick($event)'\n },\n providers: [SELECT_VALUE_ACCESSOR, SelectStyle, { provide: SELECT_INSTANCE, useExisting: Select }, { provide: PARENT_INSTANCE, useExisting: Select }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [Bind]\n})\nexport class Select extends BaseInput<SelectPassThrough, any> implements AfterViewInit, AfterViewChecked {\n componentName = 'Select';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n filterService = inject(FilterService);\n\n /**\n * Unique identifier of the component\n * @group Props\n */\n id = input<string>();\n\n private _internalId = uuid('pn_id_');\n\n $id = computed(() => this.id() || this._internalId);\n\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n scrollHeight = input<string>('200px');\n /**\n * When specified, displays an input field to filter the items on keyup.\n * @group Props\n */\n filter = input(undefined, { transform: booleanAttribute });\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n panelStyle = input<CSSProperties>();\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n panelStyleClass = input<string>();\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n readonly = input(undefined, { transform: booleanAttribute });\n /**\n * When present, custom value instead of predefined options can be entered using the editable input field.\n * @group Props\n */\n editable = input(undefined, { transform: booleanAttribute });\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(0, { transform: numberAttribute });\n /**\n * Default text to display when no option is selected.\n * @group Props\n */\n placeholder = input<string>();\n /**\n * Icon to display in loading state.\n * @group Props\n */\n loadingIcon = input<string>();\n /**\n * Placeholder text to show when filter input is empty.\n * @group Props\n */\n filterPlaceholder = input<string>();\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n filterLocale = input<string>();\n /**\n * Identifier of the accessible input element.\n * @group Props\n */\n inputId = input<string>();\n /**\n * A property to uniquely identify a value in options.\n * @group Props\n */\n dataKey = input<string>();\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n filterBy = input<string>();\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n filterFields = input<any[]>();\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input(undefined, { transform: booleanAttribute });\n /**\n * Clears the filter value when hiding the select.\n * @group Props\n */\n resetFilterOnHide = input(false, { transform: booleanAttribute });\n /**\n * Whether the selected option will be shown with a check mark.\n * @group Props\n */\n checkmark = input(false, { transform: booleanAttribute });\n /**\n * Icon class of the select icon.\n * @group Props\n */\n dropdownIcon = input<string>();\n /**\n * Whether the select is in loading state.\n * @group Props\n */\n loading = input(false, { transform: booleanAttribute });\n /**\n * Name of the label field of an option.\n * @group Props\n */\n optionLabel = input<string>();\n /**\n * Name of the value field of an option.\n * @group Props\n */\n optionValue = input<string>();\n /**\n * Name of the disabled field of an option or function to determine disabled state.\n * @group Props\n */\n optionDisabled = input<string | ((item: any) => boolean)>();\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n optionGroupLabel = input<string>('label');\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n optionGroupChildren = input<string>('items');\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n group = input(undefined, { transform: booleanAttribute });\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n showClear = input(undefined, { transform: booleanAttribute });\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n emptyFilterMessage = input<string>('');\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n emptyMessage = input<string>('');\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n lazy = input(false, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n virtualScroll = input(undefined, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n virtualScrollItemSize = input(undefined, { transform: numberAttribute });\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n virtualScrollOptions = input<ScrollerOptions>();\n /**\n * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.\n * @group Props\n */\n overlayOptions = input<OverlayOptions>();\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n ariaFilterLabel = input<string>();\n /**\n * Used to define a aria label attribute the current element.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n filterMatchMode = input<FilterMatchModeType>('contains');\n /**\n * Advisory information to display in a tooltip on hover.\n * @group Props\n */\n tooltip = input<string>('');\n /**\n * Position of the tooltip.\n * @group Props\n */\n tooltipPosition = input<TooltipPosition>('right');\n /**\n * Type of CSS position.\n * @group Props\n */\n tooltipPositionStyle = input<string>('absolute');\n /**\n * Style class of the tooltip.\n * @group Props\n */\n tooltipStyleClass = input<string>();\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n focusOnHover = input(true, { transform: booleanAttribute });\n /**\n * Determines if the option will be selected on focus.\n * @group Props\n */\n selectOnFocus = input(false, { transform: booleanAttribute });\n /**\n * When enabled, allows multiple items to be selected.\n * @group Props\n */\n multiple = input(false, { transform: booleanAttribute });\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n autoOptionFocus = input(false, { transform: booleanAttribute });\n /**\n * Applies focus to the filter element when the overlay is shown.\n * @group Props\n */\n autofocusFilter = input(true, { transform: booleanAttribute });\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n filterValue = input<string | null>();\n /**\n * An array of objects to display as the available options.\n * @group Props\n */\n options = input<any[] | null>();\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<AppendTo>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n /**\n * Callback to invoke when value of select changes.\n * @param {SelectChangeEvent} event - custom change event.\n * @group Emits\n */\n onChange = output<SelectChangeEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {SelectFilterEvent} event - custom filter event.\n * @group Emits\n */\n onFilter = output<SelectFilterEvent>();\n /**\n * Callback to invoke when select gets focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onFocus = output<Event>();\n /**\n * Callback to invoke when select loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onBlur = output<Event>();\n /**\n * Callback to invoke when component is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n onClick = output<MouseEvent>();\n /**\n * Callback to invoke when select overlay gets visible.\n * @param {MotionEvent} event - Motion event. The AnimationEvent typing is deprecated and kept for backward compatibility; only the MotionEvent properties exist at runtime.\n * @group Emits\n */\n onShow = output<MotionEvent & AnimationEvent>();\n /**\n * Callback to invoke when select overlay gets hidden.\n * @param {MotionEvent} event - Motion event. The AnimationEvent typing is deprecated and kept for backward compatibility; only the MotionEvent properties exist at runtime.\n * @group Emits\n */\n onHide = output<MotionEvent & AnimationEvent>();\n /**\n * Callback to invoke when select clears the value.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onClear = output<Event>();\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {SelectLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n onLazyLoad = output<SelectLazyLoadEvent>();\n\n _componentStyle = inject(SelectStyle);\n\n filterViewChild = viewChild<ElementRef>('filter');\n\n focusInputViewChild = viewChild<ElementRef>('focusInput');\n\n editableInputViewChild = viewChild<ElementRef>('editableInput');\n\n itemsViewChild = viewChild<ElementRef>('items');\n\n scroller = viewChild<Scroller>('scroller');\n\n overlayViewChild = viewChild<Overlay>('overlay');\n\n firstHiddenFocusableElementOnOverlay = viewChild<ElementRef>('firstHiddenFocusableEl');\n\n lastHiddenFocusableElementOnOverlay = viewChild<ElementRef>('lastHiddenFocusableEl');\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n /**\n * Custom item template.\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<SelectItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom group template.\n * @group Templates\n */\n groupTemplate = contentChild<TemplateRef<SelectGroupTemplateContext>>('group', { descendants: false });\n\n /**\n * Custom loader template.\n * @group Templates\n */\n loaderTemplate = contentChild<TemplateRef<SelectLoaderTemplateContext>>('loader', { descendants: false });\n\n /**\n * Custom selected item template.\n * @group Templates\n */\n selectedItemTemplate = contentChild<TemplateRef<SelectSelectedItemTemplateContext>>('selectedItem', { descendants: false });\n\n /**\n * Custom header template.\n * @param {SelectHeaderTemplateContext} context - header context.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<SelectHeaderTemplateContext>>('header', { descendants: false });\n\n /**\n * Custom filter template.\n * @group Templates\n */\n filterTemplate = contentChild<TemplateRef<SelectFilterTemplateContext>>('filter', { descendants: false });\n\n /**\n * Custom footer template.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n /**\n * Custom empty filter template.\n * @group Templates\n */\n emptyFilterTemplate = contentChild<TemplateRef<void>>('emptyfilter', { descendants: false });\n\n /**\n * Custom empty template.\n * @group Templates\n */\n emptyTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n dropdownIconTemplate = contentChild<TemplateRef<SelectIconTemplateContext>>('dropdownicon', { descendants: false });\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n loadingIconTemplate = contentChild<TemplateRef<void>>('loadingicon', { descendants: false });\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n clearIconTemplate = contentChild<TemplateRef<SelectIconTemplateContext>>('clearicon', { descendants: false });\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n filterIconTemplate = contentChild<TemplateRef<void>>('filtericon', { descendants: false });\n\n /**\n * Custom on icon template.\n * @group Templates\n */\n onIconTemplate = contentChild<TemplateRef<void>>('onicon', { descendants: false });\n\n /**\n * Custom off icon template.\n * @group Templates\n */\n offIconTemplate = contentChild<TemplateRef<void>>('officon', { descendants: false });\n\n /**\n * Custom cancel icon template.\n * @group Templates\n */\n cancelIconTemplate = contentChild<TemplateRef<void>>('cancelicon', { descendants: false });\n\n filterOptions: SelectFilterOptions | undefined;\n\n _filterValue = signal<any>(null);\n\n _placeholder = signal<string | undefined>(undefined);\n\n _options = signal<any[] | null>(null);\n\n value: any;\n\n hover: Nullable<boolean>;\n\n focused = signal<boolean>(false);\n\n overlayVisible = signal<boolean>(false);\n\n optionsChanged: Nullable<boolean>;\n\n panel: Nullable<HTMLDivElement>;\n\n dimensionsUpdated: Nullable<boolean>;\n\n hoveredItem: any;\n\n selectedOptionUpdated: Nullable<boolean>;\n\n searchValue: Nullable<string>;\n\n searchIndex: Nullable<number>;\n\n searchTimeout: any;\n\n previousSearchChar: Nullable<string>;\n\n currentSearchChar: Nullable<string>;\n\n preventModelTouched: Nullable<boolean>;\n\n focusedOptionIndex = signal<number>(-1);\n\n labelId: Nullable<string>;\n\n listId: Nullable<string>;\n\n clicked = signal<boolean>(false);\n\n emptyMessageLabel = computed(() => this.emptyMessage() || this.translate(TranslationKeys.EMPTY_MESSAGE));\n\n emptyFilterMessageLabel = computed(() => this.emptyFilterMessage() || this.translate(TranslationKeys.EMPTY_FILTER_MESSAGE));\n\n isVisibleClearIcon = computed(() => {\n if (!this.showClear() || this.$disabled()) return false;\n\n const value = this.modelValue();\n\n if (this.multiple()) {\n return Array.isArray(value) && value.length > 0;\n }\n\n return value != null && this.hasSelectedOption();\n });\n\n get listLabel(): string {\n return this.translate(TranslationKeys.ARIA, 'listLabel');\n }\n\n focusedOptionId = computed(() => (this.focusedOptionIndex() !== -1 ? `${this.$id()}_${this.focusedOptionIndex()}` : null));\n\n visibleOptions = computed(() => {\n const options = this.getAllVisibleAndNonVisibleOptions();\n\n if (this._filterValue()) {\n const _filterBy = this.filterBy() || this.optionLabel();\n\n const filteredOptions =\n !_filterBy && !this.filterFields() && !this.optionValue()\n ? this._options()?.filter((option) => {\n if (option.label) {\n return option.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;\n }\n\n return option.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;\n })\n : this.filterService.filter(options, this.searchFields(), this._filterValue().trim(), this.filterMatchMode(), this.filterLocale());\n\n if (this.group()) {\n const optionGroups = this._options() || [];\n const filtered: any[] = [];\n\n optionGroups.forEach((group) => {\n const groupChildren = this.getOptionGroupChildren(group);\n const filteredItems = groupChildren.filter((item) => filteredOptions?.includes(item));\n\n if (filteredItems.length > 0)\n filtered.push({\n ...group,\n [typeof this.optionGroupChildren() === 'string' ? this.optionGroupChildren() : 'items']: [...filteredItems]\n });\n });\n\n return this.flatOptions(filtered);\n }\n\n return filteredOptions;\n }\n\n return options;\n });\n\n label = computed(() => {\n if (this.multiple()) {\n const currentValue = this.modelValue();\n\n if (!Array.isArray(currentValue) || currentValue.length === 0) {\n return this.placeholder() || 'p-emptylabel';\n }\n\n const options = this.getAllVisibleAndNonVisibleOptions();\n const labels = currentValue\n .map((val) => {\n const opt = options.find((o) => !this.isOptionGroup(o) && equals(val, this.getOptionValue(o), this.equalityKey()));\n\n return opt ? this.getOptionLabel(opt) : String(val);\n })\n .filter(Boolean);\n\n return labels.join(', ');\n }\n\n // use getAllVisibleAndNonVisibleOptions verses just visible options\n // this will find the selected option whether or not the user is currently filtering because the filtered (i.e. visible) options, are a subset of all the options\n const options = this.getAllVisibleAndNonVisibleOptions();\n\n // use isOptionEqualsModelValue for the use case where the dropdown is initalized with a disabled option\n const selectedOptionIndex = options.findIndex((option) => {\n const isEqual = this.isOptionValueEqualsModelValue(option);\n\n return isEqual;\n });\n\n if (selectedOptionIndex !== -1) {\n const selectedOption = options[selectedOptionIndex];\n\n // Always show the label for selected options, even if disabled\n return this.getOptionLabel(selectedOption);\n }\n\n return this.placeholder() || 'p-emptylabel';\n });\n\n $ariaLabel = computed(() => this.ariaLabel() || (this.label() === 'p-emptylabel' ? undefined : this.label()));\n\n $ariaMultiselectable = computed(() => this.multiple() || undefined);\n\n $placeholder = computed(() => {\n const modelVal = this.modelValue();\n\n return modelVal === undefined || modelVal === null ? this.placeholder() || this._placeholder() : undefined;\n });\n\n $required = computed(() => (this.required() ? '' : undefined));\n\n $readonly = computed(() => (this.readonly() ? '' : undefined));\n\n $disabledAttr = computed(() => (this.$disabled() ? '' : undefined));\n\n $tabindex = computed(() => (!this.$disabled() ? this.tabindex() : -1));\n\n filterInputValue = computed(() => this._filterValue() || '');\n\n get $ariaActivedescendant() {\n return this.focused() ? this.focusedOptionId() : undefined;\n }\n\n get $ariaExpanded() {\n return this.overlayVisible();\n }\n\n $ariaControls = computed(() => (this.overlayVisible() ? this.$id() + '_list' : null));\n\n showEmptyFilterMessage = computed(() => this._filterValue() && this.isEmpty());\n\n showEmptyMessage = computed(() => !this._filterValue() && this.isEmpty());\n\n hasEmptyTemplate = computed(() => this.emptyFilterTemplate() || this.emptyTemplate());\n\n $ariaOwns = computed(() => this.$id() + '_list');\n\n get selectedItemContext(): SelectSelectedItemTemplateContext {\n return { $implicit: this.selectedOption() };\n }\n\n get clearIconContext(): SelectIconTemplateContext {\n return { class: this.cx('clearIcon') ?? '' };\n }\n\n get dropdownIconContext(): SelectIconTemplateContext {\n return { class: this.cx('dropdownIcon') ?? '' };\n }\n\n get filterTemplateContext(): SelectFilterTemplateContext {\n return { options: this.filterOptions ?? {} };\n }\n\n get defaultBuildInItemsContext() {\n return { $implicit: this.visibleOptions(), options: {} };\n }\n\n selectedOption = signal<any>(null);\n\n constructor() {\n super();\n effect(() => {\n const modelValue = this.modelValue();\n const visibleOptions = this.visibleOptions();\n\n if (visibleOptions && isNotEmpty(visibleOptions)) {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || this.editable()) {\n this.selectedOption.set(visibleOptions[selectedOptionIndex]);\n } else {\n // If no valid selected option found but we have a model value,\n // try to find the option including disabled ones for template display\n const disabledSelectedIndex = visibleOptions.findIndex((option) => this.isSelected(option));\n\n if (disabledSelectedIndex !== -1) {\n this.selectedOption.set(visibleOptions[disabledSelectedIndex]);\n }\n }\n }\n\n if (isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption())) {\n this.selectedOption.set(null);\n }\n\n if (modelValue !== undefined && this.editable()) {\n this.updateEditableLabel();\n }\n });\n\n // Handle filterValue input changes\n effect(() => {\n const filterVal = this.filterValue();\n\n if (filterVal !== undefined) {\n this._filterValue.set(filterVal);\n }\n });\n\n // Handle options input changes with deepEquals check\n effect(() => {\n const opts = this.options();\n\n if (!deepEquals(opts, this._options())) {\n this._options.set(opts ?? null);\n this.optionsChanged = true;\n }\n });\n }\n\n private isModelValueNotSet(): boolean {\n return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption());\n }\n\n private getAllVisibleAndNonVisibleOptions() {\n return this.group() ? this.flatOptions(this._options()) : this._options() || [];\n }\n\n virtualScrollerDisabled = computed(() => !this.virtualScroll());\n\n getBuildInItemsContext(items: any[], scrollerOptions: any) {\n return { $implicit: items, options: scrollerOptions };\n }\n\n getLoaderContext(scrollerOptions: any): SelectLoaderTemplateContext {\n return { options: scrollerOptions };\n }\n\n getItemSizeStyle(scrollerOptions: any) {\n return { height: scrollerOptions.itemSize + 'px' };\n }\n\n getGroupContext(optionGroup: any): SelectGroupTemplateContext {\n return { $implicit: optionGroup };\n }\n\n onInit() {\n this.autoUpdateModel();\n\n if (this.filterBy()) {\n this.filterOptions = {\n filter: (value) => this.onFilterInputChange(value),\n reset: () => this.resetFilter()\n };\n }\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n\n if (this.optionsChanged && this.overlayVisible()) {\n this.optionsChanged = false;\n\n setTimeout(() => {\n if (this.overlayViewChild()) {\n this.overlayViewChild()?.alignOverlay();\n }\n }, 1);\n }\n\n if (this.selectedOptionUpdated && this.itemsWrapper) {\n if (!this.multiple()) {\n let selectedItem = <any>findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, 'li[data-p-selected=\"true\"]');\n\n if (selectedItem) {\n scrollInView(this.itemsWrapper, selectedItem);\n }\n }\n\n this.selectedOptionUpdated = false;\n }\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n if (optionGroupChildren) {\n optionGroupChildren.forEach((o) => result.push(o));\n }\n\n return result;\n }, []);\n }\n\n autoUpdateModel() {\n if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption()) {\n this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n }\n\n onOptionSelect(event, option, isHide = true, preventChange = false) {\n // Check if option is disabled before proceeding\n if (this.isOptionDisabled(option)) {\n return;\n }\n\n if (this.multiple()) {\n this.onOptionSelectMultiple(event, option, preventChange);\n\n return;\n }\n\n if (!this.isSelected(option)) {\n const value = this.getOptionValue(option);\n\n this.updateModel(value, event);\n this.focusedOptionIndex.set(this.findSelectedOptionIndex());\n\n if (preventChange === false) {\n this.onChange.emit({ originalEvent: event, value: value });\n }\n }\n\n if (isHide) {\n this.hide(true);\n }\n }\n\n onOptionSelectMultiple(event, option, preventChange = false) {\n const value = this.getOptionValue(option);\n const currentValue = this.modelValue() ?? [];\n const newValue = this.isSelected(option) ? currentValue.filter((v) => !equals(v, value, this.equalityKey())) : [...currentValue, value];\n\n this.updateModel(newValue, event);\n\n if (preventChange === false) {\n this.onChange.emit({ originalEvent: event, value: newValue });\n }\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover()) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n updateModel(value, _event?) {\n this.value = value;\n this.onModelChange(value);\n this.writeModelValue(value);\n this.selectedOptionUpdated = true;\n }\n\n allowModelChange() {\n return !!this.modelValue() && !this.placeholder() && (this.modelValue() === undefined || this.modelValue() === null) && !this.editable() && this._options() && this._options()!.length;\n }\n\n isSelected(option) {\n if (this.multiple()) {\n const currentValue = this.modelValue();\n\n if (!Array.isArray(currentValue)) return false;\n\n const optionValue = this.getOptionValue(option);\n\n return currentValue.some((v) => equals(v, optionValue, this.equalityKey()));\n }\n\n return this.isOptionValueEqualsModelValue(option);\n }\n\n private isOptionValueEqualsModelValue(option: any) {\n // Don't check isValidOption here since we need to match disabled options too\n return option !== undefined && option !== null && !this.isOptionGroup(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());\n }\n\n onAfterViewInit() {\n if (this.editable()) {\n this.updateEditableLabel();\n }\n\n this.updatePlaceHolderForFloatingLabel();\n }\n\n updatePlaceHolderForFloatingLabel(): void {\n const parentElement = this.el.nativeElement.parentElement;\n const isInFloatingLabel = parentElement?.classList.contains('p-float-label');\n\n if (parentElement && isInFloatingLabel && !this.selectedOption()) {\n const label = parentElement.querySelector('label');\n\n if (label) {\n this._placeholder.set(label.textContent);\n }\n }\n }\n\n updateEditableLabel(): void {\n if (this.editableInputViewChild()) {\n this.editableInputViewChild()!.nativeElement.value = this.getOptionLabel(this.selectedOption()) || this.modelValue() || '';\n }\n }\n\n clearEditableLabel(): void {\n if (this.editableInputViewChild()) {\n this.editableInputViewChild()!.nativeElement.value = '';\n }\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled() ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel() !== undefined && this.optionLabel() !== null ? resolveFieldData(option, this.optionLabel()) : option && option.label !== undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue() && this.optionValue() !== null ? resolveFieldData(option, this.optionValue()) : !this.optionLabel() && option && option.value !== undefined ? option.value : option;\n }\n\n getPTItemOptions(option: any, itemOptions: any, index: number, key: string) {\n return this.ptm(key, {\n context: {\n option,\n index,\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n }\n\n isSelectedOptionEmpty() {\n if (this.multiple()) {\n const currentValue = this.modelValue();\n\n return !Array.isArray(currentValue) || currentValue.length === 0;\n }\n\n return isEmpty(this.selectedOption());\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled() ? resolveFieldData(option, this.optionDisabled()) : option && option.disabled !== undefined ? option.disabled : false;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel() !== undefined && this.optionGroupLabel() !== null ? resolveFieldData(optionGroup, this.optionGroupLabel()) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren() !== undefined && this.optionGroupChildren() !== null ? resolveFieldData(optionGroup, this.optionGroupChildren()) : optionGroup.items;\n }\n\n getAriaPosInset(index) {\n return (\n (this.optionGroupLabel()\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n get ariaSetSize() {\n return this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length;\n }\n\n /**\n * Callback to invoke on filter reset.\n * @group Method\n */\n public resetFilter(): void {\n this._filterValue.set(null);\n\n if (this.filterViewChild() && this.filterViewChild()!.nativeElement) {\n this.filterViewChild()!.nativeElement.value = '';\n }\n }\n\n onContainerClick(event: any) {\n if (this.$disabled() || this.readonly() || this.loading()) {\n return;\n }\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.overlayViewChild() || !this.overlayViewChild()!.el.nativeElement.contains(event.target)) {\n if (this.overlayVisible()) {\n this.hide(true);\n } else {\n this.show(true);\n }\n }\n\n this.focusInputViewChild()?.nativeElement.focus({ preventScroll: true });\n this.onClick.emit(event);\n this.clicked.set(true);\n }\n\n isEmpty() {\n return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);\n }\n onEditableInput(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n\n this.searchValue = '';\n const matched = this.searchOptions(event, value);\n\n if (!matched) {\n this.focusedOptionIndex.set(-1);\n }\n\n this.onModelChange(value);\n this.updateModel(value || null, event);\n setTimeout(() => {\n this.onChange.emit({ originalEvent: event, value: value });\n }, 1);\n\n if (!this.overlayVisible() && isNotEmpty(value)) {\n this.show();\n }\n }\n\n /**\n * Displays the panel.\n * @group Method\n */\n public show(isFocus?) {\n this.overlayVisible.set(true);\n\n this.focusedOptionIndex.set(this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.editable() ? -1 : this.findSelectedOptionIndex());\n\n if (isFocus) {\n focus(this.focusInputViewChild()?.nativeElement);\n }\n }\n\n onOverlayBeforeEnter(event: MotionEvent) {\n this.itemsWrapper = <any>findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name=\"virtualscroller\"]' : '[data-pc-section=\"listcontainer\"]');\n\n if (this.virtualScroll()) {\n this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);\n }\n\n if (this._options() && this._options()!.length) {\n if (this.virtualScroll()) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n setTimeout(() => {\n this.scroller()?.scrollToIndex(selectedIndex);\n }, 10);\n }\n } else {\n let selectedListItem = findSingle(this.itemsWrapper as HTMLElement, '[data-p-selected=\"true\"]');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }\n }\n\n if (this.filterViewChild() && this.filterViewChild()!.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter() && !this.editable()) {\n this.filterViewChild()!.nativeElement.focus();\n }\n }\n\n this.onShow.emit(event as MotionEvent & AnimationEvent);\n }\n onOverlayAfterLeave(event: MotionEvent) {\n this.itemsWrapper = null;\n this.onModelTouched();\n this.onHide.emit(event as MotionEvent & AnimationEvent);\n }\n\n /**\n * Hides the panel.\n * @group Method\n */\n public hide(isFocus?) {\n this.overlayVisible.set(false);\n this.focusedOptionIndex.set(-1);\n this.clicked.set(false);\n this.searchValue = '';\n\n if (this.overlayOptions()?.mode === 'modal') {\n unblockBodyScroll();\n }\n\n if (this.filter() && this.resetFilterOnHide()) {\n this.resetFilter();\n }\n\n if (isFocus) {\n if (this.focusInputViewChild()) {\n focus(this.focusInputViewChild()?.nativeElement);\n }\n\n if (this.editable() && this.editableInputViewChild()) {\n focus(this.editableInputViewChild()?.nativeElement);\n }\n }\n }\n\n onInputFocus(event: Event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused.set(true);\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n\n if (this.overlayVisible()) {\n this.scrollInView(this.focusedOptionIndex());\n }\n\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused.set(false);\n this.onBlur.emit(event);\n\n if (!this.preventModelTouched && !this.overlayVisible()) {\n this.onModelTouched();\n }\n\n this.preventModelTouched = false;\n }\n\n onKeyDown(event: KeyboardEvent, search: boolean = false) {\n if (this.$disabled() || this.readonly() || this.loading()) {\n return;\n }\n\n switch (event.code) {\n //down\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n //up\n case 'ArrowUp':\n this.onArrowUpKey(event, this.editable());\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, this.editable());\n break;\n\n case 'Delete':\n this.onDeleteKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event, this.editable());\n break;\n\n case 'End':\n this.onEndKey(event, this.editable());\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n //space\n case 'Space':\n this.onSpaceKey(event, search);\n break;\n\n //enter\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n //escape and tab\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event, this.editable());\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n if (!event.metaKey && isPrintableCharacter(event.key)) {\n if (!this.overlayVisible()) {\n this.show();\n }\n\n if (!this.editable()) {\n this.searchOptions(event, event.key);\n }\n }\n\n break;\n }\n\n this.clicked.set(false);\n }\n\n onFilterKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event, true);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n\n case 'Home':\n this.onHomeKey(event, true);\n break;\n\n case 'End':\n this.onEndKey(event, true);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event, true);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event, true);\n break;\n\n default:\n break;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onFilterBlur(event) {\n this.focusedOptionIndex.set(-1);\n }\n\n onArrowDownKey(event: KeyboardEvent) {\n if (!this.overlayVisible()) {\n this.show();\n\n if (this.editable()) {\n this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());\n }\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n // const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n // this.changeFocusedOptionIndex(event, optionIndex);\n\n // !this.overlayVisible() && this.show();\n event.preventDefault();\n event.stopPropagation();\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus() && !this.multiple()) {\n const option = this.visibleOptions()[index];\n\n this.onOptionSelect(event, option, false);\n }\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedOptionId();\n\n if (this.itemsViewChild() && this.itemsViewChild()!.nativeElement) {\n const element = findSingle(this.itemsViewChild()!.nativeElement, `li[id=\"${id}\"]`);\n\n if (element) {\n if (element.scrollIntoView) {\n element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n } else if (!this.virtualScrollerDisabled()) {\n setTimeout(() => {\n if (this.virtualScroll()) {\n this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }\n }, 0);\n }\n }\n }\n\n hasSelectedOption() {\n return this.modelValue() !== undefined;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n equalityKey() {\n return this.optionValue() ? undefined : this.dataKey();\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n isValidOption(option) {\n return option !== undefined && option !== null && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel() !== undefined && this.optionGroupLabel() !== null && option.optionGroup !== undefined && option.optionGroup !== null && option.group;\n }\n\n isOptionFocused(index: number, scrollerOptions: any) {\n return this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n trackOption(option: any, index: number) {\n if (this.isOptionGroup(option)) {\n return `group_${option.index}`;\n }\n\n const dataKey = this.dataKey();\n\n if (dataKey) {\n return resolveFieldData(option, dataKey);\n }\n\n return this.getOptionValue(option);\n }\n\n onArrowUpKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex() !== -1) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n\n this.onOptionSelect(event, option);\n }\n\n if (!this.multiple() && this.overlayVisible()) {\n this.hide();\n }\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n if (!this.overlayVisible()) {\n this.show();\n }\n }\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowLeftKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (pressedInInputText) {\n this.focusedOptionIndex.set(-1);\n }\n }\n\n onDeleteKey(event: KeyboardEvent) {\n if (this.showClear()) {\n this.clear(event);\n event.preventDefault();\n }\n }\n\n onHomeKey(event: any, pressedInInputText: boolean = false) {\n if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(0, target.value.length);\n } else {\n target.setSelectionRange(0, 0);\n this.focusedOptionIndex.set(-1);\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n\n if (!this.overlayVisible()) {\n this.show();\n }\n }\n\n event.preventDefault();\n }\n\n onEndKey(event: any, pressedInInputText = false) {\n if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(0, target.value.length);\n } else {\n const len = target.value.length;\n\n target.setSelectionRange(len, len);\n this.focusedOptionIndex.set(-1);\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n\n if (!this.overlayVisible()) {\n this.show();\n }\n }\n\n event.preventDefault();\n }\n\n onPageDownKey(event: KeyboardEvent) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event: KeyboardEvent) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onSpaceKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (!this.editable() && !pressedInInputText) {\n this.onEnterKey(event);\n }\n }\n\n onEnterKey(event, pressedInInput = false) {\n if (!this.overlayVisible()) {\n this.focusedOptionIndex.set(-1);\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex() !== -1) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n\n this.onOptionSelect(event, option);\n }\n\n if (!pressedInInput && !this.multiple()) {\n this.hide();\n }\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event: KeyboardEvent) {\n if (this.overlayVisible()) {\n this.hide(true);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible() && this.hasFocusableElements()) {\n focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);\n event.preventDefault();\n event.stopPropagation();\n } else {\n const consumedByOverlay = this.overlayVisible();\n\n if (this.focusedOptionIndex() !== -1 && consumedByOverlay) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n\n this.onOptionSelect(event, option);\n }\n\n if (this.overlayVisible()) {\n this.hide(this.filter());\n }\n\n if (consumedByOverlay) {\n event.stopPropagation();\n }\n }\n }\n }\n\n onFirstHiddenFocus(event) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getFirstFocusableElement(this.overlayViewChild()?.el?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInputViewChild()?.nativeElement;\n\n focus(focusableEl);\n }\n\n onLastHiddenFocus(event) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInputViewChild()?.nativeElement;\n\n focus(focusableEl);\n }\n\n hasFocusableElements() {\n return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n }\n\n onBackspaceKey(event: KeyboardEvent, pressedInInputText = false) {\n if (pressedInInputText) {\n if (!this.overlayVisible()) {\n this.show();\n }\n }\n }\n\n searchFields() {\n return this.filterBy()?.split(',') || this.filterFields() || [this.optionLabel()];\n }\n\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));\n\n if (optionIndex !== -1) {\n matched = true;\n }\n\n if (optionIndex === -1 && this.focusedOptionIndex() === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (optionIndex !== -1) {\n setTimeout(() => {\n this.changeFocusedOptionIndex(event, optionIndex);\n });\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n\n return matched;\n }\n\n isOptionMatched(option) {\n return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));\n }\n\n onFilterInputChange(event: Event | any): void {\n let value: string = (event.target as HTMLInputElement).value;\n\n this._filterValue.set(value);\n this.focusedOptionIndex.set(-1);\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });\n\n if (!this.virtualScrollerDisabled()) {\n this.scroller()?.scrollToIndex(0);\n }\n\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n applyFocus(): void {\n if (this.editable()) (findSingle(this.el.nativeElement, '[data-pc-section=\"label\"]') as any).focus();\n else focus(this.focusInputViewChild()?.nativeElement);\n }\n /**\n * Applies focus.\n * @group Method\n */\n public focus(): void {\n this.applyFocus();\n }\n /**\n * Clears the model.\n * @group Method\n */\n public clear(event?: Event) {\n this.updateModel(this.multiple() ? [] : null, event);\n this.clearEditableLabel();\n this.onModelTouched();\n this.onChange.emit({ originalEvent: event, value: this.value });\n this.onClear.emit(event!);\n this.resetFilter();\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n if (this.filter()) {\n this.resetFilter();\n }\n\n this.value = value;\n\n if (this.allowModelChange()) {\n this.onModelChange(value);\n }\n\n setModelValue(this.value);\n this.updateEditableLabel();\n }\n\n get containerDataP() {\n return this.cn({\n invalid: this.invalid(),\n disabled: this.$disabled(),\n focus: this.focused(),\n fluid: this.hasFluid,\n filled: this.$variant() === 'filled',\n [this.size() as string]: this.size()\n });\n }\n\n get labelDataP() {\n return this.cn({\n placeholder: this.label() === this.placeholder(),\n clearable: this.showClear(),\n disabled: this.$disabled(),\n [this.size() as string]: this.size(),\n empty: !this.editable() && !this.selectedItemTemplate() && (!this.label() || this.label() === 'p-emptylabel' || this.label()!.length === 0)\n });\n }\n\n get dropdownIconDataP() {\n return this.cn({\n [this.size() as string]: this.size()\n });\n }\n\n get overlayDataP() {\n return this.cn({\n ['overlay-' + this.$appendTo()]: 'overlay-' + this.$appendTo()\n });\n }\n}\n\n@NgModule({\n imports: [Select, SharedModule],\n exports: [Select, SharedModule]\n})\nexport class SelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["CheckIcon","BlankIcon","TimesIcon","ChevronDownIcon","SearchIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAM,eAAe,GAAG,IAAI,cAAc,CAAM,iBAAiB,CAAC;AAClE,MAAM,oBAAoB,GAAG,IAAI,cAAc,CAAM,sBAAsB,CAAC;;ACCnF,MAAM,OAAO,GAAG;AACZ,IAAA,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK;QACpB,qCAAqC;AACrC,QAAA;AACI,YAAA,YAAY,EAAE,QAAQ,CAAC,SAAS,EAAE;AAClC,YAAA,WAAW,EAAE,QAAQ,CAAC,OAAO,EAAE;AAC/B,YAAA,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,QAAQ;AACpD,YAAA,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE;AAC7B,YAAA,uBAAuB,EAAE,QAAQ,CAAC,OAAO,EAAE;YAC3C,sBAAsB,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC,cAAc,EAAE;AACvE,YAAA,eAAe,EAAE,QAAQ,CAAC,cAAc,EAAE;YAC1C,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;AACnC,YAAA,6BAA6B,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,OAAO;AAC1D,YAAA,6BAA6B,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK;AACtD;AACJ,KAAA;AACD,IAAA,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK;QACrB,gBAAgB;AAChB,QAAA;AACI,YAAA,eAAe,EAAE,QAAQ,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE;AACtF,YAAA,sBAAsB,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,KAAK,QAAQ,CAAC,KAAK,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,cAAc,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,KAAK,CAAC;AAC3N;AACJ,KAAA;AACD,IAAA,SAAS,EAAE,qBAAqB;AAChC,IAAA,QAAQ,EAAE,mBAAmB;AAC7B,IAAA,WAAW,EAAE,uBAAuB;AACpC,IAAA,YAAY,EAAE,wBAAwB;AACtC,IAAA,OAAO,EAAE,kDAAkD;AAC3D,IAAA,MAAM,EAAE,iBAAiB;AACzB,IAAA,QAAQ,EAAE,iBAAiB;AAC3B,IAAA,aAAa,EAAE,yBAAyB;AACxC,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,WAAW,EAAE,uBAAuB;AACpC,IAAA,gBAAgB,EAAE,6BAA6B;AAC/C,IAAA,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK;QACtB,iBAAiB;AACjB,QAAA;YACI,0BAA0B,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;AACxE,YAAA,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE;AACjC,YAAA,SAAS,EAAE,QAAQ,CAAC,OAAO;AAC9B;AACJ,KAAA;AACD,IAAA,WAAW,EAAE,uBAAuB;AACpC,IAAA,eAAe,EAAE,4BAA4B;AAC7C,IAAA,eAAe,EAAE,4BAA4B;AAC7C,IAAA,YAAY,EAAE;CACjB;AAGK,MAAO,WAAY,SAAQ,SAAS,CAAA;IACtC,IAAI,GAAG,QAAQ;IAEf,KAAK,GAAG,KAAK;IAEb,OAAO,GAAG,OAAO;uGALR,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;2GAAX,WAAW,EAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBADvB;;AASD;;;;;;;;AAQG;IACS;AAAZ,CAAA,UAAY,aAAa,EAAA;AACrB;;AAEG;AACH,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,UAAiB;AACjB;;AAEG;AACH,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,gBAAwB;AACxB;;AAEG;AACH,IAAA,aAAA,CAAA,WAAA,CAAA,GAAA,qBAAiC;AACjC;;AAEG;AACH,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,mBAA8B;AAC9B;;AAEG;AACH,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,uBAAqC;AACrC;;AAEG;AACH,IAAA,aAAA,CAAA,cAAA,CAAA,GAAA,wBAAuC;AACvC;;AAEG;AACH,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,kBAA4B;AAC5B;;AAEG;AACH,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,iBAA0B;AAC1B;;AAEG;AACH,IAAA,aAAA,CAAA,UAAA,CAAA,GAAA,iBAA4B;AAC5B;;AAEG;AACH,IAAA,aAAA,CAAA,eAAA,CAAA,GAAA,yBAAyC;AACzC;;AAEG;AACH,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,eAAsB;AACtB;;AAEG;AACH,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,uBAAqC;AACrC;;AAEG;AACH,IAAA,aAAA,CAAA,kBAAA,CAAA,GAAA,6BAAgD;AAChD;;AAEG;AACH,IAAA,aAAA,CAAA,QAAA,CAAA,GAAA,iBAA0B;AAC1B;;AAEG;AACH,IAAA,aAAA,CAAA,aAAA,CAAA,GAAA,uBAAqC;AACrC;;AAEG;AACH,IAAA,aAAA,CAAA,iBAAA,CAAA,GAAA,4BAA8C;AAC9C;;AAEG;AACH,IAAA,aAAA,CAAA,iBAAA,CAAA,GAAA,4BAA8C;AAC9C;;AAEG;AACH,IAAA,aAAA,CAAA,cAAA,CAAA,GAAA,wBAAuC;AAC3C,CAAC,EAzEW,aAAa,KAAb,aAAa,GAAA,EAAA,CAAA,CAAA;;ACpBnB,MAAO,UAAW,SAAQ,aAAa,CAAA;IACzC,QAAQ,GAAG,QAAQ;AAEnB,IAAA,aAAa,GAA2B,MAAM,CAAC,oBAAoB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,SAAS;AAErH,IAAA,SAAS,GAAuB,MAAM,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAuB;AAEjH,IAAA,EAAE,GAAG,KAAK;sFAAU;AAEpB,IAAA,MAAM,GAAG,KAAK;0FAAO;IAErB,QAAQ,GAAG,KAAK,CAAC,SAAS,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAE5D,OAAO,GAAG,KAAK,CAAC,SAAS,+EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAE3D,IAAA,KAAK,GAAG,KAAK;yFAAU;IAEvB,QAAQ,GAAG,KAAK,CAAC,SAAS,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAE5D,OAAO,GAAG,KAAK,CAAC,SAAS,+EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAE3D,QAAQ,GAAG,KAAK,CAAC,SAAS,gFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AAE3D,IAAA,YAAY,GAAG,KAAK;gGAAU;AAE9B,IAAA,WAAW,GAAG,KAAK;+FAAU;AAE7B,IAAA,QAAQ,GAAG,KAAK;4FAAoB;IAEpC,SAAS,GAAG,KAAK,CAAC,KAAK,iFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAEzD,IAAA,KAAK,GAAG,KAAK;yFAAU;AAEvB,IAAA,eAAe,GAAG,KAAK;mGAAO;AAE9B,IAAA,eAAe,GAAG,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;wFAAC;AAEhE,IAAA,aAAa,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,GAAG,IAAI,EAAE,CAAC;sFAAC;IAErF,OAAO,GAAG,MAAM,EAAO;IAEvB,YAAY,GAAG,MAAM,EAAO;AAE5B,IAAA,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC;AAErC,IAAA,aAAa,CAAC,KAAY,EAAA;AACtB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5B;AAEA,IAAA,kBAAkB,CAAC,KAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;IACjC;IAEA,YAAY,GAAA;QACR,QACI,IAAI,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC;AACtG,YAAA,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,EAAE;AAC1B,gBAAA,OAAO,EAAE;AACL,oBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;AACrB,oBAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;AACzB,oBAAA,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AACvB,oBAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAC1B;AACJ,aAAA,CAAC;IAEV;uGAjES,UAAU,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAV,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,SAAA,EAFR,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAhCrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAhCS,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,MAAM,sDAAEA,KAAS,EAAA,QAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAEC,KAAS,EAAA,QAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAmCzE,UAAU,EAAA,UAAA,EAAA,CAAA;kBAtCtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,YAAY,EAAE,MAAM,EAAED,KAAS,EAAEC,KAAS,EAAE,UAAU,CAAC;AACnF,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BT,IAAA,CAAA;AACD,oBAAA,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,UAAY,EAAE;AACjF,iBAAA;;;ACYM,MAAM,qBAAqB,GAAQ;AACtC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,MAAM,CAAC;AACrC,IAAA,KAAK,EAAE;;AAGX;;;AAGG;AA4RG,MAAO,MAAO,SAAQ,SAAiC,CAAA;IACzD,aAAa,GAAG,QAAQ;IAExB,qBAAqB,GAAG,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAEpD,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAErC;;;AAGG;AACH,IAAA,EAAE,GAAG,KAAK;sFAAU;AAEZ,IAAA,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;AAEpC,IAAA,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,WAAW;4EAAC;AAEnD;;;AAGG;IACH,YAAY,GAAG,KAAK,CAAS,OAAO;qFAAC;AACrC;;;AAGG;IACH,MAAM,GAAG,KAAK,CAAC,SAAS,8EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC1D;;;AAGG;AACH,IAAA,UAAU,GAAG,KAAK;8FAAiB;AACnC;;;AAGG;AACH,IAAA,eAAe,GAAG,KAAK;mGAAU;AACjC;;;AAGG;IACH,QAAQ,GAAG,KAAK,CAAC,SAAS,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC5D;;;AAGG;IACH,QAAQ,GAAG,KAAK,CAAC,SAAS,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC5D;;;AAGG;IACH,QAAQ,GAAG,KAAK,CAAC,CAAC,gFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACnD;;;AAGG;AACH,IAAA,WAAW,GAAG,KAAK;+FAAU;AAC7B;;;AAGG;AACH,IAAA,WAAW,GAAG,KAAK;+FAAU;AAC7B;;;AAGG;AACH,IAAA,iBAAiB,GAAG,KAAK;qGAAU;AACnC;;;AAGG;AACH,IAAA,YAAY,GAAG,KAAK;gGAAU;AAC9B;;;AAGG;AACH,IAAA,OAAO,GAAG,KAAK;2FAAU;AACzB;;;AAGG;AACH,IAAA,OAAO,GAAG,KAAK;2FAAU;AACzB;;;AAGG;AACH,IAAA,QAAQ,GAAG,KAAK;4FAAU;AAC1B;;;AAGG;AACH,IAAA,YAAY,GAAG,KAAK;gGAAS;AAC7B;;;AAGG;IACH,SAAS,GAAG,KAAK,CAAC,SAAS,iFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC7D;;;AAGG;IACH,iBAAiB,GAAG,KAAK,CAAC,KAAK,yFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACjE;;;AAGG;IACH,SAAS,GAAG,KAAK,CAAC,KAAK,iFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACzD;;;AAGG;AACH,IAAA,YAAY,GAAG,KAAK;gGAAU;AAC9B;;;AAGG;IACH,OAAO,GAAG,KAAK,CAAC,KAAK,+EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACvD;;;AAGG;AACH,IAAA,WAAW,GAAG,KAAK;+FAAU;AAC7B;;;AAGG;AACH,IAAA,WAAW,GAAG,KAAK;+FAAU;AAC7B;;;AAGG;AACH,IAAA,cAAc,GAAG,KAAK;kGAAqC;AAC3D;;;AAGG;IACH,gBAAgB,GAAG,KAAK,CAAS,OAAO;yFAAC;AACzC;;;AAGG;IACH,mBAAmB,GAAG,KAAK,CAAS,OAAO;4FAAC;AAC5C;;;AAGG;IACH,KAAK,GAAG,KAAK,CAAC,SAAS,6EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACzD;;;AAGG;IACH,SAAS,GAAG,KAAK,CAAC,SAAS,iFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC7D;;;AAGG;IACH,kBAAkB,GAAG,KAAK,CAAS,EAAE;2FAAC;AACtC;;;AAGG;IACH,YAAY,GAAG,KAAK,CAAS,EAAE;qFAAC;AAChC;;;AAGG;IACH,IAAI,GAAG,KAAK,CAAC,KAAK,4EAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACpD;;;AAGG;IACH,aAAa,GAAG,KAAK,CAAC,SAAS,qFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACjE;;;AAGG;IACH,qBAAqB,GAAG,KAAK,CAAC,SAAS,6FAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACxE;;;AAGG;AACH,IAAA,oBAAoB,GAAG,KAAK;wGAAmB;AAC/C;;;AAGG;AACH,IAAA,cAAc,GAAG,KAAK;kGAAkB;AACxC;;;AAGG;AACH,IAAA,eAAe,GAAG,KAAK;mGAAU;AACjC;;;AAGG;AACH,IAAA,SAAS,GAAG,KAAK;6FAAU;AAC3B;;;AAGG;AACH,IAAA,cAAc,GAAG,KAAK;kGAAU;AAChC;;;AAGG;IACH,eAAe,GAAG,KAAK,CAAsB,UAAU;wFAAC;AACxD;;;AAGG;IACH,OAAO,GAAG,KAAK,CAAS,EAAE;gFAAC;AAC3B;;;AAGG;IACH,eAAe,GAAG,KAAK,CAAkB,OAAO;wFAAC;AACjD;;;AAGG;IACH,oBAAoB,GAAG,KAAK,CAAS,UAAU;6FAAC;AAChD;;;AAGG;AACH,IAAA,iBAAiB,GAAG,KAAK;qGAAU;AACnC;;;AAGG;IACH,YAAY,GAAG,KAAK,CAAC,IAAI,oFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC3D;;;AAGG;IACH,aAAa,GAAG,KAAK,CAAC,KAAK,qFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC7D;;;AAGG;IACH,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACxD;;;AAGG;IACH,eAAe,GAAG,KAAK,CAAC,KAAK,uFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC/D;;;AAGG;IACH,eAAe,GAAG,KAAK,CAAC,IAAI,uFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAC9D;;;AAGG;AACH,IAAA,WAAW,GAAG,KAAK;+FAAiB;AACpC;;;AAGG;AACH,IAAA,OAAO,GAAG,KAAK;2FAAgB;AAC/B;;;;AAIG;IACH,QAAQ,GAAG,KAAK,CAAW,SAAS;iFAAC;AACrC;;;AAGG;IACH,aAAa,GAAG,KAAK,CAA4B,SAAS;sFAAC;AAC3D;;;;AAIG;IACH,QAAQ,GAAG,MAAM,EAAqB;AACtC;;;;AAIG;IACH,QAAQ,GAAG,MAAM,EAAqB;AACtC;;;;AAIG;IACH,OAAO,GAAG,MAAM,EAAS;AACzB;;;;AAIG;IACH,MAAM,GAAG,MAAM,EAAS;AACxB;;;;AAIG;IACH,OAAO,GAAG,MAAM,EAAc;AAC9B;;;;AAIG;IACH,MAAM,GAAG,MAAM,EAAgC;AAC/C;;;;AAIG;IACH,MAAM,GAAG,MAAM,EAAgC;AAC/C;;;;AAIG;IACH,OAAO,GAAG,MAAM,EAAS;AACzB;;;;AAIG;IACH,UAAU,GAAG,MAAM,EAAuB;AAE1C,IAAA,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC;IAErC,eAAe,GAAG,SAAS,CAAa,QAAQ;wFAAC;IAEjD,mBAAmB,GAAG,SAAS,CAAa,YAAY;4FAAC;IAEzD,sBAAsB,GAAG,SAAS,CAAa,eAAe;+FAAC;IAE/D,cAAc,GAAG,SAAS,CAAa,OAAO;uFAAC;IAE/C,QAAQ,GAAG,SAAS,CAAW,UAAU;iFAAC;IAE1C,gBAAgB,GAAG,SAAS,CAAU,SAAS;yFAAC;IAEhD,oCAAoC,GAAG,SAAS,CAAa,wBAAwB;6GAAC;IAEtF,mCAAmC,GAAG,SAAS,CAAa,uBAAuB;4GAAC;AAEpF,IAAA,YAAY;AAEZ,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;kFAAC;AAE5E;;;AAGG;IACH,YAAY,GAAG,YAAY,CAAyC,MAAM,oFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAEnG;;;AAGG;IACH,aAAa,GAAG,YAAY,CAA0C,OAAO,qFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAEtG;;;AAGG;IACH,cAAc,GAAG,YAAY,CAA2C,QAAQ,sFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAEzG;;;AAGG;IACH,oBAAoB,GAAG,YAAY,CAAiD,cAAc,4FAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAE3H;;;;AAIG;IACH,cAAc,GAAG,YAAY,CAA2C,QAAQ,sFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAEzG;;;AAGG;IACH,cAAc,GAAG,YAAY,CAA2C,QAAQ,sFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAEzG;;;AAGG;IACH,cAAc,GAAG,YAAY,CAAoB,QAAQ,sFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAElF;;;AAGG;IACH,mBAAmB,GAAG,YAAY,CAAoB,aAAa,2FAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAE5F;;;AAGG;IACH,aAAa,GAAG,YAAY,CAAoB,OAAO,qFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAEhF;;;AAGG;IACH,oBAAoB,GAAG,YAAY,CAAyC,cAAc,4FAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAEnH;;;AAGG;IACH,mBAAmB,GAAG,YAAY,CAAoB,aAAa,2FAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAE5F;;;AAGG;IACH,iBAAiB,GAAG,YAAY,CAAyC,WAAW,yFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAE7G;;;AAGG;IACH,kBAAkB,GAAG,YAAY,CAAoB,YAAY,0FAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAE1F;;;AAGG;IACH,cAAc,GAAG,YAAY,CAAoB,QAAQ,sFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAElF;;;AAGG;IACH,eAAe,GAAG,YAAY,CAAoB,SAAS,uFAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAEpF;;;AAGG;IACH,kBAAkB,GAAG,YAAY,CAAoB,YAAY,0FAAI,WAAW,EAAE,KAAK,EAAA,CAAG;AAE1F,IAAA,aAAa;IAEb,YAAY,GAAG,MAAM,CAAM,IAAI;qFAAC;IAEhC,YAAY,GAAG,MAAM,CAAqB,SAAS;qFAAC;IAEpD,QAAQ,GAAG,MAAM,CAAe,IAAI;iFAAC;AAErC,IAAA,KAAK;AAEL,IAAA,KAAK;IAEL,OAAO,GAAG,MAAM,CAAU,KAAK;gFAAC;IAEhC,cAAc,GAAG,MAAM,CAAU,KAAK;uFAAC;AAEvC,IAAA,cAAc;AAEd,IAAA,KAAK;AAEL,IAAA,iBAAiB;AAEjB,IAAA,WAAW;AAEX,IAAA,qBAAqB;AAErB,IAAA,WAAW;AAEX,IAAA,WAAW;AAEX,IAAA,aAAa;AAEb,IAAA,kBAAkB;AAElB,IAAA,iBAAiB;AAEjB,IAAA,mBAAmB;AAEnB,IAAA,kBAAkB,GAAG,MAAM,CAAS,CAAC,CAAC;2FAAC;AAEvC,IAAA,OAAO;AAEP,IAAA,MAAM;IAEN,OAAO,GAAG,MAAM,CAAU,KAAK;gFAAC;AAEhC,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,aAAa,CAAC;0FAAC;AAExG,IAAA,uBAAuB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,oBAAoB,CAAC;gGAAC;AAE3H,IAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAK;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;AAAE,YAAA,OAAO,KAAK;AAEvD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE;AAE/B,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjB,YAAA,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QACnD;QAEA,OAAO,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,iBAAiB,EAAE;IACpD,CAAC;2FAAC;AAEF,IAAA,IAAI,SAAS,GAAA;QACT,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC;IAC5D;AAEA,IAAA,eAAe,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,CAAA,EAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAA,CAAE,GAAG,IAAI,CAAC;wFAAC;AAE1H,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAK;AAC3B,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,iCAAiC,EAAE;AAExD,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;AAEvD,YAAA,MAAM,eAAe,GACjB,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;kBACjD,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,KAAI;AAC/B,oBAAA,IAAI,MAAM,CAAC,KAAK,EAAE;wBACd,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;oBACzG;oBAEA,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AACnG,gBAAA,CAAC;AACH,kBAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;AAE1I,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;gBACd,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;gBAC1C,MAAM,QAAQ,GAAU,EAAE;AAE1B,gBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;oBAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC;AACxD,oBAAA,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,eAAe,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AAErF,oBAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;wBACxB,QAAQ,CAAC,IAAI,CAAC;AACV,4BAAA,GAAG,KAAK;4BACR,CAAC,OAAO,IAAI,CAAC,mBAAmB,EAAE,KAAK,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,OAAO,GAAG,CAAC,GAAG,aAAa;AAC7G,yBAAA,CAAC;AACV,gBAAA,CAAC,CAAC;AAEF,gBAAA,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC;YACrC;AAEA,YAAA,OAAO,eAAe;QAC1B;AAEA,QAAA,OAAO,OAAO;IAClB,CAAC;uFAAC;AAEF,IAAA,KAAK,GAAG,QAAQ,CAAC,MAAK;AAClB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjB,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE;AAEtC,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3D,gBAAA,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,cAAc;YAC/C;AAEA,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,iCAAiC,EAAE;YACxD,MAAM,MAAM,GAAG;AACV,iBAAA,GAAG,CAAC,CAAC,GAAG,KAAI;AACT,gBAAA,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AAElH,gBAAA,OAAO,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;AACvD,YAAA,CAAC;iBACA,MAAM,CAAC,OAAO,CAAC;AAEpB,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B;;;AAIA,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,iCAAiC,EAAE;;QAGxD,MAAM,mBAAmB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,KAAI;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC;AAE1D,YAAA,OAAO,OAAO;AAClB,QAAA,CAAC,CAAC;AAEF,QAAA,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE;AAC5B,YAAA,MAAM,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;;AAGnD,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC;QAC9C;AAEA,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,cAAc;IAC/C,CAAC;8EAAC;AAEF,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,cAAc,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;mFAAC;IAE7G,oBAAoB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,SAAS;6FAAC;AAEnE,IAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AACzB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE;QAElC,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,GAAG,SAAS;IAC9G,CAAC;qFAAC;AAEF,IAAA,SAAS,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;kFAAC;AAE9D,IAAA,SAAS,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;kFAAC;AAE9D,IAAA,aAAa,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;sFAAC;IAEnE,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;kFAAC;IAEtE,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE;yFAAC;AAE5D,IAAA,IAAI,qBAAqB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,SAAS;IAC9D;AAEA,IAAA,IAAI,aAAa,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE;IAChC;IAEA,aAAa,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC;sFAAC;AAErF,IAAA,sBAAsB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;+FAAC;AAE9E,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE;yFAAC;AAEzE,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE;yFAAC;IAErF,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;kFAAC;AAEhD,IAAA,IAAI,mBAAmB,GAAA;QACnB,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE;IAC/C;AAEA,IAAA,IAAI,gBAAgB,GAAA;AAChB,QAAA,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE;IAChD;AAEA,IAAA,IAAI,mBAAmB,GAAA;AACnB,QAAA,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;IACnD;AAEA,IAAA,IAAI,qBAAqB,GAAA;QACrB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE;IAChD;AAEA,IAAA,IAAI,0BAA0B,GAAA;AAC1B,QAAA,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IAC5D;IAEA,cAAc,GAAG,MAAM,CAAM,IAAI;uFAAC;AAElC,IAAA,WAAA,GAAA;AACI,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;AACpC,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE;AAE5C,YAAA,IAAI,cAAc,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE;AAC9C,gBAAA,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE;AAE1D,gBAAA,IAAI,mBAAmB,KAAK,CAAC,CAAC,IAAI,UAAU,KAAK,SAAS,KAAK,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;oBACvK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;gBAChE;qBAAO;;;AAGH,oBAAA,MAAM,qBAAqB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAE3F,oBAAA,IAAI,qBAAqB,KAAK,CAAC,CAAC,EAAE;wBAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;oBAClE;gBACJ;YACJ;YAEA,IAAI,OAAO,CAAC,cAAc,CAAC,KAAK,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE;AACzH,gBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YACjC;YAEA,IAAI,UAAU,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBAC7C,IAAI,CAAC,mBAAmB,EAAE;YAC9B;AACJ,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE;AAEpC,YAAA,IAAI,SAAS,KAAK,SAAS,EAAE;AACzB,gBAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;YACpC;AACJ,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE;YAE3B,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE;gBACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;AAC/B,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI;YAC9B;AACJ,QAAA,CAAC,CAAC;IACN;IAEQ,kBAAkB,GAAA;AACtB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IACnG;IAEQ,iCAAiC,GAAA;QACrC,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE;IACnF;IAEA,uBAAuB,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;gGAAC;IAE/D,sBAAsB,CAAC,KAAY,EAAE,eAAoB,EAAA;QACrD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE;IACzD;AAEA,IAAA,gBAAgB,CAAC,eAAoB,EAAA;AACjC,QAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE;IACvC;AAEA,IAAA,gBAAgB,CAAC,eAAoB,EAAA;QACjC,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,QAAQ,GAAG,IAAI,EAAE;IACtD;AAEA,IAAA,eAAe,CAAC,WAAgB,EAAA;AAC5B,QAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE;IACrC;IAEA,MAAM,GAAA;QACF,IAAI,CAAC,eAAe,EAAE;AAEtB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACjB,IAAI,CAAC,aAAa,GAAG;gBACjB,MAAM,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;AAClD,gBAAA,KAAK,EAAE,MAAM,IAAI,CAAC,WAAW;aAChC;QACL;IACJ;IAEA,kBAAkB,GAAA;AACd,QAAA,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AAC9C,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;YAE3B,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;AACzB,oBAAA,IAAI,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE;gBAC3C;YACJ,CAAC,EAAE,CAAC,CAAC;QACT;QAEA,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,YAAY,EAAE;AACjD,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;AAClB,gBAAA,IAAI,YAAY,GAAQ,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,EAAE,aAAa,EAAE,4BAA4B,CAAC;gBAE5H,IAAI,YAAY,EAAE;AACd,oBAAA,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;gBACjD;YACJ;AAEA,YAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK;QACtC;IACJ;AAEA,IAAA,WAAW,CAAC,OAAO,EAAA;AACf,QAAA,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,KAAI;AACpD,YAAA,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAExD,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC;YAE/D,IAAI,mBAAmB,EAAE;AACrB,gBAAA,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtD;AAEA,YAAA,OAAO,MAAM;QACjB,CAAC,EAAE,EAAE,CAAC;IACV;IAEA,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC7E,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;AAC/D,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,EAAE,KAAK,CAAC;QACtF;IACJ;IAEA,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,aAAa,GAAG,KAAK,EAAA;;AAE9D,QAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE;YAC/B;QACJ;AAEA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACjB,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC;YAEzD;QACJ;QAEA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;YAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;AAEzC,YAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;YAC9B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;AAE3D,YAAA,IAAI,aAAa,KAAK,KAAK,EAAE;AACzB,gBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC9D;QACJ;QAEA,IAAI,MAAM,EAAE;AACR,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QACnB;IACJ;AAEA,IAAA,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,GAAG,KAAK,EAAA;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE;AAC5C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,YAAY,EAAE,KAAK,CAAC;AAEvI,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC;AAEjC,QAAA,IAAI,aAAa,KAAK,KAAK,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACjE;IACJ;IAEA,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAA;AAC3B,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE;AACrB,YAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC;QAC/C;IACJ;IAEA,WAAW,CAAC,KAAK,EAAE,MAAO,EAAA;AACtB,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAClB,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACzB,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;AAC3B,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;IACrC;IAEA,gBAAgB,GAAA;QACZ,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,UAAU,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAG,CAAC,MAAM;IAC1L;AAEA,IAAA,UAAU,CAAC,MAAM,EAAA;AACb,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjB,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE;AAEtC,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;AAAE,gBAAA,OAAO,KAAK;YAE9C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAE/C,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/E;AAEA,QAAA,OAAO,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC;IACrD;AAEQ,IAAA,6BAA6B,CAAC,MAAW,EAAA;;AAE7C,QAAA,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/J;IAEA,eAAe,GAAA;AACX,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACjB,IAAI,CAAC,mBAAmB,EAAE;QAC9B;QAEA,IAAI,CAAC,iCAAiC,EAAE;IAC5C;IAEA,iCAAiC,GAAA;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,aAAa;QACzD,MAAM,iBAAiB,GAAG,aAAa,EAAE,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC;QAE5E,IAAI,aAAa,IAAI,iBAAiB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC;YAElD,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC;YAC5C;QACJ;IACJ;IAEA,mBAAmB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;YAC/B,IAAI,CAAC,sBAAsB,EAAG,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE;QAC9H;IACJ;IAEA,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;YAC/B,IAAI,CAAC,sBAAsB,EAAG,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;QAC3D;IACJ;IAEA,cAAc,CAAC,KAAK,EAAE,eAAe,EAAA;QACjC,OAAO,IAAI,CAAC,uBAAuB,EAAE,GAAG,KAAK,GAAG,eAAe,IAAI,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IACrH;AAEA,IAAA,cAAc,CAAC,MAAW,EAAA;QACtB,OAAO,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM;IACxL;AAEA,IAAA,cAAc,CAAC,MAAW,EAAA;QACtB,OAAO,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM;IACjM;AAEA,IAAA,gBAAgB,CAAC,MAAW,EAAE,WAAgB,EAAE,KAAa,EAAE,GAAW,EAAA;AACtE,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;AACjB,YAAA,OAAO,EAAE;gBACL,MAAM;gBACN,KAAK;AACL,gBAAA,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;AACjC,gBAAA,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;AAC9E,gBAAA,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM;AACzC;AACJ,SAAA,CAAC;IACN;IAEA,qBAAqB,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACjB,YAAA,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE;AAEtC,YAAA,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QACpE;AAEA,QAAA,OAAO,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IACzC;AAEA,IAAA,gBAAgB,CAAC,MAAW,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,GAAG,MAAM,CAAC,QAAQ,GAAG,KAAK;IACtJ;AAEA,IAAA,mBAAmB,CAAC,WAAgB,EAAA;QAChC,OAAO,IAAI,CAAC,gBAAgB,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,WAAW,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,GAAG,WAAW,CAAC,KAAK,GAAG,WAAW;IAChO;AAEA,IAAA,sBAAsB,CAAC,WAAgB,EAAA;AACnC,QAAA,OAAO,IAAI,CAAC,mBAAmB,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,GAAG,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC,GAAG,WAAW,CAAC,KAAK;IAC1K;AAEA,IAAA,eAAe,CAAC,KAAK,EAAA;AACjB,QAAA,QACI,CAAC,IAAI,CAAC,gBAAgB;AAClB,cAAE,KAAK;gBACL,IAAI,CAAC,cAAc;AACd,qBAAA,KAAK,CAAC,CAAC,EAAE,KAAK;AACd,qBAAA,MAAM,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,cAAE,KAAK,IAAI,CAAC;IAExB;AAEA,IAAA,IAAI,WAAW,GAAA;QACX,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;IACvF;AAEA;;;AAGG;IACI,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;AAE3B,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,eAAe,EAAG,CAAC,aAAa,EAAE;YACjE,IAAI,CAAC,eAAe,EAAG,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE;QACpD;IACJ;AAEA,IAAA,gBAAgB,CAAC,KAAU,EAAA;AACvB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YACvD;QACJ;AAEA,QAAA,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE;YAC3J;QACJ;aAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAG,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACtG,YAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACvB,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB;iBAAO;AACH,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACnB;QACJ;AAEA,QAAA,IAAI,CAAC,mBAAmB,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;AACxE,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AACxB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAC1B;IAEA,OAAO,GAAA;QACH,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IAC5F;AACA,IAAA,eAAe,CAAC,KAAY,EAAA;AACxB,QAAA,MAAM,KAAK,GAAI,KAAK,CAAC,MAA2B,CAAC,KAAK;AAEtD,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;QAEhD,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnC;AAEA,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,EAAE,KAAK,CAAC;QACtC,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC9D,CAAC,EAAE,CAAC,CAAC;QAEL,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;YAC7C,IAAI,CAAC,IAAI,EAAE;QACf;IACJ;AAEA;;;AAGG;AACI,IAAA,IAAI,CAAC,OAAQ,EAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,2BAA2B,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE/M,IAAI,OAAO,EAAE;YACT,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,aAAa,CAAC;QACpD;IACJ;AAEA,IAAA,oBAAoB,CAAC,KAAkB,EAAA;AACnC,QAAA,IAAI,CAAC,YAAY,GAAQ,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,kCAAkC,GAAG,mCAAmC,CAAC;AAEhM,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACtB,YAAA,IAAI,CAAC,QAAQ,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,aAAa,CAAC;QACvE;AAEA,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAG,CAAC,MAAM,EAAE;AAC5C,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;AACtB,gBAAA,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AAExE,gBAAA,IAAI,aAAa,KAAK,CAAC,CAAC,EAAE;oBACtB,UAAU,CAAC,MAAK;wBACZ,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,aAAa,CAAC;oBACjD,CAAC,EAAE,EAAE,CAAC;gBACV;YACJ;iBAAO;gBACH,IAAI,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,YAA2B,EAAE,0BAA0B,CAAC;gBAE/F,IAAI,gBAAgB,EAAE;AAClB,oBAAA,gBAAgB,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBAC5E;YACJ;QACJ;AAEA,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,IAAI,CAAC,eAAe,EAAG,CAAC,aAAa,EAAE;AACjE,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI;YAE/B,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBAC5C,IAAI,CAAC,eAAe,EAAG,CAAC,aAAa,CAAC,KAAK,EAAE;YACjD;QACJ;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAqC,CAAC;IAC3D;AACA,IAAA,mBAAmB,CAAC,KAAkB,EAAA;AAClC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI;QACxB,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAqC,CAAC;IAC3D;AAEA;;;AAGG;AACI,IAAA,IAAI,CAAC,OAAQ,EAAA;AAChB,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC;QAC9B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;QAErB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,KAAK,OAAO,EAAE;AACzC,YAAA,iBAAiB,EAAE;QACvB;QAEA,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,iBAAiB,EAAE,EAAE;YAC3C,IAAI,CAAC,WAAW,EAAE;QACtB;QAEA,IAAI,OAAO,EAAE;AACT,YAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE,EAAE;gBAC5B,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,aAAa,CAAC;YACpD;YAEA,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,sBAAsB,EAAE,EAAE;gBAClD,KAAK,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,aAAa,CAAC;YACvD;QACJ;IACJ;AAEA,IAAA,YAAY,CAAC,KAAY,EAAA;AACrB,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;;YAElB;QACJ;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;AAEnL,QAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,kBAAkB,CAAC;AAE/C,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACvB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChD;AAEA,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IAC5B;AAEA,IAAA,WAAW,CAAC,KAAY,EAAA;AACpB,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAEvB,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YACrD,IAAI,CAAC,cAAc,EAAE;QACzB;AAEA,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK;IACpC;AAEA,IAAA,SAAS,CAAC,KAAoB,EAAE,MAAA,GAAkB,KAAK,EAAA;AACnD,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;YACvD;QACJ;AAEA,QAAA,QAAQ,KAAK,CAAC,IAAI;;AAEd,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAC1B;;AAGJ,YAAA,KAAK,SAAS;gBACV,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACzC;AAEJ,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,YAAY;gBACb,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3C;AAEJ,YAAA,KAAK,QAAQ;AACT,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACvB;AAEJ,YAAA,KAAK,MAAM;gBACP,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtC;AAEJ,YAAA,KAAK,KAAK;gBACN,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACrC;AAEJ,YAAA,KAAK,UAAU;AACX,gBAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBACzB;AAEJ,YAAA,KAAK,QAAQ;AACT,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACvB;;AAGJ,YAAA,KAAK,OAAO;AACR,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;gBAC9B;;AAGJ,YAAA,KAAK,OAAO;AACZ,YAAA,KAAK,aAAa;AACd,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;gBACtB;;AAGJ,YAAA,KAAK,QAAQ;AACT,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACvB;AAEJ,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACpB;AAEJ,YAAA,KAAK,WAAW;gBACZ,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3C;AAEJ,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,YAAY;;gBAEb;AAEJ,YAAA;AACI,gBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AACnD,oBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;wBACxB,IAAI,CAAC,IAAI,EAAE;oBACf;AAEA,oBAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;wBAClB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;oBACxC;gBACJ;gBAEA;;AAGR,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IAC3B;AAEA,IAAA,eAAe,CAAC,KAAK,EAAA;AACjB,QAAA,QAAQ,KAAK,CAAC,IAAI;AACd,YAAA,KAAK,WAAW;AACZ,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBAC1B;AAEJ,YAAA,KAAK,SAAS;AACV,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC9B;AAEJ,YAAA,KAAK,WAAW;AAChB,YAAA,KAAK,YAAY;AACb,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC;gBAChC;AAEJ,YAAA,KAAK,MAAM;AACP,gBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC3B;AAEJ,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC1B;AAEJ,YAAA,KAAK,OAAO;AACZ,YAAA,KAAK,aAAa;AACd,gBAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC5B;AAEJ,YAAA,KAAK,QAAQ;AACT,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACvB;AAEJ,YAAA,KAAK,KAAK;AACN,gBAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;gBAC1B;AAEJ,YAAA;gBACI;;IAEZ;;AAGA,IAAA,YAAY,CAAC,KAAK,EAAA;QACd,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACnC;AAEA,IAAA,cAAc,CAAC,KAAoB,EAAA;AAC/B,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YACxB,IAAI,CAAC,IAAI,EAAE;AAEX,YAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACjB,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACxE;QACJ;aAAO;AACH,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,IAAI,CAAC,2BAA2B,EAAE;AAE9L,YAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC;QACrD;;;;QAKA,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;IAC3B;IAEA,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAA;AACjC,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,KAAK,EAAE;AACrC,YAAA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC;YAClC,IAAI,CAAC,YAAY,EAAE;YAEnB,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC;gBAE3C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC;YAC7C;QACJ;IACJ;AAEA,IAAA,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,EAAA;QACnB,MAAM,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,GAAG,CAAA,EAAG,IAAI,CAAC,GAAG,EAAE,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,GAAG,IAAI,CAAC,eAAe,EAAE;AAE3E,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,cAAc,EAAG,CAAC,aAAa,EAAE;AAC/D,YAAA,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,EAAG,CAAC,aAAa,EAAE,CAAA,OAAA,EAAU,EAAE,CAAA,EAAA,CAAI,CAAC;YAElF,IAAI,OAAO,EAAE;AACT,gBAAA,IAAI,OAAO,CAAC,cAAc,EAAE;AACxB,oBAAA,OAAO,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBACnE;YACJ;AAAO,iBAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE;gBACxC,UAAU,CAAC,MAAK;AACZ,oBAAA,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;wBACtB,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACpF;gBACJ,CAAC,EAAE,CAAC,CAAC;YACT;QACJ;IACJ;IAEA,iBAAiB,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,SAAS;IAC1C;AAEA,IAAA,qBAAqB,CAAC,MAAM,EAAA;AACxB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChE;IAEA,WAAW,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE;IAC1D;IAEA,2BAA2B,GAAA;AACvB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE;AAEpD,QAAA,OAAO,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,aAAa;IAC1E;IAEA,oBAAoB,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAClF;IAEA,uBAAuB,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1H;AAEA,IAAA,mBAAmB,CAAC,KAAK,EAAA;QACrB,MAAM,kBAAkB,GACpB,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG;AACnC,cAAE,IAAI,CAAC,cAAc;AACd,iBAAA,KAAK,CAAC,KAAK,GAAG,CAAC;AACf,iBAAA,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;cACrD,CAAC,CAAC;AAEZ,QAAA,OAAO,kBAAkB,GAAG,CAAC,CAAC,GAAG,kBAAkB,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK;IAC3E;AAEA,IAAA,mBAAmB,CAAC,KAAK,EAAA;AACrB,QAAA,MAAM,kBAAkB,GAAG,KAAK,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;AAExI,QAAA,OAAO,kBAAkB,GAAG,CAAC,CAAC,GAAG,kBAAkB,GAAG,KAAK;IAC/D;IAEA,mBAAmB,GAAA;AACf,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACvF;IAEA,0BAA0B,GAAA;AACtB,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,EAAE;AAEpD,QAAA,OAAO,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,aAAa;IACzE;AAEA,IAAA,aAAa,CAAC,MAAM,EAAA;QAChB,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpH;AAEA,IAAA,aAAa,CAAC,MAAM,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK;IACvK;IAEA,eAAe,CAAC,KAAa,EAAE,eAAoB,EAAA;AAC/C,QAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC;IACpF;;IAGA,WAAW,CAAC,MAAW,EAAE,KAAa,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;AAC5B,YAAA,OAAO,CAAA,MAAA,EAAS,MAAM,CAAC,KAAK,EAAE;QAClC;AAEA,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;QAE9B,IAAI,OAAO,EAAE;AACT,YAAA,OAAO,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC;QAC5C;AAEA,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACtC;AAEA,IAAA,YAAY,CAAC,KAAoB,EAAE,kBAAA,GAA8B,KAAK,EAAA;AAClE,QAAA,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,kBAAkB,EAAE;YACrC,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE;AAClC,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAE/D,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;YACtC;YAEA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;gBAC3C,IAAI,CAAC,IAAI,EAAE;YACf;QACJ;aAAO;AACH,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,GAAG,IAAI,CAAC,0BAA0B,EAAE;AAE5L,YAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC;AAEjD,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;gBACxB,IAAI,CAAC,IAAI,EAAE;YACf;QACJ;QAEA,KAAK,CAAC,cAAc,EAAE;QACtB,KAAK,CAAC,eAAe,EAAE;IAC3B;AAEA,IAAA,cAAc,CAAC,KAAoB,EAAE,kBAAA,GAA8B,KAAK,EAAA;QACpE,IAAI,kBAAkB,EAAE;YACpB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnC;IACJ;AAEA,IAAA,WAAW,CAAC,KAAoB,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AAClB,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACjB,KAAK,CAAC,cAAc,EAAE;QAC1B;IACJ;AAEA,IAAA,SAAS,CAAC,KAAU,EAAE,kBAAA,GAA8B,KAAK,EAAA;AACrD,QAAA,IAAI,kBAAkB,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE;AACpF,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa;AAElC,YAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAChB,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACpD;iBAAO;AACH,gBAAA,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnC;QACJ;aAAO;YACH,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAEjE,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;gBACxB,IAAI,CAAC,IAAI,EAAE;YACf;QACJ;QAEA,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,QAAQ,CAAC,KAAU,EAAE,kBAAkB,GAAG,KAAK,EAAA;AAC3C,QAAA,IAAI,kBAAkB,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,iBAAiB,EAAE;AACpF,YAAA,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa;AAElC,YAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;gBAChB,MAAM,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACpD;iBAAO;AACH,gBAAA,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;AAE/B,gBAAA,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC;gBAClC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACnC;QACJ;aAAO;YACH,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAEhE,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;gBACxB,IAAI,CAAC,IAAI,EAAE;YACf;QACJ;QAEA,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,aAAa,CAAC,KAAoB,EAAA;AAC9B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,WAAW,CAAC,KAAoB,EAAA;AAC5B,QAAA,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACpB,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,UAAU,CAAC,KAAoB,EAAE,kBAAA,GAA8B,KAAK,EAAA;QAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EAAE;AACzC,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAC1B;IACJ;AAEA,IAAA,UAAU,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,EAAA;AACpC,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;YACxB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QAC9B;aAAO;YACH,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE;AAClC,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAE/D,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;YACtC;YAEA,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE;gBACrC,IAAI,CAAC,IAAI,EAAE;YACf;QACJ;QAEA,KAAK,CAAC,cAAc,EAAE;IAC1B;AAEA,IAAA,WAAW,CAAC,KAAoB,EAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACvB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACf,KAAK,CAAC,cAAc,EAAE;YACtB,KAAK,CAAC,eAAe,EAAE;QAC3B;IACJ;AAEA,IAAA,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,EAAA;QACtC,IAAI,CAAC,kBAAkB,EAAE;YACrB,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE;gBACtD,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,mCAAmC,EAAE,EAAE,aAAa,GAAG,IAAI,CAAC,oCAAoC,EAAE,EAAE,aAAa,CAAC;gBAC9I,KAAK,CAAC,cAAc,EAAE;gBACtB,KAAK,CAAC,eAAe,EAAE;YAC3B;iBAAO;AACH,gBAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,EAAE;gBAE/C,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,IAAI,iBAAiB,EAAE;AACvD,oBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAE/D,oBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC;gBACtC;AAEA,gBAAA,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;oBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC5B;gBAEA,IAAI,iBAAiB,EAAE;oBACnB,KAAK,CAAC,eAAe,EAAE;gBAC3B;YACJ;QACJ;IACJ;AAEA,IAAA,kBAAkB,CAAC,KAAK,EAAA;AACpB,QAAA,MAAM,WAAW,GACb,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,mBAAmB,EAAE,EAAE,aAAa,GAAG,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,wCAAwC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,EAAE,aAAa;QAElO,KAAK,CAAC,WAAW,CAAC;IACtB;AAEA,IAAA,iBAAiB,CAAC,KAAK,EAAA;AACnB,QAAA,MAAM,WAAW,GACb,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,mBAAmB,EAAE,EAAE,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,EAAE,aAAa,EAAE,wCAAwC,CAAC,GAAG,IAAI,CAAC,mBAAmB,EAAE,EAAE,aAAa;QAEjP,KAAK,CAAC,WAAW,CAAC;IACtB;IAEA,oBAAoB,GAAA;AAChB,QAAA,OAAO,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,EAAE,aAAa,EAAE,wCAAwC,CAAC,CAAC,MAAM,GAAG,CAAC;IAChJ;AAEA,IAAA,cAAc,CAAC,KAAoB,EAAE,kBAAkB,GAAG,KAAK,EAAA;QAC3D,IAAI,kBAAkB,EAAE;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;gBACxB,IAAI,CAAC,IAAI,EAAE;YACf;QACJ;IACJ;IAEA,YAAY,GAAA;QACR,OAAO,IAAI,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrF;IAEA,aAAa,CAAC,KAAK,EAAE,IAAI,EAAA;AACrB,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,IAAI;AAElD,QAAA,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,OAAO,GAAG,KAAK;QAEnB,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;AAEvF,QAAA,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;YACpB,OAAO,GAAG,IAAI;QAClB;AAEA,QAAA,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,EAAE;AACxD,YAAA,WAAW,GAAG,IAAI,CAAC,2BAA2B,EAAE;QACpD;AAEA,QAAA,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;YACpB,UAAU,CAAC,MAAK;AACZ,gBAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,WAAW,CAAC;AACrD,YAAA,CAAC,CAAC;QACN;AAEA,QAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACpB,YAAA,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC;QACpC;AAEA,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,MAAK;AACjC,YAAA,IAAI,CAAC,WAAW,GAAG,EAAE;AACrB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI;QAC7B,CAAC,EAAE,GAAG,CAAC;AAEP,QAAA,OAAO,OAAO;IAClB;AAEA,IAAA,eAAe,CAAC,MAAM,EAAA;AAClB,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC3L;AAEA,IAAA,mBAAmB,CAAC,KAAkB,EAAA;AAClC,QAAA,IAAI,KAAK,GAAY,KAAK,CAAC,MAA2B,CAAC,KAAK;AAE5D,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;AAEzE,QAAA,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE;YACjC,IAAI,CAAC,QAAQ,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;QACrC;QAEA,UAAU,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE;AAC3C,QAAA,CAAC,CAAC;IACN;IAEA,UAAU,GAAA;QACN,IAAI,IAAI,CAAC,QAAQ,EAAE;AAAG,YAAA,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,2BAA2B,CAAS,CAAC,KAAK,EAAE;;YAC/F,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,aAAa,CAAC;IACzD;AACA;;;AAGG;IACI,KAAK,GAAA;QACR,IAAI,CAAC,UAAU,EAAE;IACrB;AACA;;;AAGG;AACI,IAAA,KAAK,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC;QACpD,IAAI,CAAC,kBAAkB,EAAE;QACzB,IAAI,CAAC,cAAc,EAAE;AACrB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAC/D,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAM,CAAC;QACzB,IAAI,CAAC,WAAW,EAAE;IACtB;AAEA;;;;;AAKG;IACH,iBAAiB,CAAC,KAAU,EAAE,aAAmC,EAAA;AAC7D,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,WAAW,EAAE;QACtB;AAEA,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK;AAElB,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;AACzB,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAC7B;AAEA,QAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,mBAAmB,EAAE;IAC9B;AAEA,IAAA,IAAI,cAAc,GAAA;QACd,OAAO,IAAI,CAAC,EAAE,CAAC;AACX,YAAA,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;AACvB,YAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE;AAC1B,YAAA,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,QAAQ;AACpB,YAAA,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,QAAQ;YACpC,CAAC,IAAI,CAAC,IAAI,EAAY,GAAG,IAAI,CAAC,IAAI;AACrC,SAAA,CAAC;IACN;AAEA,IAAA,IAAI,UAAU,GAAA;QACV,OAAO,IAAI,CAAC,EAAE,CAAC;YACX,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE;AAChD,YAAA,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;AAC3B,YAAA,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE;YAC1B,CAAC,IAAI,CAAC,IAAI,EAAY,GAAG,IAAI,CAAC,IAAI,EAAE;AACpC,YAAA,KAAK,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,cAAc,IAAI,IAAI,CAAC,KAAK,EAAG,CAAC,MAAM,KAAK,CAAC;AAC7I,SAAA,CAAC;IACN;AAEA,IAAA,IAAI,iBAAiB,GAAA;QACjB,OAAO,IAAI,CAAC,EAAE,CAAC;YACX,CAAC,IAAI,CAAC,IAAI,EAAY,GAAG,IAAI,CAAC,IAAI;AACrC,SAAA,CAAC;IACN;AAEA,IAAA,IAAI,YAAY,GAAA;QACZ,OAAO,IAAI,CAAC,EAAE,CAAC;AACX,YAAA,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,SAAS;AAC/D,SAAA,CAAC;IACN;uGA5qDS,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,mBAAA,EAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,qBAAA,EAAA,EAAA,iBAAA,EAAA,uBAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,oBAAA,EAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,0BAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,YAAA,EAAA,SAAA,EAAA,OAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,SAAA,EALJ,CAAC,qBAAqB,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,cAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,aAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,eAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,sCAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,qCAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAjR3I;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0QT,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EA3QS,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,cAAA,EAAA,aAAA,EAAA,UAAA,EAAA,WAAA,EAAA,OAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,SAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,eAAA,EAAA,kBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,EAAA,cAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,SAAA,EAAA,cAAA,EAAA,eAAA,EAAA,SAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,OAAO,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,aAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAEC,KAAS,EAAA,QAAA,EAAA,4BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAEC,WAAe,8EAAEC,MAAU,EAAA,QAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,SAAS,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,QAAQ,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,OAAA,EAAA,UAAA,EAAA,cAAA,EAAA,aAAA,EAAA,aAAA,EAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,YAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,SAAA,EAAA,YAAA,EAAA,YAAA,EAAA,mBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,UAAA,EAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,UAAU,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAuRvK,MAAM,EAAA,UAAA,EAAA,CAAA;kBA1RlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAEF,KAAS,EAAEC,WAAe,EAAEC,MAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC;AACjL,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0QT,IAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,YAAY;AACvB,wBAAA,WAAW,EAAE,OAAO;AACpB,wBAAA,eAAe,EAAE,gBAAgB;AACjC,wBAAA,SAAS,EAAE;AACd,qBAAA;oBACD,SAAS,EAAE,CAAC,qBAAqB,EAAE,WAAW,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,MAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAA,MAAQ,EAAE,CAAC;oBACrJ,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,cAAc,EAAE,CAAC,IAAI;AACxB,iBAAA;AA2U2C,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,EAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,IAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,QAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,qBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,sBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,SAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,QAAQ,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAEJ,YAAY,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,sBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAET,eAAe,wEAEvB,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAEf,UAAU,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAEH,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oCAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAEc,wBAAwB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,mCAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAEzB,uBAAuB,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAUf,MAAM,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,wEAM5B,OAAO,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAM7B,QAAQ,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAMpB,cAAc,OAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAOlD,QAAQ,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAMhC,QAAQ,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAMvD,QAAQ,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,mBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAM3B,aAAa,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAM3C,OAAO,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAMH,cAAc,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,8EAM5D,aAAa,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAMlB,WAAW,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAMvD,YAAY,OAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAMxC,QAAQ,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAM/B,SAAS,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAM9B,YAAY,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;MAsvChF,YAAY,CAAA;uGAAZ,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAZ,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,YAnrDZ,MAAM,EAgrDG,YAAY,CAAA,EAAA,OAAA,EAAA,CAhrDrB,MAAM,EAirDG,YAAY,CAAA,EAAA,CAAA;AAErB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,EAAA,OAAA,EAAA,CAHX,MAAM,EAAE,YAAY,EACZ,YAAY,CAAA,EAAA,CAAA;;2FAErB,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC;AAC/B,oBAAA,OAAO,EAAE,CAAC,MAAM,EAAE,YAAY;AACjC,iBAAA;;;ACphED;;AAEG;;"}
1
+ {"version":3,"file":"primeng-select.mjs","names":["CheckIcon","BlankIcon","TimesIcon","ChevronDownIcon","SearchIcon"],"sources":["../../src/select/select-token.ts","../../src/select/style/selectstyle.ts","../../src/select/select-item.ts","../../src/select/select.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport const SELECT_INSTANCE = new InjectionToken<any>('SELECT_INSTANCE');\n","import { Injectable } from '@angular/core';\nimport { style } from '@primeuix/styles/select';\nimport { BaseStyle } from 'primeng/base';\n\nconst classes = {\n root: ({ instance }) => [\n 'p-select p-component p-inputwrapper',\n {\n 'p-disabled': instance.$disabled(),\n 'p-invalid': instance.invalid(),\n 'p-variant-filled': instance.$variant() === 'filled',\n 'p-focus': instance.focused(),\n 'p-inputwrapper-filled': instance.$filled(),\n 'p-inputwrapper-focus': instance.focused() || instance.overlayVisible(),\n 'p-select-open': instance.overlayVisible(),\n 'p-select-fluid': instance.hasFluid,\n 'p-select-sm p-inputfield-sm': instance.size() === 'small',\n 'p-select-lg p-inputfield-lg': instance.size() === 'large'\n }\n ],\n label: ({ instance }) => [\n 'p-select-label',\n {\n 'p-placeholder': instance.placeholder() && instance.label() === instance.placeholder(),\n 'p-select-label-empty': !instance.editable() && !instance.selectedItemTemplate() && (instance.label() === undefined || instance.label() === null || instance.label() === 'p-emptylabel' || instance.label().length === 0)\n }\n ],\n clearIcon: 'p-select-clear-icon',\n dropdown: 'p-select-dropdown',\n loadingIcon: 'p-select-loading-icon',\n dropdownIcon: 'p-select-dropdown-icon',\n overlay: 'p-select-overlay p-component-overlay p-component',\n header: 'p-select-header',\n pcFilter: 'p-select-filter',\n listContainer: 'p-select-list-container',\n list: 'p-select-list',\n optionGroup: 'p-select-option-group',\n optionGroupLabel: 'p-select-option-group-label',\n option: ({ instance }) => [\n 'p-select-option',\n {\n 'p-select-option-selected': instance.selected() && !instance.checkmark(),\n 'p-disabled': instance.disabled(),\n 'p-focus': instance.focused()\n }\n ],\n optionLabel: 'p-select-option-label',\n optionCheckIcon: 'p-select-option-check-icon',\n optionBlankIcon: 'p-select-option-blank-icon',\n emptyMessage: 'p-select-empty-message'\n};\n\n@Injectable()\nexport class SelectStyle extends BaseStyle {\n name = 'select';\n\n style = style;\n\n classes = classes;\n}\n\n/**\n *\n * Select also known as Select, is used to choose an item from a collection of options.\n *\n * [Live Demo](https://www.primeng.org/select/)\n *\n * @module selectstyle\n *\n */\nexport enum SelectClasses {\n /**\n * Class name of the root element\n */\n root = 'p-select',\n /**\n * Class name of the label element\n */\n label = 'p-select-label',\n /**\n * Class name of the clear icon element\n */\n clearIcon = 'p-select-clear-icon',\n /**\n * Class name of the dropdown element\n */\n dropdown = 'p-select-dropdown',\n /**\n * Class name of the loadingicon element\n */\n loadingIcon = 'p-select-loading-icon',\n /**\n * Class name of the dropdown icon element\n */\n dropdownIcon = 'p-select-dropdown-icon',\n /**\n * Class name of the overlay element\n */\n overlay = 'p-select-overlay',\n /**\n * Class name of the header element\n */\n header = 'p-select-header',\n /**\n * Class name of the filter element\n */\n pcFilter = 'p-select-filter',\n /**\n * Class name of the list container element\n */\n listContainer = 'p-select-list-container',\n /**\n * Class name of the list element\n */\n list = 'p-select-list',\n /**\n * Class name of the option group element\n */\n optionGroup = 'p-select-option-group',\n /**\n * Class name of the option group label element\n */\n optionGroupLabel = 'p-select-option-group-label',\n /**\n * Class name of the option element\n */\n option = 'p-select-option',\n /**\n * Class name of the option label element\n */\n optionLabel = 'p-select-option-label',\n /**\n * Class name of the option check icon element\n */\n optionCheckIcon = 'p-select-option-check-icon',\n /**\n * Class name of the option blank icon element\n */\n optionBlankIcon = 'p-select-option-blank-icon',\n /**\n * Class name of the empty message element\n */\n emptyMessage = 'p-select-empty-message'\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, Component, computed, inject, input, numberAttribute, output, TemplateRef } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent, PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BindModule } from 'primeng/bind';\nimport { Check as CheckIcon } from '@primeicons/angular/check';\nimport { Blank as BlankIcon } from '@primeicons/angular/blank';\nimport { Ripple } from 'primeng/ripple';\nimport type { Select } from './select';\nimport { SELECT_INSTANCE } from './select-token';\nimport { SelectStyle } from './style/selectstyle';\n\n@Component({\n selector: 'p-select-item',\n standalone: true,\n imports: [NgTemplateOutlet, SharedModule, Ripple, CheckIcon, BlankIcon, BindModule],\n template: `\n <li\n [id]=\"id()\"\n [pBind]=\"getPTOptions()\"\n (click)=\"onOptionClick($event)\"\n (mouseenter)=\"onOptionMouseEnter($event)\"\n role=\"option\"\n pRipple\n [attr.aria-label]=\"label()\"\n [attr.aria-setsize]=\"ariaSetSize()\"\n [attr.aria-posinset]=\"ariaPosInset()\"\n [attr.aria-selected]=\"selected()\"\n [attr.data-p-focused]=\"focused()\"\n [attr.data-p-highlight]=\"selected()\"\n [attr.data-p-selected]=\"selected()\"\n [attr.data-p-disabled]=\"disabled()\"\n [style]=\"itemSizeStyle()\"\n [class]=\"cx('option')\"\n >\n @if (checkmark()) {\n @if (selected()) {\n <svg data-p-icon=\"check\" [class]=\"cx('optionCheckIcon')\" [pBind]=\"$pcSelect?.ptm('optionCheckIcon')\" />\n } @else {\n <svg data-p-icon=\"blank\" [class]=\"cx('optionBlankIcon')\" [pBind]=\"$pcSelect?.ptm('optionBlankIcon')\" />\n }\n }\n @if (!template()) {\n <span [pBind]=\"$pcSelect?.ptm('optionLabel')\">{{ label() ?? 'empty' }}</span>\n }\n <ng-container *ngTemplateOutlet=\"template(); context: templateContext()\"></ng-container>\n </li>\n `,\n providers: [SelectStyle, { provide: PARENT_INSTANCE, useExisting: SelectItem }]\n})\nexport class SelectItem extends BaseComponent {\n hostName = 'select';\n\n $pcSelect: Select | undefined = inject(SELECT_INSTANCE, { optional: true, skipSelf: true }) as Select | undefined;\n\n id = input<string>();\n\n option = input<any>();\n\n selected = input(undefined, { transform: booleanAttribute });\n\n focused = input(undefined, { transform: booleanAttribute });\n\n label = input<string>();\n\n disabled = input(undefined, { transform: booleanAttribute });\n\n visible = input(undefined, { transform: booleanAttribute });\n\n itemSize = input(undefined, { transform: numberAttribute });\n\n ariaPosInset = input<string>();\n\n ariaSetSize = input<string>();\n\n template = input<TemplateRef<any>>();\n\n checkmark = input(false, { transform: booleanAttribute });\n\n index = input<number>();\n\n scrollerOptions = input<any>();\n\n templateContext = computed(() => ({ $implicit: this.option() }));\n\n itemSizeStyle = computed(() => ({ height: this.scrollerOptions()?.itemSize + 'px' }));\n\n onClick = output<any>();\n\n onMouseEnter = output<any>();\n\n _componentStyle = inject(SelectStyle);\n\n onOptionClick(event: Event) {\n this.onClick.emit(event);\n }\n\n onOptionMouseEnter(event: Event) {\n this.onMouseEnter.emit(event);\n }\n\n getPTOptions() {\n return (\n this.$pcSelect?.getPTItemOptions?.(this.option(), this.scrollerOptions(), this.index() ?? 0, 'option') ??\n this.$pcSelect?.ptm('option', {\n context: {\n option: this.option(),\n selected: this.selected(),\n focused: this.focused(),\n disabled: this.disabled()\n }\n })\n );\n }\n}\n","import { isPlatformBrowser, NgTemplateOutlet } from '@angular/common';\nimport {\n AfterViewChecked,\n AfterViewInit,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n isDevMode,\n NgModule,\n numberAttribute,\n output,\n signal,\n TemplateRef,\n viewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChevronDown as ChevronDownIcon } from '@primeicons/angular/chevron-down';\nimport { Search as SearchIcon } from '@primeicons/angular/search';\nimport { Times as TimesIcon } from '@primeicons/angular/times';\nimport { MotionEvent, MotionOptions } from '@primeuix/motion';\nimport { deepEquals, equals, findLastIndex, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, isEmpty, isNotEmpty, isPrintableCharacter, resolveFieldData, scrollInView, uuid } from '@primeuix/utils';\nimport { FilterMatchModeType, FilterService, OverlayOptions, ScrollerOptions, SharedModule, TranslationKeys } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { PARENT_INSTANCE } from 'primeng/basecomponent';\nimport { BaseInput } from 'primeng/baseinput';\nimport { Bind, BindModule } from 'primeng/bind';\nimport { unblockBodyScroll } from 'primeng/dom';\nimport { IconField } from 'primeng/iconfield';\nimport { InputIcon } from 'primeng/inputicon';\nimport { InputText } from 'primeng/inputtext';\nimport { Overlay } from 'primeng/overlay';\nimport { Scroller } from 'primeng/scroller';\nimport { Tooltip } from 'primeng/tooltip';\nimport { Nullable } from 'primeng/ts-helpers';\nimport {\n SelectChangeEvent,\n SelectFilterEvent,\n SelectFilterOptions,\n SelectFilterTemplateContext,\n SelectGroupTemplateContext,\n SelectHeaderTemplateContext,\n SelectIconTemplateContext,\n SelectItemTemplateContext,\n SelectLazyLoadEvent,\n SelectLoaderTemplateContext,\n SelectPassThrough,\n SelectSelectedItemTemplateContext\n} from 'primeng/types/select';\nimport type { AppendTo, CSSProperties } from 'primeng/types/shared';\nimport type { TooltipPosition } from 'primeng/types/tooltip';\nimport { SelectItem } from './select-item';\nimport { SELECT_INSTANCE } from './select-token';\nimport { SelectStyle } from './style/selectstyle';\n\nexport const SELECT_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Select),\n multi: true\n};\n\n/**\n * Select is used to choose an item from a collection of options.\n * @group Components\n */\n\n@Component({\n selector: 'p-select',\n standalone: true,\n imports: [NgTemplateOutlet, SelectItem, Overlay, Tooltip, AutoFocus, TimesIcon, ChevronDownIcon, SearchIcon, InputText, IconField, InputIcon, Scroller, SharedModule, BindModule],\n template: `\n @if (!editable()) {\n <span\n #focusInput\n [class]=\"cx('label')\"\n [pBind]=\"ptm('label')\"\n [pTooltip]=\"tooltip()\"\n [pTooltipUnstyled]=\"unstyled()\"\n [tooltipPosition]=\"tooltipPosition()\"\n [positionStyle]=\"tooltipPositionStyle()\"\n [tooltipStyleClass]=\"tooltipStyleClass()\"\n [attr.aria-disabled]=\"$disabled()\"\n [attr.id]=\"inputId()\"\n role=\"combobox\"\n [attr.aria-label]=\"$ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.aria-expanded]=\"$ariaExpanded\"\n [attr.aria-multiselectable]=\"$ariaMultiselectable()\"\n [attr.aria-controls]=\"$ariaControls()\"\n [attr.tabindex]=\"$tabindex()\"\n [pAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"$ariaActivedescendant\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [attr.aria-required]=\"required()\"\n [attr.required]=\"$required()\"\n [attr.disabled]=\"$disabledAttr()\"\n [attr.data-p]=\"labelDataP()\"\n >\n @if (!selectedItemTemplate()) {\n {{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}\n } @else {\n @if (isSelectedOptionEmpty()) {\n <span>{{ label() === 'p-emptylabel' ? '&nbsp;' : label() }}</span>\n } @else {\n <ng-container *ngTemplateOutlet=\"selectedItemTemplate(); context: selectedItemContext()\"></ng-container>\n }\n }\n </span>\n } @else {\n <input\n #editableInput\n type=\"text\"\n [attr.id]=\"inputId()\"\n [class]=\"cx('label')\"\n [pBind]=\"ptm('label')\"\n [attr.aria-haspopup]=\"'listbox'\"\n [attr.placeholder]=\"$placeholder()\"\n [attr.aria-label]=\"$ariaLabel()\"\n (input)=\"onEditableInput($event)\"\n (keydown)=\"onKeyDown($event)\"\n [pAutoFocus]=\"autofocus()\"\n [attr.aria-activedescendant]=\"$ariaActivedescendant\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.name]=\"name()\"\n [attr.minlength]=\"minlength()\"\n [attr.min]=\"min()\"\n [attr.max]=\"max()\"\n [attr.pattern]=\"$pattern()\"\n [attr.size]=\"inputSize()\"\n [attr.maxlength]=\"maxlength()\"\n [attr.required]=\"$required()\"\n [attr.readonly]=\"$readonly()\"\n [attr.disabled]=\"$disabledAttr()\"\n [attr.data-p]=\"labelDataP()\"\n />\n }\n @if (isVisibleClearIcon()) {\n @if (!clearIconTemplate()) {\n <svg data-p-icon=\"times\" [class]=\"cx('clearIcon')\" [pBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\" />\n } @else {\n <span [class]=\"cx('clearIcon')\" [pBind]=\"ptm('clearIcon')\" (click)=\"clear($event)\" [attr.data-pc-section]=\"'clearicon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate(); context: clearIconContext()\"></ng-template>\n </span>\n }\n }\n\n <div [class]=\"cx('dropdown')\" [pBind]=\"ptm('dropdown')\" role=\"button\" aria-label=\"dropdown trigger\" aria-haspopup=\"listbox\" [attr.aria-expanded]=\"$ariaExpanded\" [attr.data-pc-section]=\"'trigger'\">\n @if (loading()) {\n @if (loadingIconTemplate()) {\n <ng-container *ngTemplateOutlet=\"loadingIconTemplate()\"></ng-container>\n } @else {\n @if (loadingIcon()) {\n <span [class]=\"cn(cx('loadingIcon'), 'pi-spin' + loadingIcon())\" [pBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n } @else {\n <span [class]=\"cn(cx('loadingIcon'), 'pi pi-spinner pi-spin')\" [pBind]=\"ptm('loadingIcon')\" aria-hidden=\"true\"></span>\n }\n }\n } @else {\n @if (!dropdownIconTemplate()) {\n @if (dropdownIcon()) {\n <span [class]=\"cn(cx('dropdownIcon'), dropdownIcon())\" [pBind]=\"ptm('dropdownIcon')\"></span>\n } @else {\n <svg data-p-icon=\"chevron-down\" [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\" />\n }\n } @else {\n <span [class]=\"cx('dropdownIcon')\" [pBind]=\"ptm('dropdownIcon')\">\n <ng-template *ngTemplateOutlet=\"dropdownIconTemplate(); context: dropdownIconContext()\"></ng-template>\n </span>\n }\n }\n </div>\n\n <p-overlay\n #overlay\n [hostAttrSelector]=\"$attrSelector\"\n [visible]=\"overlayVisible()\"\n (visibleChange)=\"overlayVisible.set($event)\"\n [options]=\"overlayOptions()\"\n [target]=\"'@parent'\"\n [appendTo]=\"$appendTo()\"\n [unstyled]=\"unstyled()\"\n [pt]=\"ptm('pcOverlay')\"\n [motionOptions]=\"motionOptions()\"\n (onBeforeEnter)=\"onOverlayBeforeEnter($event)\"\n (onAfterLeave)=\"onOverlayAfterLeave($event)\"\n (onHide)=\"hide()\"\n >\n <ng-template #content>\n <div [class]=\"cn(cx('overlay'), panelStyleClass())\" [style]=\"panelStyle()\" [pBind]=\"ptm('overlay')\" [attr.data-p]=\"overlayDataP()\">\n <span\n #firstHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [attr.tabindex]=\"0\"\n (focus)=\"onFirstHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n [pBind]=\"ptm('hiddenFirstFocusableEl')\"\n >\n </span>\n <ng-container *ngTemplateOutlet=\"headerTemplate(); context: { class: cx('header') }\"></ng-container>\n @if (filter()) {\n <div [class]=\"cx('header')\" (click)=\"$event.stopPropagation()\" [pBind]=\"ptm('header')\">\n @if (filterTemplate()) {\n <ng-container *ngTemplateOutlet=\"filterTemplate(); context: filterTemplateContext()\"></ng-container>\n } @else {\n <p-iconfield [pt]=\"ptm('pcFilterContainer')\" [unstyled]=\"unstyled()\">\n <input\n #filter\n pInputText\n [pSize]=\"size()\"\n type=\"text\"\n role=\"searchbox\"\n autocomplete=\"off\"\n [value]=\"filterInputValue()\"\n [class]=\"cx('pcFilter')\"\n [variant]=\"$variant()\"\n [attr.placeholder]=\"filterPlaceholder()\"\n [attr.aria-owns]=\"$ariaOwns()\"\n (input)=\"onFilterInputChange($event)\"\n [attr.aria-label]=\"ariaFilterLabel()\"\n [attr.aria-activedescendant]=\"focusedOptionId()\"\n (keydown)=\"onFilterKeyDown($event)\"\n (blur)=\"onFilterBlur($event)\"\n [pt]=\"ptm('pcFilter')\"\n [unstyled]=\"unstyled()\"\n />\n <p-inputicon [pt]=\"ptm('pcFilterIconContainer')\" [unstyled]=\"unstyled()\">\n @if (!filterIconTemplate()) {\n <svg data-p-icon=\"search\" [pBind]=\"ptm('filterIcon')\" />\n } @else {\n <span [pBind]=\"ptm('filterIcon')\">\n <ng-template *ngTemplateOutlet=\"filterIconTemplate()\"></ng-template>\n </span>\n }\n </p-inputicon>\n </p-iconfield>\n }\n </div>\n }\n <div [class]=\"cx('listContainer')\" [style.max-height]=\"virtualScroll() ? 'auto' : scrollHeight() || 'auto'\" [pBind]=\"ptm('listContainer')\">\n @if (virtualScroll()) {\n <p-scroller\n hostName=\"select\"\n #scroller\n [items]=\"visibleOptions()\"\n [style]=\"{ height: scrollHeight() }\"\n [itemSize]=\"virtualScrollItemSize()!\"\n [autoSize]=\"true\"\n [lazy]=\"lazy()\"\n (onLazyLoad)=\"onLazyLoad.emit($event)\"\n [options]=\"virtualScrollOptions()\"\n [pt]=\"ptm('virtualScroller')\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: getBuildInItemsContext(items, scrollerOptions)\"></ng-container>\n </ng-template>\n @if (loaderTemplate()) {\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"loaderTemplate(); context: getLoaderContext(scrollerOptions)\"></ng-container>\n </ng-template>\n }\n </p-scroller>\n } @else {\n <ng-container *ngTemplateOutlet=\"buildInItems; context: defaultBuildInItemsContext()\"></ng-container>\n }\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <ul #items [attr.id]=\"$id() + '_list'\" [attr.aria-label]=\"listLabel()\" [class]=\"cn(cx('list'), scrollerOptions.contentStyleClass)\" [style]=\"scrollerOptions.contentStyle\" role=\"listbox\" [pBind]=\"ptm('list')\">\n @for (option of items; track trackOption(option, i); let i = $index) {\n @if (isOptionGroup(option)) {\n <li [class]=\"cx('optionGroup')\" [attr.id]=\"$id() + '_' + getOptionIndex(i, scrollerOptions)\" [style]=\"getItemSizeStyle(scrollerOptions)\" role=\"option\" [pBind]=\"ptm('optionGroup')\">\n @if (!groupTemplate()) {\n <span [class]=\"cx('optionGroupLabel')\" [pBind]=\"ptm('optionGroupLabel')\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n }\n <ng-container *ngTemplateOutlet=\"groupTemplate(); context: getGroupContext(option.optionGroup)\"></ng-container>\n </li>\n } @else {\n <p-select-item\n [id]=\"$id() + '_' + getOptionIndex(i, scrollerOptions)\"\n [option]=\"option\"\n [checkmark]=\"checkmark()\"\n [selected]=\"isSelected(option)\"\n [label]=\"getOptionLabel(option)\"\n [disabled]=\"isOptionDisabled(option)\"\n [template]=\"itemTemplate()\"\n [focused]=\"isOptionFocused(i, scrollerOptions)\"\n [ariaPosInset]=\"getAriaPosInset(getOptionIndex(i, scrollerOptions))\"\n [ariaSetSize]=\"ariaSetSize()\"\n [index]=\"i\"\n [unstyled]=\"unstyled()\"\n [scrollerOptions]=\"scrollerOptions\"\n (onClick)=\"onOptionSelect($event, option)\"\n (onMouseEnter)=\"onOptionMouseEnter($event, getOptionIndex(i, scrollerOptions))\"\n ></p-select-item>\n }\n }\n @if (showEmptyFilterMessage()) {\n <li [class]=\"cx('emptyMessage')\" [style]=\"getItemSizeStyle(scrollerOptions)\" role=\"option\" [pBind]=\"ptm('emptyMessage')\">\n @if (!hasEmptyTemplate()) {\n {{ emptyFilterMessageLabel() }}\n } @else {\n <ng-container *ngTemplateOutlet=\"hasEmptyTemplate()\"></ng-container>\n }\n </li>\n }\n @if (showEmptyMessage()) {\n <li [class]=\"cx('emptyMessage')\" [style]=\"getItemSizeStyle(scrollerOptions)\" role=\"option\" [pBind]=\"ptm('emptyMessage')\">\n @if (!emptyTemplate()) {\n {{ emptyMessageLabel() || emptyFilterMessageLabel() }}\n } @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate()\"></ng-container>\n }\n </li>\n }\n </ul>\n </ng-template>\n </div>\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n <span\n #lastHiddenFocusableEl\n role=\"presentation\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n [pBind]=\"ptm('hiddenLastFocusableEl')\"\n [attr.tabindex]=\"0\"\n (focus)=\"onLastHiddenFocus($event)\"\n [attr.data-p-hidden-accessible]=\"true\"\n [attr.data-p-hidden-focusable]=\"true\"\n ></span>\n </div>\n </ng-template>\n </p-overlay>\n `,\n host: {\n '[class]': \"cx('root')\",\n '[attr.id]': '$id()',\n '[attr.data-p]': 'containerDataP()',\n '(click)': 'onContainerClick($event)'\n },\n providers: [SELECT_VALUE_ACCESSOR, SelectStyle, { provide: SELECT_INSTANCE, useExisting: Select }, { provide: PARENT_INSTANCE, useExisting: Select }],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n hostDirectives: [Bind]\n})\nexport class Select extends BaseInput<SelectPassThrough, any> implements AfterViewInit, AfterViewChecked {\n componentName = 'Select';\n\n bindDirectiveInstance = inject(Bind, { self: true });\n\n filterService = inject(FilterService);\n\n /**\n * Unique identifier of the component\n * @group Props\n */\n id = input<string>();\n\n private _internalId = uuid('pn_id_');\n\n $id = computed(() => this.id() || this._internalId);\n\n /**\n * Height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n scrollHeight = input<string>('200px');\n /**\n * When specified, displays an input field to filter the items on keyup.\n * @group Props\n */\n filter = input(undefined, { transform: booleanAttribute });\n /**\n * Inline style of the overlay panel element.\n * @group Props\n */\n panelStyle = input<CSSProperties>();\n /**\n * Style class of the overlay panel element.\n * @group Props\n */\n panelStyleClass = input<string>();\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n readonly = input(undefined, { transform: booleanAttribute });\n /**\n * When present, custom value instead of predefined options can be entered using the editable input field.\n * @group Props\n */\n editable = input(undefined, { transform: booleanAttribute });\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex = input(0, { transform: numberAttribute });\n /**\n * Default text to display when no option is selected.\n * @group Props\n */\n placeholder = input<string>();\n /**\n * Icon to display in loading state.\n * @group Props\n */\n loadingIcon = input<string>();\n /**\n * Placeholder text to show when filter input is empty.\n * @group Props\n */\n filterPlaceholder = input<string>();\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n filterLocale = input<string>();\n /**\n * Identifier of the accessible input element.\n * @group Props\n */\n inputId = input<string>();\n /**\n * A property to uniquely identify a value in options.\n * @remarks Ignored when optionValue is set, because optionValue already yields a scalar to compare.\n * @group Props\n */\n dataKey = input<string>();\n /**\n * When filtering is enabled, filterBy decides which field or fields (comma separated) to search against.\n * @group Props\n */\n filterBy = input<string>();\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n filterFields = input<any[]>();\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus = input(undefined, { transform: booleanAttribute });\n /**\n * Clears the filter value when hiding the select.\n * @group Props\n */\n resetFilterOnHide = input(false, { transform: booleanAttribute });\n /**\n * Whether the selected option will be shown with a check mark.\n * @group Props\n */\n checkmark = input(false, { transform: booleanAttribute });\n /**\n * Icon class of the select icon.\n * @group Props\n */\n dropdownIcon = input<string>();\n /**\n * Whether the select is in loading state.\n * @group Props\n */\n loading = input(false, { transform: booleanAttribute });\n /**\n * Name of the label field of an option.\n * @group Props\n */\n optionLabel = input<string>();\n /**\n * Name of the value field of an option.\n * @group Props\n */\n optionValue = input<string>();\n /**\n * Name of the disabled field of an option or function to determine disabled state.\n * @group Props\n */\n optionDisabled = input<string | ((item: any) => boolean)>();\n /**\n * Name of the label field of an option group.\n * @group Props\n */\n optionGroupLabel = input<string>('label');\n /**\n * Name of the options field of an option group.\n * @group Props\n */\n optionGroupChildren = input<string>('items');\n /**\n * Whether to display options as grouped when nested options are provided.\n * @group Props\n */\n group = input(undefined, { transform: booleanAttribute });\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n showClear = input(undefined, { transform: booleanAttribute });\n /**\n * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n emptyFilterMessage = input<string>('');\n /**\n * Text to display when there is no data. Defaults to global value in i18n translation configuration.\n * @group Props\n */\n emptyMessage = input<string>('');\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n lazy = input(false, { transform: booleanAttribute });\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n virtualScroll = input(undefined, { transform: booleanAttribute });\n /**\n * Height of an item in the list for VirtualScrolling.\n * @group Props\n */\n virtualScrollItemSize = input(undefined, { transform: numberAttribute });\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n virtualScrollOptions = input<ScrollerOptions>();\n /**\n * Whether to use overlay API feature. The properties of overlay API can be used like an object in it.\n * @group Props\n */\n overlayOptions = input<OverlayOptions>();\n /**\n * Defines a string that labels the filter input.\n * @group Props\n */\n ariaFilterLabel = input<string>();\n /**\n * Used to define a aria label attribute the current element.\n * @group Props\n */\n ariaLabel = input<string>();\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy = input<string>();\n /**\n * Defines how the items are filtered.\n * @group Props\n */\n filterMatchMode = input<FilterMatchModeType>('contains');\n /**\n * Advisory information to display in a tooltip on hover.\n * @group Props\n */\n tooltip = input<string>('');\n /**\n * Position of the tooltip.\n * @group Props\n */\n tooltipPosition = input<TooltipPosition>('right');\n /**\n * Type of CSS position.\n * @group Props\n */\n tooltipPositionStyle = input<string>('absolute');\n /**\n * Style class of the tooltip.\n * @group Props\n */\n tooltipStyleClass = input<string>();\n /**\n * Fields used when filtering the options, defaults to optionLabel.\n * @group Props\n */\n focusOnHover = input(true, { transform: booleanAttribute });\n /**\n * Determines if the option will be selected on focus.\n * @group Props\n */\n selectOnFocus = input(false, { transform: booleanAttribute });\n /**\n * When enabled, allows multiple items to be selected.\n * @group Props\n */\n multiple = input(false, { transform: booleanAttribute });\n /**\n * Whether to focus on the first visible or selected element when the overlay panel is shown.\n * @group Props\n */\n autoOptionFocus = input(false, { transform: booleanAttribute });\n /**\n * Applies focus to the filter element when the overlay is shown.\n * @group Props\n */\n autofocusFilter = input(true, { transform: booleanAttribute });\n /**\n * When specified, filter displays with this value.\n * @group Props\n */\n filterValue = input<string | null>();\n /**\n * An array of objects to display as the available options.\n * @group Props\n */\n options = input<any[] | null>();\n /**\n * Target element to attach the overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @defaultValue 'self'\n * @group Props\n */\n appendTo = input<AppendTo>(undefined);\n /**\n * The motion options.\n * @group Props\n */\n motionOptions = input<MotionOptions | undefined>(undefined);\n /**\n * Callback to invoke when value of select changes.\n * @param {SelectChangeEvent} event - custom change event.\n * @group Emits\n */\n onChange = output<SelectChangeEvent>();\n /**\n * Callback to invoke when data is filtered.\n * @param {SelectFilterEvent} event - custom filter event.\n * @group Emits\n */\n onFilter = output<SelectFilterEvent>();\n /**\n * Callback to invoke when select gets focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onFocus = output<Event>();\n /**\n * Callback to invoke when select loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onBlur = output<Event>();\n /**\n * Callback to invoke when component is clicked.\n * @param {MouseEvent} event - Mouse event.\n * @group Emits\n */\n onClick = output<MouseEvent>();\n /**\n * Callback to invoke when select overlay gets visible.\n * @param {MotionEvent} event - Motion event. The AnimationEvent typing is deprecated and kept for backward compatibility; only the MotionEvent properties exist at runtime.\n * @group Emits\n */\n onShow = output<MotionEvent & AnimationEvent>();\n /**\n * Callback to invoke when select overlay gets hidden.\n * @param {MotionEvent} event - Motion event. The AnimationEvent typing is deprecated and kept for backward compatibility; only the MotionEvent properties exist at runtime.\n * @group Emits\n */\n onHide = output<MotionEvent & AnimationEvent>();\n /**\n * Callback to invoke when select clears the value.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onClear = output<Event>();\n /**\n * Callback to invoke in lazy mode to load new data.\n * @param {SelectLazyLoadEvent} event - Lazy load event.\n * @group Emits\n */\n onLazyLoad = output<SelectLazyLoadEvent>();\n\n _componentStyle = inject(SelectStyle);\n\n filterViewChild = viewChild<ElementRef>('filter');\n\n focusInputViewChild = viewChild<ElementRef>('focusInput');\n\n editableInputViewChild = viewChild<ElementRef>('editableInput');\n\n itemsViewChild = viewChild<ElementRef>('items');\n\n scroller = viewChild<Scroller>('scroller');\n\n overlayViewChild = viewChild<Overlay>('overlay');\n\n firstHiddenFocusableElementOnOverlay = viewChild<ElementRef>('firstHiddenFocusableEl');\n\n lastHiddenFocusableElementOnOverlay = viewChild<ElementRef>('lastHiddenFocusableEl');\n\n itemsWrapper: Nullable<HTMLDivElement>;\n\n $appendTo = computed(() => this.appendTo() || this.config.overlayAppendTo());\n\n /**\n * Custom item template.\n * @group Templates\n */\n itemTemplate = contentChild<TemplateRef<SelectItemTemplateContext>>('item', { descendants: false });\n\n /**\n * Custom group template.\n * @group Templates\n */\n groupTemplate = contentChild<TemplateRef<SelectGroupTemplateContext>>('group', { descendants: false });\n\n /**\n * Custom loader template.\n * @group Templates\n */\n loaderTemplate = contentChild<TemplateRef<SelectLoaderTemplateContext>>('loader', { descendants: false });\n\n /**\n * Custom selected item template.\n * @group Templates\n */\n selectedItemTemplate = contentChild<TemplateRef<SelectSelectedItemTemplateContext>>('selectedItem', { descendants: false });\n\n /**\n * Custom header template.\n * @param {SelectHeaderTemplateContext} context - header context.\n * @group Templates\n */\n headerTemplate = contentChild<TemplateRef<SelectHeaderTemplateContext>>('header', { descendants: false });\n\n /**\n * Custom filter template.\n * @group Templates\n */\n filterTemplate = contentChild<TemplateRef<SelectFilterTemplateContext>>('filter', { descendants: false });\n\n /**\n * Custom footer template.\n * @group Templates\n */\n footerTemplate = contentChild<TemplateRef<void>>('footer', { descendants: false });\n\n /**\n * Custom empty filter template.\n * @group Templates\n */\n emptyFilterTemplate = contentChild<TemplateRef<void>>('emptyfilter', { descendants: false });\n\n /**\n * Custom empty template.\n * @group Templates\n */\n emptyTemplate = contentChild<TemplateRef<void>>('empty', { descendants: false });\n\n /**\n * Custom dropdown icon template.\n * @group Templates\n */\n dropdownIconTemplate = contentChild<TemplateRef<SelectIconTemplateContext>>('dropdownicon', { descendants: false });\n\n /**\n * Custom loading icon template.\n * @group Templates\n */\n loadingIconTemplate = contentChild<TemplateRef<void>>('loadingicon', { descendants: false });\n\n /**\n * Custom clear icon template.\n * @group Templates\n */\n clearIconTemplate = contentChild<TemplateRef<SelectIconTemplateContext>>('clearicon', { descendants: false });\n\n /**\n * Custom filter icon template.\n * @group Templates\n */\n filterIconTemplate = contentChild<TemplateRef<void>>('filtericon', { descendants: false });\n\n /**\n * Custom on icon template.\n * @group Templates\n */\n onIconTemplate = contentChild<TemplateRef<void>>('onicon', { descendants: false });\n\n /**\n * Custom off icon template.\n * @group Templates\n */\n offIconTemplate = contentChild<TemplateRef<void>>('officon', { descendants: false });\n\n /**\n * Custom cancel icon template.\n * @group Templates\n */\n cancelIconTemplate = contentChild<TemplateRef<void>>('cancelicon', { descendants: false });\n\n filterOptions: SelectFilterOptions | undefined;\n\n _filterValue = signal<any>(null);\n\n _placeholder = signal<string | undefined>(undefined);\n\n _options = signal<any[] | null>(null);\n\n value: any;\n\n hover: Nullable<boolean>;\n\n focused = signal<boolean>(false);\n\n overlayVisible = signal<boolean>(false);\n\n optionsChanged: Nullable<boolean>;\n\n panel: Nullable<HTMLDivElement>;\n\n dimensionsUpdated: Nullable<boolean>;\n\n hoveredItem: any;\n\n selectedOptionUpdated: Nullable<boolean>;\n\n searchValue: Nullable<string>;\n\n searchIndex: Nullable<number>;\n\n searchTimeout: any;\n\n previousSearchChar: Nullable<string>;\n\n currentSearchChar: Nullable<string>;\n\n preventModelTouched: Nullable<boolean>;\n\n focusedOptionIndex = signal<number>(-1);\n\n labelId: Nullable<string>;\n\n listId: Nullable<string>;\n\n clicked = signal<boolean>(false);\n\n emptyMessageLabel = computed(() => this.emptyMessage() || this.translate(TranslationKeys.EMPTY_MESSAGE));\n\n emptyFilterMessageLabel = computed(() => this.emptyFilterMessage() || this.translate(TranslationKeys.EMPTY_FILTER_MESSAGE));\n\n private largeListWarned = false;\n\n isVisibleClearIcon = computed(() => {\n if (!this.showClear() || this.$disabled() || this.readonly() || this.loading()) return false;\n\n const value = this.modelValue();\n\n if (this.multiple()) {\n return Array.isArray(value) && value.length > 0;\n }\n\n return value != null && this.hasSelectedOption();\n });\n\n listLabel = computed<string>(() => this.translate(TranslationKeys.ARIA, 'listLabel'));\n\n focusedOptionId = computed(() => (this.focusedOptionIndex() !== -1 ? `${this.$id()}_${this.focusedOptionIndex()}` : null));\n\n visibleOptions = computed(() => {\n const options = this.getAllVisibleAndNonVisibleOptions();\n\n if (this._filterValue()) {\n const _filterBy = this.filterBy() || this.optionLabel();\n\n const filteredOptions =\n !_filterBy && !this.filterFields() && !this.optionValue()\n ? this._options()?.filter((option) => {\n if (option.label) {\n return option.label.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;\n }\n\n return option.toString().toLowerCase().indexOf(this._filterValue().toLowerCase().trim()) !== -1;\n })\n : this.filterService.filter(options, this.searchFields(), this._filterValue().trim(), this.filterMatchMode(), this.filterLocale());\n\n if (this.group()) {\n const optionGroups = this._options() || [];\n const filtered: any[] = [];\n\n optionGroups.forEach((group) => {\n const groupChildren = this.getOptionGroupChildren(group);\n const filteredItems = groupChildren.filter((item) => filteredOptions?.includes(item));\n\n if (filteredItems.length > 0)\n filtered.push({\n ...group,\n [typeof this.optionGroupChildren() === 'string' ? this.optionGroupChildren() : 'items']: [...filteredItems]\n });\n });\n\n return this.flatOptions(filtered);\n }\n\n return filteredOptions;\n }\n\n return options;\n });\n\n label = computed(() => {\n if (this.multiple()) {\n const currentValue = this.modelValue();\n\n if (!Array.isArray(currentValue) || currentValue.length === 0) {\n return this.placeholder() || 'p-emptylabel';\n }\n\n const options = this.getAllVisibleAndNonVisibleOptions();\n const labels = currentValue\n .map((val) => {\n const opt = options.find((o) => !this.isOptionGroup(o) && equals(val, this.getOptionValue(o), this.equalityKey()));\n\n return opt ? this.getOptionLabel(opt) : String(val);\n })\n .filter(Boolean);\n\n return labels.join(', ');\n }\n\n // use getAllVisibleAndNonVisibleOptions verses just visible options\n // this will find the selected option whether or not the user is currently filtering because the filtered (i.e. visible) options, are a subset of all the options\n const options = this.getAllVisibleAndNonVisibleOptions();\n\n // use isOptionEqualsModelValue for the use case where the dropdown is initalized with a disabled option\n const selectedOptionIndex = options.findIndex((option) => {\n const isEqual = this.isOptionValueEqualsModelValue(option);\n\n return isEqual;\n });\n\n if (selectedOptionIndex !== -1) {\n const selectedOption = options[selectedOptionIndex];\n\n // Always show the label for selected options, even if disabled\n return this.getOptionLabel(selectedOption);\n }\n\n return this.placeholder() || 'p-emptylabel';\n });\n\n $ariaLabel = computed(() => this.ariaLabel() || (this.label() === 'p-emptylabel' ? undefined : this.label()));\n\n $ariaMultiselectable = computed(() => this.multiple() || undefined);\n\n $placeholder = computed(() => {\n const modelVal = this.modelValue();\n\n return modelVal === undefined || modelVal === null ? this.placeholder() || this._placeholder() : undefined;\n });\n\n $required = computed(() => (this.required() ? '' : undefined));\n\n $readonly = computed(() => (this.readonly() ? '' : undefined));\n\n $disabledAttr = computed(() => (this.$disabled() ? '' : undefined));\n\n $tabindex = computed(() => (!this.$disabled() ? this.tabindex() : -1));\n\n filterInputValue = computed(() => this._filterValue() || '');\n\n get $ariaActivedescendant() {\n return this.focused() ? this.focusedOptionId() : undefined;\n }\n\n get $ariaExpanded() {\n return this.overlayVisible();\n }\n\n $ariaControls = computed(() => (this.overlayVisible() ? this.$id() + '_list' : null));\n\n showEmptyFilterMessage = computed(() => this._filterValue() && this.isEmpty());\n\n showEmptyMessage = computed(() => !this._filterValue() && this.isEmpty());\n\n hasEmptyTemplate = computed(() => this.emptyFilterTemplate() || this.emptyTemplate());\n\n $ariaOwns = computed(() => this.$id() + '_list');\n\n selectedItemContext = computed<SelectSelectedItemTemplateContext>(() => ({ $implicit: this.selectedOption() }));\n\n clearIconContext = computed<SelectIconTemplateContext>(() => ({ class: this.cx('clearIcon') ?? '' }));\n\n dropdownIconContext = computed<SelectIconTemplateContext>(() => ({ class: this.cx('dropdownIcon') ?? '' }));\n\n filterTemplateContext = computed<SelectFilterTemplateContext>(() => ({ options: this.filterBy() ? (this.filterOptions ?? this.createFilterOptions()) : {} }));\n\n defaultBuildInItemsContext = computed(() => ({ $implicit: this.visibleOptions(), options: {} }));\n\n ariaSetSize = computed(() => this.visibleOptions().filter((option) => !this.isOptionGroup(option)).length);\n\n containerDataP = computed(() =>\n this.cn({\n invalid: this.invalid(),\n disabled: this.$disabled(),\n focus: this.focused(),\n fluid: this.hasFluid,\n filled: this.$variant() === 'filled',\n [this.size() as string]: this.size()\n })\n );\n\n labelDataP = computed(() =>\n this.cn({\n placeholder: this.label() === this.placeholder(),\n clearable: this.showClear(),\n disabled: this.$disabled(),\n [this.size() as string]: this.size(),\n empty: !this.editable() && !this.selectedItemTemplate() && (!this.label() || this.label() === 'p-emptylabel' || this.label()!.length === 0)\n })\n );\n\n dropdownIconDataP = computed(() =>\n this.cn({\n [this.size() as string]: this.size()\n })\n );\n\n overlayDataP = computed(() =>\n this.cn({\n ['overlay-' + this.$appendTo()]: 'overlay-' + this.$appendTo()\n })\n );\n\n selectedOption = signal<any>(null);\n\n constructor() {\n super();\n effect(() => {\n const modelValue = this.modelValue();\n const visibleOptions = this.visibleOptions();\n\n if (visibleOptions && isNotEmpty(visibleOptions)) {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n if (selectedOptionIndex !== -1 || modelValue === undefined || (typeof modelValue === 'string' && modelValue.length === 0) || this.isModelValueNotSet() || this.editable()) {\n this.selectedOption.set(visibleOptions[selectedOptionIndex]);\n } else {\n const disabledSelectedIndex = visibleOptions.findIndex((option) => this.isSelected(option));\n\n if (disabledSelectedIndex !== -1) {\n this.selectedOption.set(visibleOptions[disabledSelectedIndex]);\n }\n }\n }\n\n if (isEmpty(visibleOptions) && (modelValue === undefined || this.isModelValueNotSet()) && isNotEmpty(this.selectedOption())) {\n this.selectedOption.set(null);\n }\n\n if (modelValue !== undefined && this.editable()) {\n this.updateEditableLabel();\n }\n });\n\n // Handle filterValue input changes\n effect(() => {\n const filterVal = this.filterValue();\n\n if (filterVal !== undefined) {\n this._filterValue.set(filterVal);\n }\n });\n\n // Handle options input changes with deepEquals check\n effect(() => {\n const opts = this.options();\n\n if (!deepEquals(opts, this._options())) {\n this._options.set(opts ?? null);\n this.optionsChanged = true;\n }\n });\n }\n\n private isModelValueNotSet(): boolean {\n return this.modelValue() === null && !this.isOptionValueEqualsModelValue(this.selectedOption());\n }\n\n private getAllVisibleAndNonVisibleOptions() {\n return this.group() ? this.flatOptions(this._options()) : this._options() || [];\n }\n\n virtualScrollerDisabled = computed(() => !this.virtualScroll());\n\n getBuildInItemsContext(items: any[], scrollerOptions: any) {\n return { $implicit: items, options: scrollerOptions };\n }\n\n getLoaderContext(scrollerOptions: any): SelectLoaderTemplateContext {\n return { options: scrollerOptions };\n }\n\n getItemSizeStyle(scrollerOptions: any) {\n return { height: scrollerOptions.itemSize + 'px' };\n }\n\n getGroupContext(optionGroup: any): SelectGroupTemplateContext {\n return { $implicit: optionGroup };\n }\n\n onInit() {\n this.autoUpdateModel();\n\n if (this.filterBy()) {\n this.filterOptions = this.createFilterOptions();\n }\n }\n\n private createFilterOptions(): SelectFilterOptions {\n return {\n filter: (value) => this.onFilterInputChange(value),\n reset: () => this.resetFilter()\n };\n }\n\n onAfterViewChecked() {\n this.bindDirectiveInstance.setAttrs(this.ptms(['host', 'root']));\n\n if (this.optionsChanged && this.overlayVisible()) {\n this.optionsChanged = false;\n\n setTimeout(() => {\n if (this.overlayViewChild()) {\n this.overlayViewChild()?.alignOverlay();\n }\n }, 1);\n }\n\n if (this.selectedOptionUpdated && this.itemsWrapper) {\n if (!this.multiple()) {\n let selectedItem = <any>findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, 'li[data-p-selected=\"true\"]');\n\n if (selectedItem) {\n scrollInView(this.itemsWrapper, selectedItem);\n }\n }\n\n this.selectedOptionUpdated = false;\n }\n }\n\n flatOptions(options) {\n return (options || []).reduce((result, option, index) => {\n result.push({ optionGroup: option, group: true, index });\n\n const optionGroupChildren = this.getOptionGroupChildren(option);\n\n if (optionGroupChildren) {\n optionGroupChildren.forEach((o) => result.push(o));\n }\n\n return result;\n }, []);\n }\n\n autoUpdateModel() {\n if (this.selectOnFocus() && this.autoOptionFocus() && !this.hasSelectedOption()) {\n this.focusedOptionIndex.set(this.findFirstFocusedOptionIndex());\n this.onOptionSelect(null, this.visibleOptions()[this.focusedOptionIndex()], false);\n }\n }\n\n onOptionSelect(event, option, isHide = true, preventChange = false) {\n // Check if option is disabled before proceeding\n if (this.isOptionDisabled(option)) {\n return;\n }\n\n if (this.multiple()) {\n this.onOptionSelectMultiple(event, option, preventChange);\n\n return;\n }\n\n if (!this.isSelected(option)) {\n const value = this.getOptionValue(option);\n\n this.updateModel(value, event);\n this.focusedOptionIndex.set(this.findSelectedOptionIndex());\n\n if (preventChange === false) {\n this.onChange.emit({ originalEvent: event, value: value });\n }\n }\n\n if (isHide) {\n this.hide(true);\n }\n }\n\n onOptionSelectMultiple(event, option, preventChange = false) {\n const value = this.getOptionValue(option);\n const currentValue = this.modelValue() ?? [];\n const newValue = this.isSelected(option) ? currentValue.filter((v) => !equals(v, value, this.equalityKey())) : [...currentValue, value];\n\n this.updateModel(newValue, event);\n\n if (preventChange === false) {\n this.onChange.emit({ originalEvent: event, value: newValue });\n }\n }\n\n onOptionMouseEnter(event, index) {\n if (this.focusOnHover()) {\n this.changeFocusedOptionIndex(event, index);\n }\n }\n\n updateModel(value, _event?) {\n this.value = value;\n this.onModelChange(value);\n this.writeModelValue(value);\n this.selectedOptionUpdated = true;\n }\n\n allowModelChange() {\n return !!this.modelValue() && !this.placeholder() && (this.modelValue() === undefined || this.modelValue() === null) && !this.editable() && this._options() && this._options()!.length;\n }\n\n isSelected(option) {\n if (this.multiple()) {\n const currentValue = this.modelValue();\n\n if (!Array.isArray(currentValue)) return false;\n\n const optionValue = this.getOptionValue(option);\n\n return currentValue.some((v) => equals(v, optionValue, this.equalityKey()));\n }\n\n return this.isOptionValueEqualsModelValue(option);\n }\n\n private isOptionValueEqualsModelValue(option: any) {\n return option !== undefined && option !== null && !this.isOptionGroup(option) && equals(this.modelValue(), this.getOptionValue(option), this.equalityKey());\n }\n\n onAfterViewInit() {\n if (!isPlatformBrowser(this.platformId)) {\n return;\n }\n\n if (this.editable()) {\n this.updateEditableLabel();\n }\n\n this.updatePlaceHolderForFloatingLabel();\n }\n\n updatePlaceHolderForFloatingLabel(): void {\n const parentElement = this.el.nativeElement.parentElement;\n const isInFloatingLabel = parentElement?.classList.contains('p-float-label');\n\n if (parentElement && isInFloatingLabel && !this.selectedOption()) {\n const label = parentElement.querySelector('label');\n\n if (label) {\n this._placeholder.set(label.textContent);\n }\n }\n }\n\n updateEditableLabel(): void {\n if (this.editableInputViewChild()) {\n this.editableInputViewChild()!.nativeElement.value = this.getOptionLabel(this.selectedOption()) || this.modelValue() || '';\n }\n }\n\n clearEditableLabel(): void {\n if (this.editableInputViewChild()) {\n this.editableInputViewChild()!.nativeElement.value = '';\n }\n }\n\n getOptionIndex(index, scrollerOptions) {\n return this.virtualScrollerDisabled() ? index : scrollerOptions && scrollerOptions.getItemOptions(index)['index'];\n }\n\n getOptionLabel(option: any) {\n return this.optionLabel() !== undefined && this.optionLabel() !== null ? resolveFieldData(option, this.optionLabel()) : option && option.label !== undefined ? option.label : option;\n }\n\n getOptionValue(option: any) {\n return this.optionValue() && this.optionValue() !== null ? resolveFieldData(option, this.optionValue()) : !this.optionLabel() && option && option.value !== undefined ? option.value : option;\n }\n\n getPTItemOptions(option: any, itemOptions: any, index: number, key: string) {\n return this.ptm(key, {\n context: {\n option,\n index,\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex() === this.getOptionIndex(index, itemOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n }\n\n isSelectedOptionEmpty() {\n if (this.multiple()) {\n const currentValue = this.modelValue();\n\n return !Array.isArray(currentValue) || currentValue.length === 0;\n }\n\n return isEmpty(this.selectedOption());\n }\n\n isOptionDisabled(option: any) {\n return this.optionDisabled() ? resolveFieldData(option, this.optionDisabled()) : option && option.disabled !== undefined ? option.disabled : false;\n }\n\n getOptionGroupLabel(optionGroup: any) {\n return this.optionGroupLabel() !== undefined && this.optionGroupLabel() !== null ? resolveFieldData(optionGroup, this.optionGroupLabel()) : optionGroup && optionGroup.label !== undefined ? optionGroup.label : optionGroup;\n }\n\n getOptionGroupChildren(optionGroup: any) {\n return this.optionGroupChildren() !== undefined && this.optionGroupChildren() !== null ? resolveFieldData(optionGroup, this.optionGroupChildren()) : optionGroup.items;\n }\n\n getAriaPosInset(index) {\n return (\n (this.optionGroupLabel()\n ? index -\n this.visibleOptions()\n .slice(0, index)\n .filter((option) => this.isOptionGroup(option)).length\n : index) + 1\n );\n }\n\n /**\n * Callback to invoke on filter reset.\n * @group Method\n */\n public resetFilter(): void {\n this._filterValue.set(null);\n\n if (this.filterViewChild() && this.filterViewChild()!.nativeElement) {\n this.filterViewChild()!.nativeElement.value = '';\n }\n }\n\n onContainerClick(event: any) {\n if (this.$disabled() || this.readonly() || this.loading()) {\n return;\n }\n\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.overlayViewChild() || !this.overlayViewChild()!.el.nativeElement.contains(event.target)) {\n if (this.overlayVisible()) {\n this.hide(true);\n } else {\n this.show(true);\n }\n }\n\n this.focusInputViewChild()?.nativeElement.focus({ preventScroll: true });\n this.onClick.emit(event);\n this.clicked.set(true);\n }\n\n isEmpty() {\n return !this._options() || (this.visibleOptions() && this.visibleOptions().length === 0);\n }\n onEditableInput(event: Event) {\n const value = (event.target as HTMLInputElement).value;\n\n this.searchValue = '';\n const matched = this.searchOptions(event, value);\n\n if (!matched) {\n this.focusedOptionIndex.set(-1);\n }\n\n this.onModelChange(value);\n this.updateModel(value || null, event);\n setTimeout(() => {\n this.onChange.emit({ originalEvent: event, value: value });\n }, 1);\n\n if (!this.overlayVisible() && isNotEmpty(value)) {\n this.show();\n }\n }\n\n /**\n * Displays the panel.\n * @group Method\n */\n public show(isFocus?) {\n this.overlayVisible.set(true);\n\n this.focusedOptionIndex.set(this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : this.editable() ? -1 : this.findSelectedOptionIndex());\n\n this.warnLargeListWithoutVirtualScroll();\n\n if (isFocus) {\n focus(this.focusInputViewChild()?.nativeElement);\n }\n }\n\n private warnLargeListWithoutVirtualScroll() {\n if (!isDevMode() || this.largeListWarned || this.virtualScroll()) {\n return;\n }\n\n const count = this.visibleOptions().length;\n\n if (count > 1000) {\n this.largeListWarned = true;\n // eslint-disable-next-line\n console.warn(\n `[PrimeNG] Select is rendering ${count} options without virtualScroll, which scales DOM nodes and memory linearly with the option count. Enable [virtualScroll]=\"true\" with [virtualScrollItemSize] to keep the panel lightweight.`\n );\n }\n }\n\n onOverlayBeforeEnter(event: MotionEvent) {\n this.itemsWrapper = <any>findSingle(this.overlayViewChild()?.overlayViewChild()?.nativeElement, this.virtualScroll() ? '[data-pc-name=\"virtualscroller\"]' : '[data-pc-section=\"listcontainer\"]');\n\n if (this.virtualScroll()) {\n this.scroller()?.setContentEl(this.itemsViewChild()?.nativeElement);\n }\n\n if (this._options() && this._options()!.length) {\n if (this.virtualScroll()) {\n const selectedIndex = this.modelValue() ? this.focusedOptionIndex() : -1;\n\n if (selectedIndex !== -1) {\n setTimeout(() => {\n this.scroller()?.scrollToIndex(selectedIndex);\n }, 10);\n }\n } else {\n let selectedListItem = findSingle(this.itemsWrapper as HTMLElement, '[data-p-selected=\"true\"]');\n\n if (selectedListItem) {\n selectedListItem.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n }\n }\n\n if (this.filterViewChild() && this.filterViewChild()!.nativeElement) {\n this.preventModelTouched = true;\n\n if (this.autofocusFilter() && !this.editable()) {\n this.filterViewChild()!.nativeElement.focus();\n }\n }\n\n this.onShow.emit(event as MotionEvent & AnimationEvent);\n }\n onOverlayAfterLeave(event: MotionEvent) {\n this.itemsWrapper = null;\n this.onModelTouched();\n this.onHide.emit(event as MotionEvent & AnimationEvent);\n }\n\n /**\n * Hides the panel.\n * @group Method\n */\n public hide(isFocus?) {\n this.overlayVisible.set(false);\n this.focusedOptionIndex.set(-1);\n this.clicked.set(false);\n this.searchValue = '';\n\n if (this.overlayOptions()?.mode === 'modal') {\n unblockBodyScroll();\n }\n\n if (this.filter() && this.resetFilterOnHide()) {\n this.resetFilter();\n }\n\n if (isFocus) {\n if (this.focusInputViewChild()) {\n focus(this.focusInputViewChild()?.nativeElement);\n }\n\n if (this.editable() && this.editableInputViewChild()) {\n focus(this.editableInputViewChild()?.nativeElement);\n }\n }\n }\n\n onInputFocus(event: Event) {\n if (this.$disabled()) {\n // For ScreenReaders\n return;\n }\n\n this.focused.set(true);\n const focusedOptionIndex = this.focusedOptionIndex() !== -1 ? this.focusedOptionIndex() : this.overlayVisible() && this.autoOptionFocus() ? this.findFirstFocusedOptionIndex() : -1;\n\n this.focusedOptionIndex.set(focusedOptionIndex);\n\n if (this.overlayVisible()) {\n this.scrollInView(this.focusedOptionIndex());\n }\n\n this.onFocus.emit(event);\n }\n\n onInputBlur(event: Event) {\n this.focused.set(false);\n this.onBlur.emit(event);\n\n if (!this.preventModelTouched && !this.overlayVisible()) {\n this.onModelTouched();\n }\n\n this.preventModelTouched = false;\n }\n\n onKeyDown(event: KeyboardEvent, search: boolean = false) {\n if (this.$disabled() || this.readonly() || this.loading()) {\n return;\n }\n\n switch (event.code) {\n //down\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n //up\n case 'ArrowUp':\n this.onArrowUpKey(event, this.editable());\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, this.editable());\n break;\n\n case 'Delete':\n this.onDeleteKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event, this.editable());\n break;\n\n case 'End':\n this.onEndKey(event, this.editable());\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n //space\n case 'Space':\n this.onSpaceKey(event, search);\n break;\n\n //enter\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\n //escape and tab\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event);\n break;\n\n case 'Backspace':\n this.onBackspaceKey(event, this.editable());\n break;\n\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n\n default:\n if (!event.metaKey && isPrintableCharacter(event.key)) {\n if (!this.overlayVisible()) {\n this.show();\n }\n\n if (!this.editable()) {\n this.searchOptions(event, event.key);\n }\n }\n\n break;\n }\n\n this.clicked.set(false);\n }\n\n onFilterKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event, true);\n break;\n\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n\n case 'Home':\n this.onHomeKey(event, true);\n break;\n\n case 'End':\n this.onEndKey(event, true);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event, true);\n break;\n\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n case 'Tab':\n this.onTabKey(event, true);\n break;\n\n default:\n break;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n onFilterBlur(event) {\n this.focusedOptionIndex.set(-1);\n }\n\n onArrowDownKey(event: KeyboardEvent) {\n if (!this.overlayVisible()) {\n this.show();\n\n if (this.editable()) {\n this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());\n }\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n // const optionIndex = this.focusedOptionIndex() !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex()) : this.findFirstFocusedOptionIndex();\n // this.changeFocusedOptionIndex(event, optionIndex);\n\n // !this.overlayVisible() && this.show();\n event.preventDefault();\n event.stopPropagation();\n }\n\n changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex() !== index) {\n this.focusedOptionIndex.set(index);\n this.scrollInView();\n\n if (this.selectOnFocus() && !this.multiple()) {\n const option = this.visibleOptions()[index];\n\n this.onOptionSelect(event, option, false);\n }\n }\n }\n\n scrollInView(index = -1) {\n const id = index !== -1 ? `${this.$id()}_${index}` : this.focusedOptionId();\n\n if (this.itemsViewChild() && this.itemsViewChild()!.nativeElement) {\n const element = findSingle(this.itemsViewChild()!.nativeElement, `li[id=\"${id}\"]`);\n\n if (element) {\n if (element.scrollIntoView) {\n element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n }\n } else if (!this.virtualScrollerDisabled()) {\n setTimeout(() => {\n if (this.virtualScroll()) {\n this.scroller()?.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex());\n }\n }, 0);\n }\n }\n }\n\n hasSelectedOption() {\n return this.modelValue() !== undefined;\n }\n\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n }\n\n equalityKey() {\n return this.optionValue() ? undefined : this.dataKey();\n }\n\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n }\n\n findFirstOptionIndex() {\n return this.visibleOptions().findIndex((option) => this.isValidOption(option));\n }\n\n findSelectedOptionIndex() {\n return this.hasSelectedOption() ? this.visibleOptions().findIndex((option) => this.isValidSelectedOption(option)) : -1;\n }\n\n findNextOptionIndex(index) {\n const matchedOptionIndex =\n index < this.visibleOptions().length - 1\n ? this.visibleOptions()\n .slice(index + 1)\n .findIndex((option) => this.isValidOption(option))\n : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n }\n\n findPrevOptionIndex(index) {\n const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions().slice(0, index), (option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n }\n\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions(), (option) => this.isValidOption(option));\n }\n\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n }\n\n isValidOption(option) {\n return option !== undefined && option !== null && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n }\n\n isOptionGroup(option) {\n return this.optionGroupLabel() !== undefined && this.optionGroupLabel() !== null && option.optionGroup !== undefined && option.optionGroup !== null && option.group;\n }\n\n isOptionFocused(index: number, scrollerOptions: any) {\n return this.focusedOptionIndex() === this.getOptionIndex(index, scrollerOptions);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n trackOption(option: any, index: number) {\n if (this.isOptionGroup(option)) {\n return `group_${option.index}`;\n }\n\n const dataKey = this.dataKey();\n\n if (dataKey) {\n return resolveFieldData(option, dataKey);\n }\n\n return this.getOptionValue(option);\n }\n\n onArrowUpKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex() !== -1) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n\n this.onOptionSelect(event, option);\n }\n\n if (!this.multiple() && this.overlayVisible()) {\n this.hide();\n }\n } else {\n const optionIndex = this.focusedOptionIndex() !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex()) : this.clicked() ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n\n this.changeFocusedOptionIndex(event, optionIndex);\n\n if (!this.overlayVisible()) {\n this.show();\n }\n }\n\n event.preventDefault();\n event.stopPropagation();\n }\n\n onArrowLeftKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (pressedInInputText) {\n this.focusedOptionIndex.set(-1);\n }\n }\n\n onDeleteKey(event: KeyboardEvent) {\n if (this.showClear()) {\n this.clear(event);\n event.preventDefault();\n }\n }\n\n onHomeKey(event: any, pressedInInputText: boolean = false) {\n if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(0, target.value.length);\n } else {\n target.setSelectionRange(0, 0);\n this.focusedOptionIndex.set(-1);\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n\n if (!this.overlayVisible()) {\n this.show();\n }\n }\n\n event.preventDefault();\n }\n\n onEndKey(event: any, pressedInInputText = false) {\n if (pressedInInputText && event.currentTarget && event.currentTarget.setSelectionRange) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(0, target.value.length);\n } else {\n const len = target.value.length;\n\n target.setSelectionRange(len, len);\n this.focusedOptionIndex.set(-1);\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n\n if (!this.overlayVisible()) {\n this.show();\n }\n }\n\n event.preventDefault();\n }\n\n onPageDownKey(event: KeyboardEvent) {\n this.scrollInView(this.visibleOptions().length - 1);\n event.preventDefault();\n }\n\n onPageUpKey(event: KeyboardEvent) {\n this.scrollInView(0);\n event.preventDefault();\n }\n\n onSpaceKey(event: KeyboardEvent, pressedInInputText: boolean = false) {\n if (!this.editable() && !pressedInInputText) {\n this.onEnterKey(event);\n }\n }\n\n onEnterKey(event, pressedInInput = false) {\n if (!this.overlayVisible()) {\n this.focusedOptionIndex.set(-1);\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex() !== -1) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n\n this.onOptionSelect(event, option);\n }\n\n if (!pressedInInput && !this.multiple()) {\n this.hide();\n }\n }\n\n event.preventDefault();\n }\n\n onEscapeKey(event: KeyboardEvent) {\n if (this.overlayVisible()) {\n this.hide(true);\n event.preventDefault();\n event.stopPropagation();\n }\n }\n\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible() && this.hasFocusableElements()) {\n focus(event.shiftKey ? this.lastHiddenFocusableElementOnOverlay()?.nativeElement : this.firstHiddenFocusableElementOnOverlay()?.nativeElement);\n event.preventDefault();\n event.stopPropagation();\n } else {\n const consumedByOverlay = this.overlayVisible();\n\n if (this.focusedOptionIndex() !== -1 && consumedByOverlay) {\n const option = this.visibleOptions()[this.focusedOptionIndex()];\n\n this.onOptionSelect(event, option);\n }\n\n if (this.overlayVisible()) {\n this.hide(this.filter());\n }\n\n if (consumedByOverlay) {\n event.stopPropagation();\n }\n }\n }\n }\n\n onFirstHiddenFocus(event) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getFirstFocusableElement(this.overlayViewChild()?.el?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInputViewChild()?.nativeElement;\n\n focus(focusableEl);\n }\n\n onLastHiddenFocus(event) {\n const focusableEl =\n event.relatedTarget === this.focusInputViewChild()?.nativeElement ? getLastFocusableElement(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])') : this.focusInputViewChild()?.nativeElement;\n\n focus(focusableEl);\n }\n\n hasFocusableElements() {\n return getFocusableElements(this.overlayViewChild()?.overlayViewChild()?.nativeElement, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n }\n\n onBackspaceKey(event: KeyboardEvent, pressedInInputText = false) {\n if (pressedInInputText) {\n if (!this.overlayVisible()) {\n this.show();\n }\n }\n }\n\n searchFields() {\n return this.filterBy()?.split(',') || this.filterFields() || [this.optionLabel()];\n }\n\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n optionIndex = this.visibleOptions().findIndex((option) => this.isOptionMatched(option));\n\n if (optionIndex !== -1) {\n matched = true;\n }\n\n if (optionIndex === -1 && this.focusedOptionIndex() === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (optionIndex !== -1) {\n setTimeout(() => {\n this.changeFocusedOptionIndex(event, optionIndex);\n });\n }\n\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n\n this.searchTimeout = setTimeout(() => {\n this.searchValue = '';\n this.searchTimeout = null;\n }, 500);\n\n return matched;\n }\n\n isOptionMatched(option) {\n return this.isValidOption(option) && this.getOptionLabel(option).toString().toLocaleLowerCase(this.filterLocale()).startsWith(this.searchValue?.toLocaleLowerCase(this.filterLocale()));\n }\n\n onFilterInputChange(event: Event | any): void {\n let value: string = (event.target as HTMLInputElement).value;\n\n this._filterValue.set(value);\n this.focusedOptionIndex.set(-1);\n this.onFilter.emit({ originalEvent: event, filter: this._filterValue() });\n\n if (!this.virtualScrollerDisabled()) {\n this.scroller()?.scrollToIndex(0);\n }\n\n setTimeout(() => {\n this.overlayViewChild()?.alignOverlay();\n });\n }\n\n applyFocus(): void {\n if (this.editable()) (findSingle(this.el.nativeElement, '[data-pc-section=\"label\"]') as any).focus();\n else focus(this.focusInputViewChild()?.nativeElement);\n }\n /**\n * Applies focus.\n * @group Method\n */\n public focus(): void {\n this.applyFocus();\n }\n /**\n * Clears the model.\n * @group Method\n */\n public clear(event?: Event) {\n if (this.$disabled() || this.readonly() || this.loading()) {\n return;\n }\n\n this.updateModel(this.multiple() ? [] : null, event);\n this.clearEditableLabel();\n this.onModelTouched();\n this.onChange.emit({ originalEvent: event, value: this.value });\n this.onClear.emit(event!);\n this.resetFilter();\n }\n\n /**\n * @override\n *\n * @see {@link BaseEditableHolder.writeControlValue}\n * Writes the value to the control.\n */\n writeControlValue(value: any, setModelValue: (value: any) => void): void {\n if (this.filter()) {\n this.resetFilter();\n }\n\n this.value = value;\n\n if (this.allowModelChange()) {\n this.onModelChange(value);\n }\n\n setModelValue(this.value);\n this.updateEditableLabel();\n }\n}\n\n@NgModule({\n imports: [Select, SharedModule],\n exports: [Select, SharedModule]\n})\nexport class SelectModule {}\n"],"mappings":"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"}