primevue 4.3.5 → 4.3.7
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.
- package/accordion/index.mjs.map +1 -1
- package/accordioncontent/AccordionContent.vue +2 -2
- package/accordioncontent/index.mjs +2 -2
- package/accordioncontent/index.mjs.map +1 -1
- package/accordionheader/AccordionHeader.vue +2 -2
- package/accordionheader/index.mjs +2 -2
- package/accordionheader/index.mjs.map +1 -1
- package/accordionpanel/index.mjs.map +1 -1
- package/accordionpanel/style/index.mjs.map +1 -1
- package/accordiontab/index.mjs.map +1 -1
- package/animateonscroll/index.mjs.map +1 -1
- package/autocomplete/AutoComplete.vue +3 -1
- package/autocomplete/index.mjs +2 -1
- package/autocomplete/index.mjs.map +1 -1
- package/autocomplete/style/index.mjs +6 -5
- package/autocomplete/style/index.mjs.map +1 -1
- package/avatar/index.mjs.map +1 -1
- package/avatar/style/index.mjs.map +1 -1
- package/avatargroup/index.mjs.map +1 -1
- package/badge/index.mjs.map +1 -1
- package/badge/style/index.mjs.map +1 -1
- package/badgedirective/index.mjs.map +1 -1
- package/blockui/index.mjs.map +1 -1
- package/breadcrumb/index.mjs.map +1 -1
- package/breadcrumb/style/index.mjs.map +1 -1
- package/button/Button.vue +1 -1
- package/button/index.d.ts +4 -0
- package/button/index.mjs +5 -4
- package/button/index.mjs.map +1 -1
- package/button/style/index.mjs.map +1 -1
- package/buttongroup/index.mjs.map +1 -1
- package/calendar/index.d.ts +2 -2
- package/calendar/index.mjs.map +1 -1
- package/card/index.mjs.map +1 -1
- package/carousel/index.mjs.map +1 -1
- package/carousel/style/index.mjs.map +1 -1
- package/cascadeselect/index.mjs.map +1 -1
- package/cascadeselect/style/index.mjs.map +1 -1
- package/chart/index.mjs.map +1 -1
- package/checkbox/index.mjs.map +1 -1
- package/checkbox/style/index.mjs.map +1 -1
- package/checkboxgroup/index.mjs.map +1 -1
- package/chip/Chip.vue +1 -1
- package/chip/index.mjs +1 -1
- package/chip/index.mjs.map +1 -1
- package/chips/index.mjs.map +1 -1
- package/colorpicker/ColorPicker.vue +1 -1
- package/colorpicker/index.mjs +1 -1
- package/colorpicker/index.mjs.map +1 -1
- package/colorpicker/style/index.mjs.map +1 -1
- package/column/index.mjs.map +1 -1
- package/columngroup/index.mjs.map +1 -1
- package/confirmationservice/index.mjs.map +1 -1
- package/confirmdialog/index.mjs.map +1 -1
- package/confirmpopup/index.mjs.map +1 -1
- package/contextmenu/index.mjs.map +1 -1
- package/contextmenu/style/index.mjs.map +1 -1
- package/datatable/BodyCell.vue +2 -2
- package/datatable/ColumnFilter.vue +2 -13
- package/datatable/DataTable.vue +1 -1
- package/datatable/TableHeader.vue +2 -0
- package/datatable/index.d.ts +3 -3
- package/datatable/index.mjs +22 -32
- package/datatable/index.mjs.map +1 -1
- package/datatable/style/index.mjs.map +1 -1
- package/dataview/index.mjs.map +1 -1
- package/dataview/style/index.mjs.map +1 -1
- package/datepicker/DatePicker.vue +14 -3
- package/datepicker/index.d.ts +2 -2
- package/datepicker/index.mjs +15 -6
- package/datepicker/index.mjs.map +1 -1
- package/datepicker/style/index.mjs.map +1 -1
- package/deferredcontent/index.mjs.map +1 -1
- package/dialog/Dialog.vue +1 -1
- package/dialog/index.mjs +1 -1
- package/dialog/index.mjs.map +1 -1
- package/dialog/style/index.mjs.map +1 -1
- package/dialogservice/index.mjs.map +1 -1
- package/divider/index.mjs.map +1 -1
- package/divider/style/index.mjs.map +1 -1
- package/dock/index.mjs.map +1 -1
- package/dock/style/index.mjs.map +1 -1
- package/drawer/index.mjs.map +1 -1
- package/drawer/style/index.mjs.map +1 -1
- package/dropdown/index.mjs.map +1 -1
- package/dynamicdialog/index.mjs.map +1 -1
- package/editor/index.mjs.map +1 -1
- package/editor/style/index.mjs.map +1 -1
- package/fieldset/index.mjs.map +1 -1
- package/fieldset/style/index.mjs.map +1 -1
- package/fileupload/FileUpload.vue +27 -25
- package/fileupload/index.d.ts +5 -0
- package/fileupload/index.mjs +4 -2
- package/fileupload/index.mjs.map +1 -1
- package/fileupload/style/index.d.ts +5 -1
- package/fileupload/style/index.mjs +2 -1
- package/fileupload/style/index.mjs.map +1 -1
- package/floatlabel/index.mjs.map +1 -1
- package/floatlabel/style/index.mjs.map +1 -1
- package/fluid/index.mjs.map +1 -1
- package/focustrap/index.mjs.map +1 -1
- package/galleria/index.mjs.map +1 -1
- package/galleria/style/index.mjs.map +1 -1
- package/iconfield/index.mjs.map +1 -1
- package/iftalabel/index.mjs.map +1 -1
- package/image/index.mjs.map +1 -1
- package/image/style/index.mjs.map +1 -1
- package/imagecompare/index.mjs.map +1 -1
- package/inlinemessage/index.mjs.map +1 -1
- package/inlinemessage/style/index.mjs.map +1 -1
- package/inplace/index.mjs.map +1 -1
- package/inplace/style/index.mjs.map +1 -1
- package/inputchips/index.mjs.map +1 -1
- package/inputchips/style/index.mjs.map +1 -1
- package/inputgroup/index.mjs.map +1 -1
- package/inputgroupaddon/index.mjs.map +1 -1
- package/inputicon/InputIcon.vue +1 -1
- package/inputicon/index.mjs +3 -1
- package/inputicon/index.mjs.map +1 -1
- package/inputmask/index.mjs.map +1 -1
- package/inputmask/style/index.mjs.map +1 -1
- package/inputnumber/InputNumber.vue +14 -2
- package/inputnumber/index.mjs +13 -2
- package/inputnumber/index.mjs.map +1 -1
- package/inputnumber/style/index.mjs.map +1 -1
- package/inputotp/index.mjs.map +1 -1
- package/inputswitch/index.mjs.map +1 -1
- package/inputtext/index.mjs.map +1 -1
- package/inputtext/style/index.mjs.map +1 -1
- package/keyfilter/index.mjs.map +1 -1
- package/knob/index.mjs +2 -2
- package/knob/index.mjs.map +1 -1
- package/knob/style/index.mjs.map +1 -1
- package/listbox/BaseListbox.vue +4 -0
- package/listbox/Listbox.vue +8 -6
- package/listbox/index.d.ts +5 -0
- package/listbox/index.mjs +12 -6
- package/listbox/index.mjs.map +1 -1
- package/listbox/style/index.mjs +1 -0
- package/listbox/style/index.mjs.map +1 -1
- package/megamenu/index.d.ts +0 -1
- package/megamenu/index.mjs.map +1 -1
- package/megamenu/style/index.mjs.map +1 -1
- package/menu/Menu.vue +2 -2
- package/menu/index.mjs +1 -1
- package/menu/index.mjs.map +1 -1
- package/menu/style/index.mjs.map +1 -1
- package/menubar/MenubarSub.vue +0 -1
- package/menubar/index.d.ts +0 -2
- package/menubar/index.mjs +1 -2
- package/menubar/index.mjs.map +1 -1
- package/menubar/style/index.mjs.map +1 -1
- package/message/index.mjs.map +1 -1
- package/message/style/index.mjs.map +1 -1
- package/metergroup/index.mjs.map +1 -1
- package/metergroup/style/index.mjs.map +1 -1
- package/multiselect/MultiSelect.vue +11 -6
- package/multiselect/index.mjs +10 -6
- package/multiselect/index.mjs.map +1 -1
- package/multiselect/style/index.mjs.map +1 -1
- package/orderlist/index.mjs.map +1 -1
- package/organizationchart/index.mjs.map +1 -1
- package/organizationchart/style/index.mjs.map +1 -1
- package/overlaybadge/index.mjs.map +1 -1
- package/overlaypanel/index.mjs.map +1 -1
- package/package.json +6 -6
- package/paginator/index.mjs.map +1 -1
- package/paginator/style/index.mjs.map +1 -1
- package/panel/index.mjs.map +1 -1
- package/panel/style/index.mjs.map +1 -1
- package/panelmenu/index.mjs.map +1 -1
- package/panelmenu/style/index.mjs.map +1 -1
- package/passthrough/index.mjs.map +1 -1
- package/password/Password.vue +0 -1
- package/password/index.mjs +1 -4
- package/password/index.mjs.map +1 -1
- package/password/style/index.mjs.map +1 -1
- package/picklist/PickList.vue +8 -11
- package/picklist/index.mjs +15 -7
- package/picklist/index.mjs.map +1 -1
- package/popover/index.mjs.map +1 -1
- package/portal/index.mjs.map +1 -1
- package/progressbar/index.mjs.map +1 -1
- package/progressbar/style/index.mjs.map +1 -1
- package/progressspinner/index.mjs.map +1 -1
- package/radiobutton/index.mjs.map +1 -1
- package/radiobutton/style/index.mjs.map +1 -1
- package/radiobuttongroup/index.mjs.map +1 -1
- package/rating/Rating.vue +2 -2
- package/rating/index.d.ts +10 -0
- package/rating/index.mjs +7 -1
- package/rating/index.mjs.map +1 -1
- package/rating/style/index.mjs.map +1 -1
- package/ripple/index.mjs.map +1 -1
- package/row/index.mjs.map +1 -1
- package/scrollpanel/ScrollPanel.vue +3 -1
- package/scrollpanel/index.mjs +2 -1
- package/scrollpanel/index.mjs.map +1 -1
- package/scrolltop/index.mjs.map +1 -1
- package/scrolltop/style/index.mjs.map +1 -1
- package/select/Select.vue +2 -2
- package/select/index.mjs +2 -2
- package/select/index.mjs.map +1 -1
- package/select/style/index.mjs.map +1 -1
- package/selectbutton/BaseSelectButton.vue +4 -0
- package/selectbutton/index.d.ts +25 -0
- package/selectbutton/index.mjs +4 -0
- package/selectbutton/index.mjs.map +1 -1
- package/selectbutton/style/index.mjs +5 -2
- package/selectbutton/style/index.mjs.map +1 -1
- package/sidebar/index.mjs.map +1 -1
- package/skeleton/index.mjs.map +1 -1
- package/skeleton/style/index.mjs.map +1 -1
- package/slider/index.d.ts +3 -3
- package/slider/index.mjs.map +1 -1
- package/slider/style/index.mjs.map +1 -1
- package/speeddial/index.mjs.map +1 -1
- package/speeddial/style/index.mjs.map +1 -1
- package/splitbutton/index.mjs.map +1 -1
- package/splitbutton/style/index.mjs.map +1 -1
- package/splitter/index.mjs.map +1 -1
- package/splitter/style/index.mjs.map +1 -1
- package/splitterpanel/index.mjs.map +1 -1
- package/splitterpanel/style/index.mjs.map +1 -1
- package/step/index.mjs.map +1 -1
- package/step/style/index.mjs.map +1 -1
- package/stepitem/index.mjs.map +1 -1
- package/stepitem/style/index.mjs.map +1 -1
- package/steplist/index.mjs.map +1 -1
- package/steppanel/index.mjs.map +1 -1
- package/steppanel/style/index.mjs.map +1 -1
- package/steppanels/index.mjs.map +1 -1
- package/stepper/index.mjs.map +1 -1
- package/stepper/style/index.mjs.map +1 -1
- package/steps/index.mjs.map +1 -1
- package/steps/style/index.mjs.map +1 -1
- package/styleclass/index.mjs.map +1 -1
- package/tab/index.mjs.map +1 -1
- package/tab/style/index.mjs.map +1 -1
- package/tablist/TabList.vue +1 -1
- package/tablist/index.mjs +1 -1
- package/tablist/index.mjs.map +1 -1
- package/tablist/style/index.mjs +1 -6
- package/tablist/style/index.mjs.map +1 -1
- package/tabmenu/index.mjs.map +1 -1
- package/tabmenu/style/index.mjs.map +1 -1
- package/tabpanel/index.mjs.map +1 -1
- package/tabpanel/style/index.mjs.map +1 -1
- package/tabpanels/index.mjs.map +1 -1
- package/tabs/index.mjs.map +1 -1
- package/tabs/style/index.mjs.map +1 -1
- package/tabview/index.mjs.map +1 -1
- package/tabview/style/index.mjs.map +1 -1
- package/tag/index.mjs.map +1 -1
- package/tag/style/index.mjs.map +1 -1
- package/terminal/index.mjs.map +1 -1
- package/textarea/Textarea.vue +11 -7
- package/textarea/index.mjs +10 -7
- package/textarea/index.mjs.map +1 -1
- package/textarea/style/index.mjs.map +1 -1
- package/tieredmenu/index.mjs.map +1 -1
- package/tieredmenu/style/index.mjs.map +1 -1
- package/timeline/index.mjs.map +1 -1
- package/timeline/style/index.mjs.map +1 -1
- package/toast/Toast.vue +3 -0
- package/toast/ToastMessage.vue +20 -8
- package/toast/index.d.ts +16 -4
- package/toast/index.mjs +26 -13
- package/toast/index.mjs.map +1 -1
- package/toast/style/index.mjs.map +1 -1
- package/toastservice/index.mjs.map +1 -1
- package/togglebutton/BaseToggleButton.vue +4 -0
- package/togglebutton/index.d.ts +5 -0
- package/togglebutton/index.mjs +4 -0
- package/togglebutton/index.mjs.map +1 -1
- package/togglebutton/style/index.mjs +1 -0
- package/togglebutton/style/index.mjs.map +1 -1
- package/toggleswitch/index.mjs.map +1 -1
- package/toggleswitch/style/index.mjs.map +1 -1
- package/toolbar/index.mjs.map +1 -1
- package/tooltip/index.mjs.map +1 -1
- package/tree/TreeNode.vue +2 -1
- package/tree/index.mjs +3 -2
- package/tree/index.mjs.map +1 -1
- package/tree/style/index.mjs.map +1 -1
- package/treeselect/index.mjs.map +1 -1
- package/treeselect/style/index.mjs.map +1 -1
- package/treetable/TreeTable.vue +1 -1
- package/treetable/index.mjs +1 -1
- package/treetable/index.mjs.map +1 -1
- package/treetable/style/index.mjs.map +1 -1
- package/umd/primevue.min.js +1 -12213
- package/useconfirm/index.mjs.map +1 -1
- package/usedialog/index.mjs.map +1 -1
- package/usetoast/index.mjs.map +1 -1
- package/virtualscroller/index.mjs.map +1 -1
- package/virtualscroller/style/index.mjs.map +1 -1
- package/web-types.json +1 -1
package/select/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/select/BaseSelect.vue","../../src/select/Select.vue","../../src/select/Select.vue?vue&type=template&id=0065b9c4&lang.js"],"sourcesContent":["<script>\nimport BaseInput from '@primevue/core/baseinput';\nimport SelectStyle from 'primevue/select/style';\n\nexport default {\n name: 'BaseSelect',\n extends: BaseInput,\n props: {\n options: Array,\n optionLabel: [String, Function],\n optionValue: [String, Function],\n optionDisabled: [String, Function],\n optionGroupLabel: [String, Function],\n optionGroupChildren: [String, Function],\n scrollHeight: {\n type: String,\n default: '14rem'\n },\n filter: Boolean,\n filterPlaceholder: String,\n filterLocale: String,\n filterMatchMode: {\n type: String,\n default: 'contains'\n },\n filterFields: {\n type: Array,\n default: null\n },\n editable: Boolean,\n placeholder: {\n type: String,\n default: null\n },\n dataKey: null,\n showClear: {\n type: Boolean,\n default: false\n },\n inputId: {\n type: String,\n default: null\n },\n inputClass: {\n type: [String, Object],\n default: null\n },\n inputStyle: {\n type: Object,\n default: null\n },\n labelId: {\n type: String,\n default: null\n },\n labelClass: {\n type: [String, Object],\n default: null\n },\n labelStyle: {\n type: Object,\n default: null\n },\n panelClass: {\n type: [String, Object],\n default: null\n },\n overlayStyle: {\n type: Object,\n default: null\n },\n overlayClass: {\n type: [String, Object],\n default: null\n },\n panelStyle: {\n type: Object,\n default: null\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n loading: {\n type: Boolean,\n default: false\n },\n clearIcon: {\n type: String,\n default: undefined\n },\n dropdownIcon: {\n type: String,\n default: undefined\n },\n filterIcon: {\n type: String,\n default: undefined\n },\n loadingIcon: {\n type: String,\n default: undefined\n },\n resetFilterOnHide: {\n type: Boolean,\n default: false\n },\n resetFilterOnClear: {\n type: Boolean,\n default: false\n },\n virtualScrollerOptions: {\n type: Object,\n default: null\n },\n autoOptionFocus: {\n type: Boolean,\n default: false\n },\n autoFilterFocus: {\n type: Boolean,\n default: false\n },\n selectOnFocus: {\n type: Boolean,\n default: false\n },\n focusOnHover: {\n type: Boolean,\n default: true\n },\n highlightOnSelect: {\n type: Boolean,\n default: true\n },\n checkmark: {\n type: Boolean,\n default: false\n },\n filterMessage: {\n type: String,\n default: null\n },\n selectionMessage: {\n type: String,\n default: null\n },\n emptySelectionMessage: {\n type: String,\n default: null\n },\n emptyFilterMessage: {\n type: String,\n default: null\n },\n emptyMessage: {\n type: String,\n default: null\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n }\n },\n style: SelectStyle,\n provide() {\n return {\n $pcSelect: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :id=\"$id\" :class=\"cx('root')\" @click=\"onContainerClick\" :data-p=\"containerDataP\" v-bind=\"ptmi('root')\">\n <input\n v-if=\"editable\"\n ref=\"focusInput\"\n :name=\"name\"\n :id=\"labelId || inputId\"\n type=\"text\"\n :class=\"[cx('label'), inputClass, labelClass]\"\n :style=\"[inputStyle, labelStyle]\"\n :value=\"editableInputValue\"\n :placeholder=\"placeholder\"\n :tabindex=\"!disabled ? tabindex : -1\"\n :disabled=\"disabled\"\n autocomplete=\"off\"\n role=\"combobox\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"$id + '_list'\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-invalid=\"invalid || undefined\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n @input=\"onEditableInput\"\n :data-p=\"labelDataP\"\n v-bind=\"ptm('label')\"\n />\n <span\n v-else\n ref=\"focusInput\"\n :name=\"name\"\n :id=\"labelId || inputId\"\n :class=\"[cx('label'), inputClass, labelClass]\"\n :style=\"[inputStyle, labelStyle]\"\n :tabindex=\"!disabled ? tabindex : -1\"\n role=\"combobox\"\n :aria-label=\"ariaLabel || (label === 'p-emptylabel' ? undefined : label)\"\n :aria-labelledby=\"ariaLabelledby\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"$id + '_list'\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-invalid=\"invalid || undefined\"\n :aria-disabled=\"disabled\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n :data-p=\"labelDataP\"\n v-bind=\"ptm('label')\"\n >\n <slot name=\"value\" :value=\"d_value\" :placeholder=\"placeholder\">{{ label === 'p-emptylabel' ? ' ' : (label ?? 'empty') }}</slot>\n </span>\n <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\">\n <component :is=\"clearIcon ? 'i' : 'TimesIcon'\" ref=\"clearIcon\" :class=\"[cx('clearIcon'), clearIcon]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" data-pc-section=\"clearicon\" />\n </slot>\n <div :class=\"cx('dropdown')\" v-bind=\"ptm('dropdown')\">\n <slot v-if=\"loading\" name=\"loadingicon\" :class=\"cx('loadingIcon')\">\n <span v-if=\"loadingIcon\" :class=\"[cx('loadingIcon'), 'pi-spin', loadingIcon]\" aria-hidden=\"true\" v-bind=\"ptm('loadingIcon')\" />\n <SpinnerIcon v-else :class=\"cx('loadingIcon')\" spin aria-hidden=\"true\" v-bind=\"ptm('loadingIcon')\" />\n </slot>\n <slot v-else name=\"dropdownicon\" :class=\"cx('dropdownIcon')\">\n <component :is=\"dropdownIcon ? 'span' : 'ChevronDownIcon'\" :class=\"[cx('dropdownIcon'), dropdownIcon]\" aria-hidden=\"true\" :data-p=\"dropdownIconDataP\" v-bind=\"ptm('dropdownIcon')\" />\n </slot>\n </div>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @after-enter=\"onOverlayAfterEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"overlayVisible\" :ref=\"overlayRef\" :class=\"[cx('overlay'), panelClass, overlayClass]\" :style=\"[panelStyle, overlayStyle]\" @click=\"onOverlayClick\" @keydown=\"onOverlayKeyDown\" :data-p=\"overlayDataP\" v-bind=\"ptm('overlay')\">\n <span\n ref=\"firstHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n aria-hidden=\"true\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onFirstHiddenFocus\"\n v-bind=\"ptm('hiddenFirstFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n <slot name=\"header\" :value=\"d_value\" :options=\"visibleOptions\"></slot>\n <div v-if=\"filter\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <IconField :unstyled=\"unstyled\" :pt=\"ptm('pcFilterContainer')\">\n <InputText\n ref=\"filterInput\"\n type=\"text\"\n :value=\"filterValue\"\n @vue:mounted=\"onFilterUpdated\"\n @vue:updated=\"onFilterUpdated\"\n :class=\"cx('pcFilter')\"\n :placeholder=\"filterPlaceholder\"\n :variant=\"variant\"\n :unstyled=\"unstyled\"\n role=\"searchbox\"\n autocomplete=\"off\"\n :aria-owns=\"$id + '_list'\"\n :aria-activedescendant=\"focusedOptionId\"\n @keydown=\"onFilterKeyDown\"\n @blur=\"onFilterBlur\"\n @input=\"onFilterChange\"\n :pt=\"ptm('pcFilter')\"\n :formControl=\"{ novalidate: true }\"\n />\n <InputIcon :unstyled=\"unstyled\" :pt=\"ptm('pcFilterIconContainer')\">\n <slot name=\"filtericon\">\n <span v-if=\"filterIcon\" :class=\"filterIcon\" v-bind=\"ptm('filterIcon')\" />\n <SearchIcon v-else v-bind=\"ptm('filterIcon')\" />\n </slot>\n </InputIcon>\n </IconField>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenFilterResult')\" :data-p-hidden-accessible=\"true\">\n {{ filterResultMessageText }}\n </span>\n </div>\n <div :class=\"cx('listContainer')\" :style=\"{ 'max-height': virtualScrollerDisabled ? scrollHeight : '' }\" v-bind=\"ptm('listContainer')\">\n <VirtualScroller :ref=\"virtualScrollerRef\" v-bind=\"virtualScrollerOptions\" :items=\"visibleOptions\" :style=\"{ height: scrollHeight }\" :tabindex=\"-1\" :disabled=\"virtualScrollerDisabled\" :pt=\"ptm('virtualScroller')\">\n <template v-slot:content=\"{ styleClass, contentRef, items, getItemOptions, contentStyle, itemSize }\">\n <ul :ref=\"(el) => listRef(el, contentRef)\" :id=\"$id + '_list'\" :class=\"[cx('list'), styleClass]\" :style=\"contentStyle\" role=\"listbox\" v-bind=\"ptm('list')\">\n <template v-for=\"(option, i) of items\" :key=\"getOptionRenderKey(option, getOptionIndex(i, getItemOptions))\">\n <li\n v-if=\"isOptionGroup(option)\"\n :id=\"$id + '_' + getOptionIndex(i, getItemOptions)\"\n :style=\"{ height: itemSize ? itemSize + 'px' : undefined }\"\n :class=\"cx('optionGroup')\"\n role=\"option\"\n v-bind=\"ptm('optionGroup')\"\n >\n <slot name=\"optiongroup\" :option=\"option.optionGroup\" :index=\"getOptionIndex(i, getItemOptions)\">\n <span :class=\"cx('optionGroupLabel')\" v-bind=\"ptm('optionGroupLabel')\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n </slot>\n </li>\n <li\n v-else\n :id=\"$id + '_' + getOptionIndex(i, getItemOptions)\"\n v-ripple\n :class=\"cx('option', { option, focusedOption: getOptionIndex(i, getItemOptions) })\"\n :style=\"{ height: itemSize ? itemSize + 'px' : undefined }\"\n role=\"option\"\n :aria-label=\"getOptionLabel(option)\"\n :aria-selected=\"isSelected(option)\"\n :aria-disabled=\"isOptionDisabled(option)\"\n :aria-setsize=\"ariaSetSize\"\n :aria-posinset=\"getAriaPosInset(getOptionIndex(i, getItemOptions))\"\n @mousedown=\"onOptionSelect($event, option)\"\n @mousemove=\"onOptionMouseMove($event, getOptionIndex(i, getItemOptions))\"\n @click.stop\n :data-p-selected=\"!checkmark && isSelected(option)\"\n :data-p-focused=\"focusedOptionIndex === getOptionIndex(i, getItemOptions)\"\n :data-p-disabled=\"isOptionDisabled(option)\"\n v-bind=\"getPTItemOptions(option, getItemOptions, i, 'option')\"\n >\n <template v-if=\"checkmark\">\n <CheckIcon v-if=\"isSelected(option)\" :class=\"cx('optionCheckIcon')\" v-bind=\"ptm('optionCheckIcon')\" />\n <BlankIcon v-else :class=\"cx('optionBlankIcon')\" v-bind=\"ptm('optionBlankIcon')\" />\n </template>\n <slot name=\"option\" :option=\"option\" :selected=\"isSelected(option)\" :index=\"getOptionIndex(i, getItemOptions)\">\n <span :class=\"cx('optionLabel')\" v-bind=\"ptm('optionLabel')\">{{ getOptionLabel(option) }}</span>\n </slot>\n </li>\n </template>\n <li v-if=\"filterValue && (!items || (items && items.length === 0))\" :class=\"cx('emptyMessage')\" role=\"option\" v-bind=\"ptm('emptyMessage')\" :data-p-hidden-accessible=\"true\">\n <slot name=\"emptyfilter\">{{ emptyFilterMessageText }}</slot>\n </li>\n <li v-else-if=\"!options || (options && options.length === 0)\" :class=\"cx('emptyMessage')\" role=\"option\" v-bind=\"ptm('emptyMessage')\" :data-p-hidden-accessible=\"true\">\n <slot name=\"empty\">{{ emptyMessageText }}</slot>\n </li>\n </ul>\n </template>\n <template v-if=\"$slots.loader\" v-slot:loader=\"{ options }\">\n <slot name=\"loader\" :options=\"options\"></slot>\n </template>\n </VirtualScroller>\n </div>\n <slot name=\"footer\" :value=\"d_value\" :options=\"visibleOptions\"></slot>\n <span v-if=\"!options || (options && options.length === 0)\" role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenEmptyMessage')\" :data-p-hidden-accessible=\"true\">\n {{ emptyMessageText }}\n </span>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenSelectedMessage')\" :data-p-hidden-accessible=\"true\">\n {{ selectedMessageText }}\n </span>\n <span\n ref=\"lastHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n aria-hidden=\"true\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onLastHiddenFocus\"\n v-bind=\"ptm('hiddenLastFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { absolutePosition, addStyle, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, getOuterWidth, isAndroid, isTouchDevice, isVisible, relativePosition } from '@primeuix/utils/dom';\nimport { equals, findLastIndex, isNotEmpty, isPrintableCharacter, resolveFieldData } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { FilterService } from '@primevue/core/api';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport BlankIcon from '@primevue/icons/blank';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport TimesIcon from '@primevue/icons/times';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport VirtualScroller from 'primevue/virtualscroller';\nimport BaseSelect from './BaseSelect.vue';\n\nexport default {\n name: 'Select',\n extends: BaseSelect,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur', 'before-show', 'before-hide', 'show', 'hide', 'filter'],\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n labelClickListener: null,\n matchMediaOrientationListener: null,\n overlay: null,\n list: null,\n virtualScroller: null,\n searchTimeout: null,\n searchValue: null,\n isModelValueChanged: false,\n data() {\n return {\n clicked: false,\n focused: false,\n focusedOptionIndex: -1,\n filterValue: null,\n overlayVisible: false,\n queryOrientation: null\n };\n },\n watch: {\n modelValue() {\n this.isModelValueChanged = true;\n },\n options() {\n this.autoUpdateModel();\n }\n },\n mounted() {\n this.autoUpdateModel();\n this.bindLabelClickListener();\n this.bindMatchMediaOrientationListener();\n },\n updated() {\n if (this.overlayVisible && this.isModelValueChanged) {\n this.scrollInView(this.findSelectedOptionIndex());\n }\n\n this.isModelValueChanged = false;\n },\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindLabelClickListener();\n this.unbindMatchMediaOrientationListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n methods: {\n getOptionIndex(index, fn) {\n return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];\n },\n getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option;\n },\n getOptionRenderKey(option, index) {\n return (this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;\n },\n getPTItemOptions(option, itemOptions, index, key) {\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 isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n },\n getOptionGroupLabel(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupLabel);\n },\n getOptionGroupChildren(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupChildren);\n },\n getAriaPosInset(index) {\n return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;\n },\n show(isFocus) {\n this.$emit('before-show');\n this.overlayVisible = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n\n isFocus && focus(this.$refs.focusInput);\n },\n hide(isFocus) {\n const _hide = () => {\n this.$emit('before-hide');\n this.overlayVisible = false;\n this.clicked = false;\n this.focusedOptionIndex = -1;\n this.searchValue = '';\n\n this.resetFilterOnHide && (this.filterValue = null);\n isFocus && focus(this.$refs.focusInput);\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n },\n onFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n\n if (this.overlayVisible) {\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n this.scrollInView(this.focusedOptionIndex);\n }\n\n this.$emit('focus', event);\n },\n onBlur(event) {\n setTimeout(() => {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.searchValue = '';\n this.$emit('blur', event);\n this.formField.onBlur?.(event);\n }, 100);\n },\n onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n if (isAndroid()) {\n switch (event.code) {\n case 'Backspace':\n this.onBackspaceKey(event, this.editable);\n break;\n case 'Enter':\n case 'NumpadDecimal':\n this.onEnterKey(event);\n break;\n default:\n event.preventDefault();\n return;\n }\n }\n\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\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 '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 case 'Space':\n this.onSpaceKey(event, this.editable);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\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 (!metaKey && isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n !this.editable && this.searchOptions(event, event.key);\n }\n\n break;\n }\n\n this.clicked = false;\n },\n onEditableInput(event) {\n const value = event.target.value;\n\n this.searchValue = '';\n const matched = this.searchOptions(event, value);\n\n !matched && (this.focusedOptionIndex = -1);\n\n this.updateModel(event, value);\n\n !this.overlayVisible && isNotEmpty(value) && this.show();\n },\n onContainerClick(event) {\n if (this.disabled || 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.overlay || !this.overlay.contains(event.target)) {\n this.overlayVisible ? this.hide(true) : this.show(true);\n }\n\n this.clicked = true;\n },\n onClearClick(event) {\n this.updateModel(event, null);\n this.resetFilterOnClear && (this.filterValue = null);\n },\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onOptionSelect(event, option, isHide = true) {\n const value = this.getOptionValue(option);\n this.updateModel(event, value);\n isHide && this.hide(true);\n },\n onOptionMouseMove(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n },\n onFilterChange(event) {\n const value = event.target.value;\n\n this.filterValue = value;\n this.focusedOptionIndex = -1;\n this.$emit('filter', { originalEvent: event, value });\n\n !this.virtualScrollerDisabled && this.virtualScroller.scrollToIndex(0);\n },\n onFilterKeyDown(event) {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if (event.isComposing) return;\n\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);\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 onFilterBlur() {\n this.focusedOptionIndex = -1;\n },\n onFilterUpdated() {\n if (this.overlayVisible) {\n this.alignOverlay();\n }\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n },\n onOverlayKeyDown(event) {\n switch (event.code) {\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n this.show();\n this.editable && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());\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\n event.preventDefault();\n },\n onArrowUpKey(event, pressedInInputText = false) {\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\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 !this.overlayVisible && this.show();\n event.preventDefault();\n }\n },\n onArrowLeftKey(event, pressedInInputText = false) {\n pressedInInputText && (this.focusedOptionIndex = -1);\n },\n onHomeKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(0, event.target.selectionStart);\n } else {\n target.setSelectionRange(0, 0);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n },\n onEndKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(event.target.selectionStart, target.value.length);\n } else {\n const len = target.value.length;\n\n target.setSelectionRange(len, len);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions.length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n if (!this.overlayVisible) {\n this.focusedOptionIndex = -1; // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.hide(true);\n }\n\n event.preventDefault();\n },\n onSpaceKey(event, pressedInInputText = false) {\n !pressedInInputText && this.onEnterKey(event);\n },\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n event.stopPropagation(); //@todo will be changed next versionss\n },\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.overlayVisible && this.hide(this.filter);\n }\n }\n },\n onBackspaceKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n !this.overlayVisible && this.show();\n }\n },\n onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n addStyle(el, { position: 'absolute', top: '0' });\n this.alignOverlay();\n this.scrollInView();\n\n // Issue: #7508\n this.$attrSelector && el.setAttribute(this.$attrSelector, '');\n\n setTimeout(() => {\n this.autoFilterFocus && this.filter && focus(this.$refs.filterInput.$el);\n this.autoUpdateModel();\n }, 1);\n },\n onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n\n if (this.autoFilterFocus && this.filter && !this.editable) {\n this.$nextTick(() => {\n if (this.$refs.filterInput) {\n focus(this.$refs.filterInput.$el);\n }\n });\n }\n\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n if (this.overlay) {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const composedPath = event.composedPath();\n if (this.overlayVisible && this.overlay && !composedPath.includes(this.$el) && !composedPath.includes(this.overlay)) {\n this.hide();\n }\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindLabelClickListener() {\n if (!this.editable && !this.labelClickListener) {\n const label = document.querySelector(`label[for=\"${this.labelId}\"]`);\n\n if (label && isVisible(label)) {\n this.labelClickListener = () => {\n focus(this.$refs.focusInput);\n };\n\n label.addEventListener('click', this.labelClickListener);\n }\n }\n },\n unbindLabelClickListener() {\n if (this.labelClickListener) {\n const label = document.querySelector(`label[for=\"${this.labelId}\"]`);\n\n if (label && isVisible(label)) {\n label.removeEventListener('click', this.labelClickListener);\n }\n }\n },\n bindMatchMediaOrientationListener() {\n if (!this.matchMediaOrientationListener) {\n const query = matchMedia(`(orientation: portrait)`);\n\n this.queryOrientation = query;\n\n this.matchMediaOrientationListener = () => {\n this.alignOverlay();\n };\n\n this.queryOrientation.addEventListener('change', this.matchMediaOrientationListener);\n }\n },\n unbindMatchMediaOrientationListener() {\n if (this.matchMediaOrientationListener) {\n this.queryOrientation.removeEventListener('change', this.matchMediaOrientationListener);\n this.queryOrientation = null;\n this.matchMediaOrientationListener = null;\n }\n },\n hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n isOptionExactMatched(option) {\n return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale) == this.searchValue.toLocaleLowerCase(this.filterLocale);\n },\n isOptionStartsWith(option) {\n return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));\n },\n isValidOption(option) {\n return isNotEmpty(option) && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n },\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n },\n isSelected(option) {\n return equals(this.d_value, this.getOptionValue(option), this.equalityKey);\n },\n findFirstOptionIndex() {\n return this.visibleOptions.findIndex((option) => this.isValidOption(option));\n },\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions, (option) => this.isValidOption(option));\n },\n findNextOptionIndex(index) {\n const matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\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 findSelectedOptionIndex() {\n return this.$filled ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;\n },\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n },\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n },\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n if (isNotEmpty(this.searchValue)) {\n optionIndex = this.visibleOptions.findIndex((option) => this.isOptionExactMatched(option));\n\n if (optionIndex === -1) {\n optionIndex = this.visibleOptions.findIndex((option) => this.isOptionStartsWith(option));\n }\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 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 changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex !== index) {\n this.focusedOptionIndex = index;\n this.scrollInView();\n\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions[index], false);\n }\n }\n },\n scrollInView(index = -1) {\n this.$nextTick(() => {\n const id = index !== -1 ? `${this.$id}_${index}` : this.focusedOptionId;\n const element = findSingle(this.list, `li[id=\"${id}\"]`);\n\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n this.virtualScroller && this.virtualScroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex);\n }\n });\n },\n autoUpdateModel() {\n if (this.autoOptionFocus) {\n this.focusedOptionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) {\n this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);\n }\n },\n updateModel(event, value) {\n this.writeValue(value, event);\n this.$emit('change', { originalEvent: event, value });\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 optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n },\n overlayRef(el) {\n this.overlay = el;\n },\n listRef(el, contentRef) {\n this.list = el;\n contentRef && contentRef(el); // For VirtualScroller\n },\n virtualScrollerRef(el) {\n this.virtualScroller = el;\n }\n },\n computed: {\n visibleOptions() {\n const options = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || [];\n\n if (this.filterValue) {\n const filteredOptions = FilterService.filter(options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n\n if (this.optionGroupLabel) {\n const optionGroups = this.options || [];\n const filtered = [];\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) filtered.push({ ...group, [typeof this.optionGroupChildren === 'string' ? this.optionGroupChildren : 'items']: [...filteredItems] });\n });\n\n return this.flatOptions(filtered);\n }\n\n return filteredOptions;\n }\n\n return options;\n },\n // @deprecated use $filled instead\n hasSelectedOption() {\n return this.$filled;\n },\n label() {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.placeholder || 'p-emptylabel';\n },\n editableInputValue() {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.d_value || '';\n },\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n },\n searchFields() {\n return this.filterFields || [this.optionLabel];\n },\n filterResultMessageText() {\n return isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptyFilterMessageText;\n },\n filterMessageText() {\n return this.filterMessage || this.$primevue.config.locale.searchMessage || '';\n },\n emptyFilterMessageText() {\n return this.emptyFilterMessage || this.$primevue.config.locale.emptySearchMessage || this.$primevue.config.locale.emptyFilterMessage || '';\n },\n emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage || '';\n },\n selectionMessageText() {\n return this.selectionMessage || this.$primevue.config.locale.selectionMessage || '';\n },\n emptySelectionMessageText() {\n return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';\n },\n selectedMessageText() {\n return this.$filled ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;\n },\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? `${this.$id}_${this.focusedOptionIndex}` : null;\n },\n ariaSetSize() {\n return this.visibleOptions.filter((option) => !this.isOptionGroup(option)).length;\n },\n isClearIconVisible() {\n return this.showClear && this.d_value != null && isNotEmpty(this.options);\n },\n virtualScrollerDisabled() {\n return !this.virtualScrollerOptions;\n },\n containerDataP() {\n return cn({\n invalid: this.$invalid,\n disabled: this.disabled,\n focus: this.focused,\n fluid: this.$fluid,\n filled: this.$variant === 'filled',\n [this.size]: this.size\n });\n },\n labelDataP() {\n return cn({\n placeholder: !this.editable && this.label === this.placeholder,\n clearable: this.showClear,\n disabled: this.disabled,\n editable: this.editable,\n [this.size]: this.size,\n empty: !this.editable && !this.$slots['value'] && (this.label === 'p-emptylabel' || this.label.length === 0)\n });\n },\n dropdownIconDataP() {\n return cn({\n [this.size]: this.size\n });\n },\n overlayDataP() {\n return cn({\n ['portal-' + this.appendTo]: 'portal-' + this.appendTo\n });\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n InputText,\n VirtualScroller,\n Portal,\n InputIcon,\n IconField,\n TimesIcon,\n ChevronDownIcon,\n SpinnerIcon,\n SearchIcon,\n CheckIcon,\n BlankIcon\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :id=\"$id\" :class=\"cx('root')\" @click=\"onContainerClick\" :data-p=\"containerDataP\" v-bind=\"ptmi('root')\">\n <input\n v-if=\"editable\"\n ref=\"focusInput\"\n :name=\"name\"\n :id=\"labelId || inputId\"\n type=\"text\"\n :class=\"[cx('label'), inputClass, labelClass]\"\n :style=\"[inputStyle, labelStyle]\"\n :value=\"editableInputValue\"\n :placeholder=\"placeholder\"\n :tabindex=\"!disabled ? tabindex : -1\"\n :disabled=\"disabled\"\n autocomplete=\"off\"\n role=\"combobox\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"$id + '_list'\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-invalid=\"invalid || undefined\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n @input=\"onEditableInput\"\n :data-p=\"labelDataP\"\n v-bind=\"ptm('label')\"\n />\n <span\n v-else\n ref=\"focusInput\"\n :name=\"name\"\n :id=\"labelId || inputId\"\n :class=\"[cx('label'), inputClass, labelClass]\"\n :style=\"[inputStyle, labelStyle]\"\n :tabindex=\"!disabled ? tabindex : -1\"\n role=\"combobox\"\n :aria-label=\"ariaLabel || (label === 'p-emptylabel' ? undefined : label)\"\n :aria-labelledby=\"ariaLabelledby\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"$id + '_list'\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-invalid=\"invalid || undefined\"\n :aria-disabled=\"disabled\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n :data-p=\"labelDataP\"\n v-bind=\"ptm('label')\"\n >\n <slot name=\"value\" :value=\"d_value\" :placeholder=\"placeholder\">{{ label === 'p-emptylabel' ? ' ' : (label ?? 'empty') }}</slot>\n </span>\n <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\">\n <component :is=\"clearIcon ? 'i' : 'TimesIcon'\" ref=\"clearIcon\" :class=\"[cx('clearIcon'), clearIcon]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" data-pc-section=\"clearicon\" />\n </slot>\n <div :class=\"cx('dropdown')\" v-bind=\"ptm('dropdown')\">\n <slot v-if=\"loading\" name=\"loadingicon\" :class=\"cx('loadingIcon')\">\n <span v-if=\"loadingIcon\" :class=\"[cx('loadingIcon'), 'pi-spin', loadingIcon]\" aria-hidden=\"true\" v-bind=\"ptm('loadingIcon')\" />\n <SpinnerIcon v-else :class=\"cx('loadingIcon')\" spin aria-hidden=\"true\" v-bind=\"ptm('loadingIcon')\" />\n </slot>\n <slot v-else name=\"dropdownicon\" :class=\"cx('dropdownIcon')\">\n <component :is=\"dropdownIcon ? 'span' : 'ChevronDownIcon'\" :class=\"[cx('dropdownIcon'), dropdownIcon]\" aria-hidden=\"true\" :data-p=\"dropdownIconDataP\" v-bind=\"ptm('dropdownIcon')\" />\n </slot>\n </div>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @after-enter=\"onOverlayAfterEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"overlayVisible\" :ref=\"overlayRef\" :class=\"[cx('overlay'), panelClass, overlayClass]\" :style=\"[panelStyle, overlayStyle]\" @click=\"onOverlayClick\" @keydown=\"onOverlayKeyDown\" :data-p=\"overlayDataP\" v-bind=\"ptm('overlay')\">\n <span\n ref=\"firstHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n aria-hidden=\"true\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onFirstHiddenFocus\"\n v-bind=\"ptm('hiddenFirstFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n <slot name=\"header\" :value=\"d_value\" :options=\"visibleOptions\"></slot>\n <div v-if=\"filter\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <IconField :unstyled=\"unstyled\" :pt=\"ptm('pcFilterContainer')\">\n <InputText\n ref=\"filterInput\"\n type=\"text\"\n :value=\"filterValue\"\n @vue:mounted=\"onFilterUpdated\"\n @vue:updated=\"onFilterUpdated\"\n :class=\"cx('pcFilter')\"\n :placeholder=\"filterPlaceholder\"\n :variant=\"variant\"\n :unstyled=\"unstyled\"\n role=\"searchbox\"\n autocomplete=\"off\"\n :aria-owns=\"$id + '_list'\"\n :aria-activedescendant=\"focusedOptionId\"\n @keydown=\"onFilterKeyDown\"\n @blur=\"onFilterBlur\"\n @input=\"onFilterChange\"\n :pt=\"ptm('pcFilter')\"\n :formControl=\"{ novalidate: true }\"\n />\n <InputIcon :unstyled=\"unstyled\" :pt=\"ptm('pcFilterIconContainer')\">\n <slot name=\"filtericon\">\n <span v-if=\"filterIcon\" :class=\"filterIcon\" v-bind=\"ptm('filterIcon')\" />\n <SearchIcon v-else v-bind=\"ptm('filterIcon')\" />\n </slot>\n </InputIcon>\n </IconField>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenFilterResult')\" :data-p-hidden-accessible=\"true\">\n {{ filterResultMessageText }}\n </span>\n </div>\n <div :class=\"cx('listContainer')\" :style=\"{ 'max-height': virtualScrollerDisabled ? scrollHeight : '' }\" v-bind=\"ptm('listContainer')\">\n <VirtualScroller :ref=\"virtualScrollerRef\" v-bind=\"virtualScrollerOptions\" :items=\"visibleOptions\" :style=\"{ height: scrollHeight }\" :tabindex=\"-1\" :disabled=\"virtualScrollerDisabled\" :pt=\"ptm('virtualScroller')\">\n <template v-slot:content=\"{ styleClass, contentRef, items, getItemOptions, contentStyle, itemSize }\">\n <ul :ref=\"(el) => listRef(el, contentRef)\" :id=\"$id + '_list'\" :class=\"[cx('list'), styleClass]\" :style=\"contentStyle\" role=\"listbox\" v-bind=\"ptm('list')\">\n <template v-for=\"(option, i) of items\" :key=\"getOptionRenderKey(option, getOptionIndex(i, getItemOptions))\">\n <li\n v-if=\"isOptionGroup(option)\"\n :id=\"$id + '_' + getOptionIndex(i, getItemOptions)\"\n :style=\"{ height: itemSize ? itemSize + 'px' : undefined }\"\n :class=\"cx('optionGroup')\"\n role=\"option\"\n v-bind=\"ptm('optionGroup')\"\n >\n <slot name=\"optiongroup\" :option=\"option.optionGroup\" :index=\"getOptionIndex(i, getItemOptions)\">\n <span :class=\"cx('optionGroupLabel')\" v-bind=\"ptm('optionGroupLabel')\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n </slot>\n </li>\n <li\n v-else\n :id=\"$id + '_' + getOptionIndex(i, getItemOptions)\"\n v-ripple\n :class=\"cx('option', { option, focusedOption: getOptionIndex(i, getItemOptions) })\"\n :style=\"{ height: itemSize ? itemSize + 'px' : undefined }\"\n role=\"option\"\n :aria-label=\"getOptionLabel(option)\"\n :aria-selected=\"isSelected(option)\"\n :aria-disabled=\"isOptionDisabled(option)\"\n :aria-setsize=\"ariaSetSize\"\n :aria-posinset=\"getAriaPosInset(getOptionIndex(i, getItemOptions))\"\n @mousedown=\"onOptionSelect($event, option)\"\n @mousemove=\"onOptionMouseMove($event, getOptionIndex(i, getItemOptions))\"\n @click.stop\n :data-p-selected=\"!checkmark && isSelected(option)\"\n :data-p-focused=\"focusedOptionIndex === getOptionIndex(i, getItemOptions)\"\n :data-p-disabled=\"isOptionDisabled(option)\"\n v-bind=\"getPTItemOptions(option, getItemOptions, i, 'option')\"\n >\n <template v-if=\"checkmark\">\n <CheckIcon v-if=\"isSelected(option)\" :class=\"cx('optionCheckIcon')\" v-bind=\"ptm('optionCheckIcon')\" />\n <BlankIcon v-else :class=\"cx('optionBlankIcon')\" v-bind=\"ptm('optionBlankIcon')\" />\n </template>\n <slot name=\"option\" :option=\"option\" :selected=\"isSelected(option)\" :index=\"getOptionIndex(i, getItemOptions)\">\n <span :class=\"cx('optionLabel')\" v-bind=\"ptm('optionLabel')\">{{ getOptionLabel(option) }}</span>\n </slot>\n </li>\n </template>\n <li v-if=\"filterValue && (!items || (items && items.length === 0))\" :class=\"cx('emptyMessage')\" role=\"option\" v-bind=\"ptm('emptyMessage')\" :data-p-hidden-accessible=\"true\">\n <slot name=\"emptyfilter\">{{ emptyFilterMessageText }}</slot>\n </li>\n <li v-else-if=\"!options || (options && options.length === 0)\" :class=\"cx('emptyMessage')\" role=\"option\" v-bind=\"ptm('emptyMessage')\" :data-p-hidden-accessible=\"true\">\n <slot name=\"empty\">{{ emptyMessageText }}</slot>\n </li>\n </ul>\n </template>\n <template v-if=\"$slots.loader\" v-slot:loader=\"{ options }\">\n <slot name=\"loader\" :options=\"options\"></slot>\n </template>\n </VirtualScroller>\n </div>\n <slot name=\"footer\" :value=\"d_value\" :options=\"visibleOptions\"></slot>\n <span v-if=\"!options || (options && options.length === 0)\" role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenEmptyMessage')\" :data-p-hidden-accessible=\"true\">\n {{ emptyMessageText }}\n </span>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenSelectedMessage')\" :data-p-hidden-accessible=\"true\">\n {{ selectedMessageText }}\n </span>\n <span\n ref=\"lastHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n aria-hidden=\"true\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onLastHiddenFocus\"\n v-bind=\"ptm('hiddenLastFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { absolutePosition, addStyle, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, getOuterWidth, isAndroid, isTouchDevice, isVisible, relativePosition } from '@primeuix/utils/dom';\nimport { equals, findLastIndex, isNotEmpty, isPrintableCharacter, resolveFieldData } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { FilterService } from '@primevue/core/api';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport BlankIcon from '@primevue/icons/blank';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport TimesIcon from '@primevue/icons/times';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport VirtualScroller from 'primevue/virtualscroller';\nimport BaseSelect from './BaseSelect.vue';\n\nexport default {\n name: 'Select',\n extends: BaseSelect,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur', 'before-show', 'before-hide', 'show', 'hide', 'filter'],\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n labelClickListener: null,\n matchMediaOrientationListener: null,\n overlay: null,\n list: null,\n virtualScroller: null,\n searchTimeout: null,\n searchValue: null,\n isModelValueChanged: false,\n data() {\n return {\n clicked: false,\n focused: false,\n focusedOptionIndex: -1,\n filterValue: null,\n overlayVisible: false,\n queryOrientation: null\n };\n },\n watch: {\n modelValue() {\n this.isModelValueChanged = true;\n },\n options() {\n this.autoUpdateModel();\n }\n },\n mounted() {\n this.autoUpdateModel();\n this.bindLabelClickListener();\n this.bindMatchMediaOrientationListener();\n },\n updated() {\n if (this.overlayVisible && this.isModelValueChanged) {\n this.scrollInView(this.findSelectedOptionIndex());\n }\n\n this.isModelValueChanged = false;\n },\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindLabelClickListener();\n this.unbindMatchMediaOrientationListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n methods: {\n getOptionIndex(index, fn) {\n return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];\n },\n getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option;\n },\n getOptionRenderKey(option, index) {\n return (this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;\n },\n getPTItemOptions(option, itemOptions, index, key) {\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 isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n },\n getOptionGroupLabel(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupLabel);\n },\n getOptionGroupChildren(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupChildren);\n },\n getAriaPosInset(index) {\n return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;\n },\n show(isFocus) {\n this.$emit('before-show');\n this.overlayVisible = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n\n isFocus && focus(this.$refs.focusInput);\n },\n hide(isFocus) {\n const _hide = () => {\n this.$emit('before-hide');\n this.overlayVisible = false;\n this.clicked = false;\n this.focusedOptionIndex = -1;\n this.searchValue = '';\n\n this.resetFilterOnHide && (this.filterValue = null);\n isFocus && focus(this.$refs.focusInput);\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n },\n onFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n\n if (this.overlayVisible) {\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n this.scrollInView(this.focusedOptionIndex);\n }\n\n this.$emit('focus', event);\n },\n onBlur(event) {\n setTimeout(() => {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.searchValue = '';\n this.$emit('blur', event);\n this.formField.onBlur?.(event);\n }, 100);\n },\n onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n if (isAndroid()) {\n switch (event.code) {\n case 'Backspace':\n this.onBackspaceKey(event, this.editable);\n break;\n case 'Enter':\n case 'NumpadDecimal':\n this.onEnterKey(event);\n break;\n default:\n event.preventDefault();\n return;\n }\n }\n\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\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 '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 case 'Space':\n this.onSpaceKey(event, this.editable);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\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 (!metaKey && isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n !this.editable && this.searchOptions(event, event.key);\n }\n\n break;\n }\n\n this.clicked = false;\n },\n onEditableInput(event) {\n const value = event.target.value;\n\n this.searchValue = '';\n const matched = this.searchOptions(event, value);\n\n !matched && (this.focusedOptionIndex = -1);\n\n this.updateModel(event, value);\n\n !this.overlayVisible && isNotEmpty(value) && this.show();\n },\n onContainerClick(event) {\n if (this.disabled || 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.overlay || !this.overlay.contains(event.target)) {\n this.overlayVisible ? this.hide(true) : this.show(true);\n }\n\n this.clicked = true;\n },\n onClearClick(event) {\n this.updateModel(event, null);\n this.resetFilterOnClear && (this.filterValue = null);\n },\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onOptionSelect(event, option, isHide = true) {\n const value = this.getOptionValue(option);\n this.updateModel(event, value);\n isHide && this.hide(true);\n },\n onOptionMouseMove(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n },\n onFilterChange(event) {\n const value = event.target.value;\n\n this.filterValue = value;\n this.focusedOptionIndex = -1;\n this.$emit('filter', { originalEvent: event, value });\n\n !this.virtualScrollerDisabled && this.virtualScroller.scrollToIndex(0);\n },\n onFilterKeyDown(event) {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if (event.isComposing) return;\n\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);\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 onFilterBlur() {\n this.focusedOptionIndex = -1;\n },\n onFilterUpdated() {\n if (this.overlayVisible) {\n this.alignOverlay();\n }\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n },\n onOverlayKeyDown(event) {\n switch (event.code) {\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n this.show();\n this.editable && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());\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\n event.preventDefault();\n },\n onArrowUpKey(event, pressedInInputText = false) {\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\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 !this.overlayVisible && this.show();\n event.preventDefault();\n }\n },\n onArrowLeftKey(event, pressedInInputText = false) {\n pressedInInputText && (this.focusedOptionIndex = -1);\n },\n onHomeKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(0, event.target.selectionStart);\n } else {\n target.setSelectionRange(0, 0);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n },\n onEndKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(event.target.selectionStart, target.value.length);\n } else {\n const len = target.value.length;\n\n target.setSelectionRange(len, len);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions.length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n if (!this.overlayVisible) {\n this.focusedOptionIndex = -1; // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.hide(true);\n }\n\n event.preventDefault();\n },\n onSpaceKey(event, pressedInInputText = false) {\n !pressedInInputText && this.onEnterKey(event);\n },\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n event.stopPropagation(); //@todo will be changed next versionss\n },\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.overlayVisible && this.hide(this.filter);\n }\n }\n },\n onBackspaceKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n !this.overlayVisible && this.show();\n }\n },\n onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n addStyle(el, { position: 'absolute', top: '0' });\n this.alignOverlay();\n this.scrollInView();\n\n // Issue: #7508\n this.$attrSelector && el.setAttribute(this.$attrSelector, '');\n\n setTimeout(() => {\n this.autoFilterFocus && this.filter && focus(this.$refs.filterInput.$el);\n this.autoUpdateModel();\n }, 1);\n },\n onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n\n if (this.autoFilterFocus && this.filter && !this.editable) {\n this.$nextTick(() => {\n if (this.$refs.filterInput) {\n focus(this.$refs.filterInput.$el);\n }\n });\n }\n\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n if (this.overlay) {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const composedPath = event.composedPath();\n if (this.overlayVisible && this.overlay && !composedPath.includes(this.$el) && !composedPath.includes(this.overlay)) {\n this.hide();\n }\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindLabelClickListener() {\n if (!this.editable && !this.labelClickListener) {\n const label = document.querySelector(`label[for=\"${this.labelId}\"]`);\n\n if (label && isVisible(label)) {\n this.labelClickListener = () => {\n focus(this.$refs.focusInput);\n };\n\n label.addEventListener('click', this.labelClickListener);\n }\n }\n },\n unbindLabelClickListener() {\n if (this.labelClickListener) {\n const label = document.querySelector(`label[for=\"${this.labelId}\"]`);\n\n if (label && isVisible(label)) {\n label.removeEventListener('click', this.labelClickListener);\n }\n }\n },\n bindMatchMediaOrientationListener() {\n if (!this.matchMediaOrientationListener) {\n const query = matchMedia(`(orientation: portrait)`);\n\n this.queryOrientation = query;\n\n this.matchMediaOrientationListener = () => {\n this.alignOverlay();\n };\n\n this.queryOrientation.addEventListener('change', this.matchMediaOrientationListener);\n }\n },\n unbindMatchMediaOrientationListener() {\n if (this.matchMediaOrientationListener) {\n this.queryOrientation.removeEventListener('change', this.matchMediaOrientationListener);\n this.queryOrientation = null;\n this.matchMediaOrientationListener = null;\n }\n },\n hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n isOptionExactMatched(option) {\n return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale) == this.searchValue.toLocaleLowerCase(this.filterLocale);\n },\n isOptionStartsWith(option) {\n return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));\n },\n isValidOption(option) {\n return isNotEmpty(option) && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n },\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n },\n isSelected(option) {\n return equals(this.d_value, this.getOptionValue(option), this.equalityKey);\n },\n findFirstOptionIndex() {\n return this.visibleOptions.findIndex((option) => this.isValidOption(option));\n },\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions, (option) => this.isValidOption(option));\n },\n findNextOptionIndex(index) {\n const matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\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 findSelectedOptionIndex() {\n return this.$filled ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;\n },\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n },\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n },\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n if (isNotEmpty(this.searchValue)) {\n optionIndex = this.visibleOptions.findIndex((option) => this.isOptionExactMatched(option));\n\n if (optionIndex === -1) {\n optionIndex = this.visibleOptions.findIndex((option) => this.isOptionStartsWith(option));\n }\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 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 changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex !== index) {\n this.focusedOptionIndex = index;\n this.scrollInView();\n\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions[index], false);\n }\n }\n },\n scrollInView(index = -1) {\n this.$nextTick(() => {\n const id = index !== -1 ? `${this.$id}_${index}` : this.focusedOptionId;\n const element = findSingle(this.list, `li[id=\"${id}\"]`);\n\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n this.virtualScroller && this.virtualScroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex);\n }\n });\n },\n autoUpdateModel() {\n if (this.autoOptionFocus) {\n this.focusedOptionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) {\n this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);\n }\n },\n updateModel(event, value) {\n this.writeValue(value, event);\n this.$emit('change', { originalEvent: event, value });\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 optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n },\n overlayRef(el) {\n this.overlay = el;\n },\n listRef(el, contentRef) {\n this.list = el;\n contentRef && contentRef(el); // For VirtualScroller\n },\n virtualScrollerRef(el) {\n this.virtualScroller = el;\n }\n },\n computed: {\n visibleOptions() {\n const options = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || [];\n\n if (this.filterValue) {\n const filteredOptions = FilterService.filter(options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n\n if (this.optionGroupLabel) {\n const optionGroups = this.options || [];\n const filtered = [];\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) filtered.push({ ...group, [typeof this.optionGroupChildren === 'string' ? this.optionGroupChildren : 'items']: [...filteredItems] });\n });\n\n return this.flatOptions(filtered);\n }\n\n return filteredOptions;\n }\n\n return options;\n },\n // @deprecated use $filled instead\n hasSelectedOption() {\n return this.$filled;\n },\n label() {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.placeholder || 'p-emptylabel';\n },\n editableInputValue() {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.d_value || '';\n },\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n },\n searchFields() {\n return this.filterFields || [this.optionLabel];\n },\n filterResultMessageText() {\n return isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptyFilterMessageText;\n },\n filterMessageText() {\n return this.filterMessage || this.$primevue.config.locale.searchMessage || '';\n },\n emptyFilterMessageText() {\n return this.emptyFilterMessage || this.$primevue.config.locale.emptySearchMessage || this.$primevue.config.locale.emptyFilterMessage || '';\n },\n emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage || '';\n },\n selectionMessageText() {\n return this.selectionMessage || this.$primevue.config.locale.selectionMessage || '';\n },\n emptySelectionMessageText() {\n return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';\n },\n selectedMessageText() {\n return this.$filled ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;\n },\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? `${this.$id}_${this.focusedOptionIndex}` : null;\n },\n ariaSetSize() {\n return this.visibleOptions.filter((option) => !this.isOptionGroup(option)).length;\n },\n isClearIconVisible() {\n return this.showClear && this.d_value != null && isNotEmpty(this.options);\n },\n virtualScrollerDisabled() {\n return !this.virtualScrollerOptions;\n },\n containerDataP() {\n return cn({\n invalid: this.$invalid,\n disabled: this.disabled,\n focus: this.focused,\n fluid: this.$fluid,\n filled: this.$variant === 'filled',\n [this.size]: this.size\n });\n },\n labelDataP() {\n return cn({\n placeholder: !this.editable && this.label === this.placeholder,\n clearable: this.showClear,\n disabled: this.disabled,\n editable: this.editable,\n [this.size]: this.size,\n empty: !this.editable && !this.$slots['value'] && (this.label === 'p-emptylabel' || this.label.length === 0)\n });\n },\n dropdownIconDataP() {\n return cn({\n [this.size]: this.size\n });\n },\n overlayDataP() {\n return cn({\n ['portal-' + this.appendTo]: 'portal-' + this.appendTo\n });\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n InputText,\n VirtualScroller,\n Portal,\n InputIcon,\n IconField,\n TimesIcon,\n ChevronDownIcon,\n SpinnerIcon,\n SearchIcon,\n CheckIcon,\n BlankIcon\n }\n};\n</script>\n"],"names":["name","BaseInput","props","options","Array","optionLabel","String","Function","optionValue","optionDisabled","optionGroupLabel","optionGroupChildren","scrollHeight","type","filter","Boolean","filterPlaceholder","filterLocale","filterMatchMode","filterFields","editable","placeholder","dataKey","showClear","inputId","inputClass","Object","inputStyle","labelId","labelClass","labelStyle","panelClass","overlayStyle","overlayClass","panelStyle","appendTo","loading","clearIcon","undefined","dropdownIcon","filterIcon","loadingIcon","resetFilterOnHide","resetFilterOnClear","virtualScrollerOptions","autoOptionFocus","autoFilterFocus","selectOnFocus","focusOnHover","highlightOnSelect","checkmark","filterMessage","selectionMessage","emptySelectionMessage","emptyFilterMessage","emptyMessage","tabindex","Number","ariaLabel","ariaLabelledby","style","SelectStyle","provide","$pcSelect","$parentInstance","BaseSelect","inheritAttrs","emits","outsideClickListener","scrollHandler","resizeListener","labelClickListener","matchMediaOrientationListener","overlay","list","virtualScroller","searchTimeout","searchValue","isModelValueChanged","data","clicked","focused","focusedOptionIndex","filterValue","overlayVisible","queryOrientation","watch","modelValue","autoUpdateModel","mounted","bindLabelClickListener","bindMatchMediaOrientationListener","updated","scrollInView","findSelectedOptionIndex","beforeUnmount","unbindOutsideClickListener","unbindResizeListener","unbindLabelClickListener","unbindMatchMediaOrientationListener","destroy","ZIndex","clear","methods","getOptionIndex","index","fn","virtualScrollerDisabled","getOptionLabel","option","resolveFieldData","getOptionValue","getOptionRenderKey","getPTItemOptions","itemOptions","key","ptm","context","selected","isSelected","disabled","isOptionDisabled","isOptionGroup","optionGroup","group","getOptionGroupLabel","getOptionGroupChildren","getAriaPosInset","_this","visibleOptions","slice","length","show","isFocus","$emit","findFirstFocusedOptionIndex","focus","$refs","focusInput","hide","_this2","_hide","setTimeout","onFocus","event","onBlur","_this3","_this3$formField$onBl","_this3$formField","formField","call","onKeyDown","preventDefault","isAndroid","code","onBackspaceKey","onEnterKey","metaKey","ctrlKey","onArrowDownKey","onArrowUpKey","onArrowLeftKey","onHomeKey","onEndKey","onPageDownKey","onPageUpKey","onSpaceKey","onEscapeKey","onTabKey","isPrintableCharacter","searchOptions","onEditableInput","value","target","matched","updateModel","isNotEmpty","onContainerClick","tagName","getAttribute","closest","contains","onClearClick","onFirstHiddenFocus","focusableEl","relatedTarget","getFirstFocusableElement","onLastHiddenFocus","getLastFocusableElement","onOptionSelect","isHide","arguments","onOptionMouseMove","changeFocusedOptionIndex","onFilterChange","originalEvent","scrollToIndex","onFilterKeyDown","isComposing","onFilterBlur","onFilterUpdated","alignOverlay","onOverlayClick","OverlayEventBus","emit","$el","onOverlayKeyDown","optionIndex","findNextOptionIndex","findFirstOptionIndex","pressedInInputText","altKey","findPrevOptionIndex","findLastOptionIndex","findLastFocusedOptionIndex","currentTarget","shiftKey","setSelectionRange","selectionStart","len","stopPropagation","hasFocusableElements","firstHiddenFocusableElementOnOverlay","onOverlayEnter","el","_this4","set","$primevue","config","zIndex","addStyle","position","top","$attrSelector","setAttribute","filterInput","onOverlayAfterEnter","bindOutsideClickListener","bindScrollListener","bindResizeListener","onOverlayLeave","_this5","unbindScrollListener","$nextTick","onOverlayAfterLeave","relativePosition","minWidth","getOuterWidth","absolutePosition","_this6","composedPath","includes","document","addEventListener","removeEventListener","_this7","ConnectedOverlayScrollHandler","container","_this8","isTouchDevice","window","_this9","label","querySelector","concat","isVisible","_this0","query","matchMedia","getFocusableElements","isOptionExactMatched","_this$getOptionLabel","isValidOption","toLocaleLowerCase","isOptionStartsWith","_this$getOptionLabel2","startsWith","isValidSelectedOption","equals","d_value","equalityKey","_this1","findIndex","_this10","findLastIndex","_this11","matchedOptionIndex","_this12","_this13","$filled","selectedIndex","char","_this14","clearTimeout","_this15","id","$id","focusedOptionId","element","findSingle","scrollIntoView","block","inline","writeValue","flatOptions","_this16","reduce","result","push","forEach","o","overlayRef","listRef","contentRef","virtualScrollerRef","computed","_this17","filteredOptions","FilterService","searchFields","optionGroups","filtered","groupChildren","filteredItems","item","_objectSpread","_defineProperty","_toConsumableArray","hasSelectedOption","selectedOptionIndex","editableInputValue","filterResultMessageText","filterMessageText","replaceAll","emptyFilterMessageText","locale","searchMessage","emptySearchMessage","emptyMessageText","selectionMessageText","emptySelectionMessageText","selectedMessageText","ariaSetSize","_this18","isClearIconVisible","containerDataP","cn","invalid","$invalid","fluid","$fluid","filled","$variant","size","labelDataP","clearable","$slots","dropdownIconDataP","overlayDataP","directives","ripple","Ripple","components","InputText","VirtualScroller","Portal","InputIcon","IconField","TimesIcon","ChevronDownIcon","SpinnerIcon","SearchIcon","CheckIcon","BlankIcon","_openBlock","_createElementBlock","_mergeProps","ref","_ctx","cx","onClick","$options","apply","ptmi","autocomplete","role","$data","onKeydown","onInput","_hoisted_2","_renderSlot","_$options$label","_createTextVNode","_toDisplayString","clearCallback","_createBlock","_resolveDynamicComponent","_createElementVNode","_component_SpinnerIcon","spin","_createVNode","_component_Portal","_Transition","onEnter","onAfterEnter","onLeave","onAfterLeave","_component_IconField","unstyled","pt","_component_InputText","onVnodeMounted","onVnodeUpdated","variant","formControl","novalidate","_component_InputIcon","_component_SearchIcon","_component_VirtualScroller","items","content","_withCtx","_ref","styleClass","getItemOptions","contentStyle","itemSize","_Fragment","_renderList","i","height","ref_for","_withDirectives","onMousedown","$event","onMousemove","_component_CheckIcon","_component_BlankIcon","loader","_ref2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/select/BaseSelect.vue","../../src/select/Select.vue","../../src/select/Select.vue?vue&type=template&id=419809c0&lang.js"],"sourcesContent":["<script>\nimport BaseInput from '@primevue/core/baseinput';\nimport SelectStyle from 'primevue/select/style';\n\nexport default {\n name: 'BaseSelect',\n extends: BaseInput,\n props: {\n options: Array,\n optionLabel: [String, Function],\n optionValue: [String, Function],\n optionDisabled: [String, Function],\n optionGroupLabel: [String, Function],\n optionGroupChildren: [String, Function],\n scrollHeight: {\n type: String,\n default: '14rem'\n },\n filter: Boolean,\n filterPlaceholder: String,\n filterLocale: String,\n filterMatchMode: {\n type: String,\n default: 'contains'\n },\n filterFields: {\n type: Array,\n default: null\n },\n editable: Boolean,\n placeholder: {\n type: String,\n default: null\n },\n dataKey: null,\n showClear: {\n type: Boolean,\n default: false\n },\n inputId: {\n type: String,\n default: null\n },\n inputClass: {\n type: [String, Object],\n default: null\n },\n inputStyle: {\n type: Object,\n default: null\n },\n labelId: {\n type: String,\n default: null\n },\n labelClass: {\n type: [String, Object],\n default: null\n },\n labelStyle: {\n type: Object,\n default: null\n },\n panelClass: {\n type: [String, Object],\n default: null\n },\n overlayStyle: {\n type: Object,\n default: null\n },\n overlayClass: {\n type: [String, Object],\n default: null\n },\n panelStyle: {\n type: Object,\n default: null\n },\n appendTo: {\n type: [String, Object],\n default: 'body'\n },\n loading: {\n type: Boolean,\n default: false\n },\n clearIcon: {\n type: String,\n default: undefined\n },\n dropdownIcon: {\n type: String,\n default: undefined\n },\n filterIcon: {\n type: String,\n default: undefined\n },\n loadingIcon: {\n type: String,\n default: undefined\n },\n resetFilterOnHide: {\n type: Boolean,\n default: false\n },\n resetFilterOnClear: {\n type: Boolean,\n default: false\n },\n virtualScrollerOptions: {\n type: Object,\n default: null\n },\n autoOptionFocus: {\n type: Boolean,\n default: false\n },\n autoFilterFocus: {\n type: Boolean,\n default: false\n },\n selectOnFocus: {\n type: Boolean,\n default: false\n },\n focusOnHover: {\n type: Boolean,\n default: true\n },\n highlightOnSelect: {\n type: Boolean,\n default: true\n },\n checkmark: {\n type: Boolean,\n default: false\n },\n filterMessage: {\n type: String,\n default: null\n },\n selectionMessage: {\n type: String,\n default: null\n },\n emptySelectionMessage: {\n type: String,\n default: null\n },\n emptyFilterMessage: {\n type: String,\n default: null\n },\n emptyMessage: {\n type: String,\n default: null\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n }\n },\n style: SelectStyle,\n provide() {\n return {\n $pcSelect: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :id=\"$id\" :class=\"cx('root')\" @click=\"onContainerClick\" :data-p=\"containerDataP\" v-bind=\"ptmi('root')\">\n <input\n v-if=\"editable\"\n ref=\"focusInput\"\n :name=\"name\"\n :id=\"labelId || inputId\"\n type=\"text\"\n :class=\"[cx('label'), inputClass, labelClass]\"\n :style=\"[inputStyle, labelStyle]\"\n :value=\"editableInputValue\"\n :placeholder=\"placeholder\"\n :tabindex=\"!disabled ? tabindex : -1\"\n :disabled=\"disabled\"\n autocomplete=\"off\"\n role=\"combobox\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"$id + '_list'\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-invalid=\"invalid || undefined\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n @input=\"onEditableInput\"\n :data-p=\"labelDataP\"\n v-bind=\"ptm('label')\"\n />\n <span\n v-else\n ref=\"focusInput\"\n :name=\"name\"\n :id=\"labelId || inputId\"\n :class=\"[cx('label'), inputClass, labelClass]\"\n :style=\"[inputStyle, labelStyle]\"\n :tabindex=\"!disabled ? tabindex : -1\"\n role=\"combobox\"\n :aria-label=\"ariaLabel || (label === 'p-emptylabel' ? undefined : label)\"\n :aria-labelledby=\"ariaLabelledby\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"$id + '_list'\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-invalid=\"invalid || undefined\"\n :aria-disabled=\"disabled\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n :data-p=\"labelDataP\"\n v-bind=\"ptm('label')\"\n >\n <slot name=\"value\" :value=\"d_value\" :placeholder=\"placeholder\">{{ label === 'p-emptylabel' ? ' ' : (label ?? 'empty') }}</slot>\n </span>\n <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\">\n <component :is=\"clearIcon ? 'i' : 'TimesIcon'\" ref=\"clearIcon\" :class=\"[cx('clearIcon'), clearIcon]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" data-pc-section=\"clearicon\" />\n </slot>\n <div :class=\"cx('dropdown')\" v-bind=\"ptm('dropdown')\">\n <slot v-if=\"loading\" name=\"loadingicon\" :class=\"cx('loadingIcon')\">\n <span v-if=\"loadingIcon\" :class=\"[cx('loadingIcon'), 'pi-spin', loadingIcon]\" aria-hidden=\"true\" v-bind=\"ptm('loadingIcon')\" />\n <SpinnerIcon v-else :class=\"cx('loadingIcon')\" spin aria-hidden=\"true\" v-bind=\"ptm('loadingIcon')\" />\n </slot>\n <slot v-else name=\"dropdownicon\" :class=\"cx('dropdownIcon')\">\n <component :is=\"dropdownIcon ? 'span' : 'ChevronDownIcon'\" :class=\"[cx('dropdownIcon'), dropdownIcon]\" aria-hidden=\"true\" :data-p=\"dropdownIconDataP\" v-bind=\"ptm('dropdownIcon')\" />\n </slot>\n </div>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @after-enter=\"onOverlayAfterEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"overlayVisible\" :ref=\"overlayRef\" :class=\"[cx('overlay'), panelClass, overlayClass]\" :style=\"[panelStyle, overlayStyle]\" @click=\"onOverlayClick\" @keydown=\"onOverlayKeyDown\" :data-p=\"overlayDataP\" v-bind=\"ptm('overlay')\">\n <span\n ref=\"firstHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n aria-hidden=\"true\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onFirstHiddenFocus\"\n v-bind=\"ptm('hiddenFirstFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n <slot name=\"header\" :value=\"d_value\" :options=\"visibleOptions\"></slot>\n <div v-if=\"filter\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <IconField :unstyled=\"unstyled\" :pt=\"ptm('pcFilterContainer')\">\n <InputText\n ref=\"filterInput\"\n type=\"text\"\n :value=\"filterValue\"\n @vue:mounted=\"onFilterUpdated\"\n @vue:updated=\"onFilterUpdated\"\n :class=\"cx('pcFilter')\"\n :placeholder=\"filterPlaceholder\"\n :variant=\"variant\"\n :unstyled=\"unstyled\"\n role=\"searchbox\"\n autocomplete=\"off\"\n :aria-owns=\"$id + '_list'\"\n :aria-activedescendant=\"focusedOptionId\"\n @keydown=\"onFilterKeyDown\"\n @blur=\"onFilterBlur\"\n @input=\"onFilterChange\"\n :pt=\"ptm('pcFilter')\"\n :formControl=\"{ novalidate: true }\"\n />\n <InputIcon :unstyled=\"unstyled\" :pt=\"ptm('pcFilterIconContainer')\">\n <slot name=\"filtericon\">\n <span v-if=\"filterIcon\" :class=\"filterIcon\" v-bind=\"ptm('filterIcon')\" />\n <SearchIcon v-else v-bind=\"ptm('filterIcon')\" />\n </slot>\n </InputIcon>\n </IconField>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenFilterResult')\" :data-p-hidden-accessible=\"true\">\n {{ filterResultMessageText }}\n </span>\n </div>\n <div :class=\"cx('listContainer')\" :style=\"{ 'max-height': virtualScrollerDisabled ? scrollHeight : '' }\" v-bind=\"ptm('listContainer')\">\n <VirtualScroller :ref=\"virtualScrollerRef\" v-bind=\"virtualScrollerOptions\" :items=\"visibleOptions\" :style=\"{ height: scrollHeight }\" :tabindex=\"-1\" :disabled=\"virtualScrollerDisabled\" :pt=\"ptm('virtualScroller')\">\n <template v-slot:content=\"{ styleClass, contentRef, items, getItemOptions, contentStyle, itemSize }\">\n <ul :ref=\"(el) => listRef(el, contentRef)\" :id=\"$id + '_list'\" :class=\"[cx('list'), styleClass]\" :style=\"contentStyle\" role=\"listbox\" v-bind=\"ptm('list')\">\n <template v-for=\"(option, i) of items\" :key=\"getOptionRenderKey(option, getOptionIndex(i, getItemOptions))\">\n <li\n v-if=\"isOptionGroup(option)\"\n :id=\"$id + '_' + getOptionIndex(i, getItemOptions)\"\n :style=\"{ height: itemSize ? itemSize + 'px' : undefined }\"\n :class=\"cx('optionGroup')\"\n role=\"option\"\n v-bind=\"ptm('optionGroup')\"\n >\n <slot name=\"optiongroup\" :option=\"option.optionGroup\" :index=\"getOptionIndex(i, getItemOptions)\">\n <span :class=\"cx('optionGroupLabel')\" v-bind=\"ptm('optionGroupLabel')\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n </slot>\n </li>\n <li\n v-else\n :id=\"$id + '_' + getOptionIndex(i, getItemOptions)\"\n v-ripple\n :class=\"cx('option', { option, focusedOption: getOptionIndex(i, getItemOptions) })\"\n :style=\"{ height: itemSize ? itemSize + 'px' : undefined }\"\n role=\"option\"\n :aria-label=\"getOptionLabel(option)\"\n :aria-selected=\"isSelected(option)\"\n :aria-disabled=\"isOptionDisabled(option)\"\n :aria-setsize=\"ariaSetSize\"\n :aria-posinset=\"getAriaPosInset(getOptionIndex(i, getItemOptions))\"\n @mousedown=\"onOptionSelect($event, option)\"\n @mousemove=\"onOptionMouseMove($event, getOptionIndex(i, getItemOptions))\"\n @click.stop\n :data-p-selected=\"!checkmark && isSelected(option)\"\n :data-p-focused=\"focusedOptionIndex === getOptionIndex(i, getItemOptions)\"\n :data-p-disabled=\"isOptionDisabled(option)\"\n v-bind=\"getPTItemOptions(option, getItemOptions, i, 'option')\"\n >\n <template v-if=\"checkmark\">\n <CheckIcon v-if=\"isSelected(option)\" :class=\"cx('optionCheckIcon')\" v-bind=\"ptm('optionCheckIcon')\" />\n <BlankIcon v-else :class=\"cx('optionBlankIcon')\" v-bind=\"ptm('optionBlankIcon')\" />\n </template>\n <slot name=\"option\" :option=\"option\" :selected=\"isSelected(option)\" :index=\"getOptionIndex(i, getItemOptions)\">\n <span :class=\"cx('optionLabel')\" v-bind=\"ptm('optionLabel')\">{{ getOptionLabel(option) }}</span>\n </slot>\n </li>\n </template>\n <li v-if=\"filterValue && (!items || (items && items.length === 0))\" :class=\"cx('emptyMessage')\" role=\"option\" v-bind=\"ptm('emptyMessage')\" :data-p-hidden-accessible=\"true\">\n <slot name=\"emptyfilter\">{{ emptyFilterMessageText }}</slot>\n </li>\n <li v-else-if=\"!options || (options && options.length === 0)\" :class=\"cx('emptyMessage')\" role=\"option\" v-bind=\"ptm('emptyMessage')\" :data-p-hidden-accessible=\"true\">\n <slot name=\"empty\">{{ emptyMessageText }}</slot>\n </li>\n </ul>\n </template>\n <template v-if=\"$slots.loader\" v-slot:loader=\"{ options }\">\n <slot name=\"loader\" :options=\"options\"></slot>\n </template>\n </VirtualScroller>\n </div>\n <slot name=\"footer\" :value=\"d_value\" :options=\"visibleOptions\"></slot>\n <span v-if=\"!options || (options && options.length === 0)\" role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenEmptyMessage')\" :data-p-hidden-accessible=\"true\">\n {{ emptyMessageText }}\n </span>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenSelectedMessage')\" :data-p-hidden-accessible=\"true\">\n {{ selectedMessageText }}\n </span>\n <span\n ref=\"lastHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n aria-hidden=\"true\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onLastHiddenFocus\"\n v-bind=\"ptm('hiddenLastFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { absolutePosition, addStyle, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, getOuterWidth, isAndroid, isTouchDevice, isVisible, relativePosition } from '@primeuix/utils/dom';\nimport { equals, findLastIndex, isNotEmpty, isPrintableCharacter, resolveFieldData } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { FilterService } from '@primevue/core/api';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport BlankIcon from '@primevue/icons/blank';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport TimesIcon from '@primevue/icons/times';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport VirtualScroller from 'primevue/virtualscroller';\nimport BaseSelect from './BaseSelect.vue';\n\nexport default {\n name: 'Select',\n extends: BaseSelect,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur', 'before-show', 'before-hide', 'show', 'hide', 'filter'],\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n labelClickListener: null,\n matchMediaOrientationListener: null,\n overlay: null,\n list: null,\n virtualScroller: null,\n searchTimeout: null,\n searchValue: null,\n isModelValueChanged: false,\n data() {\n return {\n clicked: false,\n focused: false,\n focusedOptionIndex: -1,\n filterValue: null,\n overlayVisible: false,\n queryOrientation: null\n };\n },\n watch: {\n modelValue() {\n this.isModelValueChanged = true;\n },\n options() {\n this.autoUpdateModel();\n }\n },\n mounted() {\n this.autoUpdateModel();\n this.bindLabelClickListener();\n this.bindMatchMediaOrientationListener();\n },\n updated() {\n if (this.overlayVisible && this.isModelValueChanged) {\n this.scrollInView(this.findSelectedOptionIndex());\n }\n\n this.isModelValueChanged = false;\n },\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindLabelClickListener();\n this.unbindMatchMediaOrientationListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n methods: {\n getOptionIndex(index, fn) {\n return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];\n },\n getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option;\n },\n getOptionRenderKey(option, index) {\n return (this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;\n },\n getPTItemOptions(option, itemOptions, index, key) {\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 isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n },\n getOptionGroupLabel(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupLabel);\n },\n getOptionGroupChildren(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupChildren);\n },\n getAriaPosInset(index) {\n return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;\n },\n show(isFocus) {\n this.$emit('before-show');\n this.overlayVisible = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n\n isFocus && focus(this.$refs.focusInput);\n },\n hide(isFocus) {\n const _hide = () => {\n this.$emit('before-hide');\n this.overlayVisible = false;\n this.clicked = false;\n this.focusedOptionIndex = -1;\n this.searchValue = '';\n\n this.resetFilterOnHide && (this.filterValue = null);\n isFocus && focus(this.$refs.focusInput);\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n },\n onFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n\n if (this.overlayVisible) {\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n this.scrollInView(this.focusedOptionIndex);\n }\n\n this.$emit('focus', event);\n },\n onBlur(event) {\n setTimeout(() => {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.searchValue = '';\n this.$emit('blur', event);\n this.formField.onBlur?.(event);\n }, 100);\n },\n onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n if (isAndroid()) {\n switch (event.code) {\n case 'Backspace':\n this.onBackspaceKey(event, this.editable);\n break;\n case 'Enter':\n case 'NumpadDecimal':\n this.onEnterKey(event);\n break;\n default:\n event.preventDefault();\n return;\n }\n }\n\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\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 '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 case 'Space':\n this.onSpaceKey(event, this.editable);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\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 (!metaKey && isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n !this.editable && this.searchOptions(event, event.key);\n }\n\n break;\n }\n\n this.clicked = false;\n },\n onEditableInput(event) {\n const value = event.target.value;\n\n this.searchValue = '';\n const matched = this.searchOptions(event, value);\n\n !matched && (this.focusedOptionIndex = -1);\n\n this.updateModel(event, value);\n\n !this.overlayVisible && isNotEmpty(value) && this.show();\n },\n onContainerClick(event) {\n if (this.disabled || 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.overlay || !this.overlay.contains(event.target)) {\n this.overlayVisible ? this.hide(true) : this.show(true);\n }\n\n this.clicked = true;\n },\n onClearClick(event) {\n this.updateModel(event, null);\n this.resetFilterOnClear && (this.filterValue = null);\n },\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onOptionSelect(event, option, isHide = true) {\n const value = this.getOptionValue(option) !== '' ? this.getOptionValue(option) : this.getOptionLabel(option);\n this.updateModel(event, value);\n isHide && this.hide(true);\n },\n onOptionMouseMove(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n },\n onFilterChange(event) {\n const value = event.target.value;\n\n this.filterValue = value;\n this.focusedOptionIndex = -1;\n this.$emit('filter', { originalEvent: event, value });\n\n !this.virtualScrollerDisabled && this.virtualScroller.scrollToIndex(0);\n },\n onFilterKeyDown(event) {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if (event.isComposing) return;\n\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);\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 onFilterBlur() {\n this.focusedOptionIndex = -1;\n },\n onFilterUpdated() {\n if (this.overlayVisible) {\n this.alignOverlay();\n }\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n },\n onOverlayKeyDown(event) {\n switch (event.code) {\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n this.show();\n this.editable && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());\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\n event.preventDefault();\n },\n onArrowUpKey(event, pressedInInputText = false) {\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\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 !this.overlayVisible && this.show();\n event.preventDefault();\n }\n },\n onArrowLeftKey(event, pressedInInputText = false) {\n pressedInInputText && (this.focusedOptionIndex = -1);\n },\n onHomeKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(0, event.target.selectionStart);\n } else {\n target.setSelectionRange(0, 0);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n },\n onEndKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(event.target.selectionStart, target.value.length);\n } else {\n const len = target.value.length;\n\n target.setSelectionRange(len, len);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions.length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n if (!this.overlayVisible) {\n this.focusedOptionIndex = -1; // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.hide(true);\n }\n\n event.preventDefault();\n },\n onSpaceKey(event, pressedInInputText = false) {\n !pressedInInputText && this.onEnterKey(event);\n },\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n event.stopPropagation(); //@todo will be changed next versionss\n },\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.overlayVisible && this.hide(this.filter);\n }\n }\n },\n onBackspaceKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n !this.overlayVisible && this.show();\n }\n },\n onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n addStyle(el, { position: 'absolute', top: '0' });\n this.alignOverlay();\n this.scrollInView();\n\n // Issue: #7508\n this.$attrSelector && el.setAttribute(this.$attrSelector, '');\n\n setTimeout(() => {\n this.autoFilterFocus && this.filter && focus(this.$refs.filterInput.$el);\n this.autoUpdateModel();\n }, 1);\n },\n onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n\n if (this.autoFilterFocus && this.filter && !this.editable) {\n this.$nextTick(() => {\n if (this.$refs.filterInput) {\n focus(this.$refs.filterInput.$el);\n }\n });\n }\n\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n if (this.overlay) {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const composedPath = event.composedPath();\n if (this.overlayVisible && this.overlay && !composedPath.includes(this.$el) && !composedPath.includes(this.overlay)) {\n this.hide();\n }\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindLabelClickListener() {\n if (!this.editable && !this.labelClickListener) {\n const label = document.querySelector(`label[for=\"${this.labelId}\"]`);\n\n if (label && isVisible(label)) {\n this.labelClickListener = () => {\n focus(this.$refs.focusInput);\n };\n\n label.addEventListener('click', this.labelClickListener);\n }\n }\n },\n unbindLabelClickListener() {\n if (this.labelClickListener) {\n const label = document.querySelector(`label[for=\"${this.labelId}\"]`);\n\n if (label && isVisible(label)) {\n label.removeEventListener('click', this.labelClickListener);\n }\n }\n },\n bindMatchMediaOrientationListener() {\n if (!this.matchMediaOrientationListener) {\n const query = matchMedia(`(orientation: portrait)`);\n\n this.queryOrientation = query;\n\n this.matchMediaOrientationListener = () => {\n this.alignOverlay();\n };\n\n this.queryOrientation.addEventListener('change', this.matchMediaOrientationListener);\n }\n },\n unbindMatchMediaOrientationListener() {\n if (this.matchMediaOrientationListener) {\n this.queryOrientation.removeEventListener('change', this.matchMediaOrientationListener);\n this.queryOrientation = null;\n this.matchMediaOrientationListener = null;\n }\n },\n hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n isOptionExactMatched(option) {\n return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale) == this.searchValue.toLocaleLowerCase(this.filterLocale);\n },\n isOptionStartsWith(option) {\n return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));\n },\n isValidOption(option) {\n return isNotEmpty(option) && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n },\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n },\n isSelected(option) {\n return equals(this.d_value, this.getOptionValue(option) !== '' ? this.getOptionValue(option) : this.getOptionLabel(option), this.equalityKey);\n },\n findFirstOptionIndex() {\n return this.visibleOptions.findIndex((option) => this.isValidOption(option));\n },\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions, (option) => this.isValidOption(option));\n },\n findNextOptionIndex(index) {\n const matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\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 findSelectedOptionIndex() {\n return this.$filled ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;\n },\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n },\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n },\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n if (isNotEmpty(this.searchValue)) {\n optionIndex = this.visibleOptions.findIndex((option) => this.isOptionExactMatched(option));\n\n if (optionIndex === -1) {\n optionIndex = this.visibleOptions.findIndex((option) => this.isOptionStartsWith(option));\n }\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 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 changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex !== index) {\n this.focusedOptionIndex = index;\n this.scrollInView();\n\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions[index], false);\n }\n }\n },\n scrollInView(index = -1) {\n this.$nextTick(() => {\n const id = index !== -1 ? `${this.$id}_${index}` : this.focusedOptionId;\n const element = findSingle(this.list, `li[id=\"${id}\"]`);\n\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n this.virtualScroller && this.virtualScroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex);\n }\n });\n },\n autoUpdateModel() {\n if (this.autoOptionFocus) {\n this.focusedOptionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) {\n this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);\n }\n },\n updateModel(event, value) {\n this.writeValue(value, event);\n this.$emit('change', { originalEvent: event, value });\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 optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n },\n overlayRef(el) {\n this.overlay = el;\n },\n listRef(el, contentRef) {\n this.list = el;\n contentRef && contentRef(el); // For VirtualScroller\n },\n virtualScrollerRef(el) {\n this.virtualScroller = el;\n }\n },\n computed: {\n visibleOptions() {\n const options = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || [];\n\n if (this.filterValue) {\n const filteredOptions = FilterService.filter(options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n\n if (this.optionGroupLabel) {\n const optionGroups = this.options || [];\n const filtered = [];\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) filtered.push({ ...group, [typeof this.optionGroupChildren === 'string' ? this.optionGroupChildren : 'items']: [...filteredItems] });\n });\n\n return this.flatOptions(filtered);\n }\n\n return filteredOptions;\n }\n\n return options;\n },\n // @deprecated use $filled instead\n hasSelectedOption() {\n return this.$filled;\n },\n label() {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.placeholder || 'p-emptylabel';\n },\n editableInputValue() {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.d_value || '';\n },\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n },\n searchFields() {\n return this.filterFields || [this.optionLabel];\n },\n filterResultMessageText() {\n return isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptyFilterMessageText;\n },\n filterMessageText() {\n return this.filterMessage || this.$primevue.config.locale.searchMessage || '';\n },\n emptyFilterMessageText() {\n return this.emptyFilterMessage || this.$primevue.config.locale.emptySearchMessage || this.$primevue.config.locale.emptyFilterMessage || '';\n },\n emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage || '';\n },\n selectionMessageText() {\n return this.selectionMessage || this.$primevue.config.locale.selectionMessage || '';\n },\n emptySelectionMessageText() {\n return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';\n },\n selectedMessageText() {\n return this.$filled ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;\n },\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? `${this.$id}_${this.focusedOptionIndex}` : null;\n },\n ariaSetSize() {\n return this.visibleOptions.filter((option) => !this.isOptionGroup(option)).length;\n },\n isClearIconVisible() {\n return this.showClear && this.d_value != null && isNotEmpty(this.options);\n },\n virtualScrollerDisabled() {\n return !this.virtualScrollerOptions;\n },\n containerDataP() {\n return cn({\n invalid: this.$invalid,\n disabled: this.disabled,\n focus: this.focused,\n fluid: this.$fluid,\n filled: this.$variant === 'filled',\n [this.size]: this.size\n });\n },\n labelDataP() {\n return cn({\n placeholder: !this.editable && this.label === this.placeholder,\n clearable: this.showClear,\n disabled: this.disabled,\n editable: this.editable,\n [this.size]: this.size,\n empty: !this.editable && !this.$slots['value'] && (this.label === 'p-emptylabel' || this.label.length === 0)\n });\n },\n dropdownIconDataP() {\n return cn({\n [this.size]: this.size\n });\n },\n overlayDataP() {\n return cn({\n ['portal-' + this.appendTo]: 'portal-' + this.appendTo\n });\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n InputText,\n VirtualScroller,\n Portal,\n InputIcon,\n IconField,\n TimesIcon,\n ChevronDownIcon,\n SpinnerIcon,\n SearchIcon,\n CheckIcon,\n BlankIcon\n }\n};\n</script>\n","<template>\n <div ref=\"container\" :id=\"$id\" :class=\"cx('root')\" @click=\"onContainerClick\" :data-p=\"containerDataP\" v-bind=\"ptmi('root')\">\n <input\n v-if=\"editable\"\n ref=\"focusInput\"\n :name=\"name\"\n :id=\"labelId || inputId\"\n type=\"text\"\n :class=\"[cx('label'), inputClass, labelClass]\"\n :style=\"[inputStyle, labelStyle]\"\n :value=\"editableInputValue\"\n :placeholder=\"placeholder\"\n :tabindex=\"!disabled ? tabindex : -1\"\n :disabled=\"disabled\"\n autocomplete=\"off\"\n role=\"combobox\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"$id + '_list'\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-invalid=\"invalid || undefined\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n @input=\"onEditableInput\"\n :data-p=\"labelDataP\"\n v-bind=\"ptm('label')\"\n />\n <span\n v-else\n ref=\"focusInput\"\n :name=\"name\"\n :id=\"labelId || inputId\"\n :class=\"[cx('label'), inputClass, labelClass]\"\n :style=\"[inputStyle, labelStyle]\"\n :tabindex=\"!disabled ? tabindex : -1\"\n role=\"combobox\"\n :aria-label=\"ariaLabel || (label === 'p-emptylabel' ? undefined : label)\"\n :aria-labelledby=\"ariaLabelledby\"\n aria-haspopup=\"listbox\"\n :aria-expanded=\"overlayVisible\"\n :aria-controls=\"$id + '_list'\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :aria-invalid=\"invalid || undefined\"\n :aria-disabled=\"disabled\"\n @focus=\"onFocus\"\n @blur=\"onBlur\"\n @keydown=\"onKeyDown\"\n :data-p=\"labelDataP\"\n v-bind=\"ptm('label')\"\n >\n <slot name=\"value\" :value=\"d_value\" :placeholder=\"placeholder\">{{ label === 'p-emptylabel' ? ' ' : (label ?? 'empty') }}</slot>\n </span>\n <slot v-if=\"isClearIconVisible\" name=\"clearicon\" :class=\"cx('clearIcon')\" :clearCallback=\"onClearClick\">\n <component :is=\"clearIcon ? 'i' : 'TimesIcon'\" ref=\"clearIcon\" :class=\"[cx('clearIcon'), clearIcon]\" @click=\"onClearClick\" v-bind=\"ptm('clearIcon')\" data-pc-section=\"clearicon\" />\n </slot>\n <div :class=\"cx('dropdown')\" v-bind=\"ptm('dropdown')\">\n <slot v-if=\"loading\" name=\"loadingicon\" :class=\"cx('loadingIcon')\">\n <span v-if=\"loadingIcon\" :class=\"[cx('loadingIcon'), 'pi-spin', loadingIcon]\" aria-hidden=\"true\" v-bind=\"ptm('loadingIcon')\" />\n <SpinnerIcon v-else :class=\"cx('loadingIcon')\" spin aria-hidden=\"true\" v-bind=\"ptm('loadingIcon')\" />\n </slot>\n <slot v-else name=\"dropdownicon\" :class=\"cx('dropdownIcon')\">\n <component :is=\"dropdownIcon ? 'span' : 'ChevronDownIcon'\" :class=\"[cx('dropdownIcon'), dropdownIcon]\" aria-hidden=\"true\" :data-p=\"dropdownIconDataP\" v-bind=\"ptm('dropdownIcon')\" />\n </slot>\n </div>\n <Portal :appendTo=\"appendTo\">\n <transition name=\"p-connected-overlay\" @enter=\"onOverlayEnter\" @after-enter=\"onOverlayAfterEnter\" @leave=\"onOverlayLeave\" @after-leave=\"onOverlayAfterLeave\" v-bind=\"ptm('transition')\">\n <div v-if=\"overlayVisible\" :ref=\"overlayRef\" :class=\"[cx('overlay'), panelClass, overlayClass]\" :style=\"[panelStyle, overlayStyle]\" @click=\"onOverlayClick\" @keydown=\"onOverlayKeyDown\" :data-p=\"overlayDataP\" v-bind=\"ptm('overlay')\">\n <span\n ref=\"firstHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n aria-hidden=\"true\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onFirstHiddenFocus\"\n v-bind=\"ptm('hiddenFirstFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n <slot name=\"header\" :value=\"d_value\" :options=\"visibleOptions\"></slot>\n <div v-if=\"filter\" :class=\"cx('header')\" v-bind=\"ptm('header')\">\n <IconField :unstyled=\"unstyled\" :pt=\"ptm('pcFilterContainer')\">\n <InputText\n ref=\"filterInput\"\n type=\"text\"\n :value=\"filterValue\"\n @vue:mounted=\"onFilterUpdated\"\n @vue:updated=\"onFilterUpdated\"\n :class=\"cx('pcFilter')\"\n :placeholder=\"filterPlaceholder\"\n :variant=\"variant\"\n :unstyled=\"unstyled\"\n role=\"searchbox\"\n autocomplete=\"off\"\n :aria-owns=\"$id + '_list'\"\n :aria-activedescendant=\"focusedOptionId\"\n @keydown=\"onFilterKeyDown\"\n @blur=\"onFilterBlur\"\n @input=\"onFilterChange\"\n :pt=\"ptm('pcFilter')\"\n :formControl=\"{ novalidate: true }\"\n />\n <InputIcon :unstyled=\"unstyled\" :pt=\"ptm('pcFilterIconContainer')\">\n <slot name=\"filtericon\">\n <span v-if=\"filterIcon\" :class=\"filterIcon\" v-bind=\"ptm('filterIcon')\" />\n <SearchIcon v-else v-bind=\"ptm('filterIcon')\" />\n </slot>\n </InputIcon>\n </IconField>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenFilterResult')\" :data-p-hidden-accessible=\"true\">\n {{ filterResultMessageText }}\n </span>\n </div>\n <div :class=\"cx('listContainer')\" :style=\"{ 'max-height': virtualScrollerDisabled ? scrollHeight : '' }\" v-bind=\"ptm('listContainer')\">\n <VirtualScroller :ref=\"virtualScrollerRef\" v-bind=\"virtualScrollerOptions\" :items=\"visibleOptions\" :style=\"{ height: scrollHeight }\" :tabindex=\"-1\" :disabled=\"virtualScrollerDisabled\" :pt=\"ptm('virtualScroller')\">\n <template v-slot:content=\"{ styleClass, contentRef, items, getItemOptions, contentStyle, itemSize }\">\n <ul :ref=\"(el) => listRef(el, contentRef)\" :id=\"$id + '_list'\" :class=\"[cx('list'), styleClass]\" :style=\"contentStyle\" role=\"listbox\" v-bind=\"ptm('list')\">\n <template v-for=\"(option, i) of items\" :key=\"getOptionRenderKey(option, getOptionIndex(i, getItemOptions))\">\n <li\n v-if=\"isOptionGroup(option)\"\n :id=\"$id + '_' + getOptionIndex(i, getItemOptions)\"\n :style=\"{ height: itemSize ? itemSize + 'px' : undefined }\"\n :class=\"cx('optionGroup')\"\n role=\"option\"\n v-bind=\"ptm('optionGroup')\"\n >\n <slot name=\"optiongroup\" :option=\"option.optionGroup\" :index=\"getOptionIndex(i, getItemOptions)\">\n <span :class=\"cx('optionGroupLabel')\" v-bind=\"ptm('optionGroupLabel')\">{{ getOptionGroupLabel(option.optionGroup) }}</span>\n </slot>\n </li>\n <li\n v-else\n :id=\"$id + '_' + getOptionIndex(i, getItemOptions)\"\n v-ripple\n :class=\"cx('option', { option, focusedOption: getOptionIndex(i, getItemOptions) })\"\n :style=\"{ height: itemSize ? itemSize + 'px' : undefined }\"\n role=\"option\"\n :aria-label=\"getOptionLabel(option)\"\n :aria-selected=\"isSelected(option)\"\n :aria-disabled=\"isOptionDisabled(option)\"\n :aria-setsize=\"ariaSetSize\"\n :aria-posinset=\"getAriaPosInset(getOptionIndex(i, getItemOptions))\"\n @mousedown=\"onOptionSelect($event, option)\"\n @mousemove=\"onOptionMouseMove($event, getOptionIndex(i, getItemOptions))\"\n @click.stop\n :data-p-selected=\"!checkmark && isSelected(option)\"\n :data-p-focused=\"focusedOptionIndex === getOptionIndex(i, getItemOptions)\"\n :data-p-disabled=\"isOptionDisabled(option)\"\n v-bind=\"getPTItemOptions(option, getItemOptions, i, 'option')\"\n >\n <template v-if=\"checkmark\">\n <CheckIcon v-if=\"isSelected(option)\" :class=\"cx('optionCheckIcon')\" v-bind=\"ptm('optionCheckIcon')\" />\n <BlankIcon v-else :class=\"cx('optionBlankIcon')\" v-bind=\"ptm('optionBlankIcon')\" />\n </template>\n <slot name=\"option\" :option=\"option\" :selected=\"isSelected(option)\" :index=\"getOptionIndex(i, getItemOptions)\">\n <span :class=\"cx('optionLabel')\" v-bind=\"ptm('optionLabel')\">{{ getOptionLabel(option) }}</span>\n </slot>\n </li>\n </template>\n <li v-if=\"filterValue && (!items || (items && items.length === 0))\" :class=\"cx('emptyMessage')\" role=\"option\" v-bind=\"ptm('emptyMessage')\" :data-p-hidden-accessible=\"true\">\n <slot name=\"emptyfilter\">{{ emptyFilterMessageText }}</slot>\n </li>\n <li v-else-if=\"!options || (options && options.length === 0)\" :class=\"cx('emptyMessage')\" role=\"option\" v-bind=\"ptm('emptyMessage')\" :data-p-hidden-accessible=\"true\">\n <slot name=\"empty\">{{ emptyMessageText }}</slot>\n </li>\n </ul>\n </template>\n <template v-if=\"$slots.loader\" v-slot:loader=\"{ options }\">\n <slot name=\"loader\" :options=\"options\"></slot>\n </template>\n </VirtualScroller>\n </div>\n <slot name=\"footer\" :value=\"d_value\" :options=\"visibleOptions\"></slot>\n <span v-if=\"!options || (options && options.length === 0)\" role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenEmptyMessage')\" :data-p-hidden-accessible=\"true\">\n {{ emptyMessageText }}\n </span>\n <span role=\"status\" aria-live=\"polite\" class=\"p-hidden-accessible\" v-bind=\"ptm('hiddenSelectedMessage')\" :data-p-hidden-accessible=\"true\">\n {{ selectedMessageText }}\n </span>\n <span\n ref=\"lastHiddenFocusableElementOnOverlay\"\n role=\"presentation\"\n aria-hidden=\"true\"\n class=\"p-hidden-accessible p-hidden-focusable\"\n :tabindex=\"0\"\n @focus=\"onLastHiddenFocus\"\n v-bind=\"ptm('hiddenLastFocusableEl')\"\n :data-p-hidden-accessible=\"true\"\n :data-p-hidden-focusable=\"true\"\n ></span>\n </div>\n </transition>\n </Portal>\n </div>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { absolutePosition, addStyle, findSingle, focus, getFirstFocusableElement, getFocusableElements, getLastFocusableElement, getOuterWidth, isAndroid, isTouchDevice, isVisible, relativePosition } from '@primeuix/utils/dom';\nimport { equals, findLastIndex, isNotEmpty, isPrintableCharacter, resolveFieldData } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport { FilterService } from '@primevue/core/api';\nimport { ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport BlankIcon from '@primevue/icons/blank';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport TimesIcon from '@primevue/icons/times';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport VirtualScroller from 'primevue/virtualscroller';\nimport BaseSelect from './BaseSelect.vue';\n\nexport default {\n name: 'Select',\n extends: BaseSelect,\n inheritAttrs: false,\n emits: ['change', 'focus', 'blur', 'before-show', 'before-hide', 'show', 'hide', 'filter'],\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n labelClickListener: null,\n matchMediaOrientationListener: null,\n overlay: null,\n list: null,\n virtualScroller: null,\n searchTimeout: null,\n searchValue: null,\n isModelValueChanged: false,\n data() {\n return {\n clicked: false,\n focused: false,\n focusedOptionIndex: -1,\n filterValue: null,\n overlayVisible: false,\n queryOrientation: null\n };\n },\n watch: {\n modelValue() {\n this.isModelValueChanged = true;\n },\n options() {\n this.autoUpdateModel();\n }\n },\n mounted() {\n this.autoUpdateModel();\n this.bindLabelClickListener();\n this.bindMatchMediaOrientationListener();\n },\n updated() {\n if (this.overlayVisible && this.isModelValueChanged) {\n this.scrollInView(this.findSelectedOptionIndex());\n }\n\n this.isModelValueChanged = false;\n },\n beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindLabelClickListener();\n this.unbindMatchMediaOrientationListener();\n\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n methods: {\n getOptionIndex(index, fn) {\n return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];\n },\n getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option;\n },\n getOptionRenderKey(option, index) {\n return (this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;\n },\n getPTItemOptions(option, itemOptions, index, key) {\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 isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n },\n getOptionGroupLabel(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupLabel);\n },\n getOptionGroupChildren(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupChildren);\n },\n getAriaPosInset(index) {\n return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;\n },\n show(isFocus) {\n this.$emit('before-show');\n this.overlayVisible = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n\n isFocus && focus(this.$refs.focusInput);\n },\n hide(isFocus) {\n const _hide = () => {\n this.$emit('before-hide');\n this.overlayVisible = false;\n this.clicked = false;\n this.focusedOptionIndex = -1;\n this.searchValue = '';\n\n this.resetFilterOnHide && (this.filterValue = null);\n isFocus && focus(this.$refs.focusInput);\n };\n\n setTimeout(() => {\n _hide();\n }, 0); // For ScreenReaders\n },\n onFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n\n this.focused = true;\n\n if (this.overlayVisible) {\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n this.scrollInView(this.focusedOptionIndex);\n }\n\n this.$emit('focus', event);\n },\n onBlur(event) {\n setTimeout(() => {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.searchValue = '';\n this.$emit('blur', event);\n this.formField.onBlur?.(event);\n }, 100);\n },\n onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n\n return;\n }\n\n if (isAndroid()) {\n switch (event.code) {\n case 'Backspace':\n this.onBackspaceKey(event, this.editable);\n break;\n case 'Enter':\n case 'NumpadDecimal':\n this.onEnterKey(event);\n break;\n default:\n event.preventDefault();\n return;\n }\n }\n\n const metaKey = event.metaKey || event.ctrlKey;\n\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\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 '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 case 'Space':\n this.onSpaceKey(event, this.editable);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n\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 (!metaKey && isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n !this.editable && this.searchOptions(event, event.key);\n }\n\n break;\n }\n\n this.clicked = false;\n },\n onEditableInput(event) {\n const value = event.target.value;\n\n this.searchValue = '';\n const matched = this.searchOptions(event, value);\n\n !matched && (this.focusedOptionIndex = -1);\n\n this.updateModel(event, value);\n\n !this.overlayVisible && isNotEmpty(value) && this.show();\n },\n onContainerClick(event) {\n if (this.disabled || 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.overlay || !this.overlay.contains(event.target)) {\n this.overlayVisible ? this.hide(true) : this.show(true);\n }\n\n this.clicked = true;\n },\n onClearClick(event) {\n this.updateModel(event, null);\n this.resetFilterOnClear && (this.filterValue = null);\n },\n onFirstHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onLastHiddenFocus(event) {\n const focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n\n focus(focusableEl);\n },\n onOptionSelect(event, option, isHide = true) {\n const value = this.getOptionValue(option) !== '' ? this.getOptionValue(option) : this.getOptionLabel(option);\n this.updateModel(event, value);\n isHide && this.hide(true);\n },\n onOptionMouseMove(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n },\n onFilterChange(event) {\n const value = event.target.value;\n\n this.filterValue = value;\n this.focusedOptionIndex = -1;\n this.$emit('filter', { originalEvent: event, value });\n\n !this.virtualScrollerDisabled && this.virtualScroller.scrollToIndex(0);\n },\n onFilterKeyDown(event) {\n // Check if the event is part of a text composition process (e.g., for Asian languages).\n // If event.isComposing is true, it means the user is still composing text and the input is not finalized.\n if (event.isComposing) return;\n\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);\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 onFilterBlur() {\n this.focusedOptionIndex = -1;\n },\n onFilterUpdated() {\n if (this.overlayVisible) {\n this.alignOverlay();\n }\n },\n onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n },\n onOverlayKeyDown(event) {\n switch (event.code) {\n case 'Escape':\n this.onEscapeKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n if (!this.overlayVisible) {\n this.show();\n this.editable && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());\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\n event.preventDefault();\n },\n onArrowUpKey(event, pressedInInputText = false) {\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.overlayVisible && this.hide();\n event.preventDefault();\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 !this.overlayVisible && this.show();\n event.preventDefault();\n }\n },\n onArrowLeftKey(event, pressedInInputText = false) {\n pressedInInputText && (this.focusedOptionIndex = -1);\n },\n onHomeKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(0, event.target.selectionStart);\n } else {\n target.setSelectionRange(0, 0);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n },\n onEndKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n const target = event.currentTarget;\n\n if (event.shiftKey) {\n target.setSelectionRange(event.target.selectionStart, target.value.length);\n } else {\n const len = target.value.length;\n\n target.setSelectionRange(len, len);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n\n !this.overlayVisible && this.show();\n }\n\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView(this.visibleOptions.length - 1);\n event.preventDefault();\n },\n onEnterKey(event) {\n if (!this.overlayVisible) {\n this.focusedOptionIndex = -1; // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.hide(true);\n }\n\n event.preventDefault();\n },\n onSpaceKey(event, pressedInInputText = false) {\n !pressedInInputText && this.onEnterKey(event);\n },\n onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n event.stopPropagation(); //@todo will be changed next versionss\n },\n onTabKey(event, pressedInInputText = false) {\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n\n this.overlayVisible && this.hide(this.filter);\n }\n }\n },\n onBackspaceKey(event, pressedInInputText = false) {\n if (pressedInInputText) {\n !this.overlayVisible && this.show();\n }\n },\n onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n\n addStyle(el, { position: 'absolute', top: '0' });\n this.alignOverlay();\n this.scrollInView();\n\n // Issue: #7508\n this.$attrSelector && el.setAttribute(this.$attrSelector, '');\n\n setTimeout(() => {\n this.autoFilterFocus && this.filter && focus(this.$refs.filterInput.$el);\n this.autoUpdateModel();\n }, 1);\n },\n onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n\n this.$emit('show');\n },\n onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n\n if (this.autoFilterFocus && this.filter && !this.editable) {\n this.$nextTick(() => {\n if (this.$refs.filterInput) {\n focus(this.$refs.filterInput.$el);\n }\n });\n }\n\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n if (this.overlay) {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n }\n },\n bindOutsideClickListener() {\n if (!this.outsideClickListener) {\n this.outsideClickListener = (event) => {\n const composedPath = event.composedPath();\n if (this.overlayVisible && this.overlay && !composedPath.includes(this.$el) && !composedPath.includes(this.overlay)) {\n this.hide();\n }\n };\n\n document.addEventListener('click', this.outsideClickListener, true);\n }\n },\n unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener, true);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener() {\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, () => {\n if (this.overlayVisible) {\n this.hide();\n }\n });\n }\n\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener() {\n if (!this.resizeListener) {\n this.resizeListener = () => {\n if (this.overlayVisible && !isTouchDevice()) {\n this.hide();\n }\n };\n\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindLabelClickListener() {\n if (!this.editable && !this.labelClickListener) {\n const label = document.querySelector(`label[for=\"${this.labelId}\"]`);\n\n if (label && isVisible(label)) {\n this.labelClickListener = () => {\n focus(this.$refs.focusInput);\n };\n\n label.addEventListener('click', this.labelClickListener);\n }\n }\n },\n unbindLabelClickListener() {\n if (this.labelClickListener) {\n const label = document.querySelector(`label[for=\"${this.labelId}\"]`);\n\n if (label && isVisible(label)) {\n label.removeEventListener('click', this.labelClickListener);\n }\n }\n },\n bindMatchMediaOrientationListener() {\n if (!this.matchMediaOrientationListener) {\n const query = matchMedia(`(orientation: portrait)`);\n\n this.queryOrientation = query;\n\n this.matchMediaOrientationListener = () => {\n this.alignOverlay();\n };\n\n this.queryOrientation.addEventListener('change', this.matchMediaOrientationListener);\n }\n },\n unbindMatchMediaOrientationListener() {\n if (this.matchMediaOrientationListener) {\n this.queryOrientation.removeEventListener('change', this.matchMediaOrientationListener);\n this.queryOrientation = null;\n this.matchMediaOrientationListener = null;\n }\n },\n hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n isOptionExactMatched(option) {\n return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale) == this.searchValue.toLocaleLowerCase(this.filterLocale);\n },\n isOptionStartsWith(option) {\n return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && this.getOptionLabel(option)?.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale));\n },\n isValidOption(option) {\n return isNotEmpty(option) && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n },\n isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n },\n isSelected(option) {\n return equals(this.d_value, this.getOptionValue(option) !== '' ? this.getOptionValue(option) : this.getOptionLabel(option), this.equalityKey);\n },\n findFirstOptionIndex() {\n return this.visibleOptions.findIndex((option) => this.isValidOption(option));\n },\n findLastOptionIndex() {\n return findLastIndex(this.visibleOptions, (option) => this.isValidOption(option));\n },\n findNextOptionIndex(index) {\n const matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\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 findSelectedOptionIndex() {\n return this.$filled ? this.visibleOptions.findIndex((option) => this.isValidSelectedOption(option)) : -1;\n },\n findFirstFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n },\n findLastFocusedOptionIndex() {\n const selectedIndex = this.findSelectedOptionIndex();\n\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n },\n searchOptions(event, char) {\n this.searchValue = (this.searchValue || '') + char;\n\n let optionIndex = -1;\n let matched = false;\n\n if (isNotEmpty(this.searchValue)) {\n optionIndex = this.visibleOptions.findIndex((option) => this.isOptionExactMatched(option));\n\n if (optionIndex === -1) {\n optionIndex = this.visibleOptions.findIndex((option) => this.isOptionStartsWith(option));\n }\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 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 changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex !== index) {\n this.focusedOptionIndex = index;\n this.scrollInView();\n\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions[index], false);\n }\n }\n },\n scrollInView(index = -1) {\n this.$nextTick(() => {\n const id = index !== -1 ? `${this.$id}_${index}` : this.focusedOptionId;\n const element = findSingle(this.list, `li[id=\"${id}\"]`);\n\n if (element) {\n element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'nearest' });\n } else if (!this.virtualScrollerDisabled) {\n this.virtualScroller && this.virtualScroller.scrollToIndex(index !== -1 ? index : this.focusedOptionIndex);\n }\n });\n },\n autoUpdateModel() {\n if (this.autoOptionFocus) {\n this.focusedOptionIndex = this.findFirstFocusedOptionIndex();\n }\n\n if (this.selectOnFocus && this.autoOptionFocus && !this.$filled) {\n this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);\n }\n },\n updateModel(event, value) {\n this.writeValue(value, event);\n this.$emit('change', { originalEvent: event, value });\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 optionGroupChildren && optionGroupChildren.forEach((o) => result.push(o));\n\n return result;\n }, []);\n },\n overlayRef(el) {\n this.overlay = el;\n },\n listRef(el, contentRef) {\n this.list = el;\n contentRef && contentRef(el); // For VirtualScroller\n },\n virtualScrollerRef(el) {\n this.virtualScroller = el;\n }\n },\n computed: {\n visibleOptions() {\n const options = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || [];\n\n if (this.filterValue) {\n const filteredOptions = FilterService.filter(options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n\n if (this.optionGroupLabel) {\n const optionGroups = this.options || [];\n const filtered = [];\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) filtered.push({ ...group, [typeof this.optionGroupChildren === 'string' ? this.optionGroupChildren : 'items']: [...filteredItems] });\n });\n\n return this.flatOptions(filtered);\n }\n\n return filteredOptions;\n }\n\n return options;\n },\n // @deprecated use $filled instead\n hasSelectedOption() {\n return this.$filled;\n },\n label() {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.placeholder || 'p-emptylabel';\n },\n editableInputValue() {\n const selectedOptionIndex = this.findSelectedOptionIndex();\n\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.d_value || '';\n },\n equalityKey() {\n return this.optionValue ? null : this.dataKey;\n },\n searchFields() {\n return this.filterFields || [this.optionLabel];\n },\n filterResultMessageText() {\n return isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptyFilterMessageText;\n },\n filterMessageText() {\n return this.filterMessage || this.$primevue.config.locale.searchMessage || '';\n },\n emptyFilterMessageText() {\n return this.emptyFilterMessage || this.$primevue.config.locale.emptySearchMessage || this.$primevue.config.locale.emptyFilterMessage || '';\n },\n emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage || '';\n },\n selectionMessageText() {\n return this.selectionMessage || this.$primevue.config.locale.selectionMessage || '';\n },\n emptySelectionMessageText() {\n return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';\n },\n selectedMessageText() {\n return this.$filled ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;\n },\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? `${this.$id}_${this.focusedOptionIndex}` : null;\n },\n ariaSetSize() {\n return this.visibleOptions.filter((option) => !this.isOptionGroup(option)).length;\n },\n isClearIconVisible() {\n return this.showClear && this.d_value != null && isNotEmpty(this.options);\n },\n virtualScrollerDisabled() {\n return !this.virtualScrollerOptions;\n },\n containerDataP() {\n return cn({\n invalid: this.$invalid,\n disabled: this.disabled,\n focus: this.focused,\n fluid: this.$fluid,\n filled: this.$variant === 'filled',\n [this.size]: this.size\n });\n },\n labelDataP() {\n return cn({\n placeholder: !this.editable && this.label === this.placeholder,\n clearable: this.showClear,\n disabled: this.disabled,\n editable: this.editable,\n [this.size]: this.size,\n empty: !this.editable && !this.$slots['value'] && (this.label === 'p-emptylabel' || this.label.length === 0)\n });\n },\n dropdownIconDataP() {\n return cn({\n [this.size]: this.size\n });\n },\n overlayDataP() {\n return cn({\n ['portal-' + this.appendTo]: 'portal-' + this.appendTo\n });\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n InputText,\n VirtualScroller,\n Portal,\n InputIcon,\n IconField,\n TimesIcon,\n ChevronDownIcon,\n SpinnerIcon,\n SearchIcon,\n CheckIcon,\n BlankIcon\n }\n};\n</script>\n"],"names":["name","BaseInput","props","options","Array","optionLabel","String","Function","optionValue","optionDisabled","optionGroupLabel","optionGroupChildren","scrollHeight","type","filter","Boolean","filterPlaceholder","filterLocale","filterMatchMode","filterFields","editable","placeholder","dataKey","showClear","inputId","inputClass","Object","inputStyle","labelId","labelClass","labelStyle","panelClass","overlayStyle","overlayClass","panelStyle","appendTo","loading","clearIcon","undefined","dropdownIcon","filterIcon","loadingIcon","resetFilterOnHide","resetFilterOnClear","virtualScrollerOptions","autoOptionFocus","autoFilterFocus","selectOnFocus","focusOnHover","highlightOnSelect","checkmark","filterMessage","selectionMessage","emptySelectionMessage","emptyFilterMessage","emptyMessage","tabindex","Number","ariaLabel","ariaLabelledby","style","SelectStyle","provide","$pcSelect","$parentInstance","BaseSelect","inheritAttrs","emits","outsideClickListener","scrollHandler","resizeListener","labelClickListener","matchMediaOrientationListener","overlay","list","virtualScroller","searchTimeout","searchValue","isModelValueChanged","data","clicked","focused","focusedOptionIndex","filterValue","overlayVisible","queryOrientation","watch","modelValue","autoUpdateModel","mounted","bindLabelClickListener","bindMatchMediaOrientationListener","updated","scrollInView","findSelectedOptionIndex","beforeUnmount","unbindOutsideClickListener","unbindResizeListener","unbindLabelClickListener","unbindMatchMediaOrientationListener","destroy","ZIndex","clear","methods","getOptionIndex","index","fn","virtualScrollerDisabled","getOptionLabel","option","resolveFieldData","getOptionValue","getOptionRenderKey","getPTItemOptions","itemOptions","key","ptm","context","selected","isSelected","disabled","isOptionDisabled","isOptionGroup","optionGroup","group","getOptionGroupLabel","getOptionGroupChildren","getAriaPosInset","_this","visibleOptions","slice","length","show","isFocus","$emit","findFirstFocusedOptionIndex","focus","$refs","focusInput","hide","_this2","_hide","setTimeout","onFocus","event","onBlur","_this3","_this3$formField$onBl","_this3$formField","formField","call","onKeyDown","preventDefault","isAndroid","code","onBackspaceKey","onEnterKey","metaKey","ctrlKey","onArrowDownKey","onArrowUpKey","onArrowLeftKey","onHomeKey","onEndKey","onPageDownKey","onPageUpKey","onSpaceKey","onEscapeKey","onTabKey","isPrintableCharacter","searchOptions","onEditableInput","value","target","matched","updateModel","isNotEmpty","onContainerClick","tagName","getAttribute","closest","contains","onClearClick","onFirstHiddenFocus","focusableEl","relatedTarget","getFirstFocusableElement","onLastHiddenFocus","getLastFocusableElement","onOptionSelect","isHide","arguments","onOptionMouseMove","changeFocusedOptionIndex","onFilterChange","originalEvent","scrollToIndex","onFilterKeyDown","isComposing","onFilterBlur","onFilterUpdated","alignOverlay","onOverlayClick","OverlayEventBus","emit","$el","onOverlayKeyDown","optionIndex","findNextOptionIndex","findFirstOptionIndex","pressedInInputText","altKey","findPrevOptionIndex","findLastOptionIndex","findLastFocusedOptionIndex","currentTarget","shiftKey","setSelectionRange","selectionStart","len","stopPropagation","hasFocusableElements","firstHiddenFocusableElementOnOverlay","onOverlayEnter","el","_this4","set","$primevue","config","zIndex","addStyle","position","top","$attrSelector","setAttribute","filterInput","onOverlayAfterEnter","bindOutsideClickListener","bindScrollListener","bindResizeListener","onOverlayLeave","_this5","unbindScrollListener","$nextTick","onOverlayAfterLeave","relativePosition","minWidth","getOuterWidth","absolutePosition","_this6","composedPath","includes","document","addEventListener","removeEventListener","_this7","ConnectedOverlayScrollHandler","container","_this8","isTouchDevice","window","_this9","label","querySelector","concat","isVisible","_this0","query","matchMedia","getFocusableElements","isOptionExactMatched","_this$getOptionLabel","isValidOption","toLocaleLowerCase","isOptionStartsWith","_this$getOptionLabel2","startsWith","isValidSelectedOption","equals","d_value","equalityKey","_this1","findIndex","_this10","findLastIndex","_this11","matchedOptionIndex","_this12","_this13","$filled","selectedIndex","char","_this14","clearTimeout","_this15","id","$id","focusedOptionId","element","findSingle","scrollIntoView","block","inline","writeValue","flatOptions","_this16","reduce","result","push","forEach","o","overlayRef","listRef","contentRef","virtualScrollerRef","computed","_this17","filteredOptions","FilterService","searchFields","optionGroups","filtered","groupChildren","filteredItems","item","_objectSpread","_defineProperty","_toConsumableArray","hasSelectedOption","selectedOptionIndex","editableInputValue","filterResultMessageText","filterMessageText","replaceAll","emptyFilterMessageText","locale","searchMessage","emptySearchMessage","emptyMessageText","selectionMessageText","emptySelectionMessageText","selectedMessageText","ariaSetSize","_this18","isClearIconVisible","containerDataP","cn","invalid","$invalid","fluid","$fluid","filled","$variant","size","labelDataP","clearable","$slots","dropdownIconDataP","overlayDataP","directives","ripple","Ripple","components","InputText","VirtualScroller","Portal","InputIcon","IconField","TimesIcon","ChevronDownIcon","SpinnerIcon","SearchIcon","CheckIcon","BlankIcon","_openBlock","_createElementBlock","_mergeProps","ref","_ctx","cx","onClick","$options","apply","ptmi","autocomplete","role","$data","onKeydown","onInput","_hoisted_2","_renderSlot","_$options$label","_createTextVNode","_toDisplayString","clearCallback","_createBlock","_resolveDynamicComponent","_createElementVNode","_component_SpinnerIcon","spin","_createVNode","_component_Portal","_Transition","onEnter","onAfterEnter","onLeave","onAfterLeave","_component_IconField","unstyled","pt","_component_InputText","onVnodeMounted","onVnodeUpdated","variant","formControl","novalidate","_component_InputIcon","_component_SearchIcon","_component_VirtualScroller","items","content","_withCtx","_ref","styleClass","getItemOptions","contentStyle","itemSize","_Fragment","_renderList","i","height","ref_for","_withDirectives","onMousedown","$event","onMousemove","_component_CheckIcon","_component_BlankIcon","loader","_ref2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAIA,eAAe;AACXA,EAAAA,IAAI,EAAE,YAAY;AAClB,EAAA,SAAA,EAASC,SAAS;AAClBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,OAAO,EAAEC,KAAK;AACdC,IAAAA,WAAW,EAAE,CAACC,MAAM,EAAEC,QAAQ,CAAC;AAC/BC,IAAAA,WAAW,EAAE,CAACF,MAAM,EAAEC,QAAQ,CAAC;AAC/BE,IAAAA,cAAc,EAAE,CAACH,MAAM,EAAEC,QAAQ,CAAC;AAClCG,IAAAA,gBAAgB,EAAE,CAACJ,MAAM,EAAEC,QAAQ,CAAC;AACpCI,IAAAA,mBAAmB,EAAE,CAACL,MAAM,EAAEC,QAAQ,CAAC;AACvCK,IAAAA,YAAY,EAAE;AACVC,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;KACZ;AACDQ,IAAAA,MAAM,EAAEC,OAAO;AACfC,IAAAA,iBAAiB,EAAEV,MAAM;AACzBW,IAAAA,YAAY,EAAEX,MAAM;AACpBY,IAAAA,eAAe,EAAE;AACbL,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;KACZ;AACDa,IAAAA,YAAY,EAAE;AACVN,MAAAA,IAAI,EAAET,KAAK;MACX,SAAA,EAAS;KACZ;AACDgB,IAAAA,QAAQ,EAAEL,OAAO;AACjBM,IAAAA,WAAW,EAAE;AACTR,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;KACZ;AACDgB,IAAAA,OAAO,EAAE,IAAI;AACbC,IAAAA,SAAS,EAAE;AACPV,MAAAA,IAAI,EAAEE,OAAO;MACb,SAAA,EAAS;KACZ;AACDS,IAAAA,OAAO,EAAE;AACLX,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;KACZ;AACDmB,IAAAA,UAAU,EAAE;AACRZ,MAAAA,IAAI,EAAE,CAACP,MAAM,EAAEoB,MAAM,CAAC;MACtB,SAAA,EAAS;KACZ;AACDC,IAAAA,UAAU,EAAE;AACRd,MAAAA,IAAI,EAAEa,MAAM;MACZ,SAAA,EAAS;KACZ;AACDE,IAAAA,OAAO,EAAE;AACLf,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;KACZ;AACDuB,IAAAA,UAAU,EAAE;AACRhB,MAAAA,IAAI,EAAE,CAACP,MAAM,EAAEoB,MAAM,CAAC;MACtB,SAAA,EAAS;KACZ;AACDI,IAAAA,UAAU,EAAE;AACRjB,MAAAA,IAAI,EAAEa,MAAM;MACZ,SAAA,EAAS;KACZ;AACDK,IAAAA,UAAU,EAAE;AACRlB,MAAAA,IAAI,EAAE,CAACP,MAAM,EAAEoB,MAAM,CAAC;MACtB,SAAA,EAAS;KACZ;AACDM,IAAAA,YAAY,EAAE;AACVnB,MAAAA,IAAI,EAAEa,MAAM;MACZ,SAAA,EAAS;KACZ;AACDO,IAAAA,YAAY,EAAE;AACVpB,MAAAA,IAAI,EAAE,CAACP,MAAM,EAAEoB,MAAM,CAAC;MACtB,SAAA,EAAS;KACZ;AACDQ,IAAAA,UAAU,EAAE;AACRrB,MAAAA,IAAI,EAAEa,MAAM;MACZ,SAAA,EAAS;KACZ;AACDS,IAAAA,QAAQ,EAAE;AACNtB,MAAAA,IAAI,EAAE,CAACP,MAAM,EAAEoB,MAAM,CAAC;MACtB,SAAA,EAAS;KACZ;AACDU,IAAAA,OAAO,EAAE;AACLvB,MAAAA,IAAI,EAAEE,OAAO;MACb,SAAA,EAAS;KACZ;AACDsB,IAAAA,SAAS,EAAE;AACPxB,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAASgC;KACZ;AACDC,IAAAA,YAAY,EAAE;AACV1B,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAASgC;KACZ;AACDE,IAAAA,UAAU,EAAE;AACR3B,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAASgC;KACZ;AACDG,IAAAA,WAAW,EAAE;AACT5B,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAASgC;KACZ;AACDI,IAAAA,iBAAiB,EAAE;AACf7B,MAAAA,IAAI,EAAEE,OAAO;MACb,SAAA,EAAS;KACZ;AACD4B,IAAAA,kBAAkB,EAAE;AAChB9B,MAAAA,IAAI,EAAEE,OAAO;MACb,SAAA,EAAS;KACZ;AACD6B,IAAAA,sBAAsB,EAAE;AACpB/B,MAAAA,IAAI,EAAEa,MAAM;MACZ,SAAA,EAAS;KACZ;AACDmB,IAAAA,eAAe,EAAE;AACbhC,MAAAA,IAAI,EAAEE,OAAO;MACb,SAAA,EAAS;KACZ;AACD+B,IAAAA,eAAe,EAAE;AACbjC,MAAAA,IAAI,EAAEE,OAAO;MACb,SAAA,EAAS;KACZ;AACDgC,IAAAA,aAAa,EAAE;AACXlC,MAAAA,IAAI,EAAEE,OAAO;MACb,SAAA,EAAS;KACZ;AACDiC,IAAAA,YAAY,EAAE;AACVnC,MAAAA,IAAI,EAAEE,OAAO;MACb,SAAA,EAAS;KACZ;AACDkC,IAAAA,iBAAiB,EAAE;AACfpC,MAAAA,IAAI,EAAEE,OAAO;MACb,SAAA,EAAS;KACZ;AACDmC,IAAAA,SAAS,EAAE;AACPrC,MAAAA,IAAI,EAAEE,OAAO;MACb,SAAA,EAAS;KACZ;AACDoC,IAAAA,aAAa,EAAE;AACXtC,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;KACZ;AACD8C,IAAAA,gBAAgB,EAAE;AACdvC,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;KACZ;AACD+C,IAAAA,qBAAqB,EAAE;AACnBxC,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;KACZ;AACDgD,IAAAA,kBAAkB,EAAE;AAChBzC,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;KACZ;AACDiD,IAAAA,YAAY,EAAE;AACV1C,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;KACZ;AACDkD,IAAAA,QAAQ,EAAE;AACN3C,MAAAA,IAAI,EAAE4C,MAAM;MACZ,SAAA,EAAS;KACZ;AACDC,IAAAA,SAAS,EAAE;AACP7C,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;KACZ;AACDqD,IAAAA,cAAc,EAAE;AACZ9C,MAAAA,IAAI,EAAEP,MAAM;MACZ,SAAA,EAAS;AACb;GACH;AACDsD,EAAAA,KAAK,EAAEC,WAAW;EAClBC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACN,OAAO;AACHC,MAAAA,SAAS,EAAE,IAAI;AACfC,MAAAA,eAAe,EAAE;KACpB;AACL,EAAA;AACJ,CAAC;;;;;;;;;;;;;;ACyCD,aAAe;AACXhE,EAAAA,IAAI,EAAE,QAAQ;AACd,EAAA,SAAA,EAASiE,QAAU;AACnBC,EAAAA,YAAY,EAAE,KAAK;AACnBC,EAAAA,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;AAC1FC,EAAAA,oBAAoB,EAAE,IAAI;AAC1BC,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,cAAc,EAAE,IAAI;AACpBC,EAAAA,kBAAkB,EAAE,IAAI;AACxBC,EAAAA,6BAA6B,EAAE,IAAI;AACnCC,EAAAA,OAAO,EAAE,IAAI;AACbC,EAAAA,IAAI,EAAE,IAAI;AACVC,EAAAA,eAAe,EAAE,IAAI;AACrBC,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,WAAW,EAAE,IAAI;AACjBC,EAAAA,mBAAmB,EAAE,KAAK;EAC1BC,IAAI,EAAA,SAAJA,IAAIA,GAAG;IACH,OAAO;AACHC,MAAAA,OAAO,EAAE,KAAK;AACdC,MAAAA,OAAO,EAAE,KAAK;MACdC,kBAAkB,EAAE,EAAE;AACtBC,MAAAA,WAAW,EAAE,IAAI;AACjBC,MAAAA,cAAc,EAAE,KAAK;AACrBC,MAAAA,gBAAgB,EAAE;KACrB;EACL,CAAC;AACDC,EAAAA,KAAK,EAAE;IACHC,UAAU,EAAA,SAAVA,UAAUA,GAAG;MACT,IAAI,CAACT,mBAAkB,GAAI,IAAI;IACnC,CAAC;IACD3E,OAAO,EAAA,SAAPA,OAAOA,GAAG;MACN,IAAI,CAACqF,eAAe,EAAE;AAC1B,IAAA;GACH;EACDC,OAAO,EAAA,SAAPA,OAAOA,GAAG;IACN,IAAI,CAACD,eAAe,EAAE;IACtB,IAAI,CAACE,sBAAsB,EAAE;IAC7B,IAAI,CAACC,iCAAiC,EAAE;EAC5C,CAAC;EACDC,OAAO,EAAA,SAAPA,OAAOA,GAAG;AACN,IAAA,IAAI,IAAI,CAACR,cAAa,IAAK,IAAI,CAACN,mBAAmB,EAAE;MACjD,IAAI,CAACe,YAAY,CAAC,IAAI,CAACC,uBAAuB,EAAE,CAAC;AACrD,IAAA;IAEA,IAAI,CAAChB,mBAAkB,GAAI,KAAK;EACpC,CAAC;EACDiB,aAAa,EAAA,SAAbA,aAAaA,GAAG;IACZ,IAAI,CAACC,0BAA0B,EAAE;IACjC,IAAI,CAACC,oBAAoB,EAAE;IAC3B,IAAI,CAACC,wBAAwB,EAAE;IAC/B,IAAI,CAACC,mCAAmC,EAAE;IAE1C,IAAI,IAAI,CAAC9B,aAAa,EAAE;AACpB,MAAA,IAAI,CAACA,aAAa,CAAC+B,OAAO,EAAE;MAC5B,IAAI,CAAC/B,gBAAgB,IAAI;AAC7B,IAAA;IAEA,IAAI,IAAI,CAACI,OAAO,EAAE;AACd4B,MAAAA,MAAM,CAACC,KAAK,CAAC,IAAI,CAAC7B,OAAO,CAAC;MAC1B,IAAI,CAACA,OAAM,GAAI,IAAI;AACvB,IAAA;EACJ,CAAC;AACD8B,EAAAA,OAAO,EAAE;AACLC,IAAAA,cAAc,WAAdA,cAAcA,CAACC,KAAK,EAAEC,EAAE,EAAE;AACtB,MAAA,OAAO,IAAI,CAACC,uBAAsB,GAAIF,KAAI,GAAIC,EAAC,IAAKA,EAAE,CAACD,KAAK,CAAC,CAAC,OAAO,CAAC;IAC1E,CAAC;AACDG,IAAAA,cAAc,EAAA,SAAdA,cAAcA,CAACC,MAAM,EAAE;AACnB,MAAA,OAAO,IAAI,CAACxG,WAAU,GAAIyG,gBAAgB,CAACD,MAAM,EAAE,IAAI,CAACxG,WAAW,CAAA,GAAIwG,MAAM;IACjF,CAAC;AACDE,IAAAA,cAAc,EAAA,SAAdA,cAAcA,CAACF,MAAM,EAAE;AACnB,MAAA,OAAO,IAAI,CAACrG,WAAU,GAAIsG,gBAAgB,CAACD,MAAM,EAAE,IAAI,CAACrG,WAAW,CAAA,GAAIqG,MAAM;IACjF,CAAC;AACDG,IAAAA,kBAAkB,WAAlBA,kBAAkBA,CAACH,MAAM,EAAEJ,KAAK,EAAE;MAC9B,OAAO,CAAC,IAAI,CAACnF,OAAM,GAAIwF,gBAAgB,CAACD,MAAM,EAAE,IAAI,CAACvF,OAAO,CAAA,GAAI,IAAI,CAACsF,cAAc,CAACC,MAAM,CAAC,IAAI,GAAE,GAAIJ,KAAK;IAC9G,CAAC;IACDQ,gBAAgB,EAAA,SAAhBA,gBAAgBA,CAACJ,MAAM,EAAEK,WAAW,EAAET,KAAK,EAAEU,GAAG,EAAE;AAC9C,MAAA,OAAO,IAAI,CAACC,GAAG,CAACD,GAAG,EAAE;AACjBE,QAAAA,OAAO,EAAE;AACLR,UAAAA,MAAM,EAANA,MAAM;AACNJ,UAAAA,KAAK,EAALA,KAAK;AACLa,UAAAA,QAAQ,EAAE,IAAI,CAACC,UAAU,CAACV,MAAM,CAAC;AACjC5B,UAAAA,OAAO,EAAE,IAAI,CAACC,kBAAiB,KAAM,IAAI,CAACsB,cAAc,CAACC,KAAK,EAAES,WAAW,CAAC;AAC5EM,UAAAA,QAAQ,EAAE,IAAI,CAACC,gBAAgB,CAACZ,MAAM;AAC1C;AACJ,OAAC,CAAC;IACN,CAAC;AACDY,IAAAA,gBAAgB,EAAA,SAAhBA,gBAAgBA,CAACZ,MAAM,EAAE;AACrB,MAAA,OAAO,IAAI,CAACpG,cAAa,GAAIqG,gBAAgB,CAACD,MAAM,EAAE,IAAI,CAACpG,cAAc,IAAI,KAAK;IACtF,CAAC;AACDiH,IAAAA,aAAa,EAAA,SAAbA,aAAaA,CAACb,MAAM,EAAE;MAClB,OAAO,IAAI,CAACnG,gBAAe,IAAKmG,MAAM,CAACc,WAAU,IAAKd,MAAM,CAACe,KAAK;IACtE,CAAC;AACDC,IAAAA,mBAAmB,EAAA,SAAnBA,mBAAmBA,CAACF,WAAW,EAAE;AAC7B,MAAA,OAAOb,gBAAgB,CAACa,WAAW,EAAE,IAAI,CAACjH,gBAAgB,CAAC;IAC/D,CAAC;AACDoH,IAAAA,sBAAsB,EAAA,SAAtBA,sBAAsBA,CAACH,WAAW,EAAE;AAChC,MAAA,OAAOb,gBAAgB,CAACa,WAAW,EAAE,IAAI,CAAChH,mBAAmB,CAAC;IAClE,CAAC;AACDoH,IAAAA,eAAe,EAAA,SAAfA,eAAeA,CAACtB,KAAK,EAAE;AAAA,MAAA,IAAAuB,KAAA,GAAA,IAAA;MACnB,OAAO,CAAC,IAAI,CAACtH,gBAAe,GAAI+F,KAAI,GAAI,IAAI,CAACwB,cAAc,CAACC,KAAK,CAAC,CAAC,EAAEzB,KAAK,CAAC,CAAC3F,MAAM,CAAC,UAAC+F,MAAM,EAAA;AAAA,QAAA,OAAKmB,KAAI,CAACN,aAAa,CAACb,MAAM,CAAC;AAAA,MAAA,CAAA,CAAC,CAACsB,MAAK,GAAI1B,KAAK,IAAI,CAAC;IAClJ,CAAC;AACD2B,IAAAA,IAAI,EAAA,SAAJA,IAAIA,CAACC,OAAO,EAAE;AACV,MAAA,IAAI,CAACC,KAAK,CAAC,aAAa,CAAC;MACzB,IAAI,CAAClD,iBAAiB,IAAI;AAC1B,MAAA,IAAI,CAACF,kBAAiB,GAAI,IAAI,CAACA,uBAAuB,EAAC,GAAI,IAAI,CAACA,qBAAqB,IAAI,CAACrC,eAAc,GAAI,IAAI,CAAC0F,2BAA2B,EAAC,GAAI,IAAI,CAACnH,QAAO,GAAI,EAAC,GAAI,IAAI,CAAC0E,uBAAuB,EAAE;MAEpMuC,OAAM,IAAKG,KAAK,CAAC,IAAI,CAACC,KAAK,CAACC,UAAU,CAAC;IAC3C,CAAC;AACDC,IAAAA,IAAI,EAAA,SAAJA,IAAIA,CAACN,OAAO,EAAE;AAAA,MAAA,IAAAO,MAAA,GAAA,IAAA;AACV,MAAA,IAAMC,KAAI,GAAI,SAARA,KAAIA,GAAU;AAChBD,QAAAA,MAAI,CAACN,KAAK,CAAC,aAAa,CAAC;QACzBM,MAAI,CAACxD,cAAa,GAAI,KAAK;QAC3BwD,MAAI,CAAC5D,UAAU,KAAK;AACpB4D,QAAAA,MAAI,CAAC1D,kBAAiB,GAAI,EAAE;QAC5B0D,MAAI,CAAC/D,WAAU,GAAI,EAAE;QAErB+D,MAAI,CAAClG,iBAAgB,KAAMkG,MAAI,CAACzD,WAAU,GAAI,IAAI,CAAC;QACnDkD,OAAM,IAAKG,KAAK,CAACI,MAAI,CAACH,KAAK,CAACC,UAAU,CAAC;MAC3C,CAAC;AAEDI,MAAAA,UAAU,CAAC,YAAM;AACbD,QAAAA,KAAK,EAAE;AACX,MAAA,CAAC,EAAE,CAAC,CAAC,CAAA;IACT,CAAC;AACDE,IAAAA,OAAO,EAAA,SAAPA,OAAOA,CAACC,KAAK,EAAE;MACX,IAAI,IAAI,CAACxB,QAAQ,EAAE;AACf;AACA,QAAA;AACJ,MAAA;MAEA,IAAI,CAACvC,OAAM,GAAI,IAAI;MAEnB,IAAI,IAAI,CAACG,cAAc,EAAE;AACrB,QAAA,IAAI,CAACF,kBAAiB,GAAI,IAAI,CAACA,uBAAuB,EAAC,GAAI,IAAI,CAACA,qBAAqB,IAAI,CAACrC,eAAc,GAAI,IAAI,CAAC0F,2BAA2B,EAAC,GAAI,IAAI,CAACnH,QAAO,GAAI,EAAC,GAAI,IAAI,CAAC0E,uBAAuB,EAAE;AACpM,QAAA,IAAI,CAACD,YAAY,CAAC,IAAI,CAACX,kBAAkB,CAAC;AAC9C,MAAA;AAEA,MAAA,IAAI,CAACoD,KAAK,CAAC,OAAO,EAAEU,KAAK,CAAC;IAC9B,CAAC;AACDC,IAAAA,MAAM,EAAA,SAANA,MAAMA,CAACD,KAAK,EAAE;AAAA,MAAA,IAAAE,MAAA,GAAA,IAAA;AACVJ,MAAAA,UAAU,CAAC,YAAM;QAAA,IAAAK,qBAAA,EAAAC,gBAAA;QACbF,MAAI,CAACjE,UAAU,KAAK;AACpBiE,QAAAA,MAAI,CAAChE,kBAAiB,GAAI,EAAE;QAC5BgE,MAAI,CAACrE,WAAU,GAAI,EAAE;AACrBqE,QAAAA,MAAI,CAACZ,KAAK,CAAC,MAAM,EAAEU,KAAK,CAAC;AACzB,QAAA,CAAAG,qBAAA,GAAA,CAAAC,gBAAA,GAAAF,MAAI,CAACG,SAAS,EAACJ,MAAM,cAAAE,qBAAA,KAAA,MAAA,IAArBA,qBAAA,CAAAG,IAAA,CAAAF,gBAAA,EAAwBJ,KAAK,CAAC;MAClC,CAAC,EAAE,GAAG,CAAC;IACX,CAAC;AACDO,IAAAA,SAAS,EAAA,SAATA,SAASA,CAACP,KAAK,EAAE;MACb,IAAI,IAAI,CAACxB,QAAQ,EAAE;QACfwB,KAAK,CAACQ,cAAc,EAAE;AAEtB,QAAA;AACJ,MAAA;MAEA,IAAIC,SAAS,EAAE,EAAE;QACb,QAAQT,KAAK,CAACU,IAAI;AACd,UAAA,KAAK,WAAW;YACZ,IAAI,CAACC,cAAc,CAACX,KAAK,EAAE,IAAI,CAAC5H,QAAQ,CAAC;AACzC,YAAA;AACJ,UAAA,KAAK,OAAO;AACZ,UAAA,KAAK,eAAe;AAChB,YAAA,IAAI,CAACwI,UAAU,CAACZ,KAAK,CAAC;AACtB,YAAA;AACJ,UAAA;YACIA,KAAK,CAACQ,cAAc,EAAE;AACtB,YAAA;AACR;AACJ,MAAA;MAEA,IAAMK,UAAUb,KAAK,CAACa,WAAWb,KAAK,CAACc,OAAO;MAE9C,QAAQd,KAAK,CAACU,IAAI;AACd,QAAA,KAAK,WAAW;AACZ,UAAA,IAAI,CAACK,cAAc,CAACf,KAAK,CAAC;AAC1B,UAAA;AAEJ,QAAA,KAAK,SAAS;UACV,IAAI,CAACgB,YAAY,CAAChB,KAAK,EAAE,IAAI,CAAC5H,QAAQ,CAAC;AACvC,UAAA;AAEJ,QAAA,KAAK,WAAW;AAChB,QAAA,KAAK,YAAY;UACb,IAAI,CAAC6I,cAAc,CAACjB,KAAK,EAAE,IAAI,CAAC5H,QAAQ,CAAC;AACzC,UAAA;AAEJ,QAAA,KAAK,MAAM;UACP,IAAI,CAAC8I,SAAS,CAAClB,KAAK,EAAE,IAAI,CAAC5H,QAAQ,CAAC;AACpC,UAAA;AAEJ,QAAA,KAAK,KAAK;UACN,IAAI,CAAC+I,QAAQ,CAACnB,KAAK,EAAE,IAAI,CAAC5H,QAAQ,CAAC;AACnC,UAAA;AAEJ,QAAA,KAAK,UAAU;AACX,UAAA,IAAI,CAACgJ,aAAa,CAACpB,KAAK,CAAC;AACzB,UAAA;AAEJ,QAAA,KAAK,QAAQ;AACT,UAAA,IAAI,CAACqB,WAAW,CAACrB,KAAK,CAAC;AACvB,UAAA;AAEJ,QAAA,KAAK,OAAO;UACR,IAAI,CAACsB,UAAU,CAACtB,KAAK,EAAE,IAAI,CAAC5H,QAAQ,CAAC;AACrC,UAAA;AAEJ,QAAA,KAAK,OAAO;AACZ,QAAA,KAAK,aAAa;AACd,UAAA,IAAI,CAACwI,UAAU,CAACZ,KAAK,CAAC;AACtB,UAAA;AAEJ,QAAA,KAAK,QAAQ;AACT,UAAA,IAAI,CAACuB,WAAW,CAACvB,KAAK,CAAC;AACvB,UAAA;AAEJ,QAAA,KAAK,KAAK;AACN,UAAA,IAAI,CAACwB,QAAQ,CAACxB,KAAK,CAAC;AACpB,UAAA;AAEJ,QAAA,KAAK,WAAW;UACZ,IAAI,CAACW,cAAc,CAACX,KAAK,EAAE,IAAI,CAAC5H,QAAQ,CAAC;AACzC,UAAA;AAEJ,QAAA,KAAK,WAAW;AAChB,QAAA,KAAK,YAAY;AACb;AACA,UAAA;AAEJ,QAAA;UACI,IAAI,CAACyI,WAAWY,oBAAoB,CAACzB,KAAK,CAAC7B,GAAG,CAAC,EAAE;YAC7C,CAAC,IAAI,CAAC/B,cAAa,IAAK,IAAI,CAACgD,IAAI,EAAE;AACnC,YAAA,CAAC,IAAI,CAAChH,QAAO,IAAK,IAAI,CAACsJ,aAAa,CAAC1B,KAAK,EAAEA,KAAK,CAAC7B,GAAG,CAAC;AAC1D,UAAA;AAEA,UAAA;AACR;MAEA,IAAI,CAACnC,UAAU,KAAK;IACxB,CAAC;AACD2F,IAAAA,eAAe,EAAA,SAAfA,eAAeA,CAAC3B,KAAK,EAAE;AACnB,MAAA,IAAM4B,KAAI,GAAI5B,KAAK,CAAC6B,MAAM,CAACD,KAAK;MAEhC,IAAI,CAAC/F,WAAU,GAAI,EAAE;MACrB,IAAMiG,OAAM,GAAI,IAAI,CAACJ,aAAa,CAAC1B,KAAK,EAAE4B,KAAK,CAAC;MAEhD,CAACE,OAAM,KAAM,IAAI,CAAC5F,kBAAiB,GAAI,EAAE,CAAC;AAE1C,MAAA,IAAI,CAAC6F,WAAW,CAAC/B,KAAK,EAAE4B,KAAK,CAAC;AAE9B,MAAA,CAAC,IAAI,CAACxF,kBAAkB4F,UAAU,CAACJ,KAAK,CAAA,IAAK,IAAI,CAACxC,IAAI,EAAE;IAC5D,CAAC;AACD6C,IAAAA,gBAAgB,EAAA,SAAhBA,gBAAgBA,CAACjC,KAAK,EAAE;AACpB,MAAA,IAAI,IAAI,CAACxB,QAAO,IAAK,IAAI,CAACpF,OAAO,EAAE;AAC/B,QAAA;AACJ,MAAA;MAEA,IAAI4G,KAAK,CAAC6B,MAAM,CAACK,OAAM,KAAM,OAAM,IAAKlC,KAAK,CAAC6B,MAAM,CAACM,YAAY,CAAC,iBAAiB,CAAA,KAAM,WAAU,IAAKnC,KAAK,CAAC6B,MAAM,CAACO,OAAO,CAAC,+BAA+B,CAAC,EAAE;AAC3J,QAAA;AACJ,MAAA,CAAA,MAAO,IAAI,CAAC,IAAI,CAAC3G,OAAM,IAAK,CAAC,IAAI,CAACA,OAAO,CAAC4G,QAAQ,CAACrC,KAAK,CAAC6B,MAAM,CAAC,EAAE;AAC9D,QAAA,IAAI,CAACzF,iBAAiB,IAAI,CAACuD,IAAI,CAAC,IAAI,CAAA,GAAI,IAAI,CAACP,IAAI,CAAC,IAAI,CAAC;AAC3D,MAAA;MAEA,IAAI,CAACpD,OAAM,GAAI,IAAI;IACvB,CAAC;AACDsG,IAAAA,YAAY,EAAA,SAAZA,YAAYA,CAACtC,KAAK,EAAE;AAChB,MAAA,IAAI,CAAC+B,WAAW,CAAC/B,KAAK,EAAE,IAAI,CAAC;MAC7B,IAAI,CAACrG,kBAAiB,KAAM,IAAI,CAACwC,WAAU,GAAI,IAAI,CAAC;IACxD,CAAC;AACDoG,IAAAA,kBAAkB,EAAA,SAAlBA,kBAAkBA,CAACvC,KAAK,EAAE;MACtB,IAAMwC,WAAU,GAAIxC,KAAK,CAACyC,aAAY,KAAM,IAAI,CAAChD,KAAK,CAACC,UAAS,GAAIgD,wBAAwB,CAAC,IAAI,CAACjH,OAAO,EAAE,wCAAwC,IAAI,IAAI,CAACgE,KAAK,CAACC,UAAU;MAE5KF,KAAK,CAACgD,WAAW,CAAC;IACtB,CAAC;AACDG,IAAAA,iBAAiB,EAAA,SAAjBA,iBAAiBA,CAAC3C,KAAK,EAAE;MACrB,IAAMwC,WAAU,GAAIxC,KAAK,CAACyC,aAAY,KAAM,IAAI,CAAChD,KAAK,CAACC,UAAS,GAAIkD,uBAAuB,CAAC,IAAI,CAACnH,OAAO,EAAE,wCAAwC,IAAI,IAAI,CAACgE,KAAK,CAACC,UAAU;MAE3KF,KAAK,CAACgD,WAAW,CAAC;IACtB,CAAC;AACDK,IAAAA,cAAc,WAAdA,cAAcA,CAAC7C,KAAK,EAAEnC,MAAM,EAAiB;AAAA,MAAA,IAAfiF,MAAK,GAAAC,SAAA,CAAA5D,MAAA,GAAA,CAAA,IAAA4D,SAAA,CAAA,CAAA,CAAA,KAAAzJ,SAAA,GAAAyJ,SAAA,CAAA,CAAA,CAAA,GAAI,IAAI;MACvC,IAAMnB,KAAI,GAAI,IAAI,CAAC7D,cAAc,CAACF,MAAM,CAAA,KAAM,KAAK,IAAI,CAACE,cAAc,CAACF,MAAM,CAAA,GAAI,IAAI,CAACD,cAAc,CAACC,MAAM,CAAC;AAC5G,MAAA,IAAI,CAACkE,WAAW,CAAC/B,KAAK,EAAE4B,KAAK,CAAC;AAC9BkB,MAAAA,UAAU,IAAI,CAACnD,IAAI,CAAC,IAAI,CAAC;IAC7B,CAAC;AACDqD,IAAAA,iBAAiB,WAAjBA,iBAAiBA,CAAChD,KAAK,EAAEvC,KAAK,EAAE;MAC5B,IAAI,IAAI,CAACzD,YAAY,EAAE;AACnB,QAAA,IAAI,CAACiJ,wBAAwB,CAACjD,KAAK,EAAEvC,KAAK,CAAC;AAC/C,MAAA;IACJ,CAAC;AACDyF,IAAAA,cAAc,EAAA,SAAdA,cAAcA,CAAClD,KAAK,EAAE;AAClB,MAAA,IAAM4B,KAAI,GAAI5B,KAAK,CAAC6B,MAAM,CAACD,KAAK;MAEhC,IAAI,CAACzF,WAAU,GAAIyF,KAAK;AACxB,MAAA,IAAI,CAAC1F,kBAAiB,GAAI,EAAE;AAC5B,MAAA,IAAI,CAACoD,KAAK,CAAC,QAAQ,EAAE;AAAE6D,QAAAA,aAAa,EAAEnD,KAAK;AAAE4B,QAAAA,KAAI,EAAJA;AAAM,OAAC,CAAC;MAErD,CAAC,IAAI,CAACjE,uBAAsB,IAAK,IAAI,CAAChC,eAAe,CAACyH,aAAa,CAAC,CAAC,CAAC;IAC1E,CAAC;AACDC,IAAAA,eAAe,EAAA,SAAfA,eAAeA,CAACrD,KAAK,EAAE;AACnB;AACA;MACA,IAAIA,KAAK,CAACsD,WAAW,EAAE;MAEvB,QAAQtD,KAAK,CAACU,IAAI;AACd,QAAA,KAAK,WAAW;AACZ,UAAA,IAAI,CAACK,cAAc,CAACf,KAAK,CAAC;AAC1B,UAAA;AAEJ,QAAA,KAAK,SAAS;AACV,UAAA,IAAI,CAACgB,YAAY,CAAChB,KAAK,EAAE,IAAI,CAAC;AAC9B,UAAA;AAEJ,QAAA,KAAK,WAAW;AAChB,QAAA,KAAK,YAAY;AACb,UAAA,IAAI,CAACiB,cAAc,CAACjB,KAAK,EAAE,IAAI,CAAC;AAChC,UAAA;AAEJ,QAAA,KAAK,MAAM;AACP,UAAA,IAAI,CAACkB,SAAS,CAAClB,KAAK,EAAE,IAAI,CAAC;AAC3B,UAAA;AAEJ,QAAA,KAAK,KAAK;AACN,UAAA,IAAI,CAACmB,QAAQ,CAACnB,KAAK,EAAE,IAAI,CAAC;AAC1B,UAAA;AAEJ,QAAA,KAAK,OAAO;AACZ,QAAA,KAAK,aAAa;AACd,UAAA,IAAI,CAACY,UAAU,CAACZ,KAAK,CAAC;AACtB,UAAA;AAEJ,QAAA,KAAK,QAAQ;AACT,UAAA,IAAI,CAACuB,WAAW,CAACvB,KAAK,CAAC;AACvB,UAAA;AAEJ,QAAA,KAAK,KAAK;AACN,UAAA,IAAI,CAACwB,QAAQ,CAACxB,KAAK,EAAE,IAAI,CAAC;AAC1B,UAAA;AAIR;IACJ,CAAC;IACDuD,YAAY,EAAA,SAAZA,YAAYA,GAAG;AACX,MAAA,IAAI,CAACrH,kBAAiB,GAAI,EAAE;IAChC,CAAC;IACDsH,eAAe,EAAA,SAAfA,eAAeA,GAAG;MACd,IAAI,IAAI,CAACpH,cAAc,EAAE;QACrB,IAAI,CAACqH,YAAY,EAAE;AACvB,MAAA;IACJ,CAAC;AACDC,IAAAA,cAAc,EAAA,SAAdA,cAAcA,CAAC1D,KAAK,EAAE;AAClB2D,MAAAA,eAAe,CAACC,IAAI,CAAC,eAAe,EAAE;AAClCT,QAAAA,aAAa,EAAEnD,KAAK;QACpB6B,MAAM,EAAE,IAAI,CAACgC;AACjB,OAAC,CAAC;IACN,CAAC;AACDC,IAAAA,gBAAgB,EAAA,SAAhBA,gBAAgBA,CAAC9D,KAAK,EAAE;MACpB,QAAQA,KAAK,CAACU,IAAI;AACd,QAAA,KAAK,QAAQ;AACT,UAAA,IAAI,CAACa,WAAW,CAACvB,KAAK,CAAC;AACvB,UAAA;AAIR;IACJ,CAAC;AACDe,IAAAA,cAAc,EAAA,SAAdA,cAAcA,CAACf,KAAK,EAAE;AAClB,MAAA,IAAI,CAAC,IAAI,CAAC5D,cAAc,EAAE;QACtB,IAAI,CAACgD,IAAI,EAAE;AACX,QAAA,IAAI,CAAChH,QAAO,IAAK,IAAI,CAAC6K,wBAAwB,CAACjD,KAAK,EAAE,IAAI,CAAClD,uBAAuB,EAAE,CAAC;AACzF,MAAA,CAAA,MAAO;AACH,QAAA,IAAMiH,WAAU,GAAI,IAAI,CAAC7H,uBAAuB,KAAK,IAAI,CAAC8H,mBAAmB,CAAC,IAAI,CAAC9H,kBAAkB,CAAA,GAAI,IAAI,CAACF,OAAM,GAAI,IAAI,CAACiI,oBAAoB,EAAC,GAAI,IAAI,CAAC1E,2BAA2B,EAAE;AAExL,QAAA,IAAI,CAAC0D,wBAAwB,CAACjD,KAAK,EAAE+D,WAAW,CAAC;AACrD,MAAA;MAEA/D,KAAK,CAACQ,cAAc,EAAE;IAC1B,CAAC;AACDQ,IAAAA,YAAY,EAAA,SAAZA,YAAYA,CAAChB,KAAK,EAA8B;AAAA,MAAA,IAA5BkE,yFAAqB,KAAK;AAC1C,MAAA,IAAIlE,KAAK,CAACmE,MAAK,IAAK,CAACD,kBAAkB,EAAE;AACrC,QAAA,IAAI,IAAI,CAAChI,kBAAiB,KAAM,EAAE,EAAE;AAChC,UAAA,IAAI,CAAC2G,cAAc,CAAC7C,KAAK,EAAE,IAAI,CAACf,cAAc,CAAC,IAAI,CAAC/C,kBAAkB,CAAC,CAAC;AAC5E,QAAA;AAEA,QAAA,IAAI,CAACE,cAAa,IAAK,IAAI,CAACuD,IAAI,EAAE;QAClCK,KAAK,CAACQ,cAAc,EAAE;AAC1B,MAAA,CAAA,MAAO;AACH,QAAA,IAAMuD,WAAU,GAAI,IAAI,CAAC7H,kBAAiB,KAAM,EAAC,GAAI,IAAI,CAACkI,mBAAmB,CAAC,IAAI,CAAClI,kBAAkB,CAAA,GAAI,IAAI,CAACF,UAAU,IAAI,CAACqI,mBAAmB,KAAK,IAAI,CAACC,0BAA0B,EAAE;AAEtL,QAAA,IAAI,CAACrB,wBAAwB,CAACjD,KAAK,EAAE+D,WAAW,CAAC;QAEjD,CAAC,IAAI,CAAC3H,cAAa,IAAK,IAAI,CAACgD,IAAI,EAAE;QACnCY,KAAK,CAACQ,cAAc,EAAE;AAC1B,MAAA;IACJ,CAAC;AACDS,IAAAA,cAAc,EAAA,SAAdA,cAAcA,CAACjB,KAAK,EAA8B;AAAA,MAAA,IAA5BkE,yFAAqB,KAAK;AAC5CA,MAAAA,uBAAuB,IAAI,CAAChI,kBAAiB,GAAI,EAAE,CAAC;IACxD,CAAC;AACDgF,IAAAA,SAAS,EAAA,SAATA,SAASA,CAAClB,KAAK,EAA8B;AAAA,MAAA,IAA5BkE,yFAAqB,KAAK;AACvC,MAAA,IAAIA,kBAAkB,EAAE;AACpB,QAAA,IAAMrC,MAAK,GAAI7B,KAAK,CAACuE,aAAa;QAElC,IAAIvE,KAAK,CAACwE,QAAQ,EAAE;UAChB3C,MAAM,CAAC4C,iBAAiB,CAAC,CAAC,EAAEzE,KAAK,CAAC6B,MAAM,CAAC6C,cAAc,CAAC;AAC5D,QAAA,CAAA,MAAO;AACH7C,UAAAA,MAAM,CAAC4C,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9B,UAAA,IAAI,CAACvI,kBAAiB,GAAI,EAAE;AAChC,QAAA;AACJ,MAAA,CAAA,MAAO;QACH,IAAI,CAAC+G,wBAAwB,CAACjD,KAAK,EAAE,IAAI,CAACiE,oBAAoB,EAAE,CAAC;QAEjE,CAAC,IAAI,CAAC7H,cAAa,IAAK,IAAI,CAACgD,IAAI,EAAE;AACvC,MAAA;MAEAY,KAAK,CAACQ,cAAc,EAAE;IAC1B,CAAC;AACDW,IAAAA,QAAQ,EAAA,SAARA,QAAQA,CAACnB,KAAK,EAA8B;AAAA,MAAA,IAA5BkE,yFAAqB,KAAK;AACtC,MAAA,IAAIA,kBAAkB,EAAE;AACpB,QAAA,IAAMrC,MAAK,GAAI7B,KAAK,CAACuE,aAAa;QAElC,IAAIvE,KAAK,CAACwE,QAAQ,EAAE;AAChB3C,UAAAA,MAAM,CAAC4C,iBAAiB,CAACzE,KAAK,CAAC6B,MAAM,CAAC6C,cAAc,EAAE7C,MAAM,CAACD,KAAK,CAACzC,MAAM,CAAC;AAC9E,QAAA,CAAA,MAAO;AACH,UAAA,IAAMwF,GAAE,GAAI9C,MAAM,CAACD,KAAK,CAACzC,MAAM;AAE/B0C,UAAAA,MAAM,CAAC4C,iBAAiB,CAACE,GAAG,EAAEA,GAAG,CAAC;AAClC,UAAA,IAAI,CAACzI,kBAAiB,GAAI,EAAE;AAChC,QAAA;AACJ,MAAA,CAAA,MAAO;QACH,IAAI,CAAC+G,wBAAwB,CAACjD,KAAK,EAAE,IAAI,CAACqE,mBAAmB,EAAE,CAAC;QAEhE,CAAC,IAAI,CAACjI,cAAa,IAAK,IAAI,CAACgD,IAAI,EAAE;AACvC,MAAA;MAEAY,KAAK,CAACQ,cAAc,EAAE;IAC1B,CAAC;AACDa,IAAAA,WAAW,EAAA,SAAXA,WAAWA,CAACrB,KAAK,EAAE;AACf,MAAA,IAAI,CAACnD,YAAY,CAAC,CAAC,CAAC;MACpBmD,KAAK,CAACQ,cAAc,EAAE;IAC1B,CAAC;AACDY,IAAAA,aAAa,EAAA,SAAbA,aAAaA,CAACpB,KAAK,EAAE;MACjB,IAAI,CAACnD,YAAY,CAAC,IAAI,CAACoC,cAAc,CAACE,MAAK,GAAI,CAAC,CAAC;MACjDa,KAAK,CAACQ,cAAc,EAAE;IAC1B,CAAC;AACDI,IAAAA,UAAU,EAAA,SAAVA,UAAUA,CAACZ,KAAK,EAAE;AACd,MAAA,IAAI,CAAC,IAAI,CAAC5D,cAAc,EAAE;AACtB,QAAA,IAAI,CAACF,qBAAqB,EAAE,CAAA;AAC5B,QAAA,IAAI,CAAC6E,cAAc,CAACf,KAAK,CAAC;AAC9B,MAAA,CAAA,MAAO;AACH,QAAA,IAAI,IAAI,CAAC9D,kBAAiB,KAAM,EAAE,EAAE;AAChC,UAAA,IAAI,CAAC2G,cAAc,CAAC7C,KAAK,EAAE,IAAI,CAACf,cAAc,CAAC,IAAI,CAAC/C,kBAAkB,CAAC,CAAC;AAC5E,QAAA;AAEA,QAAA,IAAI,CAACyD,IAAI,CAAC,IAAI,CAAC;AACnB,MAAA;MAEAK,KAAK,CAACQ,cAAc,EAAE;IAC1B,CAAC;AACDc,IAAAA,UAAU,EAAA,SAAVA,UAAUA,CAACtB,KAAK,EAA8B;AAAA,MAAA,IAA5BkE,yFAAqB,KAAK;AACxC,MAAA,CAACA,sBAAsB,IAAI,CAACtD,UAAU,CAACZ,KAAK,CAAC;IACjD,CAAC;AACDuB,IAAAA,WAAW,EAAA,SAAXA,WAAWA,CAACvB,KAAK,EAAE;MACf,IAAI,CAAC5D,cAAa,IAAK,IAAI,CAACuD,IAAI,CAAC,IAAI,CAAC;MACtCK,KAAK,CAACQ,cAAc,EAAE;AACtBR,MAAAA,KAAK,CAAC4E,eAAe,EAAE,CAAA;IAC3B,CAAC;AACDpD,IAAAA,QAAQ,EAAA,SAARA,QAAQA,CAACxB,KAAK,EAA8B;AAAA,MAAA,IAA5BkE,yFAAqB,KAAK;MACtC,IAAI,CAACA,kBAAkB,EAAE;QACrB,IAAI,IAAI,CAAC9H,cAAa,IAAK,IAAI,CAACyI,oBAAoB,EAAE,EAAE;AACpDrF,UAAAA,KAAK,CAAC,IAAI,CAACC,KAAK,CAACqF,oCAAoC,CAAC;UAEtD9E,KAAK,CAACQ,cAAc,EAAE;AAC1B,QAAA,CAAA,MAAO;AACH,UAAA,IAAI,IAAI,CAACtE,kBAAiB,KAAM,EAAE,EAAE;AAChC,YAAA,IAAI,CAAC2G,cAAc,CAAC7C,KAAK,EAAE,IAAI,CAACf,cAAc,CAAC,IAAI,CAAC/C,kBAAkB,CAAC,CAAC;AAC5E,UAAA;UAEA,IAAI,CAACE,kBAAkB,IAAI,CAACuD,IAAI,CAAC,IAAI,CAAC7H,MAAM,CAAC;AACjD,QAAA;AACJ,MAAA;IACJ,CAAC;AACD6I,IAAAA,cAAc,EAAA,SAAdA,cAAcA,CAACX,KAAK,EAA8B;AAAA,MAAA,IAA5BkE,yFAAqB,KAAK;AAC5C,MAAA,IAAIA,kBAAkB,EAAE;QACpB,CAAC,IAAI,CAAC9H,cAAa,IAAK,IAAI,CAACgD,IAAI,EAAE;AACvC,MAAA;IACJ,CAAC;AACD2F,IAAAA,cAAc,EAAA,SAAdA,cAAcA,CAACC,EAAE,EAAE;AAAA,MAAA,IAAAC,MAAA,GAAA,IAAA;AACf5H,MAAAA,MAAM,CAAC6H,GAAG,CAAC,SAAS,EAAEF,EAAE,EAAE,IAAI,CAACG,SAAS,CAACC,MAAM,CAACC,MAAM,CAAC5J,OAAO,CAAC;MAE/D6J,QAAQ,CAACN,EAAE,EAAE;AAAEO,QAAAA,QAAQ,EAAE,UAAU;AAAEC,QAAAA,GAAG,EAAE;AAAI,OAAC,CAAC;MAChD,IAAI,CAAC/B,YAAY,EAAE;MACnB,IAAI,CAAC5G,YAAY,EAAE;;AAEnB;AACA,MAAA,IAAI,CAAC4I,aAAY,IAAKT,EAAE,CAACU,YAAY,CAAC,IAAI,CAACD,aAAa,EAAE,EAAE,CAAC;AAE7D3F,MAAAA,UAAU,CAAC,YAAM;AACbmF,QAAAA,MAAI,CAACnL,eAAc,IAAKmL,MAAI,CAACnN,MAAK,IAAK0H,KAAK,CAACyF,MAAI,CAACxF,KAAK,CAACkG,WAAW,CAAC9B,GAAG,CAAC;QACxEoB,MAAI,CAACzI,eAAe,EAAE;MAC1B,CAAC,EAAE,CAAC,CAAC;IACT,CAAC;IACDoJ,mBAAmB,EAAA,SAAnBA,mBAAmBA,GAAG;MAClB,IAAI,CAACC,wBAAwB,EAAE;MAC/B,IAAI,CAACC,kBAAkB,EAAE;MACzB,IAAI,CAACC,kBAAkB,EAAE;AAEzB,MAAA,IAAI,CAACzG,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IACD0G,cAAc,EAAA,SAAdA,cAAcA,GAAG;AAAA,MAAA,IAAAC,MAAA,GAAA,IAAA;MACb,IAAI,CAACjJ,0BAA0B,EAAE;MACjC,IAAI,CAACkJ,oBAAoB,EAAE;MAC3B,IAAI,CAACjJ,oBAAoB,EAAE;AAE3B,MAAA,IAAI,IAAI,CAACnD,eAAc,IAAK,IAAI,CAAChC,MAAK,IAAK,CAAC,IAAI,CAACM,QAAQ,EAAE;QACvD,IAAI,CAAC+N,SAAS,CAAC,YAAM;AACjB,UAAA,IAAIF,MAAI,CAACxG,KAAK,CAACkG,WAAW,EAAE;YACxBnG,KAAK,CAACyG,MAAI,CAACxG,KAAK,CAACkG,WAAW,CAAC9B,GAAG,CAAC;AACrC,UAAA;AACJ,QAAA,CAAC,CAAC;AACN,MAAA;AAEA,MAAA,IAAI,CAACvE,KAAK,CAAC,MAAM,CAAC;MAClB,IAAI,CAAC7D,OAAM,GAAI,IAAI;IACvB,CAAC;AACD2K,IAAAA,mBAAmB,EAAA,SAAnBA,mBAAmBA,CAACpB,EAAE,EAAE;AACpB3H,MAAAA,MAAM,CAACC,KAAK,CAAC0H,EAAE,CAAC;IACpB,CAAC;IACDvB,YAAY,EAAA,SAAZA,YAAYA,GAAG;AACX,MAAA,IAAI,IAAI,CAACtK,QAAO,KAAM,MAAM,EAAE;QAC1BkN,gBAAgB,CAAC,IAAI,CAAC5K,OAAO,EAAE,IAAI,CAACoI,GAAG,CAAC;AAC5C,MAAA,CAAA,MAAO;QACH,IAAI,IAAI,CAACpI,OAAO,EAAE;AACd,UAAA,IAAI,CAACA,OAAO,CAACb,KAAK,CAAC0L,QAAO,GAAIC,aAAa,CAAC,IAAI,CAAC1C,GAAG,CAAA,GAAI,IAAI;UAC5D2C,gBAAgB,CAAC,IAAI,CAAC/K,OAAO,EAAE,IAAI,CAACoI,GAAG,CAAC;AAC5C,QAAA;AACJ,MAAA;IACJ,CAAC;IACDgC,wBAAwB,EAAA,SAAxBA,wBAAwBA,GAAG;AAAA,MAAA,IAAAY,MAAA,GAAA,IAAA;AACvB,MAAA,IAAI,CAAC,IAAI,CAACrL,oBAAoB,EAAE;AAC5B,QAAA,IAAI,CAACA,oBAAmB,GAAI,UAAC4E,KAAK,EAAK;AACnC,UAAA,IAAM0G,eAAe1G,KAAK,CAAC0G,YAAY,EAAE;UACzC,IAAID,MAAI,CAACrK,cAAa,IAAKqK,MAAI,CAAChL,OAAM,IAAK,CAACiL,YAAY,CAACC,QAAQ,CAACF,MAAI,CAAC5C,GAAG,CAAA,IAAK,CAAC6C,YAAY,CAACC,QAAQ,CAACF,MAAI,CAAChL,OAAO,CAAC,EAAE;YACjHgL,MAAI,CAAC9G,IAAI,EAAE;AACf,UAAA;QACJ,CAAC;QAEDiH,QAAQ,CAACC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACzL,oBAAoB,EAAE,IAAI,CAAC;AACvE,MAAA;IACJ,CAAC;IACD4B,0BAA0B,EAAA,SAA1BA,0BAA0BA,GAAG;MACzB,IAAI,IAAI,CAAC5B,oBAAoB,EAAE;QAC3BwL,QAAQ,CAACE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC1L,oBAAoB,EAAE,IAAI,CAAC;QACtE,IAAI,CAACA,oBAAmB,GAAI,IAAI;AACpC,MAAA;IACJ,CAAC;IACD0K,kBAAkB,EAAA,SAAlBA,kBAAkBA,GAAG;AAAA,MAAA,IAAAiB,MAAA,GAAA,IAAA;AACjB,MAAA,IAAI,CAAC,IAAI,CAAC1L,aAAa,EAAE;AACrB,QAAA,IAAI,CAACA,aAAY,GAAI,IAAI2L,6BAA6B,CAAC,IAAI,CAACvH,KAAK,CAACwH,SAAS,EAAE,YAAM;UAC/E,IAAIF,MAAI,CAAC3K,cAAc,EAAE;YACrB2K,MAAI,CAACpH,IAAI,EAAE;AACf,UAAA;AACJ,QAAA,CAAC,CAAC;AACN,MAAA;AAEA,MAAA,IAAI,CAACtE,aAAa,CAACyK,kBAAkB,EAAE;IAC3C,CAAC;IACDI,oBAAoB,EAAA,SAApBA,oBAAoBA,GAAG;MACnB,IAAI,IAAI,CAAC7K,aAAa,EAAE;AACpB,QAAA,IAAI,CAACA,aAAa,CAAC6K,oBAAoB,EAAE;AAC7C,MAAA;IACJ,CAAC;IACDH,kBAAkB,EAAA,SAAlBA,kBAAkBA,GAAG;AAAA,MAAA,IAAAmB,MAAA,GAAA,IAAA;AACjB,MAAA,IAAI,CAAC,IAAI,CAAC5L,cAAc,EAAE;QACtB,IAAI,CAACA,iBAAiB,YAAM;UACxB,IAAI4L,MAAI,CAAC9K,cAAa,IAAK,CAAC+K,aAAa,EAAE,EAAE;YACzCD,MAAI,CAACvH,IAAI,EAAE;AACf,UAAA;QACJ,CAAC;QAEDyH,MAAM,CAACP,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAACvL,cAAc,CAAC;AAC1D,MAAA;IACJ,CAAC;IACD2B,oBAAoB,EAAA,SAApBA,oBAAoBA,GAAG;MACnB,IAAI,IAAI,CAAC3B,cAAc,EAAE;QACrB8L,MAAM,CAACN,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACxL,cAAc,CAAC;QACzD,IAAI,CAACA,iBAAiB,IAAI;AAC9B,MAAA;IACJ,CAAC;IACDoB,sBAAsB,EAAA,SAAtBA,sBAAsBA,GAAG;AAAA,MAAA,IAAA2K,MAAA,GAAA,IAAA;MACrB,IAAI,CAAC,IAAI,CAACjP,YAAY,CAAC,IAAI,CAACmD,kBAAkB,EAAE;AAC5C,QAAA,IAAM+L,KAAI,GAAIV,QAAQ,CAACW,aAAa,CAAA,cAAA,CAAAC,MAAA,CAAe,IAAI,CAAC5O,OAAO,EAAA,KAAA,CAAI,CAAC;AAEpE,QAAA,IAAI0O,KAAI,IAAKG,SAAS,CAACH,KAAK,CAAC,EAAE;UAC3B,IAAI,CAAC/L,kBAAiB,GAAI,YAAM;AAC5BiE,YAAAA,KAAK,CAAC6H,MAAI,CAAC5H,KAAK,CAACC,UAAU,CAAC;UAChC,CAAC;UAED4H,KAAK,CAACT,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAACtL,kBAAkB,CAAC;AAC5D,QAAA;AACJ,MAAA;IACJ,CAAC;IACD2B,wBAAwB,EAAA,SAAxBA,wBAAwBA,GAAG;MACvB,IAAI,IAAI,CAAC3B,kBAAkB,EAAE;AACzB,QAAA,IAAM+L,KAAI,GAAIV,QAAQ,CAACW,aAAa,CAAA,cAAA,CAAAC,MAAA,CAAe,IAAI,CAAC5O,OAAO,EAAA,KAAA,CAAI,CAAC;AAEpE,QAAA,IAAI0O,KAAI,IAAKG,SAAS,CAACH,KAAK,CAAC,EAAE;UAC3BA,KAAK,CAACR,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAACvL,kBAAkB,CAAC;AAC/D,QAAA;AACJ,MAAA;IACJ,CAAC;IACDoB,iCAAiC,EAAA,SAAjCA,iCAAiCA,GAAG;AAAA,MAAA,IAAA+K,MAAA,GAAA,IAAA;AAChC,MAAA,IAAI,CAAC,IAAI,CAAClM,6BAA6B,EAAE;AACrC,QAAA,IAAMmM,KAAI,GAAIC,UAAU,CAAA,yBAA0B,CAAC;QAEnD,IAAI,CAACvL,gBAAe,GAAIsL,KAAK;QAE7B,IAAI,CAACnM,6BAA4B,GAAI,YAAM;UACvCkM,MAAI,CAACjE,YAAY,EAAE;QACvB,CAAC;QAED,IAAI,CAACpH,gBAAgB,CAACwK,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAACrL,6BAA6B,CAAC;AACxF,MAAA;IACJ,CAAC;IACD2B,mCAAmC,EAAA,SAAnCA,mCAAmCA,GAAG;MAClC,IAAI,IAAI,CAAC3B,6BAA6B,EAAE;QACpC,IAAI,CAACa,gBAAgB,CAACyK,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACtL,6BAA6B,CAAC;QACvF,IAAI,CAACa,mBAAmB,IAAI;QAC5B,IAAI,CAACb,6BAA4B,GAAI,IAAI;AAC7C,MAAA;IACJ,CAAC;IACDqJ,oBAAoB,EAAA,SAApBA,oBAAoBA,GAAG;MACnB,OAAOgD,oBAAoB,CAAC,IAAI,CAACpM,OAAO,EAAE,wCAAwC,CAAC,CAAC0D,MAAK,GAAI,CAAC;IAClG,CAAC;AACD2I,IAAAA,oBAAoB,EAAA,SAApBA,oBAAoBA,CAACjK,MAAM,EAAE;AAAA,MAAA,IAAAkK,oBAAA;MACzB,OAAO,IAAI,CAACC,aAAa,CAACnK,MAAM,CAAA,IAAK,OAAO,IAAI,CAACD,cAAc,CAACC,MAAM,CAAA,KAAM,YAAY,CAAA,CAAAkK,oBAAA,GAAA,IAAI,CAACnK,cAAc,CAACC,MAAM,CAAC,MAAA,IAAA,IAAAkK,oBAAA,KAAA,MAAA,GAAA,MAAA,GAA3BA,oBAAA,CAA6BE,iBAAiB,CAAC,IAAI,CAAChQ,YAAY,CAAA,KAAK,IAAI,CAAC4D,WAAW,CAACoM,iBAAiB,CAAC,IAAI,CAAChQ,YAAY,CAAC;IACtN,CAAC;AACDiQ,IAAAA,kBAAkB,EAAA,SAAlBA,kBAAkBA,CAACrK,MAAM,EAAE;AAAA,MAAA,IAAAsK,qBAAA;MACvB,OAAO,IAAI,CAACH,aAAa,CAACnK,MAAM,KAAK,OAAO,IAAI,CAACD,cAAc,CAACC,MAAM,CAAA,KAAM,QAAO,KAAA,CAAAsK,qBAAA,GAAK,IAAI,CAACvK,cAAc,CAACC,MAAM,CAAC,MAAA,IAAA,IAAAsK,qBAAA,uBAA3BA,qBAAA,CAA6BF,iBAAiB,CAAC,IAAI,CAAChQ,YAAY,CAAC,CAACmQ,UAAU,CAAC,IAAI,CAACvM,WAAW,CAACoM,iBAAiB,CAAC,IAAI,CAAChQ,YAAY,CAAC,CAAC,CAAA;IAC/N,CAAC;AACD+P,IAAAA,aAAa,EAAA,SAAbA,aAAaA,CAACnK,MAAM,EAAE;AAClB,MAAA,OAAOmE,UAAU,CAACnE,MAAM,KAAK,EAAE,IAAI,CAACY,gBAAgB,CAACZ,MAAM,KAAK,IAAI,CAACa,aAAa,CAACb,MAAM,CAAC,CAAC;IAC/F,CAAC;AACDwK,IAAAA,qBAAqB,EAAA,SAArBA,qBAAqBA,CAACxK,MAAM,EAAE;AAC1B,MAAA,OAAO,IAAI,CAACmK,aAAa,CAACnK,MAAM,CAAA,IAAK,IAAI,CAACU,UAAU,CAACV,MAAM,CAAC;IAChE,CAAC;AACDU,IAAAA,UAAU,EAAA,SAAVA,UAAUA,CAACV,MAAM,EAAE;AACf,MAAA,OAAOyK,MAAM,CAAC,IAAI,CAACC,OAAO,EAAE,IAAI,CAACxK,cAAc,CAACF,MAAM,CAAA,KAAM,EAAC,GAAI,IAAI,CAACE,cAAc,CAACF,MAAM,CAAA,GAAI,IAAI,CAACD,cAAc,CAACC,MAAM,CAAC,EAAE,IAAI,CAAC2K,WAAW,CAAC;IACjJ,CAAC;IACDvE,oBAAoB,EAAA,SAApBA,oBAAoBA,GAAG;AAAA,MAAA,IAAAwE,MAAA,GAAA,IAAA;AACnB,MAAA,OAAO,IAAI,CAACxJ,cAAc,CAACyJ,SAAS,CAAC,UAAC7K,MAAM,EAAA;AAAA,QAAA,OAAK4K,MAAI,CAACT,aAAa,CAACnK,MAAM,CAAC;MAAA,CAAA,CAAC;IAChF,CAAC;IACDwG,mBAAmB,EAAA,SAAnBA,mBAAmBA,GAAG;AAAA,MAAA,IAAAsE,OAAA,GAAA,IAAA;AAClB,MAAA,OAAOC,aAAa,CAAC,IAAI,CAAC3J,cAAc,EAAE,UAACpB,MAAM,EAAA;AAAA,QAAA,OAAK8K,OAAI,CAACX,aAAa,CAACnK,MAAM,CAAC;MAAA,CAAA,CAAC;IACrF,CAAC;AACDmG,IAAAA,mBAAmB,EAAA,SAAnBA,mBAAmBA,CAACvG,KAAK,EAAE;AAAA,MAAA,IAAAoL,OAAA,GAAA,IAAA;MACvB,IAAMC,kBAAiB,GAAIrL,KAAI,GAAI,IAAI,CAACwB,cAAc,CAACE,MAAK,GAAI,CAAA,GAAI,IAAI,CAACF,cAAc,CAACC,KAAK,CAACzB,KAAI,GAAI,CAAC,CAAC,CAACiL,SAAS,CAAC,UAAC7K,MAAM,EAAA;AAAA,QAAA,OAAKgL,OAAI,CAACb,aAAa,CAACnK,MAAM,CAAC;MAAA,CAAA,CAAA,GAAI,EAAE;MAE/J,OAAOiL,kBAAiB,GAAI,EAAC,GAAIA,kBAAiB,GAAIrL,KAAI,GAAI,CAAA,GAAIA,KAAK;IAC3E,CAAC;AACD2G,IAAAA,mBAAmB,EAAA,SAAnBA,mBAAmBA,CAAC3G,KAAK,EAAE;AAAA,MAAA,IAAAsL,OAAA,GAAA,IAAA;MACvB,IAAMD,kBAAiB,GAAIrL,KAAI,GAAI,CAAA,GAAImL,aAAa,CAAC,IAAI,CAAC3J,cAAc,CAACC,KAAK,CAAC,CAAC,EAAEzB,KAAK,CAAC,EAAE,UAACI,MAAM,EAAA;AAAA,QAAA,OAAKkL,OAAI,CAACf,aAAa,CAACnK,MAAM,CAAC;MAAA,CAAA,CAAA,GAAI,EAAE;AAEtI,MAAA,OAAOiL,kBAAiB,GAAI,KAAKA,kBAAiB,GAAIrL,KAAK;IAC/D,CAAC;IACDX,uBAAuB,EAAA,SAAvBA,uBAAuBA,GAAG;AAAA,MAAA,IAAAkM,OAAA,GAAA,IAAA;MACtB,OAAO,IAAI,CAACC,UAAU,IAAI,CAAChK,cAAc,CAACyJ,SAAS,CAAC,UAAC7K,MAAM,EAAA;AAAA,QAAA,OAAKmL,OAAI,CAACX,qBAAqB,CAACxK,MAAM,CAAC;MAAA,CAAA,CAAA,GAAI,EAAE;IAC5G,CAAC;IACD0B,2BAA2B,EAAA,SAA3BA,2BAA2BA,GAAG;AAC1B,MAAA,IAAM2J,gBAAgB,IAAI,CAACpM,uBAAuB,EAAE;MAEpD,OAAOoM,aAAY,GAAI,CAAA,GAAI,IAAI,CAACjF,oBAAoB,EAAC,GAAIiF,aAAa;IAC1E,CAAC;IACD5E,0BAA0B,EAAA,SAA1BA,0BAA0BA,GAAG;AACzB,MAAA,IAAM4E,gBAAgB,IAAI,CAACpM,uBAAuB,EAAE;MAEpD,OAAOoM,aAAY,GAAI,CAAA,GAAI,IAAI,CAAC7E,mBAAmB,EAAC,GAAI6E,aAAa;IACzE,CAAC;AACDxH,IAAAA,aAAa,WAAbA,aAAaA,CAAC1B,KAAK,EAAEmJ,KAAI,EAAE;AAAA,MAAA,IAAAC,OAAA,GAAA,IAAA;MACvB,IAAI,CAACvN,WAAU,GAAI,CAAC,IAAI,CAACA,eAAe,EAAE,IAAIsN,KAAI;MAElD,IAAIpF,WAAU,GAAI,EAAE;MACpB,IAAIjC,OAAM,GAAI,KAAK;AAEnB,MAAA,IAAIE,UAAU,CAAC,IAAI,CAACnG,WAAW,CAAC,EAAE;QAC9BkI,WAAU,GAAI,IAAI,CAAC9E,cAAc,CAACyJ,SAAS,CAAC,UAAC7K,MAAM,EAAA;AAAA,UAAA,OAAKuL,OAAI,CAACtB,oBAAoB,CAACjK,MAAM,CAAC;QAAA,CAAA,CAAC;AAE1F,QAAA,IAAIkG,WAAU,KAAM,EAAE,EAAE;UACpBA,WAAU,GAAI,IAAI,CAAC9E,cAAc,CAACyJ,SAAS,CAAC,UAAC7K,MAAM,EAAA;AAAA,YAAA,OAAKuL,OAAI,CAAClB,kBAAkB,CAACrK,MAAM,CAAC;UAAA,CAAA,CAAC;AAC5F,QAAA;AAEA,QAAA,IAAIkG,WAAU,KAAM,EAAE,EAAE;AACpBjC,UAAAA,UAAU,IAAI;AAClB,QAAA;QAEA,IAAIiC,WAAU,KAAM,MAAM,IAAI,CAAC7H,kBAAiB,KAAM,EAAE,EAAE;AACtD6H,UAAAA,WAAU,GAAI,IAAI,CAACxE,2BAA2B,EAAE;AACpD,QAAA;AAEA,QAAA,IAAIwE,WAAU,KAAM,EAAE,EAAE;AACpB,UAAA,IAAI,CAACd,wBAAwB,CAACjD,KAAK,EAAE+D,WAAW,CAAC;AACrD,QAAA;AACJ,MAAA;MAEA,IAAI,IAAI,CAACnI,aAAa,EAAE;AACpByN,QAAAA,YAAY,CAAC,IAAI,CAACzN,aAAa,CAAC;AACpC,MAAA;AAEA,MAAA,IAAI,CAACA,aAAY,GAAIkE,UAAU,CAAC,YAAM;QAClCsJ,OAAI,CAACvN,WAAU,GAAI,EAAE;QACrBuN,OAAI,CAACxN,gBAAgB,IAAI;MAC7B,CAAC,EAAE,GAAG,CAAC;AAEP,MAAA,OAAOkG,OAAO;IAClB,CAAC;AACDmB,IAAAA,wBAAwB,WAAxBA,wBAAwBA,CAACjD,KAAK,EAAEvC,KAAK,EAAE;AACnC,MAAA,IAAI,IAAI,CAACvB,kBAAiB,KAAMuB,KAAK,EAAE;QACnC,IAAI,CAACvB,kBAAiB,GAAIuB,KAAK;QAC/B,IAAI,CAACZ,YAAY,EAAE;QAEnB,IAAI,IAAI,CAAC9C,aAAa,EAAE;AACpB,UAAA,IAAI,CAAC8I,cAAc,CAAC7C,KAAK,EAAE,IAAI,CAACf,cAAc,CAACxB,KAAK,CAAC,EAAE,KAAK,CAAC;AACjE,QAAA;AACJ,MAAA;IACJ,CAAC;IACDZ,YAAY,EAAA,SAAZA,YAAYA,GAAa;AAAA,MAAA,IAAAyM,OAAA,GAAA,IAAA;AAAA,MAAA,IAAZ7L,4EAAQ,EAAE;MACnB,IAAI,CAAC0I,SAAS,CAAC,YAAM;AACjB,QAAA,IAAMoD,EAAC,GAAI9L,KAAI,KAAM,EAAC,MAAA+J,MAAA,CAAO8B,OAAI,CAACE,GAAG,OAAAhC,MAAA,CAAI/J,KAAK,CAAA,GAAK6L,OAAI,CAACG,eAAe;AACvE,QAAA,IAAMC,OAAM,GAAIC,UAAU,CAACL,OAAI,CAAC5N,IAAI,EAAA,UAAA,CAAA8L,MAAA,CAAY+B,EAAE,EAAA,KAAA,CAAI,CAAC;AAEvD,QAAA,IAAIG,OAAO,EAAE;AACTA,UAAAA,OAAO,CAACE,cAAa,IAAKF,OAAO,CAACE,cAAc,CAAC;AAAEC,YAAAA,KAAK,EAAE,SAAS;AAAEC,YAAAA,MAAM,EAAE;AAAU,WAAC,CAAC;AAC7F,QAAA,CAAA,MAAO,IAAI,CAACR,OAAI,CAAC3L,uBAAuB,EAAE;AACtC2L,UAAAA,OAAI,CAAC3N,eAAc,IAAK2N,OAAI,CAAC3N,eAAe,CAACyH,aAAa,CAAC3F,UAAU,EAAC,GAAIA,KAAI,GAAI6L,OAAI,CAACpN,kBAAkB,CAAC;AAC9G,QAAA;AACJ,MAAA,CAAC,CAAC;IACN,CAAC;IACDM,eAAe,EAAA,SAAfA,eAAeA,GAAG;MACd,IAAI,IAAI,CAAC3C,eAAe,EAAE;AACtB,QAAA,IAAI,CAACqC,kBAAiB,GAAI,IAAI,CAACqD,2BAA2B,EAAE;AAChE,MAAA;AAEA,MAAA,IAAI,IAAI,CAACxF,aAAY,IAAK,IAAI,CAACF,eAAc,IAAK,CAAC,IAAI,CAACoP,OAAO,EAAE;AAC7D,QAAA,IAAI,CAACpG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC5D,cAAc,CAAC,IAAI,CAAC/C,kBAAkB,CAAC,EAAE,KAAK,CAAC;AAClF,MAAA;IACJ,CAAC;AACD6F,IAAAA,WAAW,WAAXA,WAAWA,CAAC/B,KAAK,EAAE4B,KAAK,EAAE;AACtB,MAAA,IAAI,CAACmI,UAAU,CAACnI,KAAK,EAAE5B,KAAK,CAAC;AAC7B,MAAA,IAAI,CAACV,KAAK,CAAC,QAAQ,EAAE;AAAE6D,QAAAA,aAAa,EAAEnD,KAAK;AAAE4B,QAAAA,KAAI,EAAJA;AAAM,OAAC,CAAC;IACzD,CAAC;AACDoI,IAAAA,WAAW,EAAA,SAAXA,WAAWA,CAAC7S,OAAO,EAAE;AAAA,MAAA,IAAA8S,OAAA,GAAA,IAAA;AACjB,MAAA,OAAO,CAAC9S,OAAM,IAAK,EAAE,EAAE+S,MAAM,CAAC,UAACC,MAAM,EAAEtM,MAAM,EAAEJ,KAAK,EAAK;QACrD0M,MAAM,CAACC,IAAI,CAAC;AAAEzL,UAAAA,WAAW,EAAEd,MAAM;AAAEe,UAAAA,KAAK,EAAE,IAAI;AAAEnB,UAAAA,KAAI,EAAJA;AAAM,SAAC,CAAC;AAExD,QAAA,IAAM9F,mBAAkB,GAAIsS,OAAI,CAACnL,sBAAsB,CAACjB,MAAM,CAAC;AAE/DlG,QAAAA,mBAAkB,IAAKA,mBAAmB,CAAC0S,OAAO,CAAC,UAACC,CAAC,EAAA;AAAA,UAAA,OAAKH,MAAM,CAACC,IAAI,CAACE,CAAC,CAAC;QAAA,CAAA,CAAC;AAEzE,QAAA,OAAOH,MAAM;MACjB,CAAC,EAAE,EAAE,CAAC;IACV,CAAC;AACDI,IAAAA,UAAU,EAAA,SAAVA,UAAUA,CAACvF,EAAE,EAAE;MACX,IAAI,CAACvJ,OAAM,GAAIuJ,EAAE;IACrB,CAAC;AACDwF,IAAAA,OAAO,WAAPA,OAAOA,CAACxF,EAAE,EAAEyF,UAAU,EAAE;MACpB,IAAI,CAAC/O,IAAG,GAAIsJ,EAAE;AACdyF,MAAAA,UAAS,IAAKA,UAAU,CAACzF,EAAE,CAAC;IAChC,CAAC;AACD0F,IAAAA,kBAAkB,EAAA,SAAlBA,kBAAkBA,CAAC1F,EAAE,EAAE;MACnB,IAAI,CAACrJ,eAAc,GAAIqJ,EAAE;AAC7B,IAAA;GACH;AACD2F,EAAAA,QAAQ,EAAE;IACN1L,cAAc,EAAA,SAAdA,cAAcA,GAAG;AAAA,MAAA,IAAA2L,OAAA,GAAA,IAAA;AACb,MAAA,IAAMzT,UAAU,IAAI,CAACO,gBAAe,GAAI,IAAI,CAACsS,WAAW,CAAC,IAAI,CAAC7S,OAAO,IAAI,IAAI,CAACA,WAAW,EAAE;MAE3F,IAAI,IAAI,CAACgF,WAAW,EAAE;QAClB,IAAM0O,eAAc,GAAIC,aAAa,CAAChT,MAAM,CAACX,OAAO,EAAE,IAAI,CAAC4T,YAAY,EAAE,IAAI,CAAC5O,WAAW,EAAE,IAAI,CAACjE,eAAe,EAAE,IAAI,CAACD,YAAY,CAAC;QAEnI,IAAI,IAAI,CAACP,gBAAgB,EAAE;AACvB,UAAA,IAAMsT,YAAW,GAAI,IAAI,CAAC7T,OAAM,IAAK,EAAE;UACvC,IAAM8T,QAAO,GAAI,EAAE;AAEnBD,UAAAA,YAAY,CAACX,OAAO,CAAC,UAACzL,KAAK,EAAK;AAC5B,YAAA,IAAMsM,aAAY,GAAIN,OAAI,CAAC9L,sBAAsB,CAACF,KAAK,CAAC;AACxD,YAAA,IAAMuM,aAAY,GAAID,aAAa,CAACpT,MAAM,CAAC,UAACsT,IAAI,EAAA;AAAA,cAAA,OAAKP,eAAe,CAAClE,QAAQ,CAACyE,IAAI,CAAC;YAAA,CAAA,CAAC;AAEpF,YAAA,IAAID,aAAa,CAAChM,MAAK,GAAI,CAAC,EAAE8L,QAAQ,CAACb,IAAI,CAAAiB,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAMzM,KAAK,CAAA,EAAA,EAAA,EAAA0M,eAAA,CAAA,EAAA,EAAG,OAAOV,OAAI,CAACjT,mBAAkB,KAAM,QAAO,GAAIiT,OAAI,CAACjT,sBAAsB,OAAO,EAAA4T,kBAAA,CAAOJ,aAAa,GAAG,CAAC;AACtK,UAAA,CAAC,CAAC;AAEF,UAAA,OAAO,IAAI,CAACnB,WAAW,CAACiB,QAAQ,CAAC;AACrC,QAAA;AAEA,QAAA,OAAOJ,eAAe;AAC1B,MAAA;AAEA,MAAA,OAAO1T,OAAO;IAClB,CAAC;AACD;IACAqU,iBAAiB,EAAA,SAAjBA,iBAAiBA,GAAG;MAChB,OAAO,IAAI,CAACvC,OAAO;IACvB,CAAC;IACD3B,KAAK,EAAA,SAALA,KAAKA,GAAG;AACJ,MAAA,IAAMmE,mBAAkB,GAAI,IAAI,CAAC3O,uBAAuB,EAAE;MAE1D,OAAO2O,mBAAkB,KAAM,EAAC,GAAI,IAAI,CAAC7N,cAAc,CAAC,IAAI,CAACqB,cAAc,CAACwM,mBAAmB,CAAC,CAAA,GAAI,IAAI,CAACpT,WAAU,IAAK,cAAc;IAC1I,CAAC;IACDqT,kBAAkB,EAAA,SAAlBA,kBAAkBA,GAAG;AACjB,MAAA,IAAMD,mBAAkB,GAAI,IAAI,CAAC3O,uBAAuB,EAAE;MAE1D,OAAO2O,mBAAkB,KAAM,EAAC,GAAI,IAAI,CAAC7N,cAAc,CAAC,IAAI,CAACqB,cAAc,CAACwM,mBAAmB,CAAC,CAAA,GAAI,IAAI,CAAClD,OAAM,IAAK,EAAE;IAC1H,CAAC;IACDC,WAAW,EAAA,SAAXA,WAAWA,GAAG;MACV,OAAO,IAAI,CAAChR,WAAU,GAAI,IAAG,GAAI,IAAI,CAACc,OAAO;IACjD,CAAC;IACDyS,YAAY,EAAA,SAAZA,YAAYA,GAAG;MACX,OAAO,IAAI,CAAC5S,YAAW,IAAK,CAAC,IAAI,CAACd,WAAW,CAAC;IAClD,CAAC;IACDsU,uBAAuB,EAAA,SAAvBA,uBAAuBA,GAAG;MACtB,OAAO3J,UAAU,CAAC,IAAI,CAAC/C,cAAc,CAAA,GAAI,IAAI,CAAC2M,iBAAiB,CAACC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC5M,cAAc,CAACE,MAAM,CAAA,GAAI,IAAI,CAAC2M,sBAAsB;IAC/I,CAAC;IACDF,iBAAiB,EAAA,SAAjBA,iBAAiBA,GAAG;AAChB,MAAA,OAAO,IAAI,CAACzR,iBAAiB,IAAI,CAACgL,SAAS,CAACC,MAAM,CAAC2G,MAAM,CAACC,aAAY,IAAK,EAAE;IACjF,CAAC;IACDF,sBAAsB,EAAA,SAAtBA,sBAAsBA,GAAG;MACrB,OAAO,IAAI,CAACxR,kBAAiB,IAAK,IAAI,CAAC6K,SAAS,CAACC,MAAM,CAAC2G,MAAM,CAACE,kBAAiB,IAAK,IAAI,CAAC9G,SAAS,CAACC,MAAM,CAAC2G,MAAM,CAACzR,kBAAiB,IAAK,EAAE;IAC9I,CAAC;IACD4R,gBAAgB,EAAA,SAAhBA,gBAAgBA,GAAG;AACf,MAAA,OAAO,IAAI,CAAC3R,YAAW,IAAK,IAAI,CAAC4K,SAAS,CAACC,MAAM,CAAC2G,MAAM,CAACxR,YAAW,IAAK,EAAE;IAC/E,CAAC;IACD4R,oBAAoB,EAAA,SAApBA,oBAAoBA,GAAG;AACnB,MAAA,OAAO,IAAI,CAAC/R,oBAAoB,IAAI,CAAC+K,SAAS,CAACC,MAAM,CAAC2G,MAAM,CAAC3R,gBAAe,IAAK,EAAE;IACvF,CAAC;IACDgS,yBAAyB,EAAA,SAAzBA,yBAAyBA,GAAG;AACxB,MAAA,OAAO,IAAI,CAAC/R,qBAAoB,IAAK,IAAI,CAAC8K,SAAS,CAACC,MAAM,CAAC2G,MAAM,CAAC1R,yBAAyB,EAAE;IACjG,CAAC;IACDgS,mBAAmB,EAAA,SAAnBA,mBAAmBA,GAAG;AAClB,MAAA,OAAO,IAAI,CAACpD,UAAU,IAAI,CAACkD,oBAAoB,CAACN,UAAU,CAAC,KAAK,EAAE,GAAG,CAAA,GAAI,IAAI,CAACO,yBAAyB;IAC3G,CAAC;IACD3C,eAAe,EAAA,SAAfA,eAAeA,GAAG;AACd,MAAA,OAAO,IAAI,CAACvN,kBAAiB,KAAM,EAAC,MAAAsL,MAAA,CAAO,IAAI,CAACgC,GAAG,OAAAhC,MAAA,CAAI,IAAI,CAACtL,kBAAkB,IAAK,IAAI;IAC3F,CAAC;IACDoQ,WAAW,EAAA,SAAXA,WAAWA,GAAG;AAAA,MAAA,IAAAC,OAAA,GAAA,IAAA;AACV,MAAA,OAAO,IAAI,CAACtN,cAAc,CAACnH,MAAM,CAAC,UAAC+F,MAAM,EAAA;AAAA,QAAA,OAAK,CAAC0O,OAAI,CAAC7N,aAAa,CAACb,MAAM,CAAC;AAAA,MAAA,CAAA,CAAC,CAACsB,MAAM;IACrF,CAAC;IACDqN,kBAAkB,EAAA,SAAlBA,kBAAkBA,GAAG;AACjB,MAAA,OAAO,IAAI,CAACjU,SAAQ,IAAK,IAAI,CAACgQ,OAAM,IAAK,IAAG,IAAKvG,UAAU,CAAC,IAAI,CAAC7K,OAAO,CAAC;IAC7E,CAAC;IACDwG,uBAAuB,EAAA,SAAvBA,uBAAuBA,GAAG;MACtB,OAAO,CAAC,IAAI,CAAC/D,sBAAsB;IACvC,CAAC;IACD6S,cAAc,EAAA,SAAdA,cAAcA,GAAG;MACb,OAAOC,EAAE,CAAApB,eAAA,CAAA;QACLqB,OAAO,EAAE,IAAI,CAACC,QAAQ;QACtBpO,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvBgB,KAAK,EAAE,IAAI,CAACvD,OAAO;QACnB4Q,KAAK,EAAE,IAAI,CAACC,MAAM;AAClBC,QAAAA,MAAM,EAAE,IAAI,CAACC,QAAO,KAAM;OAAQ,EACjC,IAAI,CAACC,IAAI,EAAG,IAAI,CAACA,IAAG,CACxB,CAAC;IACN,CAAC;IACDC,UAAU,EAAA,SAAVA,UAAUA,GAAG;AACT,MAAA,OAAOR,EAAE,CAAApB,eAAA,CAAAA,eAAA,CAAA;AACLjT,QAAAA,WAAW,EAAE,CAAC,IAAI,CAACD,QAAO,IAAK,IAAI,CAACkP,KAAI,KAAM,IAAI,CAACjP,WAAW;QAC9D8U,SAAS,EAAE,IAAI,CAAC5U,SAAS;QACzBiG,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvBpG,QAAQ,EAAE,IAAI,CAACA;AAAQ,OAAA,EACtB,IAAI,CAAC6U,IAAI,EAAG,IAAI,CAACA,IAAI,CAAA,EAAA,OAAA,EACf,CAAC,IAAI,CAAC7U,QAAO,IAAK,CAAC,IAAI,CAACgV,MAAM,CAAC,OAAO,CAAA,KAAM,IAAI,CAAC9F,KAAI,KAAM,kBAAkB,IAAI,CAACA,KAAK,CAACnI,MAAK,KAAM,CAAC,CAAA,CAC9G,CAAC;IACN,CAAC;IACDkO,iBAAiB,EAAA,SAAjBA,iBAAiBA,GAAG;AAChB,MAAA,OAAOX,EAAE,CAAApB,eAAA,CAAA,EAAA,EACJ,IAAI,CAAC2B,IAAI,EAAG,IAAI,CAACA,IAAG,CACxB,CAAC;IACN,CAAC;IACDK,YAAY,EAAA,SAAZA,YAAYA,GAAG;AACX,MAAA,OAAOZ,EAAE,CAAApB,eAAA,CAAA,EAAA,EACJ,SAAQ,GAAI,IAAI,CAACnS,QAAQ,EAAG,SAAQ,GAAI,IAAI,CAACA,QAAO,CACxD,CAAC;AACN,IAAA;GACH;AACDoU,EAAAA,UAAU,EAAE;AACRC,IAAAA,MAAM,EAAEC;GACX;AACDC,EAAAA,UAAU,EAAE;AACRC,IAAAA,SAAS,EAATA,SAAS;AACTC,IAAAA,eAAe,EAAfA,eAAe;AACfC,IAAAA,MAAM,EAANA,MAAM;AACNC,IAAAA,SAAS,EAATA,SAAS;AACTC,IAAAA,SAAS,EAATA,SAAS;AACTC,IAAAA,SAAS,EAATA,SAAS;AACTC,IAAAA,eAAe,EAAfA,eAAe;AACfC,IAAAA,WAAW,EAAXA,WAAW;AACXC,IAAAA,UAAU,EAAVA,UAAU;AACVC,IAAAA,SAAS,EAATA,SAAS;AACTC,IAAAA,SAAQ,EAARA;AACJ;AACJ,CAAC;;;;;;;;;;;;;;;;;;;;EC3lCG,OAAAC,SAAA,EAAA,EAAAC,kBAAA,CAkMK,OAlMLC,UAAA,CAkMK;AAlMAC,IAAAA,GAAG,EAAC,WAAU;IAAGlF,EAAE,EAAEmF,IAAA,CAAAlF,GAAG;AAAG,IAAA,OAAA,EAAOkF,IAAA,CAAAC,EAAE,CAAA,MAAA,CAAA;IAAWC,OAAK;aAAEC,QAAA,CAAA5M,gBAAA,IAAA4M,QAAA,CAAA5M,gBAAA,CAAA6M,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAgB;AAAA,IAAA,CAAA,CAAA;IAAG,QAAM,EAAE8L,QAAA,CAAApC;KAAwBiC,IAAA,CAAAK,IAAI,CAAA,MAAA,CAAA,CAAA,EAAA,CAEpGL,IAAA,CAAAtW,QAAQ,IADlBkW,SAAA,EAAA,EAAAC,kBAAA,CA2BC,SA3BDC,UAAA,CA2BC;;AAzBGC,IAAAA,GAAG,EAAC,YAAW;IACdzX,IAAI,EAAE0X,IAAA,CAAA1X,IAAI;AACVuS,IAAAA,EAAE,EAAEmF,IAAA,CAAA9V,OAAM,IAAK8V,IAAA,CAAAlW,OAAO;AACvBX,IAAAA,IAAI,EAAC,MAAK;AACT,IAAA,OAAA,EAAK,CAAG6W,IAAA,CAAAC,EAAE,CAAA,OAAA,CAAA,EAAWD,IAAA,CAAAjW,UAAU,EAAEiW,IAAA,CAAA7V,UAAU,CAAA;IAC3C+B,KAAK,EAAA,CAAG8T,IAAA,CAAA/V,UAAU,EAAE+V,IAAA,CAAA5V,UAAU,CAAA;IAC9B8I,KAAK,EAAEiN,QAAA,CAAAnD,kBAAkB;IACzBrT,WAAW,EAAEqW,IAAA,CAAArW,WAAW;IACxBmC,QAAQ,EAAA,CAAGkU,IAAA,CAAAlQ,QAAO,GAAIkQ,IAAA,CAAAlU,QAAO,GAAA,EAAA;IAC7BgE,QAAQ,EAAEkQ,IAAA,CAAAlQ,QAAQ;AACnBwQ,IAAAA,YAAY,EAAC,KAAI;AACjBC,IAAAA,IAAI,EAAC,UAAS;IACb,YAAU,EAAEP,IAAA,CAAAhU,SAAS;IACrB,iBAAe,EAAEgU,IAAA,CAAA/T,cAAc;AAChC,IAAA,eAAa,EAAC,SAAQ;IACrB,eAAa,EAAEuU,KAAA,CAAA9S,cAAc;AAC7B,IAAA,eAAa,EAAEsS,IAAA,CAAAlF,GAAE,GAAA,OAAA;IACjB,uBAAqB,EAAE0F,KAAA,CAAAjT,OAAM,GAAI4S,QAAA,CAAApF,eAAc,GAAInQ,SAAS;AAC5D,IAAA,cAAY,EAAEoV,IAAA,CAAA/B,OAAM,IAAKrT,SAAS;IAClCyG,OAAK;aAAE8O,QAAA,CAAA9O,OAAA,IAAA8O,QAAA,CAAA9O,OAAA,CAAA+O,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAO;AAAA,IAAA,CAAA,CAAA;IACd9C,MAAI;aAAE4O,QAAA,CAAA5O,MAAA,IAAA4O,QAAA,CAAA5O,MAAA,CAAA6O,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAM;AAAA,IAAA,CAAA,CAAA;IACZoM,SAAO;aAAEN,QAAA,CAAAtO,SAAA,IAAAsO,QAAA,CAAAtO,SAAA,CAAAuO,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAS;AAAA,IAAA,CAAA,CAAA;IAClBqM,OAAK;aAAEP,QAAA,CAAAlN,eAAA,IAAAkN,QAAA,CAAAlN,eAAA,CAAAmN,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAe;AAAA,IAAA,CAAA,CAAA;IACtB,QAAM,EAAE8L,QAAA,CAAA3B;KACDwB,IAAA,CAAAtQ,GAAG,CAAA,OAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAAiR,UAAA,CAAA,KAEff,SAAA,EAAA,EAAAC,kBAAA,CAwBM,QAxBNC,UAAA,CAwBM;;AAtBFC,IAAAA,GAAG,EAAC,YAAW;IACdzX,IAAI,EAAE0X,IAAA,CAAA1X,IAAI;AACVuS,IAAAA,EAAE,EAAEmF,IAAA,CAAA9V,OAAM,IAAK8V,IAAA,CAAAlW,OAAO;AACtB,IAAA,OAAA,EAAK,CAAGkW,IAAA,CAAAC,EAAE,CAAA,OAAA,CAAA,EAAWD,IAAA,CAAAjW,UAAU,EAAEiW,IAAA,CAAA7V,UAAU,CAAA;IAC3C+B,KAAK,EAAA,CAAG8T,IAAA,CAAA/V,UAAU,EAAE+V,IAAA,CAAA5V,UAAU,CAAA;IAC9B0B,QAAQ,EAAA,CAAGkU,IAAA,CAAAlQ,QAAO,GAAIkQ,IAAA,CAAAlU,QAAO,GAAA,EAAA;AAC9ByU,IAAAA,IAAI,EAAC,UAAS;AACb,IAAA,YAAU,EAAEP,IAAA,CAAAhU,SAAQ,KAAMmU,oCAA2BvV,SAAQ,GAAIuV,QAAA,CAAAvH,KAAK,CAAA;IACtE,iBAAe,EAAEoH,IAAA,CAAA/T,cAAc;AAChC,IAAA,eAAa,EAAC,SAAQ;IACrB,eAAa,EAAEuU,KAAA,CAAA9S,cAAc;AAC7B,IAAA,eAAa,EAAEsS,IAAA,CAAAlF,GAAE,GAAA,OAAA;IACjB,uBAAqB,EAAE0F,KAAA,CAAAjT,OAAM,GAAI4S,QAAA,CAAApF,eAAc,GAAInQ,SAAS;AAC5D,IAAA,cAAY,EAAEoV,IAAA,CAAA/B,OAAM,IAAKrT,SAAS;IAClC,eAAa,EAAEoV,IAAA,CAAAlQ,QAAQ;IACvBuB,OAAK;aAAE8O,QAAA,CAAA9O,OAAA,IAAA8O,QAAA,CAAA9O,OAAA,CAAA+O,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAO;AAAA,IAAA,CAAA,CAAA;IACd9C,MAAI;aAAE4O,QAAA,CAAA5O,MAAA,IAAA4O,QAAA,CAAA5O,MAAA,CAAA6O,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAM;AAAA,IAAA,CAAA,CAAA;IACZoM,SAAO;aAAEN,QAAA,CAAAtO,SAAA,IAAAsO,QAAA,CAAAtO,SAAA,CAAAuO,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAS;AAAA,IAAA,CAAA,CAAA;IAClB,QAAM,EAAE8L,QAAA,CAAA3B;KACDwB,IAAA,CAAAtQ,GAAG,CAAA,OAAA,CAAA,CAAA,EAAA,CAEXkR,UAAA,CAAmIZ,IAAA,CAAAtB,MAAA,EAAA,OAAA,EAAA;IAA/GxL,KAAK,EAAE8M,IAAA,CAAAnG,OAAO;IAAGlQ,WAAW,EAAEqW,IAAA,CAAArW;KAAlD,YAAA;AAAA,IAAA,IAAAkX,eAAA;AAAA,IAAA,OAAmI,CAAjEC,eAAA,CAAAC,eAAA,CAAAZ,QAAA,CAAAvH,KAAI,+CAA8BuH,QAAA,CAAAvH,KAAK,MAAA,IAAA,IAAAiI,eAAA,KAAA,MAAA,GAAAA,eAAA,GAAA,OAAA,CAAA,EAAA,CAAA,CAAA;yBAEjGV,QAAA,CAAArC,kBAAkB,GAA9B8C,UAAA,CAEMZ,IAAA,CAAAtB,MAAA,EAAA,WAAA,EAAA;;IAF4C,OAAA,iBAAOsB,IAAA,CAAAC,EAAE,CAAA,WAAA,CAAA,CAAA;IAAgBe,aAAa,EAAEb,QAAA,CAAAvM;KAA1F,YAAA;AAAA,IAAA,OAEM,eADFqN,WAAA,CAAkLC,uBAAA,CAAlKlB,IAAA,CAAArV,SAAQ,GAAA,GAAA,GAAA,WAAA,CAAA,EAAxBmV,UAAA,CAAkL;AAAnIC,MAAAA,GAAG,EAAC,WAAU;MAAG,OAAA,EAAK,CAAGC,IAAA,CAAAC,EAAE,CAAA,WAAA,CAAA,EAAeD,IAAA,CAAArV,SAAS,CAAA;MAAIuV,OAAK,EAAEC,QAAA,CAAAvM;OAAsBoM,IAAA,CAAAtQ,GAAG,CAAA,WAAA,CAAA,EAAA;AAAe,MAAA,iBAAe,EAAC;;qCAEzKyR,kBAAA,CAQK,OARLrB,UAAA,CAQK;AARC,IAAA,OAAA,EAAOE,IAAA,CAAAC,EAAE,CAAA,UAAA;KAAsBD,IAAA,CAAAtQ,GAAG,CAAA,UAAA,CAAA,CAAA,EAAA,CACxBsQ,IAAA,CAAAtV,OAAO,GAAnBkW,UAAA,CAGMZ,IAAA,CAAAtB,MAAA,EAAA,aAAA,EAAA;;AAHmC,IAAA,OAAA,iBAAOsB,IAAA,CAAAC,EAAE,CAAA,aAAA,CAAA;KAAlD,YAAA;AAAA,IAAA,OAGM,CAFUD,IAAA,CAAAjV,WAAW,IAAvB6U,SAAA,EAAA,EAAAC,kBAAA,CAA8H,QAA9HC,UAAA,CAA8H;;AAApG,MAAA,OAAA,EAAK,CAAGE,IAAA,CAAAC,EAAE,CAAA,aAAA,CAAA,EAAA,SAAA,EAA4BD,IAAA,CAAAjV,WAAW,CAAA;AAAG,MAAA,aAAW,EAAC;OAAeiV,IAAA,CAAAtQ,GAAG,CAAA,aAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAC5GkQ,SAAA,EAAA,EAAAqB,WAAA,CAAoGG,wBAApGtB,UAAA,CAAoG;;AAA/E,MAAA,OAAA,EAAOE,IAAA,CAAAC,EAAE,CAAA,aAAA,CAAA;AAAiBoB,MAAAA,MAAA;AAAK,MAAA,aAAW,EAAC;OAAerB,IAAA,CAAAtQ,GAAG,CAAA,aAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA;OAEtFkR,UAAA,CAEMZ,IAAA,CAAAtB,MAAA,EAAA,cAAA,EAAA;;AAF4B,IAAA,OAAA,iBAAOsB,IAAA,CAAAC,EAAE,CAAA,cAAA,CAAA;KAA3C,YAAA;AAAA,IAAA,OAEM,eADFgB,WAAA,CAAoLC,uBAAA,CAApKlB,IAAA,CAAAnV,YAAW,GAAA,MAAA,GAAA,iBAAA,CAAA,EAA3BiV,UAAA,CAAoL;MAAxH,OAAA,EAAK,CAAGE,IAAA,CAAAC,EAAE,CAAA,cAAA,CAAA,EAAkBD,IAAA,CAAAnV,YAAY,CAAA;AAAG,MAAA,aAAW,EAAC,MAAK;MAAG,QAAM,EAAEsV,QAAA,CAAAxB;OAA2BqB,IAAA,CAAAtQ,GAAG,CAAA,cAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,CAAA,CAAA;YAGzK4R,WAAA,CA+HQC,iBAAA,EAAA;IA/HC9W,QAAQ,EAAEuV,IAAA,CAAAvV;AAAQ,GAAA,EAAA;uBACvB,YAAA;AAAA,MAAA,OA6HY,CA7HZ6W,WAAA,CA6HYE,YA7HZ1B,UAAA,CA6HY;AA7HAxX,QAAAA,IAAI,EAAC,qBAAoB;QAAGmZ,OAAK,EAAEtB,QAAA,CAAA9J,cAAc;QAAGqL,YAAW,EAAEvB,QAAA,CAAAjJ,mBAAmB;QAAGyK,OAAK,EAAExB,QAAA,CAAA7I,cAAc;QAAGsK,YAAW,EAAEzB,QAAA,CAAAzI;SAA6BsI,IAAA,CAAAtQ,GAAG,CAAA,YAAA,CAAA,CAAA,EAAA;2BACpK,YAAA;AAAA,UAAA,OA2HK,CA3HM8Q,KAAA,CAAA9S,cAAc,IAAzBkS,SAAA,EAAA,EAAAC,kBAAA,CA2HK,OA3HLC,UAAA,CA2HK;;YA3HuBC,GAAG,EAAEI,QAAA,CAAAtE,UAAU;AAAG,YAAA,OAAA,EAAK,CAAGmE,IAAA,CAAAC,EAAE,CAAA,SAAA,CAAA,EAAaD,IAAA,CAAA3V,UAAU,EAAE2V,IAAA,CAAAzV,YAAY,CAAA;YAAI2B,KAAK,EAAA,CAAG8T,IAAA,CAAAxV,UAAU,EAAEwV,IAAA,CAAA1V,YAAY,CAAA;YAAI4V,OAAK;qBAAEC,QAAA,CAAAnL,cAAA,IAAAmL,QAAA,CAAAnL,cAAA,CAAAoL,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAc;AAAA,YAAA,CAAA,CAAA;YAAGoM,SAAO;qBAAEN,QAAA,CAAA/K,gBAAA,IAAA+K,QAAA,CAAA/K,gBAAA,CAAAgL,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAgB;AAAA,YAAA,CAAA,CAAA;YAAG,QAAM,EAAE8L,QAAA,CAAAvB;aAAsBoB,IAAA,CAAAtQ,GAAG,CAAA,SAAA,CAAA,CAAA,EAAA,CACtNyR,kBAAA,CAUO,QAVPrB,UAAA,CAUO;AATHC,YAAAA,GAAG,EAAC,sCAAqC;AACzCQ,YAAAA,IAAI,EAAC,cAAa;AAClB,YAAA,aAAW,EAAC,MAAK;AACjB,YAAA,OAAA,EAAM,wCAAuC;AAC5CzU,YAAAA,QAAQ,EAAE,CAAC;YACXuF,OAAK;qBAAE8O,QAAA,CAAAtM,kBAAA,IAAAsM,QAAA,CAAAtM,kBAAA,CAAAuM,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAkB;YAAA,CAAA;aAClB2L,IAAA,CAAAtQ,GAAG,CAAA,wBAAA,CAAA,EAAA;AACV,YAAA,0BAAwB,EAAE,IAAI;AAC9B,YAAA,yBAAuB,EAAE;yBAE9BkR,UAAA,CAAqEZ,IAAA,CAAAtB,MAAA,EAAA,QAAA,EAAA;YAAhDxL,KAAK,EAAE8M,IAAA,CAAAnG,OAAO;YAAGpR,OAAO,EAAE0X,QAAA,CAAA5P;cACpCyP,IAAA,CAAA5W,MAAM,IAAjBwW,SAAA,EAAA,EAAAC,kBAAA,CAgCK,OAhCLC,UAAA,CAgCK;;AAhCe,YAAA,OAAA,EAAOE,IAAA,CAAAC,EAAE,CAAA,QAAA;aAAoBD,IAAA,CAAAtQ,GAAG,CAAA,QAAA,CAAA,CAAA,EAAA,CAChD4R,WAAA,CA2BWO,oBAAA,EAAA;YA3BCC,QAAQ,EAAE9B,IAAA,CAAA8B,QAAQ;AAAGC,YAAAA,EAAE,EAAE/B,IAAA,CAAAtQ,GAAG,CAAA,mBAAA;;+BACpC,YAAA;AAAA,cAAA,OAmBC,CAnBD4R,WAAA,CAmBCU,oBAAA,EAAA;AAlBGjC,gBAAAA,GAAG,EAAC,aAAY;AAChB5W,gBAAAA,IAAI,EAAC,MAAK;gBACT+J,KAAK,EAAEsN,KAAA,CAAA/S,WAAW;gBAClBwU,cAAW,EAAE9B,QAAA,CAAArL,eAAe;gBAC5BoN,cAAW,EAAE/B,QAAA,CAAArL,eAAe;gBAC5B,OAAA,iBAAOkL,IAAA,CAAAC,EAAE,CAAA,UAAA,CAAA,CAAA;gBACTtW,WAAW,EAAEqW,IAAA,CAAA1W,iBAAiB;gBAC9B6Y,OAAO,EAAEnC,IAAA,CAAAmC,OAAO;gBAChBL,QAAQ,EAAE9B,IAAA,CAAA8B,QAAQ;AACnBvB,gBAAAA,IAAI,EAAC,WAAU;AACfD,gBAAAA,YAAY,EAAC,KAAI;AAChB,gBAAA,WAAS,EAAEN,IAAA,CAAAlF;gBACX,uBAAqB,EAAEqF,QAAA,CAAApF,eAAe;gBACtC0F,SAAO,EAAEN,QAAA,CAAAxL,eAAe;gBACxBpD,MAAI,EAAE4O,QAAA,CAAAtL,YAAY;gBAClB6L,OAAK,EAAEP,QAAA,CAAA3L,cAAc;AACrBuN,gBAAAA,EAAE,EAAE/B,IAAA,CAAAtQ,GAAG,CAAA,UAAA,CAAA;AACP0S,gBAAAA,WAAW,EAAE;AAAAC,kBAAAA,UAAA,EAAA;AAAA;uMAElBf,WAAA,CAKWgB,oBAAA,EAAA;gBALCR,QAAQ,EAAE9B,IAAA,CAAA8B,QAAQ;AAAGC,gBAAAA,EAAE,EAAE/B,IAAA,CAAAtQ,GAAG,CAAA,uBAAA;;mCACpC,YAAA;kBAAA,OAGM,CAHNkR,UAAA,CAGMZ,+BAHN,YAAA;AAAA,oBAAA,OAGM,CAFUA,IAAA,CAAAlV,UAAU,IAAtB8U,SAAA,EAAA,EAAAC,kBAAA,CAAwE,QAAxEC,UAAA,CAAwE;;AAA/C,sBAAA,OAAA,EAAOE,IAAA,CAAAlV;uBAAoBkV,IAAA,CAAAtQ,GAAG,CAAA,YAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KACvDkQ,SAAA,EAAA,EAAAqB,WAAA,CAA+CsB;;uBAApBvC,IAAA,CAAAtQ,GAAG,CAAA,YAAA,CAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,CAAA;;;;;;;qCAI1CyR,kBAAA,CAEM,QAFNrB,UAAA,CAEM;AAFAS,YAAAA,IAAI,EAAC,QAAO;AAAE,YAAA,WAAS,EAAC,QAAO;YAAE,OAAA,EAAM;AAA8B,WAAA,EAAAP,IAAA,CAAAtQ,GAAG,CAAA,oBAAA,CAAA,EAAA;AAAyB,YAAA,0BAAwB,EAAE;8BAC1HyQ,QAAA,CAAAlD,uBAAsB,CAAA,EAAA,EAAA,CAAA,wCAGjCkE,kBAAA,CA0DK,OA1DLrB,UAAA,CA0DK;AA1DC,YAAA,OAAA,EAAOE,IAAA,CAAAC,EAAE,CAAA,eAAA,CAAA;AAAoB/T,YAAAA,KAAK,EAAA;cAAA,YAAA,EAAkBiU,QAAA,CAAAlR,uBAAsB,GAAI+Q,IAAA,CAAA9W,YAAW,GAAA;AAAA;aAAkB8W,IAAA,CAAAtQ,GAAG,CAAA,eAAA,CAAA,CAAA,EAAA,CAChH4R,WAAA,CAwDiBkB,4BAxDjB1C,UAAA,CAwDiB;YAxDCC,GAAG,EAAEI,QAAA,CAAAnE;aAA4BgE,IAAA,CAAA9U,sBAAsB,EAAA;YAAGuX,KAAK,EAAEtC,QAAA,CAAA5P,cAAc;AAAGrE,YAAAA,KAAK;sBAAY8T,IAAA,CAAA9W;aAAW;YAAM4C,QAAQ,EAAE,EAAE;YAAGgE,QAAQ,EAAEqQ,QAAA,CAAAlR,uBAAuB;AAAG8S,YAAAA,EAAE,EAAE/B,IAAA,CAAAtQ,GAAG,CAAA,iBAAA;;AAC3KgT,YAAAA,OAAO,EAAAC,OAAA,CACpB,UAAAC,IAAA,EAAA;AAAA,cAAA,IADwBC,UAAU,GAAAD,IAAA,CAAVC,UAAU;gBAAE9G,UAAU,GAAA6G,IAAA,CAAV7G,UAAU;gBAAE0G,KAAK,GAAAG,IAAA,CAALH,KAAK;gBAAEK,cAAc,GAAAF,IAAA,CAAdE,cAAc;gBAAEC,YAAY,GAAAH,IAAA,CAAZG,YAAY;gBAAEC,QAAO,GAAAJ,IAAA,CAAPI,QAAO;AAAA,cAAA,OAAA,CAC5F7B,kBAAA,CAiDI,MAjDJrB,UAAA,CAiDI;AAjDCC,gBAAAA,GAAG,WAAHA,GAAGA,CAAGzJ,EAAE,EAAA;AAAA,kBAAA,OAAK6J,gBAAO,CAAC7J,EAAE,EAAEyF,UAAU,CAAA;AAAA,gBAAA,CAAA;AAAIlB,gBAAAA,EAAE,EAAEmF,IAAA,CAAAlF,GAAE,GAAA,OAAA;gBAAc,OAAA,EAAK,CAAGkF,IAAA,CAAAC,EAAE,CAAA,MAAA,CAAA,EAAU4C,UAAU,CAAA;AAAI3W,gBAAAA,KAAK,EAAE6W,YAAY;AAAExC,gBAAAA,IAAI,EAAC;iBAAkBP,IAAA,CAAAtQ,GAAG,CAAA,MAAA,CAAA,CAAA,EAAA,EAC7IkQ,SAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,CAyCUoD,QAAA,EAAA,IAAA,EAAAC,UAAA,CAzCsBT,KAAK,EAAA,UAAnBtT,MAAM,EAAEgU,CAAC,EAAA;;AAAkB1T,kBAAAA,GAAA,EAAA0Q,QAAA,CAAA7Q,kBAAkB,CAACH,MAAM,EAAEgR,uBAAc,CAACgD,CAAC,EAAEL,cAAc,CAAA;oBAE1F3C,QAAA,CAAAnQ,aAAa,CAACb,MAAM,CAAA,IAD9ByQ,SAAA,EAAA,EAAAC,kBAAA,CAWI,MAXJC,UAAA,CAWI;;AATCjF,kBAAAA,EAAE,EAAEmF,IAAA,CAAAlF,YAAYqF,uBAAc,CAACgD,CAAC,EAAEL,cAAc,CAAA;AAChD5W,kBAAAA,KAAK,EAAA;AAAAkX,oBAAAA,MAAA,EAAYJ,QAAO,GAAIA,QAAO,UAAWpY;mBAAQ;AACtD,kBAAA,OAAA,EAAOoV,IAAA,CAAAC,EAAE,CAAA,aAAA,CAAA;AACVM,kBAAAA,IAAI,EAAC;;;mBACGP,IAAA,CAAAtQ,GAAG,CAAA,aAAA,CAAA,CAAA,EAAA,CAEXkR,UAAA,CAEMZ,IAAA,CAAAtB,MAAA,EAAA,aAAA,EAAA;kBAFoBvP,MAAM,EAAEA,MAAM,CAACc,WAAW;AAAGlB,kBAAAA,KAAK,EAAEoR,QAAA,CAAArR,cAAc,CAACqU,CAAC,EAAEL,cAAc;mBAA9F,YAAA;AAAA,kBAAA,OAEM,CADF3B,kBAAA,CAA0H,QAA1HrB,UAAA,CAA0H;AAAnH,oBAAA,OAAA,EAAOE,IAAA,CAAAC,EAAE,CAAA,kBAAA;AAA8B,mBAAA,EAAA;AAAAoD,oBAAAA,OAAA,EAAA;mBAAA,EAAArD,IAAA,CAAAtQ,GAAG,CAAA,kBAAA,CAAA,CAAA,EAAAqR,eAAA,CAAyBZ,QAAA,CAAAhQ,mBAAmB,CAAChB,MAAM,CAACc,WAAW,CAAA,CAAA,EAAA,EAAA,CAAA;wCAGxHqT,cAAA,EAAA1D,SAAA,EAAA,EAAAC,kBAAA,CA2BI,MA3BJC,UAAA,CA2BI;;AAzBCjF,kBAAAA,EAAE,EAAEmF,IAAA,CAAAlF,YAAYqF,uBAAc,CAACgD,CAAC,EAAEL,cAAc,CAAA;AAEhD,kBAAA,OAAA,EAAO9C,OAAE,CAAA,QAAA,EAAA;AAAa7Q,oBAAAA,MAAM,EAANA,MAAM;mCAAiBgR,QAAA,CAAArR,cAAc,CAACqU,CAAC,EAAEL,cAAc;AAAA,mBAAA,CAAA;AAC7E5W,kBAAAA,KAAK,EAAA;AAAAkX,oBAAAA,MAAA,EAAYJ,QAAO,GAAIA,QAAO,UAAWpY;mBAAQ;AACvD2V,kBAAAA,IAAI,EAAC,QAAO;AACX,kBAAA,YAAU,EAAEJ,QAAA,CAAAjR,cAAc,CAACC,MAAM,CAAA;AACjC,kBAAA,eAAa,EAAEgR,QAAA,CAAAtQ,UAAU,CAACV,MAAM,CAAA;AAChC,kBAAA,eAAa,EAAEgR,QAAA,CAAApQ,gBAAgB,CAACZ,MAAM,CAAA;kBACtC,cAAY,EAAEgR,QAAA,CAAAvC,WAAW;AACzB,kBAAA,eAAa,EAAEuC,QAAA,CAAA9P,eAAe,CAAC8P,uBAAc,CAACgD,CAAC,EAAEL,cAAc,CAAA,CAAA;AAC/DS,kBAAAA,WAAS,EAAA,SAATA,WAASA,CAAAC,MAAA,EAAA;AAAA,oBAAA,OAAErD,QAAA,CAAAhM,cAAc,CAACqP,MAAM,EAAErU,MAAM,CAAA;kBAAA,CAAA;AACxCsU,kBAAAA,WAAS,EAAA,SAATA,WAASA,CAAAD,MAAA,EAAA;AAAA,oBAAA,OAAErD,0BAAiB,CAACqD,MAAM,EAAErD,QAAA,CAAArR,cAAc,CAACqU,CAAC,EAAEL,cAAc,CAAA,CAAA;kBAAA,CAAA;kBACrE5C,OAAK,0CAAN,YAAA,CAAA,CAAU,EAAA,CAAA,MAAA,CAAA,CAAA,CAAA;kBACT,iBAAe,EAAA,CAAGF,IAAA,CAAAxU,aAAa2U,QAAA,CAAAtQ,UAAU,CAACV,MAAM,CAAA;AAChD,kBAAA,gBAAc,EAAEqR,KAAA,CAAAhT,kBAAiB,KAAM2S,uBAAc,CAACgD,CAAC,EAAEL,cAAc,CAAA;AACvE,kBAAA,iBAAe,EAAE3C,QAAA,CAAApQ,gBAAgB,CAACZ,MAAM;AACjC,iBAAA,EAAA;AAAAkU,kBAAAA,OAAA,EAAA;iBAAA,EAAAlD,QAAA,CAAA5Q,gBAAgB,CAACJ,MAAM,EAAE2T,cAAc,EAAEK,CAAC,EAAA,QAAA,CAAA,CAAA,EAAA,CAElCnD,IAAA,CAAAxU,SAAS,iBAAzBqU,kBAAA,CAGUoD,QAAA,EAAA;AAAAxT,kBAAAA,GAAA,EAAA;AAAA,iBAAA,EAAA,CAFW0Q,QAAA,CAAAtQ,UAAU,CAACV,MAAM,CAAA,IAAlCyQ,SAAA,EAAA,EAAAqB,WAAA,CAAqGyC,sBAArG5D,UAAA,CAAqG;;AAA/D,kBAAA,OAAA,EAAOE,IAAA,CAAAC,EAAE,CAAA,iBAAA;;;mBAA6BD,IAAA,CAAAtQ,GAAG,CAAA,iBAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,CAAA,CAAA,KAC/EkQ,SAAA,EAAA,EAAAqB,WAAA,CAAkF0C,sBAAlF7D,UAAA,CAAkF;;AAA/D,kBAAA,OAAA,EAAOE,IAAA,CAAAC,EAAE,CAAA,iBAAA;;;mBAA6BD,IAAA,CAAAtQ,GAAG,CAAA,iBAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA,wCAEhEkR,UAAA,CAEMZ,IAAA,CAAAtB,MAAA,EAAA,QAAA,EAAA;AAFevP,kBAAAA,MAAM,EAAEA,MAAM;AAAGS,kBAAAA,QAAQ,EAAEuQ,QAAA,CAAAtQ,UAAU,CAACV,MAAM,CAAA;AAAIJ,kBAAAA,KAAK,EAAEoR,QAAA,CAAArR,cAAc,CAACqU,CAAC,EAAEL,cAAc;mBAA5G,YAAA;AAAA,kBAAA,OAEM,CADF3B,kBAAA,CAA+F,QAA/FrB,UAAA,CAA+F;AAAxF,oBAAA,OAAA,EAAOE,IAAA,CAAAC,EAAE,CAAA,aAAA;;;qBAAyBD,IAAA,CAAAtQ,GAAG,CAAA,aAAA,CAAA,CAAA,EAAAqR,eAAA,CAAoBZ,QAAA,CAAAjR,cAAc,CAACC,MAAM,CAAA,CAAA,EAAA,EAAA,CAAA;;yBAIvFqR,KAAA,CAAA/S,WAAU,MAAOgV,KAAI,IAAMA,SAASA,KAAK,CAAChS,MAAK,KAAA,CAAA,CAAA,IAAzDmP,SAAA,EAAA,EAAAC,kBAAA,CAEI,MAFJC,UAAA,CAEI;;AAFiE,gBAAA,OAAA,EAAOE,IAAA,CAAAC,EAAE,CAAA,cAAA,CAAA;AAAkBM,gBAAAA,IAAI,EAAC;iBAAiBP,IAAA,CAAAtQ,GAAG,CAAA,cAAA,CAAA,EAAA;AAAmB,gBAAA,0BAAwB,EAAE;AAAI,eAAA,CAAA,EAAA,CACtKkR,UAAA,CAA2DZ,gCAA3D,YAAA;AAAA,gBAAA,OAA2D,iCAA/BG,QAAA,CAAA/C,sBAAqB,CAAA,EAAA,CAAA,CAAA;0BAErC,CAAA4C,IAAA,CAAAvX,OAAM,IAAMuX,IAAA,CAAAvX,OAAM,IAAKuX,IAAA,CAAAvX,OAAO,CAACgI,MAAK,KAAA,CAAA,IAApDmP,SAAA,EAAA,EAAAC,kBAAA,CAEI,MAFJC,UAAA,CAEI;;AAF2D,gBAAA,OAAA,EAAOE,IAAA,CAAAC,EAAE,CAAA,cAAA,CAAA;AAAkBM,gBAAAA,IAAI,EAAC;iBAAiBP,IAAA,CAAAtQ,GAAG,CAAA,cAAA,CAAA,EAAA;AAAmB,gBAAA,0BAAwB,EAAE;AAAI,eAAA,CAAA,EAAA,CAChKkR,UAAA,CAA+CZ,0BAA/C,YAAA;AAAA,gBAAA,OAA+C,iCAAzBG,QAAA,CAAA3C,gBAAe,CAAA,EAAA,CAAA,CAAA;;;;cAIjCwC,IAAA,CAAAtB,MAAM,CAACkF,MAAM;kBAAS,QAAM;AACxC5U,YAAAA,EAAA,EAAA2T,OAAA,CAAA,UAAAkB,KAAA,EAAA;AAAA,cAAA,IAD4Cpb,OAAM,GAAAob,KAAA,CAANpb,OAAM;cAAA,OAAA,CAClDmY,UAAA,CAA6CZ,IAAA,CAAAtB,MAAA,EAAA,QAAA,EAAA;AAAxBjW,gBAAAA,OAAO,EAAEA;AAAO,eAAA,CAAA;;;8EAIjDmY,UAAA,CAAqEZ,IAAA,CAAAtB,MAAA,EAAA,QAAA,EAAA;YAAhDxL,KAAK,EAAE8M,IAAA,CAAAnG,OAAO;YAAGpR,OAAO,EAAE0X,QAAA,CAAA5P;cAClC,CAAAyP,IAAA,CAAAvX,WAAYuX,IAAA,CAAAvX,OAAM,IAAKuX,IAAA,CAAAvX,OAAO,CAACgI,MAAK,KAAA,CAAA,IAAjDmP,SAAA,EAAA,EAAAC,kBAAA,CAEM,QAFNC,UAAA,CAEM;;AAFqDS,YAAAA,IAAI,EAAC,QAAO;AAAE,YAAA,WAAS,EAAC;YAAS,OAAA,EAAM;AAA8B,WAAA,EAAAP,IAAA,CAAAtQ,GAAG,CAAA,oBAAA,CAAA,EAAA;AAAyB,YAAA,0BAAwB,EAAE;8BAC/KyQ,QAAA,CAAA3C,wDAEP2D,kBAAA,CAEM,QAFNrB,UAAA,CAEM;AAFAS,YAAAA,IAAI,EAAC,QAAO;AAAE,YAAA,WAAS,EAAC,QAAO;YAAE,OAAA,EAAM;AAA8B,WAAA,EAAAP,IAAA,CAAAtQ,GAAG,CAAA,uBAAA,CAAA,EAAA;AAA4B,YAAA,0BAAwB,EAAE;8BAC7HyQ,QAAA,CAAAxC,2BAEPwD,kBAAA,CAUO,QAVPrB,UAAA,CAUO;AATHC,YAAAA,GAAG,EAAC,qCAAoC;AACxCQ,YAAAA,IAAI,EAAC,cAAa;AAClB,YAAA,aAAW,EAAC,MAAK;AACjB,YAAA,OAAA,EAAM,wCAAuC;AAC5CzU,YAAAA,QAAQ,EAAE,CAAC;YACXuF,OAAK;qBAAE8O,QAAA,CAAAlM,iBAAA,IAAAkM,QAAA,CAAAlM,iBAAA,CAAAmM,KAAA,CAAAD,QAAA,EAAA9L,SAAA,CAAiB;YAAA,CAAA;aACjB2L,IAAA,CAAAtQ,GAAG,CAAA,uBAAA,CAAA,EAAA;AACV,YAAA,0BAAwB,EAAE,IAAI;AAC9B,YAAA,yBAAuB,EAAE;;;;;;;;;;;;;;"}
|