@entur/dropdown 4.0.10 → 5.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/beta/Dropdown.d.ts +56 -0
- package/dist/beta/MultiSelect.d.ts +67 -0
- package/dist/beta/SearchableDropdown.d.ts +18 -5
- package/dist/beta/components/DropdownList.d.ts +24 -0
- package/dist/beta/components/FieldComponents.d.ts +24 -0
- package/dist/beta/index.d.ts +2 -0
- package/dist/beta/utils.d.ts +22 -0
- package/dist/dropdown.cjs.development.js +709 -155
- package/dist/dropdown.cjs.development.js.map +1 -1
- package/dist/dropdown.cjs.production.min.js +1 -1
- package/dist/dropdown.cjs.production.min.js.map +1 -1
- package/dist/dropdown.esm.js +710 -158
- package/dist/dropdown.esm.js.map +1 -1
- package/dist/styles.css +199 -87
- package/package.json +7 -7
- package/dist/beta/DropdownList.d.ts +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.cjs.development.js","sources":["../src/DownshiftProvider.tsx","../src/DropdownList.tsx","../src/DropdownToggleButton.tsx","../src/DropdownLoadingDots.tsx","../src/BaseDropdown.tsx","../src/RegularDropdown.tsx","../src/SearchableDropdown.tsx","../src/DropdownInputGroup.tsx","../src/useNormalizedItems.ts","../src/useResolvedItems.ts","../src/Dropdown.tsx","../src/NativeDropdown.tsx","../src/MultiSelect.tsx","../src/beta/DropdownList.tsx","../src/beta/SearchableDropdown.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport Downshift, {\n ControllerStateAndHelpers,\n DownshiftState,\n StateChangeOptions,\n} from 'downshift';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport classNames from 'classnames';\n\nconst DownshiftContext =\n React.createContext<ControllerStateAndHelpers<NormalizedDropdownItemType> | null>(\n null,\n );\n\nexport type DownshiftProviderProps = {\n onChange?: (\n selectedItem: NormalizedDropdownItemType,\n stateAndHelpers: ControllerStateAndHelpers<NormalizedDropdownItemType>,\n ) => void;\n onInputValueChange?: (value: string) => void;\n inputValue?: string;\n initialSelectedItem?: NormalizedDropdownItemType;\n highlightFirstItemOnOpen?: boolean;\n className?: string;\n style?: React.CSSProperties;\n searchable?: boolean;\n [key: string]: any;\n};\nexport const DownshiftProvider: React.FC<DownshiftProviderProps> = ({\n children,\n onChange = () => undefined,\n onInputValueChange = () => undefined,\n highlightFirstItemOnOpen = false,\n className,\n style,\n searchable = false,\n ...rest\n}) => {\n const handleStateChange = (\n changes: any,\n stateAndHelpers: ControllerStateAndHelpers<NormalizedDropdownItemType>,\n ) => {\n if (\n changes.type ===\n Downshift.stateChangeTypes.controlledPropUpdatedSelectedItem\n ) {\n return;\n }\n if ('selectedItem' in changes) {\n onChange(changes.selectedItem, stateAndHelpers);\n } else if ('inputValue' in changes) {\n onInputValueChange(changes.inputValue);\n }\n };\n\n const stateReducer = (\n _: DownshiftState<NormalizedDropdownItemType>,\n changes: StateChangeOptions<NormalizedDropdownItemType>,\n ): Partial<StateChangeOptions<NormalizedDropdownItemType>> => {\n const highlightFirstOnOpen =\n highlightFirstItemOnOpen && 'isOpen' in changes && changes.isOpen;\n const highlightFirstItemIndex: Partial<\n StateChangeOptions<NormalizedDropdownItemType>\n > = highlightFirstOnOpen ? { highlightedIndex: 0 } : {};\n\n if (searchable) {\n const { type } = changes;\n\n switch (type) {\n case '__autocomplete_change_input__':\n return {\n // return normal changes.\n ...changes,\n ...highlightFirstItemIndex,\n };\n case '__autocomplete_click_item__':\n case '__autocomplete_keydown_enter__':\n case '__autocomplete_blur_input__':\n case '__autocomplete_mouseup__':\n return {\n ...changes,\n // if we had an item highlighted in the previous state.\n // we will reset input field value to blank\n inputValue: '',\n ...highlightFirstItemIndex,\n };\n default:\n return {\n ...changes,\n ...highlightFirstItemIndex,\n };\n }\n } else {\n return { ...changes, ...highlightFirstItemIndex };\n }\n };\n\n return (\n <Downshift\n itemToString={item => (item ? item.label : '')}\n onStateChange={handleStateChange}\n stateReducer={stateReducer}\n {...rest}\n >\n {args => (\n <div className={classNames('eds-input-group', className)} style={style}>\n {/* This div is required by Downshift */}\n <DownshiftContext.Provider value={args}>\n {children}\n </DownshiftContext.Provider>\n </div>\n )}\n </Downshift>\n );\n};\n\nexport const useDownshift: () => ControllerStateAndHelpers<NormalizedDropdownItemType> =\n () => {\n const context = React.useContext(DownshiftContext);\n if (!context) {\n throw new Error('You need to wrap your component in a DownshiftProvider');\n }\n return context;\n };\n","import React from 'react';\nimport classNames from 'classnames';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { useDownshift } from './DownshiftProvider';\nimport { CheckIcon } from '@entur/icons';\nimport './DropdownList.scss';\n\nexport type DropdownListProps = {\n items: NormalizedDropdownItemType[];\n [key: string]: any;\n};\n\nexport const DropdownList: React.FC<DropdownListProps> = ({\n items,\n ...rest\n}) => {\n const { highlightedIndex, isOpen, selectedItem, getItemProps, getMenuProps } =\n useDownshift();\n\n return (\n <ul\n className={classNames('eds-dropdown-list', {\n 'eds-dropdown-list--open': isOpen,\n })}\n {...getMenuProps()}\n {...rest}\n >\n {isOpen\n ? items.map((item, index) => (\n // eslint-disable-next-line react/jsx-key\n <li\n className={classNames('eds-dropdown-list__item', {\n 'eds-dropdown-list__item--highlighted':\n highlightedIndex === index,\n 'eds-dropdown-list__item--selected': selectedItem === item,\n })}\n {...getItemProps({ key: `${index}${item.value}`, item, index })}\n >\n <span>{item.label}</span>\n {item.icons && (\n <span>\n {item.icons.map((Icon, index) => (\n <Icon\n key={index}\n inline\n className=\"eds-dropdown-list__item-icon\"\n />\n ))}\n </span>\n )}\n {selectedItem === item && <CheckIcon />}\n </li>\n ))\n : null}\n </ul>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { DownArrowIcon } from '@entur/icons';\nimport { useDownshift } from './DownshiftProvider';\nimport './DropdownToggleButton.scss';\n\nexport const DropdownToggleButton: () => JSX.Element = () => {\n const { getToggleButtonProps, isOpen } = useDownshift();\n return (\n <button\n {...getToggleButtonProps({\n className: classNames('eds-dropdown__toggle-button', {\n 'eds-dropdown__toggle-button--open': isOpen,\n }),\n })}\n tabIndex=\"-1\"\n type=\"button\"\n >\n <DownArrowIcon />\n </button>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { VisuallyHidden } from '@entur/a11y';\nimport { LoadingDots } from '@entur/loader';\nimport './InlineSpinner.scss';\n\nexport type InlineSpinnerType = {\n /** Ekstra klassenavn */\n className?: string;\n /** Tekst for skjermlesere */\n children: string;\n [key: string]: any;\n};\nexport const DropdownLoadingDots: React.FC<InlineSpinnerType> = ({\n className,\n children,\n ...rest\n}) => (\n <div className={classNames('eds-inline-spinner', className)} {...rest}>\n <LoadingDots />\n <VisuallyHidden>{children}</VisuallyHidden>\n </div>\n);\n","import React from 'react';\nimport { BaseFormControl } from '@entur/form';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { DropdownList } from './DropdownList';\nimport { DropdownToggleButton } from './DropdownToggleButton';\nimport { DropdownLoadingDots } from './DropdownLoadingDots';\nimport { CloseSmallIcon } from '@entur/icons';\nimport './BaseDropdown.scss';\nimport { useDownshift } from './DownshiftProvider';\nimport { space } from '@entur/tokens';\n\ntype BaseDropdownProps = {\n className?: string;\n disabled?: boolean;\n items: NormalizedDropdownItemType[];\n loading?: boolean;\n loadingText?: string;\n placeholder?: string;\n style?: { [key: string]: any };\n listStyle?: { [key: string]: any };\n isFilled?: boolean;\n disableLabelAnimation?: boolean;\n [key: string]: any;\n};\nexport const BaseDropdown: React.FC<BaseDropdownProps> = ({\n children,\n className,\n items,\n loading = false,\n loadingText = 'Loading...',\n //eslint-disable-next-line\n placeholder,\n style,\n listStyle,\n clearable,\n label,\n isFilled = false,\n disableLabelAnimation,\n ...rest\n}) => {\n const { getLabelProps } = useDownshift();\n return (\n <div className=\"eds-dropdown-wrapper\" style={style}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <BaseFormControl\n append={\n <Appendix\n clearable={clearable}\n loading={loading}\n loadingText={loadingText}\n readOnly={...rest.readOnly}\n />\n }\n className={className}\n label={label}\n isFilled={isFilled}\n labelProps={getLabelProps()}\n disableLabelAnimation={disableLabelAnimation}\n {...rest}\n >\n {children}\n </BaseFormControl>\n <DropdownList\n items={items}\n style={{\n position: 'absolute',\n top: `${space.extraLarge3 + space.extraSmall}px`,\n ...listStyle,\n }}\n {...rest}\n />\n </div>\n );\n};\n\nconst ClearButton: React.FC<{ [key: string]: any }> = ({ ...props }) => {\n const { clearSelection, selectedItem } = useDownshift();\n return (\n <>\n {selectedItem && (\n <button\n className=\"eds-dropdown__clear-button\"\n type=\"button\"\n tabIndex={-1}\n onClick={() => clearSelection()}\n aria-label=\"Trykk for å fjerne valg\"\n {...props}\n >\n <CloseSmallIcon />\n </button>\n )}\n {selectedItem && <div className=\"eds-dropdown__divider\"></div>}\n </>\n );\n};\n\nconst Appendix: React.FC<{\n clearable: boolean;\n loading: boolean;\n loadingText: string;\n readOnly: boolean;\n}> = ({ clearable, loading, loadingText, readOnly }) => {\n if (loading) {\n return <DropdownLoadingDots>{loadingText}</DropdownLoadingDots>;\n }\n if (readOnly) {\n return null;\n }\n return clearable ? (\n <>\n <ClearButton></ClearButton> <DropdownToggleButton />\n </>\n ) : (\n <DropdownToggleButton />\n );\n};\n","import React from 'react';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { useDownshift } from './DownshiftProvider';\nimport { BaseDropdown } from './BaseDropdown';\n\ntype RegularDropdownProps = {\n items: NormalizedDropdownItemType[];\n disabled?: boolean;\n placeholder?: string;\n loading?: boolean;\n loadingText?: string;\n className?: string;\n selectOnTab?: boolean;\n openOnFocus?: boolean;\n listStyle?: { [key: string]: any };\n disableLabelAnimation?: boolean;\n clearable?: boolean;\n [key: string]: any;\n};\nexport const RegularDropdown: React.FC<RegularDropdownProps> = React.forwardRef<\n HTMLButtonElement,\n RegularDropdownProps\n>(\n (\n {\n disabled,\n placeholder = 'Vennligst velg',\n selectOnTab = false,\n openOnFocus = false,\n listStyle,\n items,\n label,\n disableLabelAnimation,\n loading,\n loadingText,\n className,\n clearable,\n ...rest\n },\n ref,\n ) => {\n const {\n getToggleButtonProps,\n selectedItem,\n selectHighlightedItem,\n openMenu,\n isOpen,\n highlightedIndex,\n setHighlightedIndex,\n } = useDownshift();\n return (\n <BaseDropdown\n disabled={disabled}\n listStyle={listStyle}\n items={items}\n label={label}\n isFilled={selectedItem ? true : placeholder.length !== 0}\n disableLabelAnimation={disableLabelAnimation}\n loading={loading}\n loadingText={loadingText}\n className={className}\n clearable={clearable}\n {...rest}\n >\n <button\n {...getToggleButtonProps({\n className: 'eds-form-control eds-dropdown__selected-item',\n style: { textAlign: 'left' },\n disabled,\n type: 'button',\n onKeyDown: e => {\n if (selectOnTab && e.key === 'Tab') {\n selectHighlightedItem();\n }\n\n if (isOpen) {\n const keyDownValue = e.key;\n const matchedItems = items\n .map((item, index) => ({ ...item, index }))\n .filter(item => {\n const firstCharacter = item.label\n .trim()\n .charAt(0)\n .toLowerCase();\n return firstCharacter === keyDownValue;\n });\n\n const nextHighlightItem = matchedItems.find(\n item => item.index > (highlightedIndex ?? 0),\n );\n\n if (nextHighlightItem) {\n setHighlightedIndex(nextHighlightItem.index);\n } else if (matchedItems.length > 0) {\n setHighlightedIndex(matchedItems[0].index);\n }\n }\n },\n onFocus: () => {\n if (openOnFocus) {\n !isOpen && openMenu();\n }\n },\n ...rest,\n })}\n ref={ref}\n >\n {selectedItem ? selectedItem.label : placeholder}\n </button>\n </BaseDropdown>\n );\n },\n);\n","import React, { useRef, useState } from 'react';\nimport { mergeRefs } from '@entur/utils';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { BaseDropdown } from './BaseDropdown';\nimport { useDownshift } from './DownshiftProvider';\nimport './SearchableDropdown.scss';\n\ntype SearchableDropdownProps = {\n className?: string;\n disabled?: boolean;\n items: NormalizedDropdownItemType[];\n loading?: boolean;\n loadingText?: string;\n placeholder?: string;\n prepend?: React.ReactNode;\n readOnly?: boolean;\n selectOnTab?: boolean;\n openOnFocus?: boolean;\n listStyle?: { [key: string]: any };\n clearable: boolean;\n itemFilter?: (item: NormalizedDropdownItemType) => boolean;\n disableLabelAnimation?: boolean;\n [key: string]: any;\n};\n\nfunction LowerCaseFilterTest(\n item: NormalizedDropdownItemType,\n input: string | null,\n) {\n if (!input) {\n return true;\n }\n const sanitizeEscapeCharacters = input.replace(\n /[-/\\\\^$*+?.()|[\\]{}]/g,\n '\\\\$&',\n );\n const inputRegex = new RegExp(sanitizeEscapeCharacters, 'i');\n return inputRegex.test(item.label);\n}\n\nexport const SearchableDropdown: React.FC<SearchableDropdownProps> =\n React.forwardRef<HTMLInputElement, SearchableDropdownProps>(\n (\n {\n disabled = false,\n className,\n items,\n loading,\n loadingText,\n readOnly = false,\n prepend,\n selectOnTab = false,\n openOnFocus = false,\n listStyle,\n clearable,\n itemFilter = (\n item: NormalizedDropdownItemType,\n inputValue: string | null,\n ) => LowerCaseFilterTest(item, inputValue),\n label,\n disableLabelAnimation,\n placeholder,\n ...rest\n },\n ref,\n ) => {\n const {\n getInputProps,\n inputValue,\n selectHighlightedItem,\n isOpen,\n openMenu,\n closeMenu,\n selectedItem,\n } = useDownshift();\n\n const [hideSelectedItem, setHideSelectedItem] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const filteredItems = React.useMemo(() => {\n return items.filter(item => itemFilter(item, inputValue));\n }, [inputValue, items, itemFilter]);\n\n return (\n <BaseDropdown\n items={filteredItems}\n disabled={disabled}\n readOnly={readOnly}\n className={className}\n loading={loading}\n loadingText={loadingText}\n prepend={prepend}\n listStyle={listStyle}\n clearable={clearable}\n label={label}\n isFilled={selectedItem ? true : false}\n disableLabelAnimation={disableLabelAnimation}\n >\n {!hideSelectedItem && selectedItem && !inputValue && (\n <span className=\"eds-dropdown__searchable-selected-item__wrapper\">\n <span\n className=\"eds-dropdown__searchable-selected-item\"\n onClick={() => inputRef.current?.focus()}\n >\n {selectedItem.label}\n </span>\n </span>\n )}\n <input\n {...getInputProps({\n disabled,\n readOnly,\n className: 'eds-form-control eds-dropdown__input',\n onKeyDown: e => {\n if (selectOnTab && e.key === 'Tab') selectHighlightedItem();\n },\n onFocus: () => {\n if (!isOpen && openOnFocus) openMenu();\n setHideSelectedItem(true);\n },\n placeholder: selectedItem ? selectedItem.label : placeholder,\n ...rest,\n })}\n onBlur={() => {\n setHideSelectedItem(false);\n closeMenu();\n }}\n ref={mergeRefs<HTMLInputElement>(ref, inputRef)}\n />\n </BaseDropdown>\n );\n },\n );\n","import { FeedbackText, VariantProvider, VariantType } from '@entur/form';\nimport React from 'react';\n\nexport type DropdownInputGroupProps = {\n feedback?: string;\n variant?: VariantType;\n className?: string;\n style?: { [key: string]: any };\n};\nexport const DropdownInputGroup: React.FC<DropdownInputGroupProps> = ({\n children,\n feedback,\n variant,\n className,\n style,\n}) => {\n return (\n <VariantProvider variant={variant}>\n <div className={className} style={style}>\n {children}\n {feedback && variant && (\n <FeedbackText variant={variant}>{feedback}</FeedbackText>\n )}\n </div>\n </VariantProvider>\n );\n};\n","import React from 'react';\n\n/** A dropdown item has a string label and a string value */\nexport type NormalizedDropdownItemType = {\n value: string;\n label: string;\n icons?: React.ComponentType<any>[];\n};\n\nexport type DropdownItemType =\n | { value?: string; label: string; icons?: React.ComponentType<any>[] }\n | string;\nexport const useNormalizedItems = (\n items: DropdownItemType[],\n): NormalizedDropdownItemType[] =>\n React.useMemo(\n () =>\n items.map(item => {\n if (typeof item == 'string') {\n return { value: item, label: item };\n }\n\n if (!('value' in item)) {\n return { ...item, value: item.label };\n }\n return item as NormalizedDropdownItemType;\n }),\n [items],\n );\n","import React from 'react';\nimport { debounce } from '@entur/utils';\nimport {\n DropdownItemType,\n NormalizedDropdownItemType,\n useNormalizedItems,\n} from './useNormalizedItems';\n\nconst useIsMounted = () => {\n const isMountedRef = React.useRef(true);\n React.useEffect(() => {\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n return isMountedRef.current;\n};\n\ntype AsyncDropdownItemType = (inputType: string) => Promise<DropdownItemType[]>;\ntype SyncDropdownItemType = (inputType: string) => DropdownItemType[];\nexport type PotentiallyAsyncDropdownItemType =\n | DropdownItemType[]\n | SyncDropdownItemType\n | AsyncDropdownItemType;\n\ntype ResolverState = {\n items: DropdownItemType[];\n loading: boolean;\n};\n\ntype ResolverAction =\n | {\n type: 'request results';\n }\n | {\n type: 'received results';\n payload: DropdownItemType[];\n };\n\nconst reducer = (_state: ResolverState, action: ResolverAction) => {\n switch (action.type) {\n case 'request results':\n return { items: [], loading: true };\n case 'received results':\n return { items: action.payload, loading: false };\n }\n};\n\nexport const useResolvedItems = (\n /** The list of items, or an async function that resolves the list of items */\n itemsOrItemsResolver: PotentiallyAsyncDropdownItemType,\n /** The time to wait after the input changes to the fetchItems method is called */\n debounceTimeout = 250,\n): {\n fetchItems: (arg: string) => void;\n loading: boolean;\n items: NormalizedDropdownItemType[];\n} => {\n const isItemsFunction = typeof itemsOrItemsResolver === 'function';\n\n // Here, we normalize the itemsResolver argument to an async function, so we\n // can use it without thinking about the differences later\n const itemsResolver = React.useMemo(\n () =>\n isItemsFunction\n ? (itemsOrItemsResolver as AsyncDropdownItemType)\n : () => Promise.resolve(itemsOrItemsResolver as DropdownItemType[]),\n [itemsOrItemsResolver, isItemsFunction],\n );\n\n const [{ items, loading }, dispatch] = React.useReducer(reducer, {\n items: isItemsFunction ? [] : (itemsOrItemsResolver as DropdownItemType[]),\n loading: false,\n });\n\n // This is a way to check whether or not the dropdown is still in the\n // document. We use it below to make sure we're not updating the state of\n // an unmounted component.\n const isMounted = useIsMounted();\n\n // Next, let's create the fetching function. This should be called whenever\n // the input value changes\n const fetchItems = React.useCallback(\n async (inputValue: string) => {\n if (!isMounted) {\n return;\n }\n dispatch({ type: 'request results' });\n const resolvedItems = await itemsResolver(inputValue);\n if (isMounted) {\n dispatch({ type: 'received results', payload: resolvedItems });\n }\n },\n [itemsResolver, isMounted],\n );\n\n const normalizedItems = useNormalizedItems(items);\n React.useEffect(() => {\n // Let's fetch the list initially if it's specified\n if (isItemsFunction) {\n fetchItems('');\n }\n }, [isItemsFunction, fetchItems]);\n\n return {\n items: normalizedItems,\n loading: isItemsFunction ? loading : false,\n fetchItems: debounce(fetchItems, debounceTimeout),\n };\n};\n","import React from 'react';\nimport { VariantType } from '@entur/form';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { RegularDropdown } from './RegularDropdown';\nimport { DownshiftProvider } from './DownshiftProvider';\nimport { SearchableDropdown } from './SearchableDropdown';\nimport { DropdownInputGroup } from './DropdownInputGroup';\nimport {\n useResolvedItems,\n PotentiallyAsyncDropdownItemType,\n} from './useResolvedItems';\n\nexport type DropdownProps = {\n /** Beskrivende tekst som forklarer feltet */\n label: string;\n /** Tilgjengelige valg i dropdownen */\n items: PotentiallyAsyncDropdownItemType;\n /** Valgt verdi. Bruk null for ingen verdi. */\n value?: string | null;\n /** Om man skal kunne søke i dropdownen eller ikke */\n searchable?: boolean;\n /** Tooltip for labelen */\n labelTooltip?: string;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Tekst eller ikon som kommer før dropdownen */\n prepend?: React.ReactNode;\n /** Deaktiver dropdownen */\n disabled?: boolean;\n /** Setter dropdownen i read-only modus */\n readOnly?: boolean;\n /** Placeholder-tekst når ingenting er satt */\n placeholder?: string;\n /** En tekst som beskriver hva som skjer når man venter på items */\n loadingText?: string;\n /** Callback når brukeren endrer valg */\n onChange?: (selectedItem: NormalizedDropdownItemType | null) => void;\n /** Lar brukeren velge ved å \"tæbbe\" seg ut av komponenten */\n selectOnTab?: boolean;\n /** Om man skal vise items ved fokusering av input-feltet, før man skriver inn noe */\n openOnFocus?: boolean;\n /** Antall millisekunder man venter før man kaller en potensiell items-funksjon */\n debounceTimeout?: number;\n /** Om man skal ha muliget for å nullstille Dropdownen\n * @default false\n */\n clearable?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Marker første valgmulighet automatisk */\n highlightFirstItemOnOpen?: boolean;\n /** Styling som sendes ned til Dropdown-lista */\n listStyle?: { [key: string]: any };\n /** Filtreringen som blir brukt dersom man har en searchable Dropdown\n * @default Enkel tekstsammenligning\n */\n itemFilter?: (item: NormalizedDropdownItemType) => boolean;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Alle ekstra props videresendes til Downshift */\n [key: string]: any;\n};\nexport const Dropdown: React.FC<DropdownProps> = React.forwardRef<\n HTMLInputElement | HTMLButtonElement,\n DropdownProps\n>(\n (\n {\n highlightFirstItemOnOpen,\n debounceTimeout,\n disabled,\n feedback,\n items,\n label,\n loadingText,\n onChange = () => undefined,\n placeholder,\n prepend,\n readOnly,\n searchable,\n selectOnTab,\n openOnFocus,\n variant,\n value,\n clearable = false,\n className,\n style,\n listStyle,\n itemFilter,\n disableLabelAnimation,\n ...rest\n },\n ref,\n ) => {\n const {\n items: normalizedItems,\n loading,\n fetchItems,\n } = useResolvedItems(items, debounceTimeout);\n\n const selectedItem =\n value === undefined\n ? undefined\n : normalizedItems.find(item => value === item.value) || null;\n\n const RenderedDropdown = searchable ? SearchableDropdown : RegularDropdown;\n const searchAbleProps = searchable\n ? { itemFilter: itemFilter, name: rest.name, 'data-cy': rest['data-cy'] }\n : { name: rest.name, 'data-cy': rest['data-cy'] };\n return (\n <DownshiftProvider\n selectedItem={selectedItem}\n onInputValueChange={fetchItems}\n onChange={onChange}\n value={value}\n highlightFirstItemOnOpen={highlightFirstItemOnOpen}\n className={className}\n style={style}\n searchable={searchable}\n {...rest}\n >\n <DropdownInputGroup feedback={feedback} variant={variant}>\n <RenderedDropdown\n label={label}\n items={normalizedItems}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder}\n prepend={prepend}\n selectOnTab={selectOnTab}\n openOnFocus={openOnFocus}\n listStyle={listStyle}\n clearable={clearable}\n disableLabelAnimation={disableLabelAnimation}\n ref={ref}\n {...searchAbleProps}\n />\n </DropdownInputGroup>\n </DownshiftProvider>\n );\n },\n);\n","import { BaseFormControl, VariantType } from '@entur/form';\nimport { DownArrowIcon } from '@entur/icons';\nimport { useRandomId } from '@entur/utils';\nimport React from 'react';\nimport { DropdownLoadingDots } from './DropdownLoadingDots';\nimport './NativeDropdown.scss';\nimport {\n PotentiallyAsyncDropdownItemType,\n useResolvedItems,\n} from './useResolvedItems';\n\nexport type NativeDropdownProps = {\n /** Ekstra klassenavn */\n className?: string;\n /**\n * For å deaktivere dropdownen\n * @default false\n **/\n disabled?: boolean;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Alle valg for dropdownen å ha */\n items: PotentiallyAsyncDropdownItemType;\n /** Beskrivende tekst som forklarer feltet */\n label: string;\n /** En callback for endringer av value */\n onChange?: (e: React.ChangeEvent<HTMLSelectElement>) => void;\n /** Tekst eller ikon som kommer før dropdownen */\n prepend?: React.ReactNode;\n /**\n * Setter dropdownen i read-only modus\n * @default false\n **/\n readOnly?: boolean;\n /** Den valgte verdien */\n value?: string;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n [key: string]: any;\n};\n\nexport const NativeDropdown: React.FC<NativeDropdownProps> = ({\n className,\n disabled = false,\n readOnly = false,\n items,\n loadingText,\n prepend,\n style,\n label,\n variant,\n feedback,\n disableLabelAnimation,\n ...rest\n}) => {\n const { items: normalizedItems, loading } = useResolvedItems(items);\n\n let rightSideIcon: JSX.Element | null = (\n <DownArrowIcon inline={true} aria-hidden=\"true\" />\n );\n if (disabled || readOnly) {\n rightSideIcon = null;\n } else if (loading) {\n rightSideIcon = (\n <DropdownLoadingDots aria-hidden=\"true\">\n {loadingText}\n </DropdownLoadingDots>\n );\n }\n const nativeDropdownId = useRandomId('eds-native-dropdown');\n return (\n <BaseFormControl\n disabled={disabled}\n readOnly={readOnly}\n prepend={prepend}\n append={rightSideIcon}\n className={className}\n style={style}\n label={label}\n labelId={nativeDropdownId}\n variant={variant}\n feedback={feedback}\n disableLabelAnimation={disableLabelAnimation}\n isFilled={true}\n >\n <select\n aria-invalid={variant === 'error'}\n aria-labelledby={nativeDropdownId}\n aria-busy={loading}\n className=\"eds-form-control eds-dropdown\"\n disabled={disabled || readOnly}\n {...rest}\n >\n {normalizedItems.map(item => (\n <option key={item.value} value={item.value}>\n {item.label}\n </option>\n ))}\n </select>\n </BaseFormControl>\n );\n};\n","import React, { useState } from 'react';\nimport {\n useSelect,\n UseSelectProps,\n // StateChangeOptions,\n // UseSelectStateChangeOptions,\n} from 'downshift';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { BaseFormControl, VariantType } from '@entur/form';\nimport {\n PotentiallyAsyncDropdownItemType,\n useResolvedItems,\n} from './useResolvedItems';\nimport { DropdownLoadingDots } from './DropdownLoadingDots';\nimport { useRandomId } from '@entur/utils';\nimport classNames from 'classnames';\nimport { CloseIcon, DownArrowIcon } from '@entur/icons';\nimport { space } from '@entur/tokens';\nimport './MultiSelect.scss';\nimport './DropdownList.scss';\n\nconst MultiSelectContext = React.createContext<{\n isOpen: boolean;\n reset: () => void;\n getToggleButtonProps: any;\n openMenu: () => void;\n openOnFocus?: boolean;\n} | null>(null);\nconst useMultiSelectContext = () => {\n const context = React.useContext(MultiSelectContext);\n if (!context) {\n throw new Error('You need to wrap your component in a DownshiftProvider');\n }\n return context;\n};\n\nfunction stateReducer(\n state: any, //StateChangeOptions<NormalizedDropdownItemType>,\n actionAndChanges: any, //UseSelectStateChangeOptions<NormalizedDropdownItemType>,\n) {\n const { changes, type } = actionAndChanges;\n switch (type) {\n case useSelect.stateChangeTypes.MenuKeyDownEnter:\n case useSelect.stateChangeTypes.MenuKeyDownSpaceButton:\n case useSelect.stateChangeTypes.ItemClick:\n return {\n ...changes,\n isOpen: true, // keep menu open after selection.\n highlightedIndex: state.highlightedIndex,\n };\n default:\n return changes;\n }\n}\ntype MultiSelectProps = {\n /** Tilgjengelige valg i MultiSelect */\n items: PotentiallyAsyncDropdownItemType;\n /** Tekst som vises i boksen når elementer er valgt */\n itemsSelectedLabel?: (\n selectedItems: NormalizedDropdownItemType[],\n numberOfItems?: number,\n ) => string;\n /** Beskrivende tekst som forklarer feltet */\n label?: string;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Tekst eller ikon som kommer før MultiSelect */\n prepend?: React.ReactNode;\n /** Deaktiver dropdownen */\n disabled?: boolean;\n /** Setter dropdownen i read-only modus */\n readOnly?: boolean;\n /** Placeholder-tekst når ingenting er satt */\n placeholder?: string;\n /** En tekst som beskriver hva som skjer når man venter på items */\n loadingText?: string;\n /** Callback når brukeren endrer valg */\n onChange?: (e: any) => void;\n /** Om man skal vise items ved fokusering av input-feltet, før man skriver inn noe\n * @default false\n */\n openOnFocus?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Styling som sendes ned til MultiSelect-lista */\n listStyle?: { [key: string]: any };\n /** Antall millisekunder man venter før man kaller en potensiell items-funksjon\n * @default 250\n */\n debounceTimeout?: number;\n /** Om man skal ha muliget for å nullstille Dropdownen\n * @default false\n */\n clearable?: boolean;\n loading?: boolean;\n style?: React.CSSProperties;\n initialSelectedItems?: NormalizedDropdownItemType[];\n} & Omit<\n UseSelectProps<NormalizedDropdownItemType>,\n 'initialSelectedItem' | 'items'\n>;\n\nexport const MultiSelect: React.FC<MultiSelectProps> = ({\n items: input,\n itemsSelectedLabel = items => SelectedItemsLabel(items),\n label,\n feedback,\n variant,\n disabled,\n readOnly = false,\n onChange = () => undefined,\n className,\n clearable = false,\n loading = false,\n loadingText = '',\n openOnFocus = false,\n style,\n listStyle,\n initialSelectedItems = [],\n debounceTimeout,\n ...rest\n}) => {\n const { items } = useResolvedItems(input, debounceTimeout);\n const [selectedItems, setSelectedItems] =\n useState<NormalizedDropdownItemType[]>(initialSelectedItems);\n\n const reset = React.useCallback(() => {\n setSelectedItems([]);\n }, []);\n\n function isSelected(selectedCheckboxItem: NormalizedDropdownItemType) {\n return selectedItems.some(\n selected => selected.value === selectedCheckboxItem.value,\n );\n }\n\n const {\n isOpen,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n highlightedIndex,\n getItemProps,\n openMenu,\n } = useSelect<NormalizedDropdownItemType>({\n items,\n stateReducer,\n selectedItem: null,\n onSelectedItemChange: ({ selectedItem }) => {\n if (!selectedItem) {\n return;\n }\n const itemIsFound = isSelected(selectedItem);\n if (itemIsFound) {\n const slicedItemList = selectedItems.filter(\n item => item.value !== selectedItem.value,\n );\n setSelectedItems(slicedItemList);\n onChange(slicedItemList);\n } else {\n const slicedItemList = [...selectedItems, selectedItem];\n setSelectedItems(slicedItemList);\n onChange(slicedItemList);\n }\n },\n ...rest,\n });\n const buttonText = selectedItems.length\n ? itemsSelectedLabel(selectedItems)\n : '';\n const multiSelectId = useRandomId('eds-multiselect');\n\n return (\n <MultiSelectContext.Provider\n value={{ isOpen, reset, getToggleButtonProps, openMenu, openOnFocus }}\n >\n <div\n className={classNames(\n 'eds-multiselect',\n 'eds-dropdown-wrapper',\n className,\n )}\n style={style}\n >\n <BaseFormControl\n label={label}\n labelId={multiSelectId}\n labelProps={...getLabelProps()}\n feedback={feedback}\n variant={variant}\n isFilled={selectedItems.length > 0 || isOpen}\n disabled={disabled}\n readOnly={readOnly}\n append={\n <Appendix\n hasSelected={clearable && selectedItems.length > 0}\n loading={loading}\n loadingText={loadingText}\n readOnly={readOnly}\n />\n }\n >\n <button\n {...getToggleButtonProps({\n style: {\n textAlign: 'left',\n },\n type: 'button',\n className: 'eds-form-control eds-multiselect__button',\n })}\n >\n {buttonText}\n </button>\n </BaseFormControl>\n <ul\n className={classNames('eds-dropdown-list', {\n 'eds-dropdown-list--open': isOpen,\n })}\n {...getMenuProps({\n style: {\n position: 'absolute',\n top: `${space.extraLarge3 + space.extraSmall}px`,\n ...listStyle,\n },\n })}\n >\n {isOpen &&\n items.map((item, index) => (\n <li\n className={classNames('eds-dropdown-list__item', {\n 'eds-dropdown-list__item--highlighted':\n highlightedIndex === index,\n 'eds-dropdown-list__item--selected': isSelected(item),\n })}\n key={`${item.value}${index}`}\n {...getItemProps({\n item,\n index,\n })}\n style={{ display: 'flex' }}\n >\n <span style={{ display: 'flex' }}>\n <span\n className={classNames('eds-multiselect-checkbox', {\n 'eds-multiselect-checkbox--checked': isSelected(item),\n })}\n >\n <CheckboxIcon />\n </span>\n <span className=\"eds-multiselect__item-label\">\n {item.label}\n </span>\n </span>\n {item.icons && (\n <span>\n {item.icons.map((Icon, index) => (\n <Icon\n key={index}\n inline\n className=\"eds-dropdown-list__item-icon\"\n />\n ))}\n </span>\n )}\n </li>\n ))}\n </ul>\n </div>\n </MultiSelectContext.Provider>\n );\n};\n\nconst ClearButton: React.FC<{ [key: string]: any }> = ({ ...props }) => {\n const { reset } = useMultiSelectContext();\n return (\n <>\n <button\n className=\"eds-dropdown__clear-button\"\n type=\"button\"\n tabIndex={-1}\n onClick={() => reset()}\n {...props}\n >\n <CloseIcon />\n </button>\n <div className=\"eds-dropdown__divider\"></div>\n </>\n );\n};\n\nconst Appendix: React.FC<{\n loading: boolean;\n loadingText: string;\n readOnly: boolean;\n hasSelected: boolean;\n}> = ({ loading, loadingText, readOnly, hasSelected }) => {\n if (loading) {\n return <DropdownLoadingDots>{loadingText}</DropdownLoadingDots>;\n }\n if (readOnly) {\n return null;\n }\n return hasSelected ? (\n <>\n <ClearButton></ClearButton>\n <DropdownToggleButton />\n </>\n ) : (\n <DropdownToggleButton />\n );\n};\n\nconst DropdownToggleButton = () => {\n const { getToggleButtonProps, isOpen, openMenu, openOnFocus } =\n useMultiSelectContext();\n return (\n <button\n {...getToggleButtonProps({\n className: classNames('eds-dropdown__toggle-button', {\n 'eds-dropdown__toggle-button--open': isOpen,\n }),\n onFocus: () => {\n if (openOnFocus) {\n openMenu();\n }\n },\n })}\n type=\"button\"\n >\n <DownArrowIcon />\n </button>\n );\n};\n\nconst CheckboxIcon: React.FC = () => {\n return (\n <svg\n className=\"eds-checkbox-icon\"\n width=\"11px\"\n height=\"9px\"\n viewBox=\"6 11 37 33\"\n >\n <path\n className=\"eds-checkbox-icon__path\"\n d=\"M14.1 27.2l7.1 7.2 14.6-14.8\"\n fill=\"none\"\n />\n </svg>\n );\n};\n\nfunction SelectedItemsLabel(items: NormalizedDropdownItemType[]) {\n return items.length < 3\n ? items.map(item => item.label).toString()\n : `${items.length} elementer valgt`;\n}\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n UseComboboxGetMenuPropsOptions,\n GetPropsCommonOptions,\n UseComboboxGetItemPropsOptions,\n} from 'downshift';\n\nimport { CheckIcon } from '@entur/icons';\n\nimport { NormalizedDropdownItemType } from '../useNormalizedItems';\n\ntype DropdownListProps = {\n selectedItem: NormalizedDropdownItemType | null;\n isOpen: boolean;\n filteredItems: NormalizedDropdownItemType[];\n highlightedIndex: number;\n listStyle: { [key: string]: any } | undefined;\n getMenuProps: (\n options?: UseComboboxGetMenuPropsOptions | undefined,\n otherOptions?: GetPropsCommonOptions | undefined,\n ) => any;\n getItemProps: (\n options: UseComboboxGetItemPropsOptions<NormalizedDropdownItemType>,\n ) => any;\n [key: string]: any;\n};\n\nexport const DropdownList = ({\n selectedItem,\n isOpen,\n getMenuProps,\n getItemProps,\n filteredItems,\n highlightedIndex,\n listStyle,\n ...rest\n}: DropdownListProps) => {\n return (\n <ul\n className={classNames('eds-searchable-dropdown__list', {\n 'eds-searchable-dropdown__list--open': isOpen,\n })}\n {...getMenuProps()}\n style={{ ...rest.style, ...listStyle }}\n >\n {isOpen\n ? filteredItems.map((item, index) => (\n // eslint-disable-next-line react/jsx-key\n <li\n className={classNames('eds-searchable-dropdown__list__item', {\n 'eds-searchable-dropdown__list__item--highlighted':\n highlightedIndex === index,\n 'eds-searchable-dropdown__list__item--selected':\n selectedItem?.value === item.value,\n })}\n {...getItemProps({ key: `${index}${item.value}`, item, index })}\n >\n <span>{item.label}</span>\n {item.icons && (\n <span>\n {item.icons.map((Icon, index) => (\n <Icon\n key={index}\n inline\n className=\"eds-searchable-dropdown__list__item-icon\"\n />\n ))}\n </span>\n )}\n {selectedItem?.value === item.value && <CheckIcon />}\n </li>\n ))\n : null}\n </ul>\n );\n};\n","/* eslint-disable no-warning-comments */\nimport React, { useRef, useState } from 'react';\nimport { useCombobox, UseComboboxGetToggleButtonPropsOptions } from 'downshift';\nimport classNames from 'classnames';\n\nimport { CloseSmallIcon, DownArrowIcon } from '@entur/icons';\nimport { BaseFormControl, VariantType } from '@entur/form';\nimport { IconButton } from '@entur/button';\n\nimport { NormalizedDropdownItemType } from '../useNormalizedItems';\nimport { DropdownList } from './DropdownList';\n\nimport './dropdown.scss';\n\nfunction lowerCaseFilterTest(\n item: NormalizedDropdownItemType,\n input: string | undefined,\n) {\n if (!input) {\n return true;\n }\n const sanitizeEscapeCharacters = input.replace(\n /[-/\\\\^$*+?.()|[\\]{}]/g,\n '\\\\$&',\n );\n const inputRegex = new RegExp(sanitizeEscapeCharacters, 'i');\n return inputRegex.test(item.label);\n}\n\nexport type SearchableDropdownProps = {\n /** Tilgjengelige valg i dropdown-en */\n items: NormalizedDropdownItemType[];\n /** Valgt element. Bruk null for ingen verdi. */\n selectedItem: NormalizedDropdownItemType | null;\n /** Callback for når brukeren endrer valg */\n onChange: (value: NormalizedDropdownItemType | null) => void;\n /** Beskrivende tekst som forklarer feltet */\n label: string;\n /** Placeholder-tekst når ingenting er satt */\n placeholder?: string;\n /** Vis knapp for å nullstille Dropdown-en skal vises\n * @default false\n */\n clearable?: boolean;\n /** Vis listen med valg skal vises på fokus av inputfeltet\n * @default false\n */\n openOnFocus?: boolean;\n /** Gjør dropdown-en til å kun kunne leses\n * @default false\n */\n readonly?: boolean;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n className?: string;\n style?: { [key: string]: any };\n /** Style som kun påføres listeelementet */\n listStyle?: { [key: string]: any };\n [key: string]: any;\n};\n\n// TODO Husk å @deprecate searchable-prop-en til Dropdown når denne komponenten skal ha official release\n// TODO Husk å generelt legge inn støtte for typeof value === string\n\nexport const SearchableDropdownBeta = ({\n items,\n selectedItem: value,\n onChange,\n label,\n placeholder,\n clearable = false,\n openOnFocus = false,\n readonly = false,\n feedback,\n variant = 'info',\n className,\n listStyle,\n ...rest\n}: SearchableDropdownProps) => {\n const [filteredItems, setFilteredItems] = React.useState(items);\n const [hideSelectedItem, setHideSelectedItem] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const stateReducer = React.useCallback((_, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n\n switch (type) {\n case useCombobox.stateChangeTypes.ItemClick:\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.InputBlur:\n case useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:\n return {\n ...changes,\n // reset input value to show placeholder on focus\n ...(changes.selectedItem && {\n inputValue: '',\n }),\n };\n default:\n return changes;\n }\n }, []);\n\n const {\n isOpen,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getComboboxProps,\n highlightedIndex,\n getItemProps,\n selectedItem,\n openMenu,\n inputValue,\n } = useCombobox({\n onInputValueChange({ inputValue }) {\n setFilteredItems(\n items.filter(item => lowerCaseFilterTest(item, inputValue)),\n );\n },\n items: filteredItems,\n itemToString(item) {\n if (item) return item.value;\n return '';\n },\n stateReducer,\n selectedItem: value,\n onSelectedItemChange: ({ selectedItem: newSelectedItem }) =>\n onChange(newSelectedItem ?? null),\n ...rest,\n });\n\n return (\n <div className=\"eds-searchable-dropdown__wrapper\">\n <BaseFormControl\n append={\n <Appendix\n selectedItem={selectedItem}\n isOpen={isOpen}\n clearable={clearable}\n loading={false}\n loadingText={''}\n readOnly={readonly}\n onChange={onChange}\n getToggleButtonProps={getToggleButtonProps}\n />\n }\n className={classNames('eds-searchable-dropdown', className)}\n label={label}\n isFilled={selectedItem ? true : false}\n feedback={feedback}\n variant={variant}\n readOnly={readonly}\n labelProps={getLabelProps()}\n {...getComboboxProps()}\n {...rest}\n >\n {!hideSelectedItem && selectedItem && !inputValue && (\n <span className=\"eds-searchable-dropdown__selected-item__wrapper\">\n <span\n className=\"eds-searchable-dropdown__selected-item\"\n onClick={() => inputRef.current?.focus()}\n >\n {selectedItem.label}\n </span>\n </span>\n )}\n <input\n placeholder={selectedItem?.label ?? placeholder}\n className=\"eds-searchable-dropdown__input eds-form-control\"\n {...getInputProps({\n onFocus: () => {\n if (!isOpen && openOnFocus) openMenu();\n setHideSelectedItem(true);\n },\n onBlur: () => {\n setHideSelectedItem(false);\n },\n ref: inputRef,\n })}\n />\n </BaseFormControl>\n <DropdownList\n selectedItem={selectedItem}\n isOpen={isOpen}\n filteredItems={filteredItems}\n highlightedIndex={highlightedIndex}\n listStyle={listStyle}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n />\n </div>\n );\n};\n\nconst Appendix: React.FC<{\n selectedItem: NormalizedDropdownItemType | null;\n isOpen: boolean;\n clearable: boolean;\n loading: boolean;\n loadingText: string;\n readOnly: boolean;\n onChange: (value: NormalizedDropdownItemType | null) => void;\n getToggleButtonProps: (\n options?: UseComboboxGetToggleButtonPropsOptions | undefined,\n ) => any;\n}> = ({\n clearable,\n readOnly,\n getToggleButtonProps,\n selectedItem,\n isOpen,\n onChange,\n}) => {\n // TODO implement loading / async\n // if (loading) {\n // return <DropdownLoadingDots>{loadingText}</DropdownLoadingDots>;\n // }\n if (readOnly) {\n return null;\n }\n return (\n <div style={{ display: 'flex', alignItems: 'center' }}>\n {clearable && selectedItem && (\n <>\n <IconButton\n className=\"eds-searchable-dropdown-appendix__clear-button\"\n type=\"button\"\n tabIndex={-1}\n onClick={() => onChange(null)}\n >\n <CloseSmallIcon />\n </IconButton>\n <div className=\"eds-searchable-dropdown-appendix__divider\" />\n </>\n )}\n <IconButton\n {...getToggleButtonProps({\n className: classNames(\n 'eds-searchable-dropdown-appendix__toggle-button',\n {\n 'eds-searchable-dropdown-appendix__toggle-button--open': isOpen,\n },\n ),\n })}\n tabIndex={-1}\n type=\"button\"\n >\n <DownArrowIcon />\n </IconButton>\n </div>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('dropdown', 'form', 'a11y', 'chip');\n\nexport * from './Dropdown';\nexport * from './NativeDropdown';\nexport * from './MultiSelect';\nexport * from './MultiSelect';\nexport * from './beta';\n"],"names":["DownshiftContext","React","createContext","DownshiftProvider","children","onChange","undefined","onInputValueChange","highlightFirstItemOnOpen","className","style","searchable","rest","_excluded","handleStateChange","changes","stateAndHelpers","type","Downshift","stateChangeTypes","controlledPropUpdatedSelectedItem","selectedItem","inputValue","stateReducer","_","highlightFirstOnOpen","isOpen","highlightFirstItemIndex","highlightedIndex","itemToString","item","label","onStateChange","args","classNames","createElement","Provider","value","useDownshift","context","useContext","Error","DropdownList","items","getItemProps","getMenuProps","map","index","key","icons","Icon","inline","CheckIcon","DropdownToggleButton","getToggleButtonProps","tabIndex","DownArrowIcon","DropdownLoadingDots","LoadingDots","VisuallyHidden","BaseDropdown","loading","loadingText","placeholder","listStyle","clearable","isFilled","disableLabelAnimation","getLabelProps","BaseFormControl","append","Appendix","readOnly","labelProps","position","top","space","extraLarge3","extraSmall","ClearButton","props","clearSelection","Fragment","onClick","CloseSmallIcon","RegularDropdown","forwardRef","ref","disabled","selectOnTab","openOnFocus","selectHighlightedItem","openMenu","setHighlightedIndex","length","textAlign","onKeyDown","e","keyDownValue","matchedItems","filter","firstCharacter","trim","charAt","toLowerCase","nextHighlightItem","find","onFocus","LowerCaseFilterTest","input","sanitizeEscapeCharacters","replace","inputRegex","RegExp","test","SearchableDropdown","prepend","itemFilter","getInputProps","closeMenu","useState","hideSelectedItem","setHideSelectedItem","inputRef","useRef","filteredItems","useMemo","current","focus","onBlur","mergeRefs","DropdownInputGroup","feedback","variant","VariantProvider","FeedbackText","useNormalizedItems","useIsMounted","isMountedRef","useEffect","reducer","_state","action","payload","useResolvedItems","itemsOrItemsResolver","debounceTimeout","isItemsFunction","itemsResolver","Promise","resolve","useReducer","dispatch","isMounted","fetchItems","useCallback","resolvedItems","normalizedItems","debounce","Dropdown","RenderedDropdown","searchAbleProps","name","NativeDropdown","rightSideIcon","nativeDropdownId","useRandomId","labelId","MultiSelectContext","useMultiSelectContext","state","actionAndChanges","useSelect","MenuKeyDownEnter","MenuKeyDownSpaceButton","ItemClick","MultiSelect","itemsSelectedLabel","SelectedItemsLabel","initialSelectedItems","selectedItems","setSelectedItems","reset","isSelected","selectedCheckboxItem","some","selected","onSelectedItemChange","itemIsFound","slicedItemList","buttonText","multiSelectId","hasSelected","display","CheckboxIcon","CloseIcon","width","height","viewBox","d","fill","toString","lowerCaseFilterTest","SearchableDropdownBeta","readonly","setFilteredItems","useCombobox","InputKeyDownEnter","InputBlur","ControlledPropUpdatedSelectedItem","newSelectedItem","getComboboxProps","alignItems","IconButton","warnAboutMissingStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,gBAAgB,gBACpBC,yBAAK,CAACC,aAAa,CACjB,IAAI,CACL,CAAA;AAgBI,IAAMC,iBAAiB,GAAqC,SAAtDA,iBAAiB,CASzB,IAAA,EAAA;EAAA,IARHC,QAAQ,QAARA,QAAQ;AAAA,IAAA,aAAA,GAAA,IAAA,CACRC,QAAQ;AAARA,IAAAA,QAAQ,GAAG,aAAA,KAAA,KAAA,CAAA,GAAA,YAAA;AAAA,MAAA,OAAMC,SAAS,CAAA;AAAA,KAAA,GAAA,aAAA;AAAA,IAAA,qBAAA,GAAA,IAAA,CAC1BC,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAG,qBAAA,KAAA,KAAA,CAAA,GAAA,YAAA;AAAA,MAAA,OAAMD,SAAS,CAAA;AAAA,KAAA,GAAA,qBAAA;AAAA,IAAA,qBAAA,GAAA,IAAA,CACpCE,wBAAwB;AAAxBA,IAAAA,wBAAwB,sCAAG,KAAK,GAAA,qBAAA;AAChCC,IAAAA,SAAS,QAATA,SAAS;AACTC,IAAAA,KAAK,QAALA,KAAK;AAAA,IAAA,eAAA,GAAA,IAAA,CACLC,UAAU;AAAVA,IAAAA,UAAU,gCAAG,KAAK,GAAA,eAAA;IACfC,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;EAEP,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiB,CACrBC,OAAY,EACZC,eAAsE,EACpE;IACF,IACED,OAAO,CAACE,IAAI,KACZC,6BAAS,CAACC,gBAAgB,CAACC,iCAAiC,EAC5D;AACA,MAAA,OAAA;AACD,KAAA;IACD,IAAI,cAAc,IAAIL,OAAO,EAAE;AAC7BV,MAAAA,QAAQ,CAACU,OAAO,CAACM,YAAY,EAAEL,eAAe,CAAC,CAAA;AAChD,KAAA,MAAM,IAAI,YAAY,IAAID,OAAO,EAAE;AAClCR,MAAAA,kBAAkB,CAACQ,OAAO,CAACO,UAAU,CAAC,CAAA;AACvC,KAAA;GACF,CAAA;EAED,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAChBC,CAA6C,EAC7CT,OAAuD,EACI;IAC3D,IAAMU,oBAAoB,GACxBjB,wBAAwB,IAAI,QAAQ,IAAIO,OAAO,IAAIA,OAAO,CAACW,MAAM,CAAA;IACnE,IAAMC,uBAAuB,GAEzBF,oBAAoB,GAAG;AAAEG,MAAAA,gBAAgB,EAAE,CAAA;KAAG,GAAG,EAAE,CAAA;AAEvD,IAAA,IAAIjB,UAAU,EAAE;AACd,MAAA,IAAQM,IAAI,GAAKF,OAAO,CAAhBE,IAAI,CAAA;AAEZ,MAAA,QAAQA,IAAI;AACV,QAAA,KAAK,+BAA+B;UAClC,OAEKF,QAAAA,CAAAA,EAAAA,EAAAA,OAAO,EACPY,uBAAuB,CAAA,CAAA;AAE9B,QAAA,KAAK,6BAA6B,CAAA;AAClC,QAAA,KAAK,gCAAgC,CAAA;AACrC,QAAA,KAAK,6BAA6B,CAAA;AAClC,QAAA,KAAK,0BAA0B;AAC7B,UAAA,OAAA,QAAA,CAAA,EAAA,EACKZ,OAAO,EAAA;AACV;AACA;AACAO,YAAAA,UAAU,EAAE,EAAA;AAAE,WAAA,EACXK,uBAAuB,CAAA,CAAA;AAE9B,QAAA;UACE,OACKZ,QAAAA,CAAAA,EAAAA,EAAAA,OAAO,EACPY,uBAAuB,CAAA,CAAA;AAC1B,OAAA;AAEP,KAAA,MAAM;MACL,OAAYZ,QAAAA,CAAAA,EAAAA,EAAAA,OAAO,EAAKY,uBAAuB,CAAA,CAAA;AAChD,KAAA;GACF,CAAA;AAED,EAAA,OACE1B,wCAACiB,6BAAS,EAAA,QAAA,CAAA;IACRW,YAAY,EAAE,sBAAAC,IAAI,EAAA;AAAA,MAAA,OAAKA,IAAI,GAAGA,IAAI,CAACC,KAAK,GAAG,EAAE,CAAA;KAAC;AAC9CC,IAAAA,aAAa,EAAElB,iBAAiB;AAChCS,IAAAA,YAAY,EAAEA,YAAAA;GACVX,EAAAA,IAAI,CAEP,EAAA,UAAAqB,IAAI,EAAA;AAAA,IAAA,OACHhC;AAAKQ,MAAAA,SAAS,EAAEyB,8BAAU,CAAC,iBAAiB,EAAEzB,SAAS,CAAC;AAAEC,MAAAA,KAAK,EAAEA,KAAAA;KAAK,EAEpET,yBAAA,CAAAkC,aAAA,CAACnC,gBAAgB,CAACoC,QAAQ,EAAA;AAACC,MAAAA,KAAK,EAAEJ,IAAAA;KAC/B,EAAA7B,QAAQ,CACiB,CACxB,CAAA;AAAA,GACP,CACS,CAAA;AAEhB,CAAC,CAAA;AAEM,IAAMkC,YAAY,GACvB,SADWA,YAAY,GAClB;AACH,EAAA,IAAMC,OAAO,GAAGtC,yBAAK,CAACuC,UAAU,CAACxC,gBAAgB,CAAC,CAAA;EAClD,IAAI,CAACuC,OAAO,EAAE;AACZ,IAAA,MAAM,IAAIE,KAAK,CAAC,wDAAwD,CAAC,CAAA;AAC1E,GAAA;AACD,EAAA,OAAOF,OAAO,CAAA;AAChB,CAAC;;;AC/GI,IAAMG,cAAY,GAAgC,SAA5CA,YAAY,CAGpB,IAAA,EAAA;EAAA,IAFHC,KAAK,QAALA,KAAK;IACF/B,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAEP,EAAA,IAAA,aAAA,GACEyB,YAAY,EAAE;AADRV,IAAAA,gBAAgB,iBAAhBA,gBAAgB;AAAEF,IAAAA,MAAM,iBAANA,MAAM;AAAEL,IAAAA,YAAY,iBAAZA,YAAY;AAAEuB,IAAAA,YAAY,iBAAZA,YAAY;AAAEC,IAAAA,YAAY,iBAAZA,YAAY,CAAA;AAG1E,EAAA,OACE5C,yBACE,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA1B,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,mBAAmB,EAAE;AACzC,MAAA,yBAAyB,EAAER,MAAAA;KAC5B,CAAA;AAAC,GAAA,EACEmB,YAAY,EAAE,EACdjC,IAAI,GAEPc,MAAM,GACHiB,KAAK,CAACG,GAAG,CAAC,UAAChB,IAAI,EAAEiB,KAAK,EAAA;AAAA,IAAA;AACpB;MACA9C,yBAAA,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AACE1B,QAAAA,SAAS,EAAEyB,8BAAU,CAAC,yBAAyB,EAAE;UAC/C,sCAAsC,EACpCN,gBAAgB,KAAKmB,KAAK;UAC5B,mCAAmC,EAAE1B,YAAY,KAAKS,IAAAA;SACvD,CAAA;AAAC,OAAA,EACEc,YAAY,CAAC;AAAEI,QAAAA,GAAG,EAAKD,EAAAA,GAAAA,KAAK,GAAGjB,IAAI,CAACO,KAAO;AAAEP,QAAAA,IAAI,EAAJA,IAAI;AAAEiB,QAAAA,KAAK,EAALA,KAAAA;OAAO,CAAC,CAE/D9C,EAAAA,yBAAO,CAAAkC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAAL,IAAI,CAACC,KAAK,CAAQ,EACxBD,IAAI,CAACmB,KAAK,IACThD,sDACG6B,IAAI,CAACmB,KAAK,CAACH,GAAG,CAAC,UAACI,IAAI,EAAEH,KAAK,EAAA;AAAA,QAAA,OAC1B9C,wCAACiD,IAAI,EAAA;AACHF,UAAAA,GAAG,EAAED,KAAK;AACVI,UAAAA,MAAM,EACN,IAAA;AAAA1C,UAAAA,SAAS,EAAC,8BAAA;AAA8B,SAAA,CACxC,CAAA;AAAA,OACH,CAAC,CAEL,EACAY,YAAY,KAAKS,IAAI,IAAI7B,yBAAA,CAAAkC,aAAA,CAACiB,eAAS,EAAG,IAAA,CAAA,CAAA;AACpC,MAAA;GACN,CAAC,GACF,IAAI,CACL,CAAA;AAET,CAAC;;AClDM,IAAMC,sBAAoB,GAAsB,SAA1CA,oBAAoB,GAA2B;AAC1D,EAAA,IAAA,aAAA,GAAyCf,YAAY,EAAE;AAA/CgB,IAAAA,oBAAoB,iBAApBA,oBAAoB;AAAE5B,IAAAA,MAAM,iBAANA,MAAM,CAAA;AACpC,EAAA,OACEzB,yBACM,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAAmB,oBAAoB,CAAC;AACvB7C,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,6BAA6B,EAAE;AACnD,MAAA,mCAAmC,EAAER,MAAAA;KACtC,CAAA;AACF,GAAA,CAAC,EAAA;AACF6B,IAAAA,QAAQ,EAAC,IAAI;AACbtC,IAAAA,IAAI,EAAC,QAAA;GAELhB,CAAAA,EAAAA,yBAAA,CAAAkC,aAAA,CAACqB,mBAAa,EAAA,IAAA,CAAG,CACV,CAAA;AAEb,CAAC;;;ACRM,IAAMC,mBAAmB,GAAgC,SAAnDA,mBAAmB,CAAA,IAAA,EAAA;EAAA,IAC9BhD,SAAS,QAATA,SAAS;AACTL,IAAAA,QAAQ,QAARA,QAAQ;IACLQ,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAAA,EAAA,OAEPZ,yBAAK,CAAAkC,aAAA,CAAA,KAAA,EAAA,QAAA,CAAA;AAAA1B,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,oBAAoB,EAAEzB,SAAS,CAAA;GAAOG,EAAAA,IAAI,GACnEX,yBAAA,CAAAkC,aAAA,CAACuB,kBAAW,EAAG,IAAA,CAAA,EACfzD,yBAAA,CAAAkC,aAAA,CAACwB,mBAAc,EAAE,IAAA,EAAAvD,QAAQ,CAAkB,CACvC,CAAA;AAAA,CACP;;;ACEM,IAAMwD,YAAY,GAAgC,SAA5CA,YAAY,CAepB,IAAA,EAAA;EAdHxD,IAAAA,QAAQ,QAARA,QAAQ,CAAA;AACRK,IAAAA,SAAS,QAATA,SAAS,CAAA;AACTkC,IAAAA,KAAK,QAALA,KAAK,CAAA;AAAA,IAAA,YAAA,GAAA,IAAA,CACLkB,OAAO,CAAA;AAAPA,IAAAA,OAAO,6BAAG,KAAK,GAAA,YAAA,CAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CACfC,WAAW,CAAA;AAAXA,IAAAA,WAAW,iCAAG,YAAY,GAAA,gBAAA,CAAA;AAE1BC,IACArD,KAAK,QAALA,KAAK,CAAA;AACLsD,IAAAA,SAAS,QAATA,SAAS,CAAA;AACTC,IAAAA,SAAS,QAATA,SAAS,CAAA;AACTlC,IAAAA,KAAK,QAALA,KAAK,CAAA;AAAA,IAAA,aAAA,GAAA,IAAA,CACLmC,QAAQ,CAAA;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA,CAAA;AAChBC,IAAAA,qBAAqB,QAArBA,qBAAqB,CAAA;IAClBvD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,EAAA;AAEP,EAAA,IAAA,aAAA,GAA0ByB,YAAY,EAAE;AAAhC8B,IAAAA,aAAa,iBAAbA,aAAa,CAAA;AACrB,EAAA,OACEnE;AAAKQ,IAAAA,SAAS,EAAC,sBAAsB;AAACC,IAAAA,KAAK,EAAEA,KAAAA;AAAK,GAAA,EAGhDT,yBAAC,CAAAkC,aAAA,CAAAkC,oBAAe,EAAA,QAAA,CAAA;AACdC,IAAAA,MAAM,EACJrE,wCAACsE,UAAQ,EAAA;AACPN,MAAAA,SAAS,EAAEA,SAAS;AACpBJ,MAAAA,OAAO,EAAEA,OAAO;AAChBC,MAAAA,WAAW,EAAEA,WAAW;MACxBU,QAAQ,EAAK5D,IAAI,CAAC4D,QAAAA;AAAQ,KAAA,CAC1B;AAEJ/D,IAAAA,SAAS,EAAEA,SAAS;AACpBsB,IAAAA,KAAK,EAAEA,KAAK;AACZmC,IAAAA,QAAQ,EAAEA,QAAQ;IAClBO,UAAU,EAAEL,aAAa,EAAE;AAC3BD,IAAAA,qBAAqB,EAAEA,qBAAAA;GACnBvD,EAAAA,IAAI,GAEPR,QAAQ,CACO,EAClBH,yBAAA,CAAAkC,aAAA,CAACO,cAAY,EAAA,QAAA,CAAA;AACXC,IAAAA,KAAK,EAAEA,KAAK;IACZjC,KAAK,EAAA,QAAA,CAAA;AACHgE,MAAAA,QAAQ,EAAE,UAAU;AACpBC,MAAAA,GAAG,EAAKC,YAAK,CAACC,WAAW,GAAGD,YAAK,CAACE,UAAU,GAAA,IAAA;AAAI,KAAA,EAC7Cd,SAAS,CAAA;GAEVpD,EAAAA,IAAI,EACR,CACE,CAAA;AAEV,CAAC,CAAA;AAED,IAAMmE,aAAW,GAAqC,SAAhDA,WAAW,CAAsD,KAAA,EAAA;AAAA,EAAA,IAAXC,KAAK,GAAA,QAAA,CAAA,EAAA,GAAA,yBAAA,CAAA,KAAA,CAAA,EAAA,KAAA,EAAA,CAAA;AAC/D,EAAA,IAAA,cAAA,GAAyC1C,YAAY,EAAE;AAA/C2C,IAAAA,cAAc,kBAAdA,cAAc;AAAE5D,IAAAA,YAAY,kBAAZA,YAAY,CAAA;AACpC,EAAA,OACEpB,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACG7D,YAAY,IACXpB,yBAAA,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA;AACE1B,IAAAA,SAAS,EAAC,4BAA4B;AACtCQ,IAAAA,IAAI,EAAC,QAAQ;IACbsC,QAAQ,EAAE,CAAC,CAAC;AACZ4B,IAAAA,OAAO,EAAE,SAAA,OAAA,GAAA;AAAA,MAAA,OAAMF,cAAc,EAAE,CAAA;AAAA,KAAA;AAAA,IAAA,YAAA,EACpB,4BAAA;AAAyB,GAAA,EAChCD,KAAK,CAET/E,EAAAA,yBAAC,CAAAkC,aAAA,CAAAiD,oBAAc,EAAG,IAAA,CAAA,CAErB,EACA/D,YAAY,IAAIpB;AAAKQ,IAAAA,SAAS,EAAC,uBAAA;AAA8B,GAAA,CAAA,CAC7D,CAAA;AAEP,CAAC,CAAA;AAED,IAAM8D,UAAQ,GAKT,SALCA,QAAQ,CAKyC,KAAA,EAAA;EAAA,IAA/CN,SAAS,SAATA,SAAS;AAAEJ,IAAAA,OAAO,SAAPA,OAAO;AAAEC,IAAAA,WAAW,SAAXA,WAAW;AAAEU,IAAAA,QAAQ,SAARA,QAAQ,CAAA;AAC/C,EAAA,IAAIX,OAAO,EAAE;IACX,OAAO5D,yBAAC,CAAAkC,aAAA,CAAAsB,mBAAmB,EAAE,IAAA,EAAAK,WAAW,CAAuB,CAAA;AAChE,GAAA;AACD,EAAA,IAAIU,QAAQ,EAAE;AACZ,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AACD,EAAA,OAAOP,SAAS,GACdhE,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACEjF,yBAAA,CAAAkC,aAAA,CAAC4C,aAAW,EAAe,IAAA,CAAA,OAAC9E,yBAAA,CAAAkC,aAAA,CAACkB,sBAAoB,EAAA,IAAA,CAAG,CACnD,GAEHpD,yBAAC,CAAAkC,aAAA,CAAAkB,sBAAoB,EAAG,IAAA,CACzB,CAAA;AACH,CAAC;;;ACjGM,IAAMgC,eAAe,gBAAmCpF,yBAAK,CAACqF,UAAU,CAI7E,UAgBEC,IAAAA,EAAAA,GAAG,EACD;EAAA,IAfAC,QAAQ,QAARA,QAAQ;AAAA,IAAA,gBAAA,GAAA,IAAA,CACRzB,WAAW;AAAXA,IAAAA,WAAW,iCAAG,gBAAgB,GAAA,gBAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CAC9B0B,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CACnBC,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AACnB1B,IAAAA,SAAS,QAATA,SAAS;AACTrB,IAAAA,KAAK,QAALA,KAAK;AACLZ,IAAAA,KAAK,QAALA,KAAK;AACLoC,IAAAA,qBAAqB,QAArBA,qBAAqB;AACrBN,IAAAA,OAAO,QAAPA,OAAO;AACPC,IAAAA,WAAW,QAAXA,WAAW;AACXrD,IAAAA,SAAS,QAATA,SAAS;AACTwD,IAAAA,SAAS,QAATA,SAAS;IACNrD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAIT,EAAA,IAAA,aAAA,GAQIyB,YAAY,EAAE;AAPhBgB,IAAAA,oBAAoB,iBAApBA,oBAAoB;AACpBjC,IAAAA,YAAY,iBAAZA,YAAY;AACZsE,IAAAA,qBAAqB,iBAArBA,qBAAqB;AACrBC,IAAAA,QAAQ,iBAARA,QAAQ;AACRlE,IAAAA,MAAM,iBAANA,MAAM;AACNE,IAAAA,gBAAgB,iBAAhBA,gBAAgB;AAChBiE,IAAAA,mBAAmB,iBAAnBA,mBAAmB,CAAA;AAErB,EAAA,OACE5F,yBAAC,CAAAkC,aAAA,CAAAyB,YAAY,EAAA,QAAA,CAAA;AACX4B,IAAAA,QAAQ,EAAEA,QAAQ;AAClBxB,IAAAA,SAAS,EAAEA,SAAS;AACpBrB,IAAAA,KAAK,EAAEA,KAAK;AACZZ,IAAAA,KAAK,EAAEA,KAAK;IACZmC,QAAQ,EAAE7C,YAAY,GAAG,IAAI,GAAG0C,WAAW,CAAC+B,MAAM,KAAK,CAAC;AACxD3B,IAAAA,qBAAqB,EAAEA,qBAAqB;AAC5CN,IAAAA,OAAO,EAAEA,OAAO;AAChBC,IAAAA,WAAW,EAAEA,WAAW;AACxBrD,IAAAA,SAAS,EAAEA,SAAS;AACpBwD,IAAAA,SAAS,EAAEA,SAAAA;GACPrD,EAAAA,IAAI,GAERX,yBAAA,CAAAkC,aAAA,CAAA,QAAA,eACMmB,oBAAoB,CAAA,QAAA,CAAA;AACtB7C,IAAAA,SAAS,EAAE,8CAA8C;AACzDC,IAAAA,KAAK,EAAE;AAAEqF,MAAAA,SAAS,EAAE,MAAA;KAAQ;AAC5BP,IAAAA,QAAQ,EAARA,QAAQ;AACRvE,IAAAA,IAAI,EAAE,QAAQ;IACd+E,SAAS,EAAE,SAAAC,SAAAA,CAAAA,CAAC,EAAG;AACb,MAAA,IAAIR,WAAW,IAAIQ,CAAC,CAACjD,GAAG,KAAK,KAAK,EAAE;AAClC2C,QAAAA,qBAAqB,EAAE,CAAA;AACxB,OAAA;AAED,MAAA,IAAIjE,MAAM,EAAE;AACV,QAAA,IAAMwE,YAAY,GAAGD,CAAC,CAACjD,GAAG,CAAA;QAC1B,IAAMmD,YAAY,GAAGxD,KAAK,CACvBG,GAAG,CAAC,UAAChB,IAAI,EAAEiB,KAAK,EAAA;AAAA,UAAA,OAAA,QAAA,CAAA,EAAA,EAAWjB,IAAI,EAAA;AAAEiB,YAAAA,KAAK,EAALA,KAAAA;AAAK,WAAA,CAAA,CAAA;AAAA,SAAG,CAAC,CAC1CqD,MAAM,CAAC,UAAAtE,IAAI,EAAG;AACb,UAAA,IAAMuE,cAAc,GAAGvE,IAAI,CAACC,KAAK,CAC9BuE,IAAI,EAAE,CACNC,MAAM,CAAC,CAAC,CAAC,CACTC,WAAW,EAAE,CAAA;UAChB,OAAOH,cAAc,KAAKH,YAAY,CAAA;AACxC,SAAC,CAAC,CAAA;AAEJ,QAAA,IAAMO,iBAAiB,GAAGN,YAAY,CAACO,IAAI,CACzC,UAAA5E,IAAI,EAAA;UAAA,OAAIA,IAAI,CAACiB,KAAK,IAAInB,gBAAgB,IAAhBA,IAAAA,GAAAA,gBAAgB,GAAI,CAAC,CAAC,CAAA;SAC7C,CAAA,CAAA;AAED,QAAA,IAAI6E,iBAAiB,EAAE;AACrBZ,UAAAA,mBAAmB,CAACY,iBAAiB,CAAC1D,KAAK,CAAC,CAAA;AAC7C,SAAA,MAAM,IAAIoD,YAAY,CAACL,MAAM,GAAG,CAAC,EAAE;AAClCD,UAAAA,mBAAmB,CAACM,YAAY,CAAC,CAAC,CAAC,CAACpD,KAAK,CAAC,CAAA;AAC3C,SAAA;AACF,OAAA;KACF;AACD4D,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZ,MAAA,IAAIjB,WAAW,EAAE;QACf,CAAChE,MAAM,IAAIkE,QAAQ,EAAE,CAAA;AACtB,OAAA;AACH,KAAA;AAAC,GAAA,EACEhF,IAAI,CACP,CAAA,EAAA;AACF2E,IAAAA,GAAG,EAAEA,GAAAA;GAEJlE,CAAAA,EAAAA,YAAY,GAAGA,YAAY,CAACU,KAAK,GAAGgC,WAAW,CACzC,CACI,CAAA;AAEnB,CAAC,CACF;;;ACvFD,SAAS6C,mBAAmB,CAC1B9E,IAAgC,EAChC+E,KAAoB,EAAA;EAEpB,IAAI,CAACA,KAAK,EAAE;AACV,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;EACD,IAAMC,wBAAwB,GAAGD,KAAK,CAACE,OAAO,CAC5C,uBAAuB,EACvB,MAAM,CACP,CAAA;EACD,IAAMC,UAAU,GAAG,IAAIC,MAAM,CAACH,wBAAwB,EAAE,GAAG,CAAC,CAAA;AAC5D,EAAA,OAAOE,UAAU,CAACE,IAAI,CAACpF,IAAI,CAACC,KAAK,CAAC,CAAA;AACpC,CAAA;AAEO,IAAMoF,kBAAkB,gBAC7BlH,yBAAK,CAACqF,UAAU,CACd,UAsBEC,IAAAA,EAAAA,GAAG,EACD;AAAA,EAAA,IAAA,aAAA,GAAA,IAAA,CArBAC,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAChB/E,IAAAA,SAAS,QAATA,SAAS;AACTkC,IAAAA,KAAK,QAALA,KAAK;AACLkB,IAAAA,OAAO,QAAPA,OAAO;AACPC,IAAAA,WAAW,QAAXA,WAAW;AAAA,IAAA,aAAA,GAAA,IAAA,CACXU,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAChB4C,IAAAA,OAAO,QAAPA,OAAO;AAAA,IAAA,gBAAA,GAAA,IAAA,CACP3B,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CACnBC,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AACnB1B,IAAAA,SAAS,QAATA,SAAS;AACTC,IAAAA,SAAS,QAATA,SAAS;AAAA,IAAA,eAAA,GAAA,IAAA,CACToD,UAAU;AAAVA,IAAAA,UAAU,GAAG,eAAA,KAAA,KAAA,CAAA,GAAA,UACXvF,IAAgC,EAChCR,UAAyB,EAAA;AAAA,MAAA,OACtBsF,mBAAmB,CAAC9E,IAAI,EAAER,UAAU,CAAC,CAAA;AAAA,KAAA,GAAA,eAAA;AAC1CS,IAAAA,KAAK,QAALA,KAAK;AACLoC,IAAAA,qBAAqB,QAArBA,qBAAqB;AACrBJ,IAAAA,WAAW,QAAXA,WAAW;IACRnD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAIT,EAAA,IAAA,aAAA,GAQIyB,YAAY,EAAE;AAPhBgF,IAAAA,aAAa,iBAAbA,aAAa;AACbhG,IAAAA,UAAU,iBAAVA,UAAU;AACVqE,IAAAA,qBAAqB,iBAArBA,qBAAqB;AACrBjE,IAAAA,MAAM,iBAANA,MAAM;AACNkE,IAAAA,QAAQ,iBAARA,QAAQ;AACR2B,IAAAA,SAAS,iBAATA,SAAS;AACTlG,IAAAA,YAAY,iBAAZA,YAAY,CAAA;EAGd,IAAgDmG,SAAAA,GAAAA,cAAQ,CAAC,KAAK,CAAC;IAAxDC,gBAAgB,GAAA,SAAA,CAAA,CAAA,CAAA;IAAEC,mBAAmB,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAMC,QAAQ,GAAGC,YAAM,CAAmB,IAAI,CAAC,CAAA;AAE/C,EAAA,IAAMC,aAAa,GAAG5H,yBAAK,CAAC6H,OAAO,CAAC,YAAK;AACvC,IAAA,OAAOnF,KAAK,CAACyD,MAAM,CAAC,UAAAtE,IAAI,EAAA;AAAA,MAAA,OAAIuF,UAAU,CAACvF,IAAI,EAAER,UAAU,CAAC,CAAA;KAAC,CAAA,CAAA;GAC1D,EAAE,CAACA,UAAU,EAAEqB,KAAK,EAAE0E,UAAU,CAAC,CAAC,CAAA;AAEnC,EAAA,OACEpH,yBAAC,CAAAkC,aAAA,CAAAyB,YAAY,EACX;AAAAjB,IAAAA,KAAK,EAAEkF,aAAa;AACpBrC,IAAAA,QAAQ,EAAEA,QAAQ;AAClBhB,IAAAA,QAAQ,EAAEA,QAAQ;AAClB/D,IAAAA,SAAS,EAAEA,SAAS;AACpBoD,IAAAA,OAAO,EAAEA,OAAO;AAChBC,IAAAA,WAAW,EAAEA,WAAW;AACxBsD,IAAAA,OAAO,EAAEA,OAAO;AAChBpD,IAAAA,SAAS,EAAEA,SAAS;AACpBC,IAAAA,SAAS,EAAEA,SAAS;AACpBlC,IAAAA,KAAK,EAAEA,KAAK;AACZmC,IAAAA,QAAQ,EAAE7C,YAAY,GAAG,IAAI,GAAG,KAAK;AACrC8C,IAAAA,qBAAqB,EAAEA,qBAAAA;AAAqB,GAAA,EAE3C,CAACsD,gBAAgB,IAAIpG,YAAY,IAAI,CAACC,UAAU,IAC/CrB,yBAAA,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAM1B,IAAAA,SAAS,EAAC,iDAAA;AAAiD,GAAA,EAC/DR,yBACE,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAA1B,IAAAA,SAAS,EAAC,wCAAwC;AAClD0E,IAAAA,OAAO,EAAE,SAAA,OAAA,GAAA;AAAA,MAAA,IAAA,iBAAA,CAAA;AAAA,MAAA,OAAA,CAAA,iBAAA,GAAMwC,QAAQ,CAACI,OAAO,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAA,iBAAA,CAAkBC,KAAK,EAAE,CAAA;AAAA,KAAA;AAAA,GAAA,EAEvC3G,YAAY,CAACU,KAAK,CACd,CAEV,EACD9B,yBAAA,CAAAkC,aAAA,CAAA,OAAA,eACMmF,aAAa,CAAA,QAAA,CAAA;AACf9B,IAAAA,QAAQ,EAARA,QAAQ;AACRhB,IAAAA,QAAQ,EAARA,QAAQ;AACR/D,IAAAA,SAAS,EAAE,sCAAsC;IACjDuF,SAAS,EAAE,SAAAC,SAAAA,CAAAA,CAAC,EAAG;MACb,IAAIR,WAAW,IAAIQ,CAAC,CAACjD,GAAG,KAAK,KAAK,EAAE2C,qBAAqB,EAAE,CAAA;KAC5D;AACDgB,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZ,MAAA,IAAI,CAACjF,MAAM,IAAIgE,WAAW,EAAEE,QAAQ,EAAE,CAAA;MACtC8B,mBAAmB,CAAC,IAAI,CAAC,CAAA;KAC1B;AACD3D,IAAAA,WAAW,EAAE1C,YAAY,GAAGA,YAAY,CAACU,KAAK,GAAGgC,WAAAA;AAAW,GAAA,EACzDnD,IAAI,CACP,CAAA,EAAA;AACFqH,IAAAA,MAAM,EAAE,SAAK,MAAA,GAAA;MACXP,mBAAmB,CAAC,KAAK,CAAC,CAAA;AAC1BH,MAAAA,SAAS,EAAE,CAAA;KACZ;AACDhC,IAAAA,GAAG,EAAE2C,eAAS,CAAmB3C,GAAG,EAAEoC,QAAQ,CAAA;AAAC,GAAA,CAAA,CAC/C,CACW,CAAA;AAEnB,CAAC,CACF;;AC3HI,IAAMQ,kBAAkB,GAAsC,SAAxDA,kBAAkB,CAM1B,IAAA,EAAA;EAAA,IALH/H,QAAQ,QAARA,QAAQ;AACRgI,IAAAA,QAAQ,QAARA,QAAQ;AACRC,IAAAA,OAAO,QAAPA,OAAO;AACP5H,IAAAA,SAAS,QAATA,SAAS;AACTC,IAAAA,KAAK,QAALA,KAAK,CAAA;AAEL,EAAA,OACET,yBAAC,CAAAkC,aAAA,CAAAmG,oBAAe,EAAC;AAAAD,IAAAA,OAAO,EAAEA,OAAAA;AAAO,GAAA,EAC/BpI,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAEA,SAAS;AAAEC,IAAAA,KAAK,EAAEA,KAAAA;AAAK,GAAA,EACpCN,QAAQ,EACRgI,QAAQ,IAAIC,OAAO,IAClBpI,yBAAA,CAAAkC,aAAA,CAACoG,iBAAY,EAAC;AAAAF,IAAAA,OAAO,EAAEA,OAAAA;KAAUD,QAAQ,CAC1C,CACG,CACU,CAAA;AAEtB,CAAC;;ACdM,IAAMI,kBAAkB,GAAG,SAArBA,kBAAkB,CAC7B7F,KAAyB,EAAA;EAAA,OAEzB1C,yBAAK,CAAC6H,OAAO,CACX,YAAA;AAAA,IAAA,OACEnF,KAAK,CAACG,GAAG,CAAC,UAAAhB,IAAI,EAAG;AACf,MAAA,IAAI,OAAOA,IAAI,IAAI,QAAQ,EAAE;QAC3B,OAAO;AAAEO,UAAAA,KAAK,EAAEP,IAAI;AAAEC,UAAAA,KAAK,EAAED,IAAAA;SAAM,CAAA;AACpC,OAAA;AAED,MAAA,IAAI,EAAE,OAAO,IAAIA,IAAI,CAAC,EAAE;AACtB,QAAA,OAAA,QAAA,CAAA,EAAA,EAAYA,IAAI,EAAA;UAAEO,KAAK,EAAEP,IAAI,CAACC,KAAAA;AAAK,SAAA,CAAA,CAAA;AACpC,OAAA;AACD,MAAA,OAAOD,IAAkC,CAAA;AAC3C,KAAC,CAAC,CAAA;GACJ,EAAA,CAACa,KAAK,CAAC,CACR,CAAA;AAAA,CAAA;;ACpBH,IAAM8F,YAAY,GAAG,SAAfA,YAAY,GAAQ;AACxB,EAAA,IAAMC,YAAY,GAAGzI,yBAAK,CAAC2H,MAAM,CAAC,IAAI,CAAC,CAAA;EACvC3H,yBAAK,CAAC0I,SAAS,CAAC,YAAK;AACnB,IAAA,OAAO,YAAK;MACVD,YAAY,CAACX,OAAO,GAAG,KAAK,CAAA;KAC7B,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;EACN,OAAOW,YAAY,CAACX,OAAO,CAAA;AAC7B,CAAC,CAAA;AAuBD,IAAMa,OAAO,GAAG,SAAVA,OAAO,CAAIC,MAAqB,EAAEC,MAAsB,EAAI;EAChE,QAAQA,MAAM,CAAC7H,IAAI;AACjB,IAAA,KAAK,iBAAiB;MACpB,OAAO;AAAE0B,QAAAA,KAAK,EAAE,EAAE;AAAEkB,QAAAA,OAAO,EAAE,IAAA;OAAM,CAAA;AACrC,IAAA,KAAK,kBAAkB;MACrB,OAAO;QAAElB,KAAK,EAAEmG,MAAM,CAACC,OAAO;AAAElF,QAAAA,OAAO,EAAE,KAAA;OAAO,CAAA;AAAC,GAAA;AAEvD,CAAC,CAAA;AAEM,IAAMmF,gBAAgB,GAAG,SAAnBA,gBAAgB;AAE3BC,oBAAsD;AAEtDC,eAAe,EAKb;AAAA,EAAA,IALFA,eAAe,KAAA,KAAA,CAAA,EAAA;AAAfA,IAAAA,eAAe,GAAG,GAAG,CAAA;AAAA,GAAA;AAMrB,EAAA,IAAMC,eAAe,GAAG,OAAOF,oBAAoB,KAAK,UAAU,CAAA;AAElE;AACA;AACA,EAAA,IAAMG,aAAa,GAAGnJ,yBAAK,CAAC6H,OAAO,CACjC,YAAA;IAAA,OACEqB,eAAe,GACVF,oBAA8C,GAC/C,YAAA;AAAA,MAAA,OAAMI,OAAO,CAACC,OAAO,CAACL,oBAA0C,CAAC,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EACvE,CAACA,oBAAoB,EAAEE,eAAe,CAAC,CACxC,CAAA;AAED,EAAA,IAAA,iBAAA,GAAuClJ,yBAAK,CAACsJ,UAAU,CAACX,OAAO,EAAE;AAC/DjG,MAAAA,KAAK,EAAEwG,eAAe,GAAG,EAAE,GAAIF,oBAA2C;AAC1EpF,MAAAA,OAAO,EAAE,KAAA;AACV,KAAA,CAAC;AAAA,IAAA,kBAAA,GAAA,iBAAA,CAAA,CAAA,CAAA;AAHOlB,IAAAA,KAAK,sBAALA,KAAK;AAAEkB,IAAAA,OAAO,sBAAPA,OAAO;IAAI2F,QAAQ,GAAA,iBAAA,CAAA,CAAA,CAAA,CAAA;AAKnC;AACA;AACA;EACA,IAAMC,SAAS,GAAGhB,YAAY,EAAE,CAAA;AAEhC;AACA;AACA,EAAA,IAAMiB,UAAU,GAAGzJ,yBAAK,CAAC0J,WAAW,eAAA,YAAA;AAAA,IAAA,IAAA,IAAA,GAAA,iBAAA,eAAA,mBAAA,EAAA,CAAA,IAAA,CAClC,iBAAOrI,UAAkB,EAAA;AAAA,MAAA,IAAA,aAAA,CAAA;AAAA,MAAA,OAAA,mBAAA,EAAA,CAAA,IAAA,CAAA,SAAA,QAAA,CAAA,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA;AAAA,UAAA,QAAA,QAAA,CAAA,IAAA,GAAA,QAAA,CAAA,IAAA;AAAA,YAAA,KAAA,CAAA;AAAA,cAAA,IAClBmI,SAAS,EAAA;AAAA,gBAAA,QAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,eAAA;AAAA,cAAA,OAAA,QAAA,CAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AAGdD,cAAAA,QAAQ,CAAC;AAAEvI,gBAAAA,IAAI,EAAE,iBAAA;AAAiB,eAAE,CAAC,CAAA;AAAC,cAAA,QAAA,CAAA,IAAA,GAAA,CAAA,CAAA;cAAA,OACVmI,aAAa,CAAC9H,UAAU,CAAC,CAAA;AAAA,YAAA,KAAA,CAAA;cAA/CsI,aAAa,GAAA,QAAA,CAAA,IAAA,CAAA;AACnB,cAAA,IAAIH,SAAS,EAAE;AACbD,gBAAAA,QAAQ,CAAC;AAAEvI,kBAAAA,IAAI,EAAE,kBAAkB;AAAE8H,kBAAAA,OAAO,EAAEa,aAAAA;AAAe,iBAAA,CAAC,CAAA;AAC/D,eAAA;AAAA,YAAA,KAAA,CAAA,CAAA;AAAA,YAAA,KAAA,KAAA;AAAA,cAAA,OAAA,QAAA,CAAA,IAAA,EAAA,CAAA;AAAA,WAAA;AAAA,SAAA;AAAA,OAAA,EAAA,OAAA,CAAA,CAAA;KACF,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,UAAA,EAAA,EAAA;AAAA,MAAA,OAAA,IAAA,CAAA,KAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAAA,EACD,CAACR,aAAa,EAAEK,SAAS,CAAC,CAC3B,CAAA;AAED,EAAA,IAAMI,eAAe,GAAGrB,kBAAkB,CAAC7F,KAAK,CAAC,CAAA;EACjD1C,yBAAK,CAAC0I,SAAS,CAAC,YAAK;AACnB;AACA,IAAA,IAAIQ,eAAe,EAAE;MACnBO,UAAU,CAAC,EAAE,CAAC,CAAA;AACf,KAAA;AACH,GAAC,EAAE,CAACP,eAAe,EAAEO,UAAU,CAAC,CAAC,CAAA;EAEjC,OAAO;AACL/G,IAAAA,KAAK,EAAEkH,eAAe;AACtBhG,IAAAA,OAAO,EAAEsF,eAAe,GAAGtF,OAAO,GAAG,KAAK;AAC1C6F,IAAAA,UAAU,EAAEI,cAAQ,CAACJ,UAAU,EAAER,eAAe,CAAA;GACjD,CAAA;AACH,CAAC;;;AC3CM,IAAMa,QAAQ,gBAA4B9J,yBAAK,CAACqF,UAAU,CAI/D,UA0BEC,IAAAA,EAAAA,GAAG,EACD;EAAA,IAzBA/E,wBAAwB,QAAxBA,wBAAwB;AACxB0I,IAAAA,eAAe,QAAfA,eAAe;AACf1D,IAAAA,QAAQ,QAARA,QAAQ;AACR4C,IAAAA,QAAQ,QAARA,QAAQ;AACRzF,IAAAA,KAAK,QAALA,KAAK;AACLZ,IAAAA,KAAK,QAALA,KAAK;AACL+B,IAAAA,WAAW,QAAXA,WAAW;AAAA,IAAA,aAAA,GAAA,IAAA,CACXzD,QAAQ;AAARA,IAAAA,QAAQ,GAAG,aAAA,KAAA,KAAA,CAAA,GAAA,YAAA;AAAA,MAAA,OAAMC,SAAS,CAAA;AAAA,KAAA,GAAA,aAAA;AAC1ByD,IAAAA,WAAW,QAAXA,WAAW;AACXqD,IAAAA,OAAO,QAAPA,OAAO;AACP5C,IAAAA,QAAQ,QAARA,QAAQ;AACR7D,IAAAA,UAAU,QAAVA,UAAU;AACV8E,IAAAA,WAAW,QAAXA,WAAW;AACXC,IAAAA,WAAW,QAAXA,WAAW;AACX2C,IAAAA,OAAO,QAAPA,OAAO;AACPhG,IAAAA,KAAK,QAALA,KAAK;AAAA,IAAA,cAAA,GAAA,IAAA,CACL4B,SAAS;AAATA,IAAAA,SAAS,+BAAG,KAAK,GAAA,cAAA;AACjBxD,IAAAA,SAAS,QAATA,SAAS;AACTC,IAAAA,KAAK,QAALA,KAAK;AACLsD,IAAAA,SAAS,QAATA,SAAS;AACTqD,IAAAA,UAAU,QAAVA,UAAU;AACVlD,IAAAA,qBAAqB,QAArBA,qBAAqB;IAClBvD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAIT,EAAA,IAAA,iBAAA,GAIImI,gBAAgB,CAACrG,KAAK,EAAEuG,eAAe,CAAC;AAHnCW,IAAAA,eAAe,qBAAtBlH,KAAK;AACLkB,IAAAA,OAAO,qBAAPA,OAAO;AACP6F,IAAAA,UAAU,qBAAVA,UAAU,CAAA;AAGZ,EAAA,IAAMrI,YAAY,GAChBgB,KAAK,KAAK/B,SAAS,GACfA,SAAS,GACTuJ,eAAe,CAACnD,IAAI,CAAC,UAAA5E,IAAI,EAAA;AAAA,IAAA,OAAIO,KAAK,KAAKP,IAAI,CAACO,KAAK,CAAA;AAAA,GAAA,CAAC,IAAI,IAAI,CAAA;AAEhE,EAAA,IAAM2H,gBAAgB,GAAGrJ,UAAU,GAAGwG,kBAAkB,GAAG9B,eAAe,CAAA;EAC1E,IAAM4E,eAAe,GAAGtJ,UAAU,GAC9B;AAAE0G,IAAAA,UAAU,EAAEA,UAAU;IAAE6C,IAAI,EAAEtJ,IAAI,CAACsJ,IAAI;IAAE,SAAS,EAAEtJ,IAAI,CAAC,SAAS,CAAA;AAAG,GAAA,GACvE;IAAEsJ,IAAI,EAAEtJ,IAAI,CAACsJ,IAAI;IAAE,SAAS,EAAEtJ,IAAI,CAAC,SAAS,CAAA;GAAG,CAAA;AACnD,EAAA,OACEX,yBAAC,CAAAkC,aAAA,CAAAhC,iBAAiB,EAAA,QAAA,CAAA;AAChBkB,IAAAA,YAAY,EAAEA,YAAY;AAC1Bd,IAAAA,kBAAkB,EAAEmJ,UAAU;AAC9BrJ,IAAAA,QAAQ,EAAEA,QAAQ;AAClBgC,IAAAA,KAAK,EAAEA,KAAK;AACZ7B,IAAAA,wBAAwB,EAAEA,wBAAwB;AAClDC,IAAAA,SAAS,EAAEA,SAAS;AACpBC,IAAAA,KAAK,EAAEA,KAAK;AACZC,IAAAA,UAAU,EAAEA,UAAAA;AAAU,GAAA,EAClBC,IAAI,CAERX,EAAAA,yBAAC,CAAAkC,aAAA,CAAAgG,kBAAkB;AAACC,IAAAA,QAAQ,EAAEA,QAAQ;AAAEC,IAAAA,OAAO,EAAEA,OAAAA;AAAO,GAAA,EACtDpI,yBAAA,CAAAkC,aAAA,CAAC6H,gBAAgB,EAAA,QAAA,CAAA;AACfjI,IAAAA,KAAK,EAAEA,KAAK;AACZY,IAAAA,KAAK,EAAEkH,eAAe;AACtBhG,IAAAA,OAAO,EAAEA,OAAO;AAChBC,IAAAA,WAAW,EAAEA,WAAW;AACxB0B,IAAAA,QAAQ,EAAEA,QAAQ;AAClBhB,IAAAA,QAAQ,EAAEA,QAAQ;AAClBT,IAAAA,WAAW,EAAEA,WAAW;AACxBqD,IAAAA,OAAO,EAAEA,OAAO;AAChB3B,IAAAA,WAAW,EAAEA,WAAW;AACxBC,IAAAA,WAAW,EAAEA,WAAW;AACxB1B,IAAAA,SAAS,EAAEA,SAAS;AACpBC,IAAAA,SAAS,EAAEA,SAAS;AACpBE,IAAAA,qBAAqB,EAAEA,qBAAqB;AAC5CoB,IAAAA,GAAG,EAAEA,GAAAA;GACD0E,EAAAA,eAAe,CACnB,CAAA,CACiB,CACH,CAAA;AAExB,CAAC;;;ACrGUE,IAAAA,cAAc,GAAkC,SAAhDA,cAAc,CAatB,IAAA,EAAA;EAAA,IAZH1J,SAAS,QAATA,SAAS;AAAA,IAAA,aAAA,GAAA,IAAA,CACT+E,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAAA,IAAA,aAAA,GAAA,IAAA,CAChBhB,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAChB7B,IAAAA,KAAK,QAALA,KAAK;AACLmB,IAAAA,WAAW,QAAXA,WAAW;AACXsD,IAAAA,OAAO,QAAPA,OAAO;AACP1G,IAAAA,KAAK,QAALA,KAAK;AACLqB,IAAAA,KAAK,QAALA,KAAK;AACLsG,IAAAA,OAAO,QAAPA,OAAO;AACPD,IAAAA,QAAQ,QAARA,QAAQ;AACRjE,IAAAA,qBAAqB,QAArBA,qBAAqB;IAClBvD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;EAEP,IAA4CmI,iBAAAA,GAAAA,gBAAgB,CAACrG,KAAK,CAAC;AAApDkH,IAAAA,eAAe,qBAAtBlH,KAAK;AAAmBkB,IAAAA,OAAO,qBAAPA,OAAO,CAAA;AAEvC,EAAA,IAAIuG,aAAa,GACfnK,yBAAA,CAAAkC,aAAA,CAACqB,mBAAa,EAAA;AAACL,IAAAA,MAAM,EAAE,IAAI;AAAA,IAAA,aAAA,EAAc,MAAA;AAAM,GAAA,CAChD,CAAA;EACD,IAAIqC,QAAQ,IAAIhB,QAAQ,EAAE;AACxB4F,IAAAA,aAAa,GAAG,IAAI,CAAA;GACrB,MAAM,IAAIvG,OAAO,EAAE;AAClBuG,IAAAA,aAAa,GACXnK,yBAAA,CAAAkC,aAAA,CAACsB,mBAAmB,EAAA;AAAA,MAAA,aAAA,EAAa,MAAA;KAC9B,EAAAK,WAAW,CAEf,CAAA;AACF,GAAA;AACD,EAAA,IAAMuG,gBAAgB,GAAGC,iBAAW,CAAC,qBAAqB,CAAC,CAAA;AAC3D,EAAA,OACErK,wCAACoE,oBAAe,EAAA;AACdmB,IAAAA,QAAQ,EAAEA,QAAQ;AAClBhB,IAAAA,QAAQ,EAAEA,QAAQ;AAClB4C,IAAAA,OAAO,EAAEA,OAAO;AAChB9C,IAAAA,MAAM,EAAE8F,aAAa;AACrB3J,IAAAA,SAAS,EAAEA,SAAS;AACpBC,IAAAA,KAAK,EAAEA,KAAK;AACZqB,IAAAA,KAAK,EAAEA,KAAK;AACZwI,IAAAA,OAAO,EAAEF,gBAAgB;AACzBhC,IAAAA,OAAO,EAAEA,OAAO;AAChBD,IAAAA,QAAQ,EAAEA,QAAQ;AAClBjE,IAAAA,qBAAqB,EAAEA,qBAAqB;AAC5CD,IAAAA,QAAQ,EAAE,IAAA;AAAI,GAAA,EAEdjE,yBACgB,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA;IAAA,cAAA,EAAAkG,OAAO,KAAK,OAAO;AAAA,IAAA,iBAAA,EAChBgC,gBAAgB;AACtB,IAAA,WAAA,EAAAxG,OAAO;AAClBpD,IAAAA,SAAS,EAAC,+BAA+B;IACzC+E,QAAQ,EAAEA,QAAQ,IAAIhB,QAAAA;AAAQ,GAAA,EAC1B5D,IAAI,CAEPiJ,EAAAA,eAAe,CAAC/G,GAAG,CAAC,UAAAhB,IAAI,EAAA;AAAA,IAAA,OACvB7B,yBAAA,CAAAkC,aAAA,CAAA,QAAA,EAAA;MAAQa,GAAG,EAAElB,IAAI,CAACO,KAAK;MAAEA,KAAK,EAAEP,IAAI,CAACO,KAAAA;AAAK,KAAA,EACvCP,IAAI,CAACC,KAAK,CACJ,CAAA;GACV,CAAC,CACK,CACO,CAAA;AAEtB;;;ACpFA,IAAMyI,kBAAkB,gBAAGvK,yBAAK,CAACC,aAAa,CAMpC,IAAI,CAAC,CAAA;AACf,IAAMuK,qBAAqB,GAAG,SAAxBA,qBAAqB,GAAQ;AACjC,EAAA,IAAMlI,OAAO,GAAGtC,yBAAK,CAACuC,UAAU,CAACgI,kBAAkB,CAAC,CAAA;EACpD,IAAI,CAACjI,OAAO,EAAE;AACZ,IAAA,MAAM,IAAIE,KAAK,CAAC,wDAAwD,CAAC,CAAA;AAC1E,GAAA;AACD,EAAA,OAAOF,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,SAAShB,YAAY,CACnBmJ,KAAU;AAAE;AACZC,gBAAqB,EAAA;AAErB,EAAA,IAAQ5J,OAAO,GAAW4J,gBAAgB,CAAlC5J,OAAO;IAAEE,IAAI,GAAK0J,gBAAgB,CAAzB1J,IAAI,CAAA;AACrB,EAAA,QAAQA,IAAI;AACV,IAAA,KAAK2J,mBAAS,CAACzJ,gBAAgB,CAAC0J,gBAAgB,CAAA;AAChD,IAAA,KAAKD,mBAAS,CAACzJ,gBAAgB,CAAC2J,sBAAsB,CAAA;AACtD,IAAA,KAAKF,mBAAS,CAACzJ,gBAAgB,CAAC4J,SAAS;AACvC,MAAA,OAAA,QAAA,CAAA,EAAA,EACKhK,OAAO,EAAA;AACVW,QAAAA,MAAM,EAAE,IAAI;QACZE,gBAAgB,EAAE8I,KAAK,CAAC9I,gBAAAA;AAAgB,OAAA,CAAA,CAAA;AAE5C,IAAA;AACE,MAAA,OAAOb,OAAO,CAAA;AAAC,GAAA;AAErB,CAAA;AAmDaiK,IAAAA,WAAW,GAA+B,SAA1CA,WAAW,CAmBnB,IAAA,EAAA;EAAA,IAlBInE,KAAK,QAAZlE,KAAK;AAAA,IAAA,qBAAA,GAAA,IAAA,CACLsI,kBAAkB;IAAlBA,kBAAkB,GAAA,qBAAA,KAAA,KAAA,CAAA,GAAG,UAAAtI,KAAK,EAAA;MAAA,OAAIuI,kBAAkB,CAACvI,KAAK,CAAC,CAAA;AAAA,KAAA,GAAA,qBAAA;AACvDZ,IAAAA,KAAK,QAALA,KAAK;AACLqG,IAAAA,QAAQ,QAARA,QAAQ;AACRC,IAAAA,OAAO,QAAPA,OAAO;AACP7C,IAAAA,QAAQ,QAARA,QAAQ;AAAA,IAAA,aAAA,GAAA,IAAA,CACRhB,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAAA,IAAA,aAAA,GAAA,IAAA,CAChBnE,QAAQ;AAARA,IAAAA,QAAQ,GAAG,aAAA,KAAA,KAAA,CAAA,GAAA,YAAA;AAAA,MAAA,OAAMC,SAAS,CAAA;AAAA,KAAA,GAAA,aAAA;AAC1BG,IAAAA,SAAS,QAATA,SAAS;AAAA,IAAA,cAAA,GAAA,IAAA,CACTwD,SAAS;AAATA,IAAAA,SAAS,+BAAG,KAAK,GAAA,cAAA;AAAA,IAAA,YAAA,GAAA,IAAA,CACjBJ,OAAO;AAAPA,IAAAA,OAAO,6BAAG,KAAK,GAAA,YAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CACfC,WAAW;AAAXA,IAAAA,WAAW,iCAAG,EAAE,GAAA,gBAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CAChB4B,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AACnBhF,IAAAA,KAAK,QAALA,KAAK;AACLsD,IAAAA,SAAS,QAATA,SAAS;AAAA,IAAA,qBAAA,GAAA,IAAA,CACTmH,oBAAoB;AAApBA,IAAAA,oBAAoB,sCAAG,EAAE,GAAA,qBAAA;AACzBjC,IAAAA,eAAe,QAAfA,eAAe;IACZtI,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAEP,EAAA,IAAA,iBAAA,GAAkBmI,gBAAgB,CAACnC,KAAK,EAAEqC,eAAe,CAAC;AAAlDvG,IAAAA,KAAK,qBAALA,KAAK,CAAA;EACb,IACE6E,SAAAA,GAAAA,cAAQ,CAA+B2D,oBAAoB,CAAC;IADvDC,aAAa,GAAA,SAAA,CAAA,CAAA,CAAA;IAAEC,gBAAgB,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAGtC,EAAA,IAAMC,KAAK,GAAGrL,yBAAK,CAAC0J,WAAW,CAAC,YAAK;IACnC0B,gBAAgB,CAAC,EAAE,CAAC,CAAA;GACrB,EAAE,EAAE,CAAC,CAAA;EAEN,SAASE,UAAU,CAACC,oBAAgD,EAAA;AAClE,IAAA,OAAOJ,aAAa,CAACK,IAAI,CACvB,UAAAC,QAAQ,EAAA;AAAA,MAAA,OAAIA,QAAQ,CAACrJ,KAAK,KAAKmJ,oBAAoB,CAACnJ,KAAK,CAAA;KAC1D,CAAA,CAAA;AACH,GAAA;AAEA,EAAA,IAAA,UAAA,GAQIuI,mBAAS,CAAA,QAAA,CAAA;AACXjI,MAAAA,KAAK,EAALA,KAAK;AACLpB,MAAAA,YAAY,EAAZA,YAAY;AACZF,MAAAA,YAAY,EAAE,IAAI;AAClBsK,MAAAA,oBAAoB,EAAE,SAAqB,oBAAA,CAAA,KAAA,EAAA;QAAA,IAAlBtK,YAAY,SAAZA,YAAY,CAAA;QACnC,IAAI,CAACA,YAAY,EAAE;AACjB,UAAA,OAAA;AACD,SAAA;AACD,QAAA,IAAMuK,WAAW,GAAGL,UAAU,CAAClK,YAAY,CAAC,CAAA;AAC5C,QAAA,IAAIuK,WAAW,EAAE;AACf,UAAA,IAAMC,cAAc,GAAGT,aAAa,CAAChF,MAAM,CACzC,UAAAtE,IAAI,EAAA;AAAA,YAAA,OAAIA,IAAI,CAACO,KAAK,KAAKhB,YAAY,CAACgB,KAAK,CAAA;WAC1C,CAAA,CAAA;UACDgJ,gBAAgB,CAACQ,cAAc,CAAC,CAAA;UAChCxL,QAAQ,CAACwL,cAAc,CAAC,CAAA;AACzB,SAAA,MAAM;AACL,UAAA,IAAMA,eAAc,GAAA,EAAA,CAAA,MAAA,CAAOT,aAAa,EAAA,CAAE/J,YAAY,CAAC,CAAA,CAAA;UACvDgK,gBAAgB,CAACQ,eAAc,CAAC,CAAA;UAChCxL,QAAQ,CAACwL,eAAc,CAAC,CAAA;AACzB,SAAA;AACH,OAAA;AAAC,KAAA,EACEjL,IAAI,CACP,CAAA;AA7BAc,IAAAA,MAAM,cAANA,MAAM;AACN4B,IAAAA,oBAAoB,cAApBA,oBAAoB;AACpBc,IAAAA,aAAa,cAAbA,aAAa;AACbvB,IAAAA,YAAY,cAAZA,YAAY;AACZjB,IAAAA,gBAAgB,cAAhBA,gBAAgB;AAChBgB,IAAAA,YAAY,cAAZA,YAAY;AACZgD,IAAAA,QAAQ,cAARA,QAAQ,CAAA;EAwBV,IAAMkG,UAAU,GAAGV,aAAa,CAACtF,MAAM,GACnCmF,kBAAkB,CAACG,aAAa,CAAC,GACjC,EAAE,CAAA;AACN,EAAA,IAAMW,aAAa,GAAGzB,iBAAW,CAAC,iBAAiB,CAAC,CAAA;AAEpD,EAAA,OACErK,yBAAC,CAAAkC,aAAA,CAAAqI,kBAAkB,CAACpI,QAAQ,EAAA;AAC1BC,IAAAA,KAAK,EAAE;AAAEX,MAAAA,MAAM,EAANA,MAAM;AAAE4J,MAAAA,KAAK,EAALA,KAAK;AAAEhI,MAAAA,oBAAoB,EAApBA,oBAAoB;AAAEsC,MAAAA,QAAQ,EAARA,QAAQ;AAAEF,MAAAA,WAAW,EAAXA,WAAAA;AAAa,KAAA;AAAA,GAAA,EAErEzF,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;IACE1B,SAAS,EAAEyB,8BAAU,CACnB,iBAAiB,EACjB,sBAAsB,EACtBzB,SAAS,CACV;AACDC,IAAAA,KAAK,EAAEA,KAAAA;AAAK,GAAA,EAEZT,yBAAA,CAAAkC,aAAA,CAACkC,oBAAe,EAAA;AACdtC,IAAAA,KAAK,EAAEA,KAAK;AACZwI,IAAAA,OAAO,EAAEwB,aAAa;IACtBtH,UAAU,EAAKL,aAAa,EAAE;AAC9BgE,IAAAA,QAAQ,EAAEA,QAAQ;AAClBC,IAAAA,OAAO,EAAEA,OAAO;AAChBnE,IAAAA,QAAQ,EAAEkH,aAAa,CAACtF,MAAM,GAAG,CAAC,IAAIpE,MAAM;AAC5C8D,IAAAA,QAAQ,EAAEA,QAAQ;AAClBhB,IAAAA,QAAQ,EAAEA,QAAQ;AAClBF,IAAAA,MAAM,EACJrE,yBAAA,CAAAkC,aAAA,CAACoC,UAAQ,EAAA;AACPyH,MAAAA,WAAW,EAAE/H,SAAS,IAAImH,aAAa,CAACtF,MAAM,GAAG,CAAC;AAClDjC,MAAAA,OAAO,EAAEA,OAAO;AAChBC,MAAAA,WAAW,EAAEA,WAAW;AACxBU,MAAAA,QAAQ,EAAEA,QAAAA;KACV,CAAA;GAAA,EAGJvE,yBAAA,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EACMmB,oBAAoB,CAAC;AACvB5C,IAAAA,KAAK,EAAE;AACLqF,MAAAA,SAAS,EAAE,MAAA;KACZ;AACD9E,IAAAA,IAAI,EAAE,QAAQ;AACdR,IAAAA,SAAS,EAAE,0CAAA;GACZ,CAAC,CAEDqL,EAAAA,UAAU,CACJ,CACO,EAClB7L,yBAAA,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AACE1B,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,mBAAmB,EAAE;AACzC,MAAA,yBAAyB,EAAER,MAAAA;KAC5B,CAAA;AAAC,GAAA,EACEmB,YAAY,CAAC;IACfnC,KAAK,EAAA,QAAA,CAAA;AACHgE,MAAAA,QAAQ,EAAE,UAAU;AACpBC,MAAAA,GAAG,EAAKC,YAAK,CAACC,WAAW,GAAGD,YAAK,CAACE,UAAU,GAAA,IAAA;AAAI,KAAA,EAC7Cd,SAAS,CAAA;GAEf,CAAC,CAEDtC,EAAAA,MAAM,IACLiB,KAAK,CAACG,GAAG,CAAC,UAAChB,IAAI,EAAEiB,KAAK,EAAA;AAAA,IAAA,OACpB9C,yBACE,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA1B,MAAAA,SAAS,EAAEyB,8BAAU,CAAC,yBAAyB,EAAE;QAC/C,sCAAsC,EACpCN,gBAAgB,KAAKmB,KAAK;QAC5B,mCAAmC,EAAEwI,UAAU,CAACzJ,IAAI,CAAA;AACrD,OAAA,CAAC;AACFkB,MAAAA,GAAG,EAAKlB,EAAAA,GAAAA,IAAI,CAACO,KAAK,GAAGU,KAAAA;AAAO,KAAA,EACxBH,YAAY,CAAC;AACfd,MAAAA,IAAI,EAAJA,IAAI;AACJiB,MAAAA,KAAK,EAALA,KAAAA;AACD,KAAA,CAAC,EAAA;AACFrC,MAAAA,KAAK,EAAE;AAAEuL,QAAAA,OAAO,EAAE,MAAA;AAAQ,OAAA;AAAA,KAAA,CAAA,EAE1BhM,yBAAA,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAMzB,MAAAA,KAAK,EAAE;AAAEuL,QAAAA,OAAO,EAAE,MAAA;AAAQ,OAAA;AAAA,KAAA,EAC9BhM,yBAAA,CAAAkC,aAAA,CAAA,MAAA,EAAA;AACE1B,MAAAA,SAAS,EAAEyB,8BAAU,CAAC,0BAA0B,EAAE;QAChD,mCAAmC,EAAEqJ,UAAU,CAACzJ,IAAI,CAAA;OACrD,CAAA;AAAC,KAAA,EAEF7B,yBAAC,CAAAkC,aAAA,CAAA+J,YAAY,OAAG,CACX,EACPjM,yBAAM,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAA1B,MAAAA,SAAS,EAAC,6BAAA;AAA6B,KAAA,EAC1CqB,IAAI,CAACC,KAAK,CACN,CACF,EACND,IAAI,CAACmB,KAAK,IACThD,yBACG,CAAAkC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAAL,IAAI,CAACmB,KAAK,CAACH,GAAG,CAAC,UAACI,IAAI,EAAEH,KAAK,EAAA;AAAA,MAAA,OAC1B9C,yBAAC,CAAAkC,aAAA,CAAAe,IAAI;AACHF,QAAAA,GAAG,EAAED,KAAK;AACVI,QAAAA,MAAM;AACN1C,QAAAA,SAAS,EAAC,8BAAA;AACV,OAAA,CAAA,CAAA;KACH,CAAC,CAEL,CACE,CAAA;GACN,CAAC,CACD,CACD,CACsB,CAAA;AAElC,EAAC;AAED,IAAMsE,WAAW,GAAqC,SAAhDA,WAAW,CAAsD,KAAA,EAAA;AAAA,EAAA,IAAXC,KAAK,GAAA,QAAA,CAAA,EAAA,GAAA,yBAAA,CAAA,KAAA,CAAA,EAAA,KAAA,EAAA,CAAA;AAC/D,EAAA,IAAA,qBAAA,GAAkByF,qBAAqB,EAAE;AAAjCa,IAAAA,KAAK,yBAALA,KAAK,CAAA;AACb,EAAA,OACErL,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACEjF,yBACE,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA;AAAA1B,IAAAA,SAAS,EAAC,4BAA4B;AACtCQ,IAAAA,IAAI,EAAC,QAAQ;IACbsC,QAAQ,EAAE,CAAC,CAAC;AACZ4B,IAAAA,OAAO,EAAE,SAAA,OAAA,GAAA;AAAA,MAAA,OAAMmG,KAAK,EAAE,CAAA;AAAA,KAAA;AAAA,GAAA,EAClBtG,KAAK,CAET/E,EAAAA,yBAAC,CAAAkC,aAAA,CAAAgK,eAAS,OAAG,CACN,EACTlM,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,uBAAA;AAA8B,GAAA,CAAA,CAC5C,CAAA;AAEP,CAAC,CAAA;AAED,IAAM8D,UAAQ,GAKT,SALCA,QAAQ,CAK2C,KAAA,EAAA;EAAA,IAAjDV,OAAO,SAAPA,OAAO;AAAEC,IAAAA,WAAW,SAAXA,WAAW;AAAEU,IAAAA,QAAQ,SAARA,QAAQ;AAAEwH,IAAAA,WAAW,SAAXA,WAAW,CAAA;AACjD,EAAA,IAAInI,OAAO,EAAE;IACX,OAAO5D,yBAAC,CAAAkC,aAAA,CAAAsB,mBAAmB,EAAE,IAAA,EAAAK,WAAW,CAAuB,CAAA;AAChE,GAAA;AACD,EAAA,IAAIU,QAAQ,EAAE;AACZ,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AACD,EAAA,OAAOwH,WAAW,GAChB/L,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACEjF,yBAAA,CAAAkC,aAAA,CAAC4C,WAAW,EAAe,IAAA,CAAA,EAC3B9E,yBAAA,CAAAkC,aAAA,CAACkB,oBAAoB,EAAA,IAAA,CAAG,CACvB,GAEHpD,yBAAC,CAAAkC,aAAA,CAAAkB,oBAAoB,EAAG,IAAA,CACzB,CAAA;AACH,CAAC,CAAA;AAED,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoB,GAAQ;AAChC,EAAA,IAAA,sBAAA,GACEoH,qBAAqB,EAAE;AADjBnH,IAAAA,oBAAoB,0BAApBA,oBAAoB;AAAE5B,IAAAA,MAAM,0BAANA,MAAM;AAAEkE,IAAAA,QAAQ,0BAARA,QAAQ;AAAEF,IAAAA,WAAW,0BAAXA,WAAW,CAAA;AAE3D,EAAA,OACEzF,yBACM,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAAmB,oBAAoB,CAAC;AACvB7C,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,6BAA6B,EAAE;AACnD,MAAA,mCAAmC,EAAER,MAAAA;KACtC,CAAC;AACFiF,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZ,MAAA,IAAIjB,WAAW,EAAE;AACfE,QAAAA,QAAQ,EAAE,CAAA;AACX,OAAA;AACH,KAAA;GACD,CAAC,EAAA;AACF3E,IAAAA,IAAI,EAAC,QAAA;GAELhB,CAAAA,EAAAA,yBAAA,CAAAkC,aAAA,CAACqB,mBAAa,EAAA,IAAA,CAAG,CACV,CAAA;AAEb,CAAC,CAAA;AAED,IAAM0I,YAAY,GAAa,SAAzBA,YAAY,GAAkB;AAClC,EAAA,OACEjM,yBACE,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAA1B,IAAAA,SAAS,EAAC,mBAAmB;AAC7B2L,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,KAAK;AACZC,IAAAA,OAAO,EAAC,YAAA;AAAY,GAAA,EAEpBrM,yBAAA,CAAAkC,aAAA,CAAA,MAAA,EAAA;AACE1B,IAAAA,SAAS,EAAC,yBAAyB;AACnC8L,IAAAA,CAAC,EAAC,8BAA8B;AAChCC,IAAAA,IAAI,EAAC,MAAA;AACL,GAAA,CAAA,CACE,CAAA;AAEV,CAAC,CAAA;AAED,SAAStB,kBAAkB,CAACvI,KAAmC,EAAA;EAC7D,OAAOA,KAAK,CAACmD,MAAM,GAAG,CAAC,GACnBnD,KAAK,CAACG,GAAG,CAAC,UAAAhB,IAAI,EAAA;IAAA,OAAIA,IAAI,CAACC,KAAK,CAAA;AAAA,GAAA,CAAC,CAAC0K,QAAQ,EAAE,GACrC9J,KAAK,CAACmD,MAAM,GAAkB,kBAAA,CAAA;AACvC;;;ACzUO,IAAMpD,YAAY,GAAG,SAAfA,YAAY,CASD,IAAA,EAAA;EAAA,IARtBrB,YAAY,QAAZA,YAAY;AACZK,IAAAA,MAAM,QAANA,MAAM;AACNmB,IAAAA,YAAY,QAAZA,YAAY;AACZD,IAAAA,YAAY,QAAZA,YAAY;AACZiF,IAAAA,aAAa,QAAbA,aAAa;AACbjG,IAAAA,gBAAgB,QAAhBA,gBAAgB;AAChBoC,IAAAA,SAAS,QAATA,SAAS;IACNpD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAEP,EAAA,OACEZ,yBACE,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA1B,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,+BAA+B,EAAE;AACrD,MAAA,qCAAqC,EAAER,MAAAA;KACxC,CAAA;AAAC,GAAA,EACEmB,YAAY,EAAE,EAAA;AAClBnC,IAAAA,KAAK,EAAOE,QAAAA,CAAAA,EAAAA,EAAAA,IAAI,CAACF,KAAK,EAAKsD,SAAS,CAAA;GAEnCtC,CAAAA,EAAAA,MAAM,GACHmG,aAAa,CAAC/E,GAAG,CAAC,UAAChB,IAAI,EAAEiB,KAAK,EAAA;AAAA,IAAA;AAC5B;MACA9C,yBAAA,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AACE1B,QAAAA,SAAS,EAAEyB,8BAAU,CAAC,qCAAqC,EAAE;UAC3D,kDAAkD,EAChDN,gBAAgB,KAAKmB,KAAK;UAC5B,+CAA+C,EAC7C,CAAA1B,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEgB,KAAK,MAAKP,IAAI,CAACO,KAAAA;SAChC,CAAA;AAAC,OAAA,EACEO,YAAY,CAAC;AAAEI,QAAAA,GAAG,EAAKD,EAAAA,GAAAA,KAAK,GAAGjB,IAAI,CAACO,KAAO;AAAEP,QAAAA,IAAI,EAAJA,IAAI;AAAEiB,QAAAA,KAAK,EAALA,KAAAA;OAAO,CAAC,CAE/D9C,EAAAA,yBAAO,CAAAkC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAAL,IAAI,CAACC,KAAK,CAAQ,EACxBD,IAAI,CAACmB,KAAK,IACThD,sDACG6B,IAAI,CAACmB,KAAK,CAACH,GAAG,CAAC,UAACI,IAAI,EAAEH,KAAK,EAAA;AAAA,QAAA,OAC1B9C,wCAACiD,IAAI,EAAA;AACHF,UAAAA,GAAG,EAAED,KAAK;AACVI,UAAAA,MAAM,EACN,IAAA;AAAA1C,UAAAA,SAAS,EAAC,0CAAA;AAA0C,SAAA,CACpD,CAAA;OACH,CAAC,CAEL,EACA,CAAAY,YAAY,IAAZA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEgB,KAAK,MAAKP,IAAI,CAACO,KAAK,IAAIpC,yBAAA,CAAAkC,aAAA,CAACiB,eAAS,EAAA,IAAA,CAAG,CAAA;AACjD,MAAA;GACN,CAAC,GACF,IAAI,CACL,CAAA;AAET,CAAC;;;AC9DD,SAASsJ,mBAAmB,CAC1B5K,IAAgC,EAChC+E,KAAyB,EAAA;EAEzB,IAAI,CAACA,KAAK,EAAE;AACV,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;EACD,IAAMC,wBAAwB,GAAGD,KAAK,CAACE,OAAO,CAC5C,uBAAuB,EACvB,MAAM,CACP,CAAA;EACD,IAAMC,UAAU,GAAG,IAAIC,MAAM,CAACH,wBAAwB,EAAE,GAAG,CAAC,CAAA;AAC5D,EAAA,OAAOE,UAAU,CAACE,IAAI,CAACpF,IAAI,CAACC,KAAK,CAAC,CAAA;AACpC,CAAA;AAoCA;AACA;AAEa4K,IAAAA,sBAAsB,GAAG,SAAzBA,sBAAsB,CAcL,IAAA,EAAA;AAAA,EAAA,IAAA,mBAAA,CAAA;EAAA,IAb5BhK,KAAK,QAALA,KAAK;AACSN,IAAAA,KAAK,QAAnBhB,YAAY;AACZhB,IAAAA,QAAQ,QAARA,QAAQ;AACR0B,IAAAA,KAAK,QAALA,KAAK;AACLgC,IAAAA,WAAW,QAAXA,WAAW;AAAA,IAAA,cAAA,GAAA,IAAA,CACXE,SAAS;AAATA,IAAAA,SAAS,+BAAG,KAAK,GAAA,cAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CACjByB,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AAAA,IAAA,aAAA,GAAA,IAAA,CACnBkH,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAChBxE,IAAAA,QAAQ,QAARA,QAAQ;AAAA,IAAA,YAAA,GAAA,IAAA,CACRC,OAAO;AAAPA,IAAAA,OAAO,6BAAG,MAAM,GAAA,YAAA;AAChB5H,IAAAA,SAAS,QAATA,SAAS;AACTuD,IAAAA,SAAS,QAATA,SAAS;IACNpD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AAEP,EAAA,IAAA,eAAA,GAA0CX,yBAAK,CAACuH,QAAQ,CAAC7E,KAAK,CAAC;IAAxDkF,aAAa,GAAA,eAAA,CAAA,CAAA,CAAA;IAAEgF,gBAAgB,GAAA,eAAA,CAAA,CAAA,CAAA,CAAA;EACtC,IAAgDrF,SAAAA,GAAAA,cAAQ,CAAC,KAAK,CAAC;IAAxDC,gBAAgB,GAAA,SAAA,CAAA,CAAA,CAAA;IAAEC,mBAAmB,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAMC,QAAQ,GAAGC,YAAM,CAAmB,IAAI,CAAC,CAAA;EAE/C,IAAMrG,YAAY,GAAGtB,yBAAK,CAAC0J,WAAW,CAAC,UAACnI,CAAC,EAAEmJ,gBAAgB,EAAI;AAC7D,IAAA,IAAQ1J,IAAI,GAAc0J,gBAAgB,CAAlC1J,IAAI;MAAEF,OAAO,GAAK4J,gBAAgB,CAA5B5J,OAAO,CAAA;AAErB,IAAA,QAAQE,IAAI;AACV,MAAA,KAAK6L,qBAAW,CAAC3L,gBAAgB,CAAC4J,SAAS,CAAA;AAC3C,MAAA,KAAK+B,qBAAW,CAAC3L,gBAAgB,CAAC4L,iBAAiB,CAAA;AACnD,MAAA,KAAKD,qBAAW,CAAC3L,gBAAgB,CAAC6L,SAAS,CAAA;AAC3C,MAAA,KAAKF,qBAAW,CAAC3L,gBAAgB,CAAC8L,iCAAiC;AACjE,QAAA,OAAA,QAAA,CAAA,EAAA,EACKlM,OAAO,EAENA,OAAO,CAACM,YAAY,IAAI;AAC1BC,UAAAA,UAAU,EAAE,EAAA;SACb,CAAA,CAAA;AAEL,MAAA;AACE,QAAA,OAAOP,OAAO,CAAA;AAAC,KAAA;GAEpB,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,IAAA,YAAA,GAYI+L,qBAAW,CAAA,QAAA,CAAA;AACbvM,MAAAA,kBAAkB,EAAe,SAAA,kBAAA,CAAA,KAAA,EAAA;QAAA,IAAZe,UAAU,SAAVA,UAAU,CAAA;AAC7BuL,QAAAA,gBAAgB,CACdlK,KAAK,CAACyD,MAAM,CAAC,UAAAtE,IAAI,EAAA;AAAA,UAAA,OAAI4K,mBAAmB,CAAC5K,IAAI,EAAER,UAAU,CAAC,CAAA;AAAA,SAAA,CAAC,CAC5D,CAAA;OACF;AACDqB,MAAAA,KAAK,EAAEkF,aAAa;MACpBhG,YAAY,EAAA,SAAA,YAAA,CAACC,IAAI,EAAA;AACf,QAAA,IAAIA,IAAI,EAAE,OAAOA,IAAI,CAACO,KAAK,CAAA;AAC3B,QAAA,OAAO,EAAE,CAAA;OACV;AACDd,MAAAA,YAAY,EAAZA,YAAY;AACZF,MAAAA,YAAY,EAAEgB,KAAK;AACnBsJ,MAAAA,oBAAoB,EAAE,SAAA,oBAAA,CAAA,KAAA,EAAA;QAAA,IAAiBuB,eAAe,SAA7B7L,YAAY,CAAA;AAAA,QAAA,OACnChB,QAAQ,CAAC6M,eAAe,WAAfA,eAAe,GAAI,IAAI,CAAC,CAAA;AAAA,OAAA;AAAA,KAAA,EAChCtM,IAAI,CACP,CAAA;AA3BAc,IAAAA,MAAM,gBAANA,MAAM;AACN4B,IAAAA,oBAAoB,gBAApBA,oBAAoB;AACpBc,IAAAA,aAAa,gBAAbA,aAAa;AACbvB,IAAAA,YAAY,gBAAZA,YAAY;AACZyE,IAAAA,aAAa,gBAAbA,aAAa;AACb6F,IAAAA,gBAAgB,gBAAhBA,gBAAgB;AAChBvL,IAAAA,gBAAgB,gBAAhBA,gBAAgB;AAChBgB,IAAAA,YAAY,gBAAZA,YAAY;AACZvB,IAAAA,YAAY,gBAAZA,YAAY;AACZuE,IAAAA,QAAQ,gBAARA,QAAQ;AACRtE,IAAAA,UAAU,gBAAVA,UAAU,CAAA;AAmBZ,EAAA,OACErB,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,kCAAA;AAAkC,GAAA,EAC/CR,yBAAA,CAAAkC,aAAA,CAACkC,oBAAe,EAAA,QAAA,CAAA;AACdC,IAAAA,MAAM,EACJrE,yBAAC,CAAAkC,aAAA,CAAAoC,QAAQ;AACPlD,MAAAA,YAAY,EAAEA,YAAY;AAC1BK,MAAAA,MAAM,EAAEA,MAAM;AACduC,MAAAA,SAAS,EAAEA,SAAS;AACpBJ,MAAAA,OAAO,EAAE,KAAK;AACdC,MAAAA,WAAW,EAAE,EAAE;AACfU,MAAAA,QAAQ,EAAEoI,QAAQ;AAClBvM,MAAAA,QAAQ,EAAEA,QAAQ;AAClBiD,MAAAA,oBAAoB,EAAEA,oBAAAA;AAAoB,KAAA,CAC1C;AAEJ7C,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,yBAAyB,EAAEzB,SAAS,CAAC;AAC3DsB,IAAAA,KAAK,EAAEA,KAAK;AACZmC,IAAAA,QAAQ,EAAE7C,YAAY,GAAG,IAAI,GAAG,KAAK;AACrC+G,IAAAA,QAAQ,EAAEA,QAAQ;AAClBC,IAAAA,OAAO,EAAEA,OAAO;AAChB7D,IAAAA,QAAQ,EAAEoI,QAAQ;AAClBnI,IAAAA,UAAU,EAAEL,aAAa,EAAA;AAAE,GAAA,EACvB+I,gBAAgB,EAAE,EAClBvM,IAAI,CAEP,EAAA,CAAC6G,gBAAgB,IAAIpG,YAAY,IAAI,CAACC,UAAU,IAC/CrB,yBAAA,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAM1B,IAAAA,SAAS,EAAC,iDAAA;AAAiD,GAAA,EAC/DR,yBACE,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAA1B,IAAAA,SAAS,EAAC,wCAAwC;AAClD0E,IAAAA,OAAO,EAAE,SAAA,OAAA,GAAA;AAAA,MAAA,IAAA,iBAAA,CAAA;AAAA,MAAA,OAAA,CAAA,iBAAA,GAAMwC,QAAQ,CAACI,OAAO,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAA,iBAAA,CAAkBC,KAAK,EAAE,CAAA;AAAA,KAAA;GAAA,EAEvC3G,YAAY,CAACU,KAAK,CACd,CAEV,EACD9B,yBAAA,CAAAkC,aAAA,CAAA,OAAA,EAAA,QAAA,CAAA;AACE4B,IAAAA,WAAW,yBAAE1C,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEU,KAAK,kCAAIgC,WAAW;AAC/CtD,IAAAA,SAAS,EAAC,iDAAA;AAAiD,GAAA,EACvD6G,aAAa,CAAC;AAChBX,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZ,MAAA,IAAI,CAACjF,MAAM,IAAIgE,WAAW,EAAEE,QAAQ,EAAE,CAAA;MACtC8B,mBAAmB,CAAC,IAAI,CAAC,CAAA;KAC1B;AACDO,IAAAA,MAAM,EAAE,SAAK,MAAA,GAAA;MACXP,mBAAmB,CAAC,KAAK,CAAC,CAAA;KAC3B;AACDnC,IAAAA,GAAG,EAAEoC,QAAAA;GACN,CAAC,EACF,CACc,EAClB1H,yBAAA,CAAAkC,aAAA,CAACO,YAAY,EAAA;AACXrB,IAAAA,YAAY,EAAEA,YAAY;AAC1BK,IAAAA,MAAM,EAAEA,MAAM;AACdmG,IAAAA,aAAa,EAAEA,aAAa;AAC5BjG,IAAAA,gBAAgB,EAAEA,gBAAgB;AAClCoC,IAAAA,SAAS,EAAEA,SAAS;AACpBnB,IAAAA,YAAY,EAAEA,YAAY;AAC1BD,IAAAA,YAAY,EAAEA,YAAAA;AACd,GAAA,CAAA,CACE,CAAA;AAEV,EAAC;AAED,IAAM2B,QAAQ,GAWT,SAXCA,QAAQ,CAkBT,KAAA,EAAA;EAAA,IANHN,SAAS,SAATA,SAAS;AACTO,IAAAA,QAAQ,SAARA,QAAQ;AACRlB,IAAAA,oBAAoB,SAApBA,oBAAoB;AACpBjC,IAAAA,YAAY,SAAZA,YAAY;AACZK,IAAAA,MAAM,SAANA,MAAM;AACNrB,IAAAA,QAAQ,SAARA,QAAQ,CAAA;AAER;AACA;AACA;AACA;AACA,EAAA,IAAImE,QAAQ,EAAE;AACZ,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AACD,EAAA,OACEvE,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAKzB,IAAAA,KAAK,EAAE;AAAEuL,MAAAA,OAAO,EAAE,MAAM;AAAEmB,MAAAA,UAAU,EAAE,QAAA;AAAU,KAAA;GAAA,EAClDnJ,SAAS,IAAI5C,YAAY,IACxBpB,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACEjF,yBAAC,CAAAkC,aAAA,CAAAkL,iBAAU;AACT5M,IAAAA,SAAS,EAAC,gDAAgD;AAC1DQ,IAAAA,IAAI,EAAC,QAAQ;IACbsC,QAAQ,EAAE,CAAC,CAAC;AACZ4B,IAAAA,OAAO,EAAE,SAAA,OAAA,GAAA;MAAA,OAAM9E,QAAQ,CAAC,IAAI,CAAC,CAAA;AAAA,KAAA;AAAA,GAAA,EAE7BJ,yBAAC,CAAAkC,aAAA,CAAAiD,oBAAc,OAAG,CACP,EACbnF,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,2CAAA;GAA2C,CAAG,CAEhE,EACDR,yBAAC,CAAAkC,aAAA,CAAAkL,iBAAU,EACL/J,QAAAA,CAAAA,EAAAA,EAAAA,oBAAoB,CAAC;AACvB7C,IAAAA,SAAS,EAAEyB,8BAAU,CACnB,iDAAiD,EACjD;AACE,MAAA,uDAAuD,EAAER,MAAAA;KAC1D,CAAA;GAEJ,CAAC,EAAA;IACF6B,QAAQ,EAAE,CAAC,CAAC;AACZtC,IAAAA,IAAI,EAAC,QAAA;GAELhB,CAAAA,EAAAA,yBAAA,CAAAkC,aAAA,CAACqB,mBAAa,EAAA,IAAA,CAAG,CACN,CACT,CAAA;AAEV,CAAC;;AC5PD8J,4BAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"dropdown.cjs.development.js","sources":["../src/DownshiftProvider.tsx","../src/DropdownList.tsx","../src/DropdownToggleButton.tsx","../src/DropdownLoadingDots.tsx","../src/BaseDropdown.tsx","../src/RegularDropdown.tsx","../src/SearchableDropdown.tsx","../src/DropdownInputGroup.tsx","../src/useNormalizedItems.ts","../src/useResolvedItems.ts","../src/Dropdown.tsx","../src/NativeDropdown.tsx","../src/MultiSelect.tsx","../src/beta/components/DropdownList.tsx","../src/beta/utils.ts","../src/beta/components/FieldComponents.tsx","../src/beta/SearchableDropdown.tsx","../src/beta/MultiSelect.tsx","../src/beta/Dropdown.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\nimport Downshift, {\n ControllerStateAndHelpers,\n DownshiftState,\n StateChangeOptions,\n} from 'downshift';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport classNames from 'classnames';\n\nconst DownshiftContext =\n React.createContext<ControllerStateAndHelpers<NormalizedDropdownItemType> | null>(\n null,\n );\n\nexport type DownshiftProviderProps = {\n onChange?: (\n selectedItem: NormalizedDropdownItemType,\n stateAndHelpers: ControllerStateAndHelpers<NormalizedDropdownItemType>,\n ) => void;\n onInputValueChange?: (value: string) => void;\n inputValue?: string;\n initialSelectedItem?: NormalizedDropdownItemType;\n highlightFirstItemOnOpen?: boolean;\n className?: string;\n style?: React.CSSProperties;\n searchable?: boolean;\n [key: string]: any;\n};\nexport const DownshiftProvider: React.FC<DownshiftProviderProps> = ({\n children,\n onChange = () => undefined,\n onInputValueChange = () => undefined,\n highlightFirstItemOnOpen = false,\n className,\n style,\n searchable = false,\n ...rest\n}) => {\n const handleStateChange = (\n changes: any,\n stateAndHelpers: ControllerStateAndHelpers<NormalizedDropdownItemType>,\n ) => {\n if (\n changes.type ===\n Downshift.stateChangeTypes.controlledPropUpdatedSelectedItem\n ) {\n return;\n }\n if ('selectedItem' in changes) {\n onChange(changes.selectedItem, stateAndHelpers);\n } else if ('inputValue' in changes) {\n onInputValueChange(changes.inputValue);\n }\n };\n\n const stateReducer = (\n _: DownshiftState<NormalizedDropdownItemType>,\n changes: StateChangeOptions<NormalizedDropdownItemType>,\n ): Partial<StateChangeOptions<NormalizedDropdownItemType>> => {\n const highlightFirstOnOpen =\n highlightFirstItemOnOpen && 'isOpen' in changes && changes.isOpen;\n const highlightFirstItemIndex: Partial<\n StateChangeOptions<NormalizedDropdownItemType>\n > = highlightFirstOnOpen ? { highlightedIndex: 0 } : {};\n\n if (searchable) {\n const { type } = changes;\n\n switch (type) {\n case '__autocomplete_change_input__':\n return {\n // return normal changes.\n ...changes,\n ...highlightFirstItemIndex,\n };\n case '__autocomplete_click_item__':\n case '__autocomplete_keydown_enter__':\n case '__autocomplete_blur_input__':\n case '__autocomplete_mouseup__':\n return {\n ...changes,\n // if we had an item highlighted in the previous state.\n // we will reset input field value to blank\n inputValue: '',\n ...highlightFirstItemIndex,\n };\n default:\n return {\n ...changes,\n ...highlightFirstItemIndex,\n };\n }\n } else {\n return { ...changes, ...highlightFirstItemIndex };\n }\n };\n\n return (\n <Downshift\n itemToString={item => (item ? item.label : '')}\n onStateChange={handleStateChange}\n stateReducer={stateReducer}\n {...rest}\n >\n {args => (\n <div className={classNames('eds-input-group', className)} style={style}>\n {/* This div is required by Downshift */}\n <DownshiftContext.Provider value={args}>\n {children}\n </DownshiftContext.Provider>\n </div>\n )}\n </Downshift>\n );\n};\n\nexport const useDownshift: () => ControllerStateAndHelpers<NormalizedDropdownItemType> =\n () => {\n const context = React.useContext(DownshiftContext);\n if (!context) {\n throw new Error('You need to wrap your component in a DownshiftProvider');\n }\n return context;\n };\n","import React from 'react';\nimport classNames from 'classnames';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { useDownshift } from './DownshiftProvider';\nimport { CheckIcon } from '@entur/icons';\nimport './DropdownList.scss';\n\nexport type DropdownListProps = {\n items: NormalizedDropdownItemType[];\n [key: string]: any;\n};\n\nexport const DropdownList: React.FC<DropdownListProps> = ({\n items,\n ...rest\n}) => {\n const { highlightedIndex, isOpen, selectedItem, getItemProps, getMenuProps } =\n useDownshift();\n\n return (\n <ul\n className={classNames('eds-dropdown-list', {\n 'eds-dropdown-list--open': isOpen,\n })}\n {...getMenuProps()}\n {...rest}\n >\n {isOpen\n ? items.map((item, index) => (\n // eslint-disable-next-line react/jsx-key\n <li\n className={classNames('eds-dropdown-list__item', {\n 'eds-dropdown-list__item--highlighted':\n highlightedIndex === index,\n 'eds-dropdown-list__item--selected': selectedItem === item,\n })}\n {...getItemProps({ key: `${index}${item.value}`, item, index })}\n >\n <span>{item.label}</span>\n {item.icons && (\n <span>\n {item.icons.map((Icon, index) => (\n <Icon\n key={index}\n inline\n className=\"eds-dropdown-list__item-icon\"\n />\n ))}\n </span>\n )}\n {selectedItem === item && <CheckIcon />}\n </li>\n ))\n : null}\n </ul>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { DownArrowIcon } from '@entur/icons';\nimport { useDownshift } from './DownshiftProvider';\nimport './DropdownToggleButton.scss';\n\nexport const DropdownToggleButton: () => JSX.Element = () => {\n const { getToggleButtonProps, isOpen } = useDownshift();\n return (\n <button\n {...getToggleButtonProps({\n className: classNames('eds-dropdown__toggle-button', {\n 'eds-dropdown__toggle-button--open': isOpen,\n }),\n })}\n tabIndex=\"-1\"\n type=\"button\"\n >\n <DownArrowIcon />\n </button>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { VisuallyHidden } from '@entur/a11y';\nimport { LoadingDots } from '@entur/loader';\nimport './InlineSpinner.scss';\n\nexport type InlineSpinnerType = {\n /** Ekstra klassenavn */\n className?: string;\n /** Tekst for skjermlesere */\n children: string;\n [key: string]: any;\n};\nexport const DropdownLoadingDots: React.FC<InlineSpinnerType> = ({\n className,\n children,\n ...rest\n}) => (\n <div className={classNames('eds-inline-spinner', className)} {...rest}>\n <LoadingDots />\n <VisuallyHidden>{children}</VisuallyHidden>\n </div>\n);\n","import React from 'react';\nimport { BaseFormControl } from '@entur/form';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { DropdownList } from './DropdownList';\nimport { DropdownToggleButton } from './DropdownToggleButton';\nimport { DropdownLoadingDots } from './DropdownLoadingDots';\nimport { CloseSmallIcon } from '@entur/icons';\nimport './BaseDropdown.scss';\nimport { useDownshift } from './DownshiftProvider';\nimport { space } from '@entur/tokens';\n\ntype BaseDropdownProps = {\n className?: string;\n disabled?: boolean;\n items: NormalizedDropdownItemType[];\n loading?: boolean;\n loadingText?: string;\n placeholder?: string;\n style?: { [key: string]: any };\n listStyle?: { [key: string]: any };\n isFilled?: boolean;\n disableLabelAnimation?: boolean;\n [key: string]: any;\n};\nexport const BaseDropdown: React.FC<BaseDropdownProps> = ({\n children,\n className,\n items,\n loading = false,\n loadingText = 'Loading...',\n //eslint-disable-next-line\n placeholder,\n style,\n listStyle,\n clearable,\n label,\n isFilled = false,\n disableLabelAnimation,\n ...rest\n}) => {\n const { getLabelProps } = useDownshift();\n return (\n <div className=\"eds-dropdown-wrapper\" style={style}>\n {/* eslint-disable-next-line @typescript-eslint/ban-ts-comment */}\n {/* @ts-ignore */}\n <BaseFormControl\n append={\n <Appendix\n clearable={clearable}\n loading={loading}\n loadingText={loadingText}\n readOnly={...rest.readOnly}\n />\n }\n className={className}\n label={label}\n isFilled={isFilled}\n labelProps={getLabelProps()}\n disableLabelAnimation={disableLabelAnimation}\n {...rest}\n >\n {children}\n </BaseFormControl>\n <DropdownList\n items={items}\n style={{\n position: 'absolute',\n top: `${space.extraLarge3 + space.extraSmall}px`,\n ...listStyle,\n }}\n {...rest}\n />\n </div>\n );\n};\n\nconst ClearButton: React.FC<{ [key: string]: any }> = ({ ...props }) => {\n const { clearSelection, selectedItem } = useDownshift();\n return (\n <>\n {selectedItem && (\n <button\n className=\"eds-dropdown__clear-button\"\n type=\"button\"\n tabIndex={-1}\n onClick={() => clearSelection()}\n aria-label=\"Trykk for å fjerne valg\"\n {...props}\n >\n <CloseSmallIcon />\n </button>\n )}\n {selectedItem && <div className=\"eds-dropdown__divider\"></div>}\n </>\n );\n};\n\nconst Appendix: React.FC<{\n clearable: boolean;\n loading: boolean;\n loadingText: string;\n readOnly: boolean;\n}> = ({ clearable, loading, loadingText, readOnly }) => {\n if (loading) {\n return <DropdownLoadingDots>{loadingText}</DropdownLoadingDots>;\n }\n if (readOnly) {\n return null;\n }\n return clearable ? (\n <>\n <ClearButton></ClearButton> <DropdownToggleButton />\n </>\n ) : (\n <DropdownToggleButton />\n );\n};\n","import React from 'react';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { useDownshift } from './DownshiftProvider';\nimport { BaseDropdown } from './BaseDropdown';\n\ntype RegularDropdownProps = {\n items: NormalizedDropdownItemType[];\n disabled?: boolean;\n placeholder?: string;\n loading?: boolean;\n loadingText?: string;\n className?: string;\n selectOnTab?: boolean;\n openOnFocus?: boolean;\n listStyle?: { [key: string]: any };\n disableLabelAnimation?: boolean;\n clearable?: boolean;\n [key: string]: any;\n};\nexport const RegularDropdown: React.FC<RegularDropdownProps> = React.forwardRef<\n HTMLButtonElement,\n RegularDropdownProps\n>(\n (\n {\n disabled,\n placeholder = 'Vennligst velg',\n selectOnTab = false,\n openOnFocus = false,\n listStyle,\n items,\n label,\n disableLabelAnimation,\n loading,\n loadingText,\n className,\n clearable,\n ...rest\n },\n ref,\n ) => {\n const {\n getToggleButtonProps,\n selectedItem,\n selectHighlightedItem,\n openMenu,\n isOpen,\n highlightedIndex,\n setHighlightedIndex,\n } = useDownshift();\n return (\n <BaseDropdown\n disabled={disabled}\n listStyle={listStyle}\n items={items}\n label={label}\n isFilled={selectedItem ? true : placeholder.length !== 0}\n disableLabelAnimation={disableLabelAnimation}\n loading={loading}\n loadingText={loadingText}\n className={className}\n clearable={clearable}\n {...rest}\n >\n <button\n {...getToggleButtonProps({\n className: 'eds-form-control eds-dropdown__selected-item',\n style: { textAlign: 'left' },\n disabled,\n type: 'button',\n onKeyDown: e => {\n if (selectOnTab && e.key === 'Tab') {\n selectHighlightedItem();\n }\n\n if (isOpen) {\n const keyDownValue = e.key;\n const matchedItems = items\n .map((item, index) => ({ ...item, index }))\n .filter(item => {\n const firstCharacter = item.label\n .trim()\n .charAt(0)\n .toLowerCase();\n return firstCharacter === keyDownValue;\n });\n\n const nextHighlightItem = matchedItems.find(\n item => item.index > (highlightedIndex ?? 0),\n );\n\n if (nextHighlightItem) {\n setHighlightedIndex(nextHighlightItem.index);\n } else if (matchedItems.length > 0) {\n setHighlightedIndex(matchedItems[0].index);\n }\n }\n },\n onFocus: () => {\n if (openOnFocus) {\n !isOpen && openMenu();\n }\n },\n ...rest,\n })}\n ref={ref}\n >\n {selectedItem ? selectedItem.label : placeholder}\n </button>\n </BaseDropdown>\n );\n },\n);\n","import React, { useRef, useState } from 'react';\nimport { mergeRefs } from '@entur/utils';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { BaseDropdown } from './BaseDropdown';\nimport { useDownshift } from './DownshiftProvider';\nimport './SearchableDropdown.scss';\n\ntype SearchableDropdownProps = {\n className?: string;\n disabled?: boolean;\n items: NormalizedDropdownItemType[];\n loading?: boolean;\n loadingText?: string;\n placeholder?: string;\n prepend?: React.ReactNode;\n readOnly?: boolean;\n selectOnTab?: boolean;\n openOnFocus?: boolean;\n listStyle?: { [key: string]: any };\n clearable: boolean;\n itemFilter?: (item: NormalizedDropdownItemType) => boolean;\n disableLabelAnimation?: boolean;\n [key: string]: any;\n};\n\nfunction LowerCaseFilterTest(\n item: NormalizedDropdownItemType,\n input: string | null,\n) {\n if (!input) {\n return true;\n }\n const sanitizeEscapeCharacters = input.replace(\n /[-/\\\\^$*+?.()|[\\]{}]/g,\n '\\\\$&',\n );\n const inputRegex = new RegExp(sanitizeEscapeCharacters, 'i');\n return inputRegex.test(item.label);\n}\n\nexport const SearchableDropdown: React.FC<SearchableDropdownProps> =\n React.forwardRef<HTMLInputElement, SearchableDropdownProps>(\n (\n {\n disabled = false,\n className,\n items,\n loading,\n loadingText,\n readOnly = false,\n prepend,\n selectOnTab = false,\n openOnFocus = false,\n listStyle,\n clearable,\n itemFilter = (\n item: NormalizedDropdownItemType,\n inputValue: string | null,\n ) => LowerCaseFilterTest(item, inputValue),\n label,\n disableLabelAnimation,\n placeholder,\n ...rest\n },\n ref,\n ) => {\n const {\n getInputProps,\n inputValue,\n selectHighlightedItem,\n isOpen,\n openMenu,\n closeMenu,\n selectedItem,\n } = useDownshift();\n\n const [hideSelectedItem, setHideSelectedItem] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const filteredItems = React.useMemo(() => {\n return items.filter(item => itemFilter(item, inputValue));\n }, [inputValue, items, itemFilter]);\n\n return (\n <BaseDropdown\n items={filteredItems}\n disabled={disabled}\n readOnly={readOnly}\n className={className}\n loading={loading}\n loadingText={loadingText}\n prepend={prepend}\n listStyle={listStyle}\n clearable={clearable}\n label={label}\n isFilled={selectedItem ? true : false}\n disableLabelAnimation={disableLabelAnimation}\n >\n {!hideSelectedItem && selectedItem && !inputValue && (\n <span className=\"eds-dropdown__searchable-selected-item__wrapper\">\n <span\n className=\"eds-dropdown__searchable-selected-item\"\n onClick={() => inputRef.current?.focus()}\n >\n {selectedItem.label}\n </span>\n </span>\n )}\n <input\n {...getInputProps({\n disabled,\n readOnly,\n className: 'eds-form-control eds-dropdown__input',\n onKeyDown: e => {\n if (selectOnTab && e.key === 'Tab') selectHighlightedItem();\n },\n onFocus: () => {\n if (!isOpen && openOnFocus) openMenu();\n setHideSelectedItem(true);\n },\n placeholder: selectedItem ? selectedItem.label : placeholder,\n ...rest,\n })}\n onBlur={() => {\n setHideSelectedItem(false);\n closeMenu();\n }}\n ref={mergeRefs<HTMLInputElement>(ref, inputRef)}\n />\n </BaseDropdown>\n );\n },\n );\n","import { FeedbackText, VariantProvider, VariantType } from '@entur/form';\nimport React from 'react';\n\nexport type DropdownInputGroupProps = {\n feedback?: string;\n variant?: VariantType;\n className?: string;\n style?: { [key: string]: any };\n};\nexport const DropdownInputGroup: React.FC<DropdownInputGroupProps> = ({\n children,\n feedback,\n variant,\n className,\n style,\n}) => {\n return (\n <VariantProvider variant={variant}>\n <div className={className} style={style}>\n {children}\n {feedback && variant && (\n <FeedbackText variant={variant}>{feedback}</FeedbackText>\n )}\n </div>\n </VariantProvider>\n );\n};\n","import React from 'react';\n\n/** A dropdown item has a string label and a string value */\nexport type NormalizedDropdownItemType = {\n value: string;\n label: string;\n icons?: React.ComponentType<any>[];\n};\n\nexport type DropdownItemType =\n | { value?: string; label: string; icons?: React.ComponentType<any>[] }\n | string;\nexport const useNormalizedItems = (\n items: DropdownItemType[],\n): NormalizedDropdownItemType[] =>\n React.useMemo(\n () =>\n items.map(item => {\n if (typeof item == 'string') {\n return { value: item, label: item };\n }\n\n if (!('value' in item)) {\n return { ...item, value: item.label };\n }\n return item as NormalizedDropdownItemType;\n }),\n [items],\n );\n","import React from 'react';\nimport { debounce } from '@entur/utils';\nimport {\n DropdownItemType,\n NormalizedDropdownItemType,\n useNormalizedItems,\n} from './useNormalizedItems';\n\nconst useIsMounted = () => {\n const isMountedRef = React.useRef(true);\n React.useEffect(() => {\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n return isMountedRef.current;\n};\n\ntype AsyncDropdownItemType = (inputType: string) => Promise<DropdownItemType[]>;\ntype SyncDropdownItemType = (inputType: string) => DropdownItemType[];\nexport type PotentiallyAsyncDropdownItemType =\n | DropdownItemType[]\n | SyncDropdownItemType\n | AsyncDropdownItemType;\n\ntype ResolverState = {\n items: DropdownItemType[];\n loading: boolean;\n};\n\ntype ResolverAction =\n | {\n type: 'request results';\n }\n | {\n type: 'received results';\n payload: DropdownItemType[];\n };\n\nconst reducer = (_state: ResolverState, action: ResolverAction) => {\n switch (action.type) {\n case 'request results':\n return { items: [], loading: true };\n case 'received results':\n return { items: action.payload, loading: false };\n }\n};\n\nexport const useResolvedItems = (\n /** The list of items, or an async function that resolves the list of items */\n itemsOrItemsResolver: PotentiallyAsyncDropdownItemType,\n /** The time to wait after the input changes to the fetchItems method is called */\n debounceTimeout = 250,\n): {\n fetchItems: (arg: string) => void;\n loading: boolean;\n items: NormalizedDropdownItemType[];\n} => {\n const isItemsFunction = typeof itemsOrItemsResolver === 'function';\n\n // Here, we normalize the itemsResolver argument to an async function, so we\n // can use it without thinking about the differences later\n const itemsResolver = React.useMemo(\n () =>\n isItemsFunction\n ? (itemsOrItemsResolver as AsyncDropdownItemType)\n : () => Promise.resolve(itemsOrItemsResolver as DropdownItemType[]),\n [itemsOrItemsResolver, isItemsFunction],\n );\n\n const [{ items, loading }, dispatch] = React.useReducer(reducer, {\n items: isItemsFunction ? [] : (itemsOrItemsResolver as DropdownItemType[]),\n loading: false,\n });\n\n // This is a way to check whether or not the dropdown is still in the\n // document. We use it below to make sure we're not updating the state of\n // an unmounted component.\n const isMounted = useIsMounted();\n\n // Next, let's create the fetching function. This should be called whenever\n // the input value changes\n const fetchItems = React.useCallback(\n async (inputValue: string) => {\n if (!isMounted) {\n return;\n }\n dispatch({ type: 'request results' });\n const resolvedItems = await itemsResolver(inputValue);\n if (isMounted) {\n dispatch({ type: 'received results', payload: resolvedItems });\n }\n },\n [itemsResolver, isMounted],\n );\n\n const normalizedItems = useNormalizedItems(items);\n React.useEffect(() => {\n // Let's fetch the list initially if it's specified\n if (isItemsFunction) {\n fetchItems('');\n }\n }, [isItemsFunction]); // eslint-disable-line react-hooks/exhaustive-deps\n\n return {\n items: normalizedItems,\n loading: isItemsFunction ? loading : false,\n fetchItems: debounce(fetchItems, debounceTimeout),\n };\n};\n","import React from 'react';\nimport { VariantType } from '@entur/form';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { RegularDropdown } from './RegularDropdown';\nimport { DownshiftProvider } from './DownshiftProvider';\nimport { SearchableDropdown } from './SearchableDropdown';\nimport { DropdownInputGroup } from './DropdownInputGroup';\nimport {\n useResolvedItems,\n PotentiallyAsyncDropdownItemType,\n} from './useResolvedItems';\n\nexport type DropdownProps = {\n /** Beskrivende tekst som forklarer feltet */\n label: string;\n /** Tilgjengelige valg i dropdownen */\n items: PotentiallyAsyncDropdownItemType;\n /** Valgt verdi. Bruk null for ingen verdi. */\n value?: string | null;\n /** Om man skal kunne søke i dropdownen eller ikke */\n searchable?: boolean;\n /** Tooltip for labelen */\n labelTooltip?: string;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Tekst eller ikon som kommer før dropdownen */\n prepend?: React.ReactNode;\n /** Deaktiver dropdownen */\n disabled?: boolean;\n /** Setter dropdownen i read-only modus */\n readOnly?: boolean;\n /** Placeholder-tekst når ingenting er satt */\n placeholder?: string;\n /** En tekst som beskriver hva som skjer når man venter på items */\n loadingText?: string;\n /** Callback når brukeren endrer valg */\n onChange?: (selectedItem: NormalizedDropdownItemType | null) => void;\n /** Lar brukeren velge ved å \"tæbbe\" seg ut av komponenten */\n selectOnTab?: boolean;\n /** Om man skal vise items ved fokusering av input-feltet, før man skriver inn noe */\n openOnFocus?: boolean;\n /** Antall millisekunder man venter før man kaller en potensiell items-funksjon */\n debounceTimeout?: number;\n /** Om man skal ha muliget for å nullstille Dropdownen\n * @default false\n */\n clearable?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Marker første valgmulighet automatisk */\n highlightFirstItemOnOpen?: boolean;\n /** Styling som sendes ned til Dropdown-lista */\n listStyle?: { [key: string]: any };\n /** Filtreringen som blir brukt dersom man har en searchable Dropdown\n * @default Enkel tekstsammenligning\n */\n itemFilter?: (item: NormalizedDropdownItemType) => boolean;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Alle ekstra props videresendes til Downshift */\n [key: string]: any;\n};\nexport const Dropdown: React.FC<DropdownProps> = React.forwardRef<\n HTMLInputElement | HTMLButtonElement,\n DropdownProps\n>(\n (\n {\n highlightFirstItemOnOpen,\n debounceTimeout,\n disabled,\n feedback,\n items,\n label,\n loadingText,\n onChange = () => undefined,\n placeholder,\n prepend,\n readOnly,\n searchable,\n selectOnTab,\n openOnFocus,\n variant,\n value,\n clearable = false,\n className,\n style,\n listStyle,\n itemFilter,\n disableLabelAnimation,\n ...rest\n },\n ref,\n ) => {\n const {\n items: normalizedItems,\n loading,\n fetchItems,\n } = useResolvedItems(items, debounceTimeout);\n\n const selectedItem =\n value === undefined\n ? undefined\n : normalizedItems.find(item => value === item.value) || null;\n\n const RenderedDropdown = searchable ? SearchableDropdown : RegularDropdown;\n const searchAbleProps = searchable\n ? { itemFilter: itemFilter, name: rest.name, 'data-cy': rest['data-cy'] }\n : { name: rest.name, 'data-cy': rest['data-cy'] };\n return (\n <DownshiftProvider\n selectedItem={selectedItem}\n onInputValueChange={fetchItems}\n onChange={onChange}\n value={value}\n highlightFirstItemOnOpen={highlightFirstItemOnOpen}\n className={className}\n style={style}\n searchable={searchable}\n {...rest}\n >\n <DropdownInputGroup feedback={feedback} variant={variant}>\n <RenderedDropdown\n label={label}\n items={normalizedItems}\n loading={loading}\n loadingText={loadingText}\n disabled={disabled}\n readOnly={readOnly}\n placeholder={placeholder}\n prepend={prepend}\n selectOnTab={selectOnTab}\n openOnFocus={openOnFocus}\n listStyle={listStyle}\n clearable={clearable}\n disableLabelAnimation={disableLabelAnimation}\n ref={ref}\n {...searchAbleProps}\n />\n </DropdownInputGroup>\n </DownshiftProvider>\n );\n },\n);\n","import { BaseFormControl, VariantType } from '@entur/form';\nimport { DownArrowIcon } from '@entur/icons';\nimport { useRandomId } from '@entur/utils';\nimport React from 'react';\nimport { DropdownLoadingDots } from './DropdownLoadingDots';\nimport './NativeDropdown.scss';\nimport {\n PotentiallyAsyncDropdownItemType,\n useResolvedItems,\n} from './useResolvedItems';\n\nexport type NativeDropdownProps = {\n /** Ekstra klassenavn */\n className?: string;\n /**\n * For å deaktivere dropdownen\n * @default false\n **/\n disabled?: boolean;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Alle valg for dropdownen å ha */\n items: PotentiallyAsyncDropdownItemType;\n /** Beskrivende tekst som forklarer feltet */\n label: string;\n /** En callback for endringer av value */\n onChange?: (e: React.ChangeEvent<HTMLSelectElement>) => void;\n /** Tekst eller ikon som kommer før dropdownen */\n prepend?: React.ReactNode;\n /**\n * Setter dropdownen i read-only modus\n * @default false\n **/\n readOnly?: boolean;\n /** Den valgte verdien */\n value?: string;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n [key: string]: any;\n};\n\nexport const NativeDropdown: React.FC<NativeDropdownProps> = ({\n className,\n disabled = false,\n readOnly = false,\n items,\n loadingText,\n prepend,\n style,\n label,\n variant,\n feedback,\n disableLabelAnimation,\n ...rest\n}) => {\n const { items: normalizedItems, loading } = useResolvedItems(items);\n\n let rightSideIcon: JSX.Element | null = (\n <DownArrowIcon inline={true} aria-hidden=\"true\" />\n );\n if (disabled || readOnly) {\n rightSideIcon = null;\n } else if (loading) {\n rightSideIcon = (\n <DropdownLoadingDots aria-hidden=\"true\">\n {loadingText}\n </DropdownLoadingDots>\n );\n }\n const nativeDropdownId = useRandomId('eds-native-dropdown');\n return (\n <BaseFormControl\n disabled={disabled}\n readOnly={readOnly}\n prepend={prepend}\n append={rightSideIcon}\n className={className}\n style={style}\n label={label}\n labelId={nativeDropdownId}\n variant={variant}\n feedback={feedback}\n disableLabelAnimation={disableLabelAnimation}\n isFilled={true}\n >\n <select\n aria-invalid={variant === 'error'}\n aria-labelledby={nativeDropdownId}\n aria-busy={loading}\n className=\"eds-form-control eds-dropdown\"\n disabled={disabled || readOnly}\n {...rest}\n >\n {normalizedItems.map(item => (\n <option key={item.value} value={item.value}>\n {item.label}\n </option>\n ))}\n </select>\n </BaseFormControl>\n );\n};\n","import React, { useState } from 'react';\nimport {\n useSelect,\n UseSelectProps,\n // StateChangeOptions,\n // UseSelectStateChangeOptions,\n} from 'downshift';\nimport { NormalizedDropdownItemType } from './useNormalizedItems';\nimport { BaseFormControl, VariantType } from '@entur/form';\nimport {\n PotentiallyAsyncDropdownItemType,\n useResolvedItems,\n} from './useResolvedItems';\nimport { DropdownLoadingDots } from './DropdownLoadingDots';\nimport { useRandomId } from '@entur/utils';\nimport classNames from 'classnames';\nimport { CloseIcon, DownArrowIcon } from '@entur/icons';\nimport { space } from '@entur/tokens';\nimport './MultiSelect.scss';\nimport './DropdownList.scss';\n\nconst MultiSelectContext = React.createContext<{\n isOpen: boolean;\n reset: () => void;\n getToggleButtonProps: any;\n openMenu: () => void;\n openOnFocus?: boolean;\n} | null>(null);\nconst useMultiSelectContext = () => {\n const context = React.useContext(MultiSelectContext);\n if (!context) {\n throw new Error('You need to wrap your component in a DownshiftProvider');\n }\n return context;\n};\n\nfunction stateReducer(\n state: any, //StateChangeOptions<NormalizedDropdownItemType>,\n actionAndChanges: any, //UseSelectStateChangeOptions<NormalizedDropdownItemType>,\n) {\n const { changes, type } = actionAndChanges;\n switch (type) {\n case useSelect.stateChangeTypes.MenuKeyDownEnter:\n case useSelect.stateChangeTypes.MenuKeyDownSpaceButton:\n case useSelect.stateChangeTypes.ItemClick:\n return {\n ...changes,\n isOpen: true, // keep menu open after selection.\n highlightedIndex: state.highlightedIndex,\n };\n default:\n return changes;\n }\n}\ntype MultiSelectProps = {\n /** Tilgjengelige valg i MultiSelect */\n items: PotentiallyAsyncDropdownItemType;\n /** Tekst som vises i boksen når elementer er valgt */\n itemsSelectedLabel?: (\n selectedItems: NormalizedDropdownItemType[],\n numberOfItems?: number,\n ) => string;\n /** Beskrivende tekst som forklarer feltet */\n label?: string;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Tekst eller ikon som kommer før MultiSelect */\n prepend?: React.ReactNode;\n /** Deaktiver dropdownen */\n disabled?: boolean;\n /** Setter dropdownen i read-only modus */\n readOnly?: boolean;\n /** Placeholder-tekst når ingenting er satt */\n placeholder?: string;\n /** En tekst som beskriver hva som skjer når man venter på items */\n loadingText?: string;\n /** Callback når brukeren endrer valg */\n onChange?: (e: any) => void;\n /** Om man skal vise items ved fokusering av input-feltet, før man skriver inn noe\n * @default false\n */\n openOnFocus?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Styling som sendes ned til MultiSelect-lista */\n listStyle?: { [key: string]: any };\n /** Antall millisekunder man venter før man kaller en potensiell items-funksjon\n * @default 250\n */\n debounceTimeout?: number;\n /** Om man skal ha muliget for å nullstille Dropdownen\n * @default false\n */\n clearable?: boolean;\n loading?: boolean;\n style?: React.CSSProperties;\n initialSelectedItems?: NormalizedDropdownItemType[];\n} & Omit<\n UseSelectProps<NormalizedDropdownItemType>,\n 'initialSelectedItem' | 'items'\n>;\n\nexport const MultiSelect: React.FC<MultiSelectProps> = ({\n className,\n clearable = false,\n debounceTimeout,\n disabled,\n feedback,\n initialSelectedItems = [],\n items: input,\n itemsSelectedLabel = items => SelectedItemsLabel(items),\n label,\n listStyle,\n loading = false,\n loadingText = '',\n onChange = () => undefined,\n openOnFocus = false,\n readOnly = false,\n style,\n variant,\n ...rest\n}) => {\n const { items } = useResolvedItems(input, debounceTimeout);\n const [selectedItems, setSelectedItems] =\n useState<NormalizedDropdownItemType[]>(initialSelectedItems);\n\n const reset = React.useCallback(() => {\n setSelectedItems([]);\n }, []);\n\n function isSelected(selectedCheckboxItem: NormalizedDropdownItemType) {\n return selectedItems.some(\n selected => selected.value === selectedCheckboxItem.value,\n );\n }\n\n const {\n isOpen,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n highlightedIndex,\n getItemProps,\n openMenu,\n } = useSelect<NormalizedDropdownItemType>({\n items,\n stateReducer,\n selectedItem: null,\n onSelectedItemChange: ({ selectedItem }) => {\n if (!selectedItem) {\n return;\n }\n const itemIsFound = isSelected(selectedItem);\n if (itemIsFound) {\n const slicedItemList = selectedItems.filter(\n item => item.value !== selectedItem.value,\n );\n setSelectedItems(slicedItemList);\n onChange(slicedItemList);\n } else {\n const slicedItemList = [...selectedItems, selectedItem];\n setSelectedItems(slicedItemList);\n onChange(slicedItemList);\n }\n },\n ...rest,\n });\n const buttonText = selectedItems.length\n ? itemsSelectedLabel(selectedItems)\n : '';\n const multiSelectId = useRandomId('eds-multiselect');\n\n return (\n <MultiSelectContext.Provider\n value={{ isOpen, reset, getToggleButtonProps, openMenu, openOnFocus }}\n >\n <div\n className={classNames(\n 'eds-multiselect',\n 'eds-dropdown-wrapper',\n className,\n )}\n style={style}\n >\n <BaseFormControl\n label={label}\n labelId={multiSelectId}\n labelProps={...getLabelProps()}\n feedback={feedback}\n variant={variant}\n isFilled={selectedItems.length > 0 || isOpen}\n disabled={disabled}\n readOnly={readOnly}\n append={\n <Appendix\n hasSelected={clearable && selectedItems.length > 0}\n loading={loading}\n loadingText={loadingText}\n readOnly={readOnly}\n />\n }\n >\n <button\n {...getToggleButtonProps({\n style: {\n textAlign: 'left',\n },\n type: 'button',\n className: 'eds-form-control eds-multiselect__button',\n })}\n >\n {buttonText}\n </button>\n </BaseFormControl>\n <ul\n className={classNames('eds-dropdown-list', {\n 'eds-dropdown-list--open': isOpen,\n })}\n {...getMenuProps({\n style: {\n position: 'absolute',\n top: `${space.extraLarge3 + space.extraSmall}px`,\n ...listStyle,\n },\n })}\n >\n {isOpen &&\n items.map((item, index) => (\n <li\n className={classNames('eds-dropdown-list__item', {\n 'eds-dropdown-list__item--highlighted':\n highlightedIndex === index,\n 'eds-dropdown-list__item--selected': isSelected(item),\n })}\n key={`${item.value}${index}`}\n {...getItemProps({\n item,\n index,\n })}\n style={{ display: 'flex' }}\n >\n <span style={{ display: 'flex' }}>\n <span\n className={classNames('eds-multiselect-checkbox', {\n 'eds-multiselect-checkbox--checked': isSelected(item),\n })}\n >\n <CheckboxIcon />\n </span>\n <span className=\"eds-multiselect__item-label\">\n {item.label}\n </span>\n </span>\n {item.icons && (\n <span>\n {item.icons.map((Icon, index) => (\n <Icon\n key={index}\n inline\n className=\"eds-dropdown-list__item-icon\"\n />\n ))}\n </span>\n )}\n </li>\n ))}\n </ul>\n </div>\n </MultiSelectContext.Provider>\n );\n};\n\nconst ClearButton: React.FC<{ [key: string]: any }> = ({ ...props }) => {\n const { reset } = useMultiSelectContext();\n return (\n <>\n <button\n className=\"eds-dropdown__clear-button\"\n type=\"button\"\n tabIndex={-1}\n onClick={() => reset()}\n {...props}\n >\n <CloseIcon />\n </button>\n <div className=\"eds-dropdown__divider\"></div>\n </>\n );\n};\n\nconst Appendix: React.FC<{\n loading: boolean;\n loadingText: string;\n readOnly: boolean;\n hasSelected: boolean;\n}> = ({ loading, loadingText, readOnly, hasSelected }) => {\n if (loading) {\n return <DropdownLoadingDots>{loadingText}</DropdownLoadingDots>;\n }\n if (readOnly) {\n return null;\n }\n return hasSelected ? (\n <>\n <ClearButton></ClearButton>\n <DropdownToggleButton />\n </>\n ) : (\n <DropdownToggleButton />\n );\n};\n\nconst DropdownToggleButton = () => {\n const { getToggleButtonProps, isOpen, openMenu, openOnFocus } =\n useMultiSelectContext();\n return (\n <button\n {...getToggleButtonProps({\n className: classNames('eds-dropdown__toggle-button', {\n 'eds-dropdown__toggle-button--open': isOpen,\n }),\n onFocus: () => {\n if (openOnFocus) {\n openMenu();\n }\n },\n })}\n type=\"button\"\n >\n <DownArrowIcon />\n </button>\n );\n};\n\nconst CheckboxIcon: React.FC = () => {\n return (\n <svg\n className=\"eds-checkbox-icon\"\n width=\"11px\"\n height=\"9px\"\n viewBox=\"6 11 37 33\"\n >\n <path\n className=\"eds-checkbox-icon__path\"\n d=\"M14.1 27.2l7.1 7.2 14.6-14.8\"\n fill=\"none\"\n />\n </svg>\n );\n};\n\nfunction SelectedItemsLabel(items: NormalizedDropdownItemType[]) {\n return items.length < 3\n ? items.map(item => item.label).toString()\n : `${items.length} elementer valgt`;\n}\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n UseComboboxGetMenuPropsOptions,\n GetPropsCommonOptions,\n UseComboboxGetItemPropsOptions,\n} from 'downshift';\n\nimport { Checkbox } from '@entur/form';\nimport { VisuallyHidden } from '@entur/a11y';\n\nimport { NormalizedDropdownItemType } from '../../useNormalizedItems';\n\nimport './DropdownList.scss';\n\ntype DropdownListProps = {\n selectedItems: NormalizedDropdownItemType[];\n isOpen: boolean;\n listItems: NormalizedDropdownItemType[];\n highlightedIndex: number;\n listStyle: { [key: string]: any } | undefined;\n getMenuProps: (\n options?: UseComboboxGetMenuPropsOptions | undefined,\n otherOptions?: GetPropsCommonOptions | undefined,\n ) => any;\n getItemProps: (\n options: UseComboboxGetItemPropsOptions<NormalizedDropdownItemType>,\n ) => any;\n selectAllCheckboxState?: () => boolean | 'indeterminate';\n noMatchesText?: string;\n loadingText?: string;\n selectedItemAriaLabel?: string;\n loading?: boolean;\n selectAllItem?: NormalizedDropdownItemType;\n [key: string]: any;\n};\n\nexport const DropdownList = ({\n selectedItems,\n listItems,\n inputValue,\n isOpen,\n getMenuProps,\n getItemProps,\n highlightedIndex,\n showSelectAllInList = false,\n loading = false,\n selectAllCheckboxState,\n selectAllItem,\n listStyle,\n noMatchesText = 'Ingen treff for søket',\n loadingText = 'Laster inn …',\n selectedItemAriaLabel = ', valgt element',\n ...rest\n}: DropdownListProps) => {\n const isMultiselect = selectAllItem !== undefined;\n const isNoMatches =\n !loading &&\n (listItems.length === 0 ||\n (listItems.length === 1 && listItems[0].value === selectAllItem?.value));\n const itemIsSelected = (item: NormalizedDropdownItemType) =>\n selectedItems.some(selectedItem => selectedItem.value === item.value);\n\n const selectAllListItemContent = () => (\n <>\n <Checkbox\n className=\"eds-dropdown__list__item__checkbox\"\n checked={selectAllCheckboxState?.()}\n aria-hidden=\"true\"\n onChange={() => {\n return;\n }}\n />\n <span className=\"eds-dropdown__list__item__text\">\n {selectAllItem?.label}\n </span>\n </>\n );\n\n const listItemContent = (item: NormalizedDropdownItemType) => {\n return (\n <>\n <Checkbox\n style={!isMultiselect ? { display: 'none' } : {}}\n className=\"eds-dropdown__list__item__checkbox\"\n checked={itemIsSelected(item)}\n aria-hidden=\"true\"\n onChange={() => {\n return;\n }}\n />\n\n <span className=\"eds-dropdown__list__item__text\">\n {item.label}\n <VisuallyHidden>{selectedItemAriaLabel}</VisuallyHidden>\n </span>\n {item.icons && (\n <span>\n {item.icons.map((Icon, index) => (\n <Icon\n key={index}\n inline\n className=\"eds-dropdown__list__item__icon\"\n />\n ))}\n </span>\n )}\n </>\n );\n };\n\n return (\n <ul\n {...getMenuProps()}\n className={classNames('eds-dropdown__list', {\n 'eds-dropdown__list--open': isOpen,\n })}\n style={{ ...rest.style, ...listStyle }}\n >\n {isOpen &&\n listItems.length > 0 &&\n listItems.map((item, index) => {\n const itemIsSelectAll = item.value === selectAllItem?.value;\n if (itemIsSelectAll && listItems.length <= 2) return <></>;\n\n return (\n <li\n key={item.value}\n className={classNames('eds-dropdown__list__item', {\n 'eds-dropdown__list__item--select-all': itemIsSelectAll,\n 'eds-dropdown__list__item--highlighted':\n highlightedIndex === index,\n 'eds-dropdown__list__item--selected':\n !isMultiselect && itemIsSelected(item),\n })}\n {...getItemProps({\n key: `${index}${item.value}`,\n item,\n index,\n })}\n >\n {itemIsSelectAll\n ? selectAllListItemContent()\n : listItemContent(item)}\n </li>\n );\n })}\n\n {isOpen && isNoMatches && (\n <li className=\"eds-dropdown__list__item\">{noMatchesText}</li>\n )}\n\n {isOpen && loading && (\n <li className=\"eds-dropdown__list__item\">{loadingText}</li>\n )}\n </ul>\n );\n};\n","import { NormalizedDropdownItemType } from '../useNormalizedItems';\n\nexport function lowerCaseFilterTest(\n item: NormalizedDropdownItemType,\n input: string | undefined,\n) {\n if (!input) {\n return true;\n }\n const sanitizeEscapeCharacters = input.replace(\n /[-/\\\\^$*+?.()|[\\]{}]/g,\n '\\\\$&',\n );\n const inputRegex = new RegExp(sanitizeEscapeCharacters, 'i');\n return inputRegex.test(item.label);\n}\n\nexport const itemToString = (item: NormalizedDropdownItemType | null) =>\n item ? item.label : '';\n\ntype useMultiselectUtilsType = {\n selectedItems: NormalizedDropdownItemType[];\n listItems: NormalizedDropdownItemType[];\n selectAllValue: string;\n};\n\nexport const useMultiselectUtils = ({\n listItems,\n selectedItems,\n selectAllValue,\n}: useMultiselectUtilsType) => {\n const hasSelectedItems = selectedItems.length > 0;\n\n const listItemsWithoutSelectAll = listItems.filter(\n item => item.value !== selectAllValue,\n );\n\n const allListItemsAreSelected =\n listItemsWithoutSelectAll.filter(item => !selectedItems.includes(item))\n .length === 0;\n\n const someListItemsAreSelected = listItemsWithoutSelectAll.some(item =>\n selectedItems.includes(item),\n );\n\n const addClickedItemToSelectedItems = (\n clickedItem: NormalizedDropdownItemType,\n onChange: (value: NormalizedDropdownItemType[]) => void,\n ) => onChange([...selectedItems, clickedItem]);\n\n const clickedItemIsInSelectedItems = (\n clickedItem: NormalizedDropdownItemType,\n ) =>\n selectedItems.some(\n selectedItem => selectedItem.value === clickedItem.value,\n );\n\n const clickedItemIsSelectAll = (clickedItem: NormalizedDropdownItemType) =>\n clickedItem.value === selectAllValue;\n\n const removeClickedItemFromSelectedItems = (\n clickedItem: NormalizedDropdownItemType,\n onChange: (value: NormalizedDropdownItemType[]) => void,\n ) =>\n onChange(\n selectedItems.filter(\n selectedItem => selectedItem.value !== clickedItem.value,\n ),\n );\n\n const selectAllCheckboxState = () => {\n if (allListItemsAreSelected) return true;\n if (someListItemsAreSelected) return 'indeterminate';\n return false;\n };\n\n const selectAllUnselectedItemsInListItems = (\n onChange: (value: NormalizedDropdownItemType[]) => void,\n ) => {\n onChange([\n ...selectedItems,\n ...listItemsWithoutSelectAll.filter(\n item => !selectedItems.includes(item),\n ),\n ]);\n };\n\n const unselectAllListItems = (\n onChange: (value: NormalizedDropdownItemType[]) => void,\n ) => {\n onChange(\n selectedItems.filter(item => !listItemsWithoutSelectAll.includes(item)),\n );\n };\n\n return {\n addClickedItemToSelectedItems,\n allListItemsAreSelected,\n clickedItemIsInSelectedItems,\n clickedItemIsSelectAll,\n hasSelectedItems,\n listItemsWithoutSelectAll,\n removeClickedItemFromSelectedItems,\n selectAllCheckboxState,\n selectAllUnselectedItemsInListItems,\n someListItemsAreSelected,\n unselectAllListItems,\n };\n};\n","import { IconButton } from '@entur/button';\nimport { TagChip } from '@entur/chip';\nimport { CloseSmallIcon, DownArrowIcon } from '@entur/icons';\nimport { Tooltip } from '@entur/tooltip';\nimport classNames from 'classnames';\nimport {\n UseComboboxGetToggleButtonPropsOptions,\n UseMultipleSelectionGetSelectedItemPropsOptions,\n} from 'downshift';\nimport { DropdownLoadingDots } from '../../DropdownLoadingDots';\nimport { NormalizedDropdownItemType } from '../../useNormalizedItems';\nimport React from 'react';\n\nimport './FieldComponents.scss';\n\nexport const SelectedElementsTag = ({\n getSelectedItemProps,\n removeSelectedItem,\n selectedItem,\n index,\n ariaLabelRemoveSelected,\n}: {\n getSelectedItemProps: (\n options: UseMultipleSelectionGetSelectedItemPropsOptions<NormalizedDropdownItemType>,\n ) => any;\n removeSelectedItem: (item: NormalizedDropdownItemType) => void;\n selectedItem: NormalizedDropdownItemType;\n index: number;\n ariaLabelRemoveSelected: string;\n}) => {\n const { tabIndex: _, ...selectedItemProps } = getSelectedItemProps({\n selectedItem,\n index,\n });\n return (\n <TagChip\n className={classNames('eds-dropdown__selected-element-tag')}\n {...selectedItemProps}\n onClose={(e: React.MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n removeSelectedItem(selectedItem);\n }}\n closeButtonAriaLabel={`${selectedItem.label}, ${ariaLabelRemoveSelected} `}\n key={selectedItem.value}\n >\n <span aria-hidden=\"true\">{selectedItem.label}</span>\n </TagChip>\n );\n};\n\nexport const FieldAppend: React.FC<{\n selectedItems: (NormalizedDropdownItemType | null)[];\n isOpen: boolean;\n clearable: boolean;\n loading?: boolean;\n loadingText?: string;\n ariaLabelClearItems?: string;\n clearSelectedItemsLabel?: string;\n readOnly: boolean;\n focusable?: boolean;\n onClear: () => void;\n getToggleButtonProps: (\n options?: UseComboboxGetToggleButtonPropsOptions | undefined,\n ) => any;\n}> = ({\n clearable,\n readOnly,\n getToggleButtonProps,\n selectedItems,\n loading = false,\n loadingText = 'Laster resultater …',\n ariaLabelClearItems,\n clearSelectedItemsLabel,\n isOpen,\n onClear,\n focusable = false,\n}) => {\n if (loading) {\n return <DropdownLoadingDots>{loadingText}</DropdownLoadingDots>;\n }\n if (readOnly) {\n return null;\n }\n return (\n <div className=\"eds-dropdown-appendix\">\n {clearable && selectedItems?.length > 0 && selectedItems[0] !== null && (\n <>\n <ClearableButton\n onClear={onClear}\n focusable={focusable}\n clearSelectedItemsLabel={clearSelectedItemsLabel}\n ariaLabelClearItems={ariaLabelClearItems}\n />\n <div className=\"eds-dropdown-appendix__divider\" />\n </>\n )}\n <ToggleButton\n getToggleButtonProps={getToggleButtonProps}\n isOpen={isOpen}\n focusable={focusable}\n />\n </div>\n );\n};\n\nconst ClearableButton = ({\n onClear,\n clearSelectedItemsLabel = 'Fjern valgte',\n ariaLabelClearItems = 'Fjern valgte',\n focusable = false,\n}: {\n onClear: () => void;\n clearSelectedItemsLabel?: string;\n focusable?: boolean;\n ariaLabelClearItems?: string;\n}) => {\n return (\n <Tooltip\n aria-hidden=\"true\"\n placement=\"right\"\n content={clearSelectedItemsLabel}\n >\n <IconButton\n className=\"eds-dropdown-appendix__clear-button\"\n type=\"button\"\n tabIndex={focusable ? 0 : 1}\n onClick={onClear}\n aria-label={ariaLabelClearItems}\n >\n <CloseSmallIcon aria-hidden=\"true\" />\n </IconButton>\n </Tooltip>\n );\n};\n\nconst ToggleButton = ({\n getToggleButtonProps,\n isOpen,\n closeAriaLabel = 'Lukk liste med valg',\n openAriaLabel = 'Åpne liste med valg',\n focusable = false,\n}: {\n getToggleButtonProps: (\n options?: UseComboboxGetToggleButtonPropsOptions | undefined,\n ) => any;\n isOpen: boolean;\n closeAriaLabel?: string;\n openAriaLabel?: string;\n focusable?: boolean;\n}) => {\n return (\n <IconButton\n {...getToggleButtonProps({\n className: classNames('eds-dropdown-appendix__toggle-button', {\n 'eds-dropdown-appendix__toggle-button--open': isOpen,\n }),\n })}\n aria-label={isOpen ? closeAriaLabel : openAriaLabel}\n tabIndex={focusable ? 0 : 1}\n type=\"button\"\n >\n <DownArrowIcon aria-hidden=\"true\" />\n </IconButton>\n );\n};\n","/* eslint-disable no-warning-comments */\nimport React, { useRef, useState } from 'react';\nimport { UseComboboxStateChangeOptions, useCombobox } from 'downshift';\nimport classNames from 'classnames';\n\nimport { BaseFormControl, VariantType } from '@entur/form';\n\nimport { NormalizedDropdownItemType } from '../useNormalizedItems';\nimport {\n PotentiallyAsyncDropdownItemType,\n useResolvedItems,\n} from '../useResolvedItems';\nimport { DropdownList } from './components/DropdownList';\n\nimport { itemToString, lowerCaseFilterTest } from './utils';\nimport { FieldAppend } from './components/FieldComponents';\n\nimport './Dropdown.scss';\n\nexport type SearchableDropdownProps = {\n /** Tilgjengelige valg i dropdown-en */\n items: PotentiallyAsyncDropdownItemType;\n /** Valgt element. Bruk null for ingen verdi.\n * Det er denne som skal oppdateres av onChange\n */\n selectedItem: NormalizedDropdownItemType | null;\n /** Callback for når brukeren endrer valg */\n onChange: (value: NormalizedDropdownItemType | null) => void;\n /** Filtreringen som blir brukt dersom man har en searchable Dropdown\n * @default Enkel tekstsammenligning\n */\n itemFilter?: (\n item: NormalizedDropdownItemType,\n inputValue: string | undefined,\n ) => boolean;\n /** Beskrivende tekst som forklarer feltet */\n label: string;\n /** Placeholder-tekst når ingenting er satt */\n placeholder?: string;\n /** Vis knapp for å nullstille Dropdown-en skal vises\n * @default false\n */\n clearable?: boolean;\n /** Vis listen med valg skal vises på fokus av inputfeltet\n * @default false\n */\n openOnFocus?: boolean;\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Antall millisekunder man venter før man kaller en potensiell items-funksjon */\n debounceTimeout?: number;\n /** Gjør dropdown-en til å kun kunne leses\n * @default false\n */\n readonly?: boolean;\n selectOnBlur?: boolean;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n className?: string;\n style?: { [key: string]: any };\n /** Style som kun påføres listeelementet */\n listStyle?: { [key: string]: any };\n};\n\n// TODO Husk å @deprecate searchable-prop-en til Dropdown når denne komponenten skal ha official release\n// TODO Husk å generelt legge inn støtte for typeof value === string\n\nexport const SearchableDropdownBeta = ({\n className,\n clearable = false,\n debounceTimeout,\n // disabled = false,\n disableLabelAnimation = false,\n feedback,\n // highlightFirstItemOnOpen,\n itemFilter = lowerCaseFilterTest,\n items: initialItems,\n label,\n listStyle,\n // loadingText,\n onChange,\n openOnFocus = false,\n placeholder,\n // prepend,\n readonly = false,\n selectedItem: value,\n selectOnBlur = false,\n // selectOnTab = false,\n // style,\n variant = 'info',\n ...rest\n}: SearchableDropdownProps) => {\n const [hideSelectedItem, setHideSelectedItem] = useState(false);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const {\n items: normalizedItems,\n loading,\n fetchItems,\n } = useResolvedItems(initialItems, debounceTimeout);\n\n const [listItems, setListItems] = React.useState(normalizedItems);\n\n const filterListItems = ({ inputValue }: { inputValue: string }) =>\n setListItems(normalizedItems.filter(item => itemFilter(item, inputValue)));\n\n React.useEffect(() => {\n filterListItems({ inputValue });\n }, [normalizedItems]); // eslint-disable-line react-hooks/exhaustive-deps\n\n const stateReducer = React.useCallback(\n (\n _,\n {\n type,\n changes,\n }: UseComboboxStateChangeOptions<NormalizedDropdownItemType>,\n ) => {\n switch (type) {\n case useCombobox.stateChangeTypes.ItemClick:\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.InputBlur:\n case useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem: {\n filterListItems({ inputValue: '' });\n return {\n ...changes,\n inputValue: '', // reset input value to show placeholder on focus\n };\n }\n case useCombobox.stateChangeTypes.InputChange: {\n const leadingWhitespaceTest = /^\\s+/g;\n if (changes.inputValue?.match(leadingWhitespaceTest))\n setInputValue(\n changes.inputValue.replace(leadingWhitespaceTest, ''),\n );\n else {\n fetchItems(changes.inputValue ?? '');\n filterListItems({ inputValue: changes.inputValue ?? '' });\n }\n return changes;\n }\n default:\n return changes;\n }\n },\n [fetchItems, filterListItems], // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const {\n isOpen,\n openMenu,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getInputProps,\n getComboboxProps,\n highlightedIndex,\n getItemProps,\n selectedItem,\n inputValue,\n setInputValue,\n } = useCombobox({\n items: listItems,\n selectedItem: value,\n itemToString,\n stateReducer,\n onStateChange({ type, selectedItem: clickedItem }) {\n switch (type) {\n // @ts-expect-error This falltrough is wanted\n case useCombobox.stateChangeTypes.InputBlur:\n if (!selectOnBlur) break;\n case useCombobox.stateChangeTypes.InputKeyDownEnter: // eslint-disable-line no-fallthrough\n case useCombobox.stateChangeTypes.ItemClick:\n onChange(clickedItem ?? null);\n }\n },\n ...rest,\n });\n\n return (\n <div className=\"eds-dropdown__wrapper\">\n <BaseFormControl\n append={\n <FieldAppend\n selectedItems={[selectedItem]}\n isOpen={isOpen}\n clearable={clearable}\n loading={false}\n loadingText={''}\n readOnly={readonly}\n onClear={() => {\n onChange(null);\n setInputValue('');\n inputRef.current?.focus();\n if (typeof initialItems === 'function')\n fetchItems(inputValue ?? '');\n }}\n getToggleButtonProps={getToggleButtonProps}\n />\n }\n disableLabelAnimation={disableLabelAnimation}\n className={classNames('eds-dropdown', className)}\n label={label}\n isFilled={selectedItem || inputValue !== ''}\n feedback={feedback}\n variant={variant}\n readOnly={readonly}\n labelProps={getLabelProps()}\n {...getComboboxProps()}\n {...rest}\n >\n {!hideSelectedItem && selectedItem && !inputValue && (\n <span className=\"eds-dropdown__selected-item__wrapper\">\n <span\n className=\"eds-dropdown__selected-item\"\n onClick={() => inputRef.current?.focus()}\n >\n {selectedItem.label}\n </span>\n </span>\n )}\n <input\n placeholder={selectedItem?.label ?? placeholder}\n className=\"eds-dropdown__input eds-form-control\"\n {...getInputProps({\n onFocus: () => {\n if (!isOpen && openOnFocus) openMenu();\n setHideSelectedItem(true);\n },\n onBlur: () => {\n setHideSelectedItem(false);\n },\n ref: inputRef,\n })}\n />\n </BaseFormControl>\n <DropdownList\n selectedItems={selectedItem !== null ? [selectedItem] : []}\n isOpen={isOpen}\n listItems={listItems}\n highlightedIndex={highlightedIndex}\n listStyle={listStyle}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n loading={loading}\n />\n </div>\n );\n};\n","import React, { useRef, useState } from 'react';\nimport classNames from 'classnames';\nimport {\n useMultipleSelection,\n useCombobox,\n UseComboboxStateChangeOptions,\n} from 'downshift';\n\nimport { BaseFormControl, VariantType } from '@entur/form';\nimport { useRandomId } from '@entur/utils';\n\nimport { NormalizedDropdownItemType } from '../useNormalizedItems';\nimport {\n PotentiallyAsyncDropdownItemType,\n useResolvedItems,\n} from '../useResolvedItems';\nimport { FieldAppend, SelectedElementsTag } from './components/FieldComponents';\nimport { DropdownList } from './components/DropdownList';\nimport {\n itemToString,\n lowerCaseFilterTest,\n useMultiselectUtils,\n} from './utils';\n\nimport './Dropdown.scss';\n\nexport type MultiSelectBetaProps = {\n /** Tilgjengelige valg i MultiSelect */\n items: PotentiallyAsyncDropdownItemType;\n /** Elementer som er valgt blant 'items'.\n * Denne skal oppdateres av onChange.\n */\n selectedItems: NormalizedDropdownItemType[];\n /** Callback med alle valgte verdier.\n * Bruk denne til å oppdatere selectedItems-listen */\n onChange: (selectedItems: NormalizedDropdownItemType[]) => void;\n /** Beskrivende tekst som forklarer feltet */\n label?: string;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Tekst eller ikon som kommer før MultiSelect */\n prepend?: React.ReactNode;\n /** Om dropdown-en er deaktivert */\n disabled?: boolean;\n /** Om dropdown-en er i read-only modus */\n readOnly?: boolean;\n /** Placeholder-tekst når ingenting er satt */\n placeholder?: string;\n /** En tekst som beskriver hva som skjer når man venter på items */\n loadingText?: string;\n /** Om man skal vise items ved fokusering av input-feltet, før man skriver inn noe\n * @default false\n */\n openOnFocus?: boolean;\n /** Skjuler «Velg alle» fra listen med valg\n * @default false\n */\n hideSelectAll?: boolean;\n /** Teksten som vises for «Velg alle»-elementet i listen\n * @default \"Velg alle\"\n */\n selectAllLabel?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Tekst for skjemleser på knapper for å fjerne valgt element\n * @default \"trykk for å fjerne valg\"\n */\n ariaLabelRemoveSelected?: string;\n /** Styling som sendes ned til MultiSelect-lista */\n listStyle?: { [key: string]: any };\n /** Antall millisekunder man venter før man kaller en potensiell items-funksjon\n * @default 250\n */\n debounceTimeout?: number;\n /** Om en knapp for å fjerne alle valg skal vises\n * @default false\n */\n clearable?: boolean;\n selectOnBlur?: boolean;\n readonly?: boolean;\n loading?: boolean;\n style?: React.CSSProperties;\n};\n\nexport const MultiSelectBeta = ({\n ariaLabelRemoveSelected = 'trykk for å fjerne valg',\n className,\n clearable = false,\n debounceTimeout,\n feedback,\n hideSelectAll = false,\n items: initialItems,\n label,\n listStyle,\n onChange,\n openOnFocus = false,\n placeholder,\n readonly = false,\n selectAllLabel = 'Velg alle',\n selectedItems,\n selectOnBlur = false,\n style,\n variant = 'info',\n ...rest\n}: MultiSelectBetaProps) => {\n const [lastHighlightedIndex, setLastHighlightedIndex] = React.useState(0);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const {\n items: normalizedItems,\n loading,\n fetchItems,\n } = useResolvedItems(initialItems);\n\n const selectAll: NormalizedDropdownItemType = {\n value: useRandomId('select-all'),\n label: selectAllLabel,\n };\n\n const [listItems, setListItems] = useState([\n ...(!hideSelectAll ? [selectAll] : []),\n ...normalizedItems,\n ]);\n\n const filterListItems = ({ inputValue }: { inputValue: string }) =>\n setListItems([\n ...(!hideSelectAll ? [selectAll] : []),\n ...normalizedItems.filter(item => lowerCaseFilterTest(item, inputValue)),\n ]);\n\n React.useEffect(() => {\n filterListItems({ inputValue });\n }, [normalizedItems]); // eslint-disable-line react-hooks/exhaustive-deps\n const {\n addClickedItemToSelectedItems,\n allListItemsAreSelected,\n clickedItemIsInSelectedItems,\n clickedItemIsSelectAll,\n hasSelectedItems,\n removeClickedItemFromSelectedItems,\n selectAllCheckboxState,\n selectAllUnselectedItemsInListItems,\n unselectAllListItems,\n } = useMultiselectUtils({\n listItems,\n selectAllValue: selectAll.value,\n selectedItems,\n });\n\n const { getSelectedItemProps, getDropdownProps, removeSelectedItem } =\n useMultipleSelection({\n selectedItems,\n itemToString,\n onSelectedItemsChange(changes) {\n onChange(changes.selectedItems ?? []);\n },\n });\n\n const stateReducer = React.useCallback(\n (\n _,\n {\n changes,\n type,\n }: UseComboboxStateChangeOptions<NormalizedDropdownItemType>,\n ) => {\n if (changes?.highlightedIndex && changes?.highlightedIndex >= 0)\n setLastHighlightedIndex(changes?.highlightedIndex);\n\n switch (type) {\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick:\n return {\n ...changes,\n isOpen: true, // keep the menu open after selection.\n inputValue: inputRef?.current?.value ?? '', // don't reset input value on select\n };\n case useCombobox.stateChangeTypes.ControlledPropUpdatedSelectedItem:\n return {\n ...changes,\n inputValue: inputRef?.current?.value ?? '', // don't reset input value on select\n };\n case useCombobox.stateChangeTypes.InputChange:\n if (changes.inputValue?.match(/^\\s+/g)) {\n // remove leading whitespace if it exists\n return {\n ...changes,\n inputValue: changes.inputValue.replace(/^\\s+/g, '') ?? '',\n };\n }\n\n if (typeof initialItems === 'function')\n fetchItems(changes.inputValue ?? ''); // fetch items only if user provides a function as items\n\n filterListItems({ inputValue: changes.inputValue ?? '' });\n return changes;\n case useCombobox.stateChangeTypes.InputBlur:\n return {\n ...changes,\n inputValue: '',\n };\n default:\n return changes;\n }\n },\n [hideSelectAll, normalizedItems, filterListItems, initialItems], // eslint-disable-line react-hooks/exhaustive-deps\n );\n\n const {\n getComboboxProps,\n getInputProps,\n getItemProps,\n getLabelProps,\n getMenuProps,\n getToggleButtonProps,\n highlightedIndex,\n inputValue,\n isOpen,\n openMenu,\n setInputValue,\n } = useCombobox({\n defaultHighlightedIndex: lastHighlightedIndex, // after selection, highlight previously selected item.\n items: listItems,\n itemToString,\n selectedItem: null,\n stateReducer,\n onStateChange({ type, selectedItem: clickedItem }) {\n // clickedItem means item chosen either via mouse or keyboard\n if (!clickedItem) return;\n\n switch (type) {\n // @ts-expect-error This falltrough is wanted\n case useCombobox.stateChangeTypes.InputBlur:\n if (!selectOnBlur) break;\n case useCombobox.stateChangeTypes.InputKeyDownEnter: // eslint-disable-line no-fallthrough\n case useCombobox.stateChangeTypes.ItemClick:\n if (clickedItemIsSelectAll(clickedItem)) {\n if (allListItemsAreSelected) {\n return unselectAllListItems(onChange);\n }\n return selectAllUnselectedItemsInListItems(onChange);\n }\n\n if (clickedItemIsInSelectedItems(clickedItem)) {\n return removeClickedItemFromSelectedItems(clickedItem, onChange);\n }\n addClickedItemToSelectedItems(clickedItem, onChange);\n }\n },\n ...rest,\n });\n\n // role=combobox leads to strange VoiceOver behavior and is therefor omitted\n // const { role: _, ...comboboxProps } = getComboboxProps();\n const { ...comboboxProps } = getComboboxProps();\n\n return (\n <div className=\"eds-dropdown__wrapper\">\n <BaseFormControl\n append={\n <FieldAppend\n selectedItems={selectedItems}\n isOpen={isOpen}\n clearable={clearable}\n loading={loading}\n loadingText={''}\n readOnly={readonly}\n onClear={() => {\n onChange([]);\n setInputValue('');\n inputRef.current?.focus();\n if (typeof initialItems === 'function')\n fetchItems(inputValue ?? '');\n }}\n getToggleButtonProps={getToggleButtonProps}\n />\n }\n className={classNames('eds-dropdown', className)}\n label={label}\n isFilled={hasSelectedItems || inputValue !== ''}\n feedback={feedback}\n variant={variant}\n readOnly={readonly}\n style={style}\n labelProps={{\n 'aria-label': `${label}, multiselect, ${selectedItems.length} valgte elementer`,\n ...getLabelProps(),\n }}\n {...comboboxProps}\n {...rest}\n >\n <div\n className={classNames('eds-dropdown__selected-items-and-input', {\n 'eds-dropdown__selected-items-and-input--filled': hasSelectedItems,\n })}\n onClick={(e: React.MouseEvent) => {\n if (e.target === e.currentTarget) inputRef.current?.focus();\n }}\n >\n {selectedItems.map((selectedItem, index) => (\n <SelectedElementsTag\n index={index}\n key={selectedItem.value}\n getSelectedItemProps={getSelectedItemProps}\n selectedItem={selectedItem}\n removeSelectedItem={removeSelectedItem}\n ariaLabelRemoveSelected={ariaLabelRemoveSelected}\n />\n ))}\n <input\n placeholder={placeholder}\n className=\"eds-dropdown__input eds-form-control\"\n role=\"combobox\" // eslint-disable-line jsx-a11y/role-has-required-aria-props\n {...getInputProps(\n getDropdownProps({\n preventKeyAction: isOpen,\n onFocus: () => {\n if (!isOpen && openOnFocus) openMenu();\n },\n ref: inputRef,\n value: inputValue ?? '',\n }),\n )}\n />\n </div>\n </BaseFormControl>\n <DropdownList\n listItems={listItems}\n selectedItems={selectedItems}\n inputValue={inputValue}\n isOpen={isOpen}\n highlightedIndex={highlightedIndex}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n selectAllItem={selectAll}\n selectAllCheckboxState={selectAllCheckboxState}\n listStyle={listStyle}\n loading={loading}\n />\n </div>\n );\n};\n","/* eslint-disable no-warning-comments */\nimport React from 'react';\nimport { useSelect } from 'downshift';\nimport classNames from 'classnames';\n\nimport { BaseFormControl, VariantType } from '@entur/form';\n\nimport { NormalizedDropdownItemType } from '../useNormalizedItems';\nimport {\n PotentiallyAsyncDropdownItemType,\n useResolvedItems,\n} from '../useResolvedItems';\nimport { DropdownList } from './components/DropdownList';\n\nimport { itemToString } from './utils';\nimport { FieldAppend } from './components/FieldComponents';\n\nimport './Dropdown.scss';\n\nexport type DropdownBetaProps = {\n /** Tilgjengelige valg i dropdown-en */\n items: PotentiallyAsyncDropdownItemType;\n /** Valgt verdi. Bruk null for ingen verdi. */\n selectedItem: NormalizedDropdownItemType | null;\n /** Beskrivende tekst som forklarer feltet */\n label: string;\n /** Tooltip for labelen */\n labelTooltip?: string;\n /** Hvilken valideringsvariant som gjelder */\n variant?: VariantType;\n /** Valideringsmelding, brukes sammen med `variant` */\n feedback?: string;\n /** Tekst eller ikon som kommer før dropdown-en */\n prepend?: React.ReactNode;\n /** Deaktiver dropdown-en */\n disabled?: boolean;\n /** Setter dropdown-en i read-only modus */\n readOnly?: boolean;\n /** Placeholder-tekst når ingenting er satt */\n placeholder?: string;\n /** En tekst som beskriver hva som skjer når man venter på items */\n loadingText?: string;\n /** Callback når brukeren endrer valg */\n onChange?: (selectedItem: NormalizedDropdownItemType | null) => void;\n /** Lar brukeren velge ved å \"tab-e\" seg ut av komponenten */\n selectOnTab?: boolean;\n /** Om man skal vise items ved fokusering av input-feltet, før man skriver inn noe */\n openOnFocus?: boolean;\n /** Antall millisekunder man venter før man kaller en potensiell items-funksjon */\n debounceTimeout?: number;\n /** Om man skal ha mulighet for å nullstille Dropdown-en\n * @default false\n */\n clearable?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Marker første valgmulighet automatisk */\n highlightFirstItemOnOpen?: boolean;\n /** Styling som sendes ned til Dropdown-lista */\n listStyle?: { [key: string]: any };\n /** Plasserer labelen statisk på toppen av inputfeltet\n * @default false\n */\n disableLabelAnimation?: boolean;\n /** Alle ekstra props videresendes til Downshift */\n [key: string]: any;\n};\n\nexport const DropdownBeta = ({\n className,\n clearable = false,\n debounceTimeout,\n // disabled,\n // disableLabelAnimation,\n feedback,\n items: initialItems,\n label,\n listStyle,\n // loadingText,\n onChange,\n openOnFocus = false,\n placeholder,\n // prepend,\n readonly = false,\n // searchable,\n selectedItem,\n selectOnBlur = false,\n selectOnTab = false,\n // value,\n variant = 'info',\n ...rest\n}: DropdownBetaProps) => {\n const { items: normalizedItems, loading } = useResolvedItems(\n initialItems,\n debounceTimeout,\n );\n\n const {\n isOpen,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n highlightedIndex,\n getItemProps,\n } = useSelect({\n items: normalizedItems,\n selectedItem,\n onStateChange({ type, selectedItem: clickedItem }) {\n switch (type) {\n // @ts-expect-error This falltrough is wanted\n case useSelect.stateChangeTypes.InputBlur:\n if (!selectOnBlur) break;\n case useSelect.stateChangeTypes.MenuKeyDownEnter: // eslint-disable-line no-fallthrough\n case useSelect.stateChangeTypes.ItemClick:\n onChange?.(clickedItem !== undefined ? clickedItem : null);\n }\n },\n itemToString,\n });\n\n return (\n <div className=\"eds-dropdown__wrapper\">\n <BaseFormControl\n append={\n <FieldAppend\n selectedItems={[selectedItem]}\n isOpen={isOpen}\n clearable={true}\n loading={loading}\n loadingText={''}\n readOnly={readonly}\n onClear={() => {\n onChange?.(null);\n }}\n getToggleButtonProps={getToggleButtonProps}\n clearSelectedItemsLabel=\"Fjern valgt\"\n ariaLabelClearItems={`${selectedItem?.label} valgt, trykk for å fjerne valget`}\n focusable\n />\n }\n className={classNames('eds-dropdown', className, {\n 'eds-dropdown--not-filled': selectedItem === null,\n })}\n label={label}\n labelId={getLabelProps().id}\n labelProps={getLabelProps()}\n disableLabelAnimation\n isFilled={selectedItem !== null}\n feedback={feedback}\n variant={variant}\n readOnly={readonly}\n {...rest}\n >\n <div\n className=\"eds-dropdown__selected-item-button\"\n {...getToggleButtonProps()}\n >\n {selectedItem?.label ?? ''}\n </div>\n </BaseFormControl>\n <DropdownList\n selectedItems={selectedItem !== null ? [selectedItem] : []}\n isOpen={isOpen}\n listItems={normalizedItems}\n highlightedIndex={highlightedIndex}\n listStyle={listStyle}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n loading={loading}\n />\n </div>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('dropdown', 'form', 'a11y', 'chip');\n\nexport * from './Dropdown';\nexport * from './NativeDropdown';\nexport * from './MultiSelect';\nexport * from './MultiSelect';\nexport * from './beta';\n"],"names":["DownshiftContext","React","createContext","DownshiftProvider","children","onChange","undefined","onInputValueChange","highlightFirstItemOnOpen","className","style","searchable","rest","_excluded","handleStateChange","changes","stateAndHelpers","type","Downshift","stateChangeTypes","controlledPropUpdatedSelectedItem","selectedItem","inputValue","stateReducer","_","highlightFirstOnOpen","isOpen","highlightFirstItemIndex","highlightedIndex","itemToString","item","label","onStateChange","args","classNames","createElement","Provider","value","useDownshift","context","useContext","Error","DropdownList","items","getItemProps","getMenuProps","map","index","key","icons","Icon","inline","CheckIcon","DropdownToggleButton","getToggleButtonProps","tabIndex","DownArrowIcon","DropdownLoadingDots","LoadingDots","VisuallyHidden","BaseDropdown","loading","loadingText","placeholder","listStyle","clearable","isFilled","disableLabelAnimation","getLabelProps","BaseFormControl","append","Appendix","readOnly","labelProps","position","top","space","extraLarge3","extraSmall","ClearButton","props","clearSelection","Fragment","onClick","CloseSmallIcon","RegularDropdown","forwardRef","ref","disabled","selectOnTab","openOnFocus","selectHighlightedItem","openMenu","setHighlightedIndex","length","textAlign","onKeyDown","e","keyDownValue","matchedItems","filter","firstCharacter","trim","charAt","toLowerCase","nextHighlightItem","find","onFocus","LowerCaseFilterTest","input","sanitizeEscapeCharacters","replace","inputRegex","RegExp","test","SearchableDropdown","prepend","itemFilter","getInputProps","closeMenu","useState","hideSelectedItem","setHideSelectedItem","inputRef","useRef","filteredItems","useMemo","current","focus","onBlur","mergeRefs","DropdownInputGroup","feedback","variant","VariantProvider","FeedbackText","useNormalizedItems","useIsMounted","isMountedRef","useEffect","reducer","_state","action","payload","useResolvedItems","itemsOrItemsResolver","debounceTimeout","isItemsFunction","itemsResolver","Promise","resolve","useReducer","dispatch","isMounted","fetchItems","useCallback","resolvedItems","normalizedItems","debounce","Dropdown","RenderedDropdown","searchAbleProps","name","NativeDropdown","rightSideIcon","nativeDropdownId","useRandomId","labelId","MultiSelectContext","useMultiSelectContext","state","actionAndChanges","useSelect","MenuKeyDownEnter","MenuKeyDownSpaceButton","ItemClick","MultiSelect","initialSelectedItems","itemsSelectedLabel","SelectedItemsLabel","selectedItems","setSelectedItems","reset","isSelected","selectedCheckboxItem","some","selected","onSelectedItemChange","itemIsFound","slicedItemList","buttonText","multiSelectId","hasSelected","display","CheckboxIcon","CloseIcon","width","height","viewBox","d","fill","toString","listItems","selectAllCheckboxState","selectAllItem","noMatchesText","selectedItemAriaLabel","isMultiselect","isNoMatches","itemIsSelected","selectAllListItemContent","Checkbox","checked","listItemContent","itemIsSelectAll","lowerCaseFilterTest","useMultiselectUtils","selectAllValue","hasSelectedItems","listItemsWithoutSelectAll","allListItemsAreSelected","includes","someListItemsAreSelected","addClickedItemToSelectedItems","clickedItem","clickedItemIsInSelectedItems","clickedItemIsSelectAll","removeClickedItemFromSelectedItems","selectAllUnselectedItemsInListItems","unselectAllListItems","SelectedElementsTag","getSelectedItemProps","removeSelectedItem","ariaLabelRemoveSelected","selectedItemProps","TagChip","onClose","stopPropagation","closeButtonAriaLabel","FieldAppend","ariaLabelClearItems","clearSelectedItemsLabel","onClear","focusable","ClearableButton","ToggleButton","Tooltip","placement","content","IconButton","closeAriaLabel","openAriaLabel","SearchableDropdownBeta","initialItems","readonly","selectOnBlur","setListItems","filterListItems","useCombobox","InputKeyDownEnter","InputBlur","ControlledPropUpdatedSelectedItem","InputChange","leadingWhitespaceTest","match","setInputValue","getComboboxProps","MultiSelectBeta","hideSelectAll","selectAllLabel","lastHighlightedIndex","setLastHighlightedIndex","selectAll","useMultipleSelection","onSelectedItemsChange","getDropdownProps","defaultHighlightedIndex","comboboxProps","target","currentTarget","role","preventKeyAction","DropdownBeta","id","warnAboutMissingStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAMA,gBAAgB,gBACpBC,yBAAK,CAACC,aAAa,CACjB,IAAI,CACL,CAAA;AAgBI,IAAMC,iBAAiB,GAAqC,SAAtDA,iBAAiB,CASzB,IAAA,EAAA;EAAA,IARHC,QAAQ,QAARA,QAAQ;AAAA,IAAA,aAAA,GAAA,IAAA,CACRC,QAAQ;AAARA,IAAAA,QAAQ,GAAG,aAAA,KAAA,KAAA,CAAA,GAAA,YAAA;AAAA,MAAA,OAAMC,SAAS,CAAA;AAAA,KAAA,GAAA,aAAA;AAAA,IAAA,qBAAA,GAAA,IAAA,CAC1BC,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAG,qBAAA,KAAA,KAAA,CAAA,GAAA,YAAA;AAAA,MAAA,OAAMD,SAAS,CAAA;AAAA,KAAA,GAAA,qBAAA;AAAA,IAAA,qBAAA,GAAA,IAAA,CACpCE,wBAAwB;AAAxBA,IAAAA,wBAAwB,sCAAG,KAAK,GAAA,qBAAA;AAChCC,IAAAA,SAAS,QAATA,SAAS;AACTC,IAAAA,KAAK,QAALA,KAAK;AAAA,IAAA,eAAA,GAAA,IAAA,CACLC,UAAU;AAAVA,IAAAA,UAAU,gCAAG,KAAK,GAAA,eAAA;IACfC,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;EAEP,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiB,CACrBC,OAAY,EACZC,eAAsE,EACpE;IACF,IACED,OAAO,CAACE,IAAI,KACZC,6BAAS,CAACC,gBAAgB,CAACC,iCAAiC,EAC5D;AACA,MAAA,OAAA;AACD,KAAA;IACD,IAAI,cAAc,IAAIL,OAAO,EAAE;AAC7BV,MAAAA,QAAQ,CAACU,OAAO,CAACM,YAAY,EAAEL,eAAe,CAAC,CAAA;AAChD,KAAA,MAAM,IAAI,YAAY,IAAID,OAAO,EAAE;AAClCR,MAAAA,kBAAkB,CAACQ,OAAO,CAACO,UAAU,CAAC,CAAA;AACvC,KAAA;GACF,CAAA;EAED,IAAMC,YAAY,GAAG,SAAfA,YAAY,CAChBC,CAA6C,EAC7CT,OAAuD,EACI;IAC3D,IAAMU,oBAAoB,GACxBjB,wBAAwB,IAAI,QAAQ,IAAIO,OAAO,IAAIA,OAAO,CAACW,MAAM,CAAA;IACnE,IAAMC,uBAAuB,GAEzBF,oBAAoB,GAAG;AAAEG,MAAAA,gBAAgB,EAAE,CAAA;KAAG,GAAG,EAAE,CAAA;AAEvD,IAAA,IAAIjB,UAAU,EAAE;AACd,MAAA,IAAQM,IAAI,GAAKF,OAAO,CAAhBE,IAAI,CAAA;AAEZ,MAAA,QAAQA,IAAI;AACV,QAAA,KAAK,+BAA+B;UAClC,OAEKF,QAAAA,CAAAA,EAAAA,EAAAA,OAAO,EACPY,uBAAuB,CAAA,CAAA;AAE9B,QAAA,KAAK,6BAA6B,CAAA;AAClC,QAAA,KAAK,gCAAgC,CAAA;AACrC,QAAA,KAAK,6BAA6B,CAAA;AAClC,QAAA,KAAK,0BAA0B;AAC7B,UAAA,OAAA,QAAA,CAAA,EAAA,EACKZ,OAAO,EAAA;AACV;AACA;AACAO,YAAAA,UAAU,EAAE,EAAA;AAAE,WAAA,EACXK,uBAAuB,CAAA,CAAA;AAE9B,QAAA;UACE,OACKZ,QAAAA,CAAAA,EAAAA,EAAAA,OAAO,EACPY,uBAAuB,CAAA,CAAA;AAC1B,OAAA;AAEP,KAAA,MAAM;MACL,OAAYZ,QAAAA,CAAAA,EAAAA,EAAAA,OAAO,EAAKY,uBAAuB,CAAA,CAAA;AAChD,KAAA;GACF,CAAA;AAED,EAAA,OACE1B,wCAACiB,6BAAS,EAAA,QAAA,CAAA;IACRW,YAAY,EAAE,sBAAAC,IAAI,EAAA;AAAA,MAAA,OAAKA,IAAI,GAAGA,IAAI,CAACC,KAAK,GAAG,EAAE,CAAA;KAAC;AAC9CC,IAAAA,aAAa,EAAElB,iBAAiB;AAChCS,IAAAA,YAAY,EAAEA,YAAAA;GACVX,EAAAA,IAAI,CAEP,EAAA,UAAAqB,IAAI,EAAA;AAAA,IAAA,OACHhC;AAAKQ,MAAAA,SAAS,EAAEyB,8BAAU,CAAC,iBAAiB,EAAEzB,SAAS,CAAC;AAAEC,MAAAA,KAAK,EAAEA,KAAAA;KAAK,EAEpET,yBAAA,CAAAkC,aAAA,CAACnC,gBAAgB,CAACoC,QAAQ,EAAA;AAACC,MAAAA,KAAK,EAAEJ,IAAAA;KAC/B,EAAA7B,QAAQ,CACiB,CACxB,CAAA;AAAA,GACP,CACS,CAAA;AAEhB,CAAC,CAAA;AAEM,IAAMkC,YAAY,GACvB,SADWA,YAAY,GAClB;AACH,EAAA,IAAMC,OAAO,GAAGtC,yBAAK,CAACuC,UAAU,CAACxC,gBAAgB,CAAC,CAAA;EAClD,IAAI,CAACuC,OAAO,EAAE;AACZ,IAAA,MAAM,IAAIE,KAAK,CAAC,wDAAwD,CAAC,CAAA;AAC1E,GAAA;AACD,EAAA,OAAOF,OAAO,CAAA;AAChB,CAAC;;;AC/GI,IAAMG,cAAY,GAAgC,SAA5CA,YAAY,CAGpB,IAAA,EAAA;EAAA,IAFHC,KAAK,QAALA,KAAK;IACF/B,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAEP,EAAA,IAAA,aAAA,GACEyB,YAAY,EAAE;AADRV,IAAAA,gBAAgB,iBAAhBA,gBAAgB;AAAEF,IAAAA,MAAM,iBAANA,MAAM;AAAEL,IAAAA,YAAY,iBAAZA,YAAY;AAAEuB,IAAAA,YAAY,iBAAZA,YAAY;AAAEC,IAAAA,YAAY,iBAAZA,YAAY,CAAA;AAG1E,EAAA,OACE5C,yBACE,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA1B,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,mBAAmB,EAAE;AACzC,MAAA,yBAAyB,EAAER,MAAAA;KAC5B,CAAA;AAAC,GAAA,EACEmB,YAAY,EAAE,EACdjC,IAAI,GAEPc,MAAM,GACHiB,KAAK,CAACG,GAAG,CAAC,UAAChB,IAAI,EAAEiB,KAAK,EAAA;AAAA,IAAA;AACpB;MACA9C,yBAAA,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AACE1B,QAAAA,SAAS,EAAEyB,8BAAU,CAAC,yBAAyB,EAAE;UAC/C,sCAAsC,EACpCN,gBAAgB,KAAKmB,KAAK;UAC5B,mCAAmC,EAAE1B,YAAY,KAAKS,IAAAA;SACvD,CAAA;AAAC,OAAA,EACEc,YAAY,CAAC;AAAEI,QAAAA,GAAG,EAAKD,EAAAA,GAAAA,KAAK,GAAGjB,IAAI,CAACO,KAAO;AAAEP,QAAAA,IAAI,EAAJA,IAAI;AAAEiB,QAAAA,KAAK,EAALA,KAAAA;OAAO,CAAC,CAE/D9C,EAAAA,yBAAO,CAAAkC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAAL,IAAI,CAACC,KAAK,CAAQ,EACxBD,IAAI,CAACmB,KAAK,IACThD,sDACG6B,IAAI,CAACmB,KAAK,CAACH,GAAG,CAAC,UAACI,IAAI,EAAEH,KAAK,EAAA;AAAA,QAAA,OAC1B9C,wCAACiD,IAAI,EAAA;AACHF,UAAAA,GAAG,EAAED,KAAK;AACVI,UAAAA,MAAM,EACN,IAAA;AAAA1C,UAAAA,SAAS,EAAC,8BAAA;AAA8B,SAAA,CACxC,CAAA;AAAA,OACH,CAAC,CAEL,EACAY,YAAY,KAAKS,IAAI,IAAI7B,yBAAA,CAAAkC,aAAA,CAACiB,eAAS,EAAG,IAAA,CAAA,CAAA;AACpC,MAAA;GACN,CAAC,GACF,IAAI,CACL,CAAA;AAET,CAAC;;AClDM,IAAMC,sBAAoB,GAAsB,SAA1CA,oBAAoB,GAA2B;AAC1D,EAAA,IAAA,aAAA,GAAyCf,YAAY,EAAE;AAA/CgB,IAAAA,oBAAoB,iBAApBA,oBAAoB;AAAE5B,IAAAA,MAAM,iBAANA,MAAM,CAAA;AACpC,EAAA,OACEzB,yBACM,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAAmB,oBAAoB,CAAC;AACvB7C,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,6BAA6B,EAAE;AACnD,MAAA,mCAAmC,EAAER,MAAAA;KACtC,CAAA;AACF,GAAA,CAAC,EAAA;AACF6B,IAAAA,QAAQ,EAAC,IAAI;AACbtC,IAAAA,IAAI,EAAC,QAAA;GAELhB,CAAAA,EAAAA,yBAAA,CAAAkC,aAAA,CAACqB,mBAAa,EAAA,IAAA,CAAG,CACV,CAAA;AAEb,CAAC;;;ACRM,IAAMC,mBAAmB,GAAgC,SAAnDA,mBAAmB,CAAA,IAAA,EAAA;EAAA,IAC9BhD,SAAS,QAATA,SAAS;AACTL,IAAAA,QAAQ,QAARA,QAAQ;IACLQ,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAAA,EAAA,OAEPZ,yBAAK,CAAAkC,aAAA,CAAA,KAAA,EAAA,QAAA,CAAA;AAAA1B,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,oBAAoB,EAAEzB,SAAS,CAAA;GAAOG,EAAAA,IAAI,GACnEX,yBAAA,CAAAkC,aAAA,CAACuB,kBAAW,EAAG,IAAA,CAAA,EACfzD,yBAAA,CAAAkC,aAAA,CAACwB,mBAAc,EAAE,IAAA,EAAAvD,QAAQ,CAAkB,CACvC,CAAA;AAAA,CACP;;;ACEM,IAAMwD,YAAY,GAAgC,SAA5CA,YAAY,CAepB,IAAA,EAAA;EAdHxD,IAAAA,QAAQ,QAARA,QAAQ,CAAA;AACRK,IAAAA,SAAS,QAATA,SAAS,CAAA;AACTkC,IAAAA,KAAK,QAALA,KAAK,CAAA;AAAA,IAAA,YAAA,GAAA,IAAA,CACLkB,OAAO,CAAA;AAAPA,IAAAA,OAAO,6BAAG,KAAK,GAAA,YAAA,CAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CACfC,WAAW,CAAA;AAAXA,IAAAA,WAAW,iCAAG,YAAY,GAAA,gBAAA,CAAA;AAE1BC,IACArD,KAAK,QAALA,KAAK,CAAA;AACLsD,IAAAA,SAAS,QAATA,SAAS,CAAA;AACTC,IAAAA,SAAS,QAATA,SAAS,CAAA;AACTlC,IAAAA,KAAK,QAALA,KAAK,CAAA;AAAA,IAAA,aAAA,GAAA,IAAA,CACLmC,QAAQ,CAAA;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA,CAAA;AAChBC,IAAAA,qBAAqB,QAArBA,qBAAqB,CAAA;IAClBvD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,EAAA;AAEP,EAAA,IAAA,aAAA,GAA0ByB,YAAY,EAAE;AAAhC8B,IAAAA,aAAa,iBAAbA,aAAa,CAAA;AACrB,EAAA,OACEnE;AAAKQ,IAAAA,SAAS,EAAC,sBAAsB;AAACC,IAAAA,KAAK,EAAEA,KAAAA;AAAK,GAAA,EAGhDT,yBAAC,CAAAkC,aAAA,CAAAkC,oBAAe,EAAA,QAAA,CAAA;AACdC,IAAAA,MAAM,EACJrE,wCAACsE,UAAQ,EAAA;AACPN,MAAAA,SAAS,EAAEA,SAAS;AACpBJ,MAAAA,OAAO,EAAEA,OAAO;AAChBC,MAAAA,WAAW,EAAEA,WAAW;MACxBU,QAAQ,EAAK5D,IAAI,CAAC4D,QAAAA;AAAQ,KAAA,CAC1B;AAEJ/D,IAAAA,SAAS,EAAEA,SAAS;AACpBsB,IAAAA,KAAK,EAAEA,KAAK;AACZmC,IAAAA,QAAQ,EAAEA,QAAQ;IAClBO,UAAU,EAAEL,aAAa,EAAE;AAC3BD,IAAAA,qBAAqB,EAAEA,qBAAAA;GACnBvD,EAAAA,IAAI,GAEPR,QAAQ,CACO,EAClBH,yBAAA,CAAAkC,aAAA,CAACO,cAAY,EAAA,QAAA,CAAA;AACXC,IAAAA,KAAK,EAAEA,KAAK;IACZjC,KAAK,EAAA,QAAA,CAAA;AACHgE,MAAAA,QAAQ,EAAE,UAAU;AACpBC,MAAAA,GAAG,EAAKC,YAAK,CAACC,WAAW,GAAGD,YAAK,CAACE,UAAU,GAAA,IAAA;AAAI,KAAA,EAC7Cd,SAAS,CAAA;GAEVpD,EAAAA,IAAI,EACR,CACE,CAAA;AAEV,CAAC,CAAA;AAED,IAAMmE,aAAW,GAAqC,SAAhDA,WAAW,CAAsD,KAAA,EAAA;AAAA,EAAA,IAAXC,KAAK,GAAA,QAAA,CAAA,EAAA,GAAA,yBAAA,CAAA,KAAA,CAAA,EAAA,KAAA,EAAA,CAAA;AAC/D,EAAA,IAAA,cAAA,GAAyC1C,YAAY,EAAE;AAA/C2C,IAAAA,cAAc,kBAAdA,cAAc;AAAE5D,IAAAA,YAAY,kBAAZA,YAAY,CAAA;AACpC,EAAA,OACEpB,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACG7D,YAAY,IACXpB,yBAAA,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA;AACE1B,IAAAA,SAAS,EAAC,4BAA4B;AACtCQ,IAAAA,IAAI,EAAC,QAAQ;IACbsC,QAAQ,EAAE,CAAC,CAAC;AACZ4B,IAAAA,OAAO,EAAE,SAAA,OAAA,GAAA;AAAA,MAAA,OAAMF,cAAc,EAAE,CAAA;AAAA,KAAA;AAAA,IAAA,YAAA,EACpB,4BAAA;AAAyB,GAAA,EAChCD,KAAK,CAET/E,EAAAA,yBAAC,CAAAkC,aAAA,CAAAiD,oBAAc,EAAG,IAAA,CAAA,CAErB,EACA/D,YAAY,IAAIpB;AAAKQ,IAAAA,SAAS,EAAC,uBAAA;AAA8B,GAAA,CAAA,CAC7D,CAAA;AAEP,CAAC,CAAA;AAED,IAAM8D,UAAQ,GAKT,SALCA,QAAQ,CAKyC,KAAA,EAAA;EAAA,IAA/CN,SAAS,SAATA,SAAS;AAAEJ,IAAAA,OAAO,SAAPA,OAAO;AAAEC,IAAAA,WAAW,SAAXA,WAAW;AAAEU,IAAAA,QAAQ,SAARA,QAAQ,CAAA;AAC/C,EAAA,IAAIX,OAAO,EAAE;IACX,OAAO5D,yBAAC,CAAAkC,aAAA,CAAAsB,mBAAmB,EAAE,IAAA,EAAAK,WAAW,CAAuB,CAAA;AAChE,GAAA;AACD,EAAA,IAAIU,QAAQ,EAAE;AACZ,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AACD,EAAA,OAAOP,SAAS,GACdhE,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACEjF,yBAAA,CAAAkC,aAAA,CAAC4C,aAAW,EAAe,IAAA,CAAA,OAAC9E,yBAAA,CAAAkC,aAAA,CAACkB,sBAAoB,EAAA,IAAA,CAAG,CACnD,GAEHpD,yBAAC,CAAAkC,aAAA,CAAAkB,sBAAoB,EAAG,IAAA,CACzB,CAAA;AACH,CAAC;;;ACjGM,IAAMgC,eAAe,gBAAmCpF,yBAAK,CAACqF,UAAU,CAI7E,UAgBEC,IAAAA,EAAAA,GAAG,EACD;EAAA,IAfAC,QAAQ,QAARA,QAAQ;AAAA,IAAA,gBAAA,GAAA,IAAA,CACRzB,WAAW;AAAXA,IAAAA,WAAW,iCAAG,gBAAgB,GAAA,gBAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CAC9B0B,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CACnBC,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AACnB1B,IAAAA,SAAS,QAATA,SAAS;AACTrB,IAAAA,KAAK,QAALA,KAAK;AACLZ,IAAAA,KAAK,QAALA,KAAK;AACLoC,IAAAA,qBAAqB,QAArBA,qBAAqB;AACrBN,IAAAA,OAAO,QAAPA,OAAO;AACPC,IAAAA,WAAW,QAAXA,WAAW;AACXrD,IAAAA,SAAS,QAATA,SAAS;AACTwD,IAAAA,SAAS,QAATA,SAAS;IACNrD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAIT,EAAA,IAAA,aAAA,GAQIyB,YAAY,EAAE;AAPhBgB,IAAAA,oBAAoB,iBAApBA,oBAAoB;AACpBjC,IAAAA,YAAY,iBAAZA,YAAY;AACZsE,IAAAA,qBAAqB,iBAArBA,qBAAqB;AACrBC,IAAAA,QAAQ,iBAARA,QAAQ;AACRlE,IAAAA,MAAM,iBAANA,MAAM;AACNE,IAAAA,gBAAgB,iBAAhBA,gBAAgB;AAChBiE,IAAAA,mBAAmB,iBAAnBA,mBAAmB,CAAA;AAErB,EAAA,OACE5F,yBAAC,CAAAkC,aAAA,CAAAyB,YAAY,EAAA,QAAA,CAAA;AACX4B,IAAAA,QAAQ,EAAEA,QAAQ;AAClBxB,IAAAA,SAAS,EAAEA,SAAS;AACpBrB,IAAAA,KAAK,EAAEA,KAAK;AACZZ,IAAAA,KAAK,EAAEA,KAAK;IACZmC,QAAQ,EAAE7C,YAAY,GAAG,IAAI,GAAG0C,WAAW,CAAC+B,MAAM,KAAK,CAAC;AACxD3B,IAAAA,qBAAqB,EAAEA,qBAAqB;AAC5CN,IAAAA,OAAO,EAAEA,OAAO;AAChBC,IAAAA,WAAW,EAAEA,WAAW;AACxBrD,IAAAA,SAAS,EAAEA,SAAS;AACpBwD,IAAAA,SAAS,EAAEA,SAAAA;GACPrD,EAAAA,IAAI,GAERX,yBAAA,CAAAkC,aAAA,CAAA,QAAA,eACMmB,oBAAoB,CAAA,QAAA,CAAA;AACtB7C,IAAAA,SAAS,EAAE,8CAA8C;AACzDC,IAAAA,KAAK,EAAE;AAAEqF,MAAAA,SAAS,EAAE,MAAA;KAAQ;AAC5BP,IAAAA,QAAQ,EAARA,QAAQ;AACRvE,IAAAA,IAAI,EAAE,QAAQ;IACd+E,SAAS,EAAE,SAAAC,SAAAA,CAAAA,CAAC,EAAG;AACb,MAAA,IAAIR,WAAW,IAAIQ,CAAC,CAACjD,GAAG,KAAK,KAAK,EAAE;AAClC2C,QAAAA,qBAAqB,EAAE,CAAA;AACxB,OAAA;AAED,MAAA,IAAIjE,MAAM,EAAE;AACV,QAAA,IAAMwE,YAAY,GAAGD,CAAC,CAACjD,GAAG,CAAA;QAC1B,IAAMmD,YAAY,GAAGxD,KAAK,CACvBG,GAAG,CAAC,UAAChB,IAAI,EAAEiB,KAAK,EAAA;AAAA,UAAA,OAAA,QAAA,CAAA,EAAA,EAAWjB,IAAI,EAAA;AAAEiB,YAAAA,KAAK,EAALA,KAAAA;AAAK,WAAA,CAAA,CAAA;AAAA,SAAG,CAAC,CAC1CqD,MAAM,CAAC,UAAAtE,IAAI,EAAG;AACb,UAAA,IAAMuE,cAAc,GAAGvE,IAAI,CAACC,KAAK,CAC9BuE,IAAI,EAAE,CACNC,MAAM,CAAC,CAAC,CAAC,CACTC,WAAW,EAAE,CAAA;UAChB,OAAOH,cAAc,KAAKH,YAAY,CAAA;AACxC,SAAC,CAAC,CAAA;AAEJ,QAAA,IAAMO,iBAAiB,GAAGN,YAAY,CAACO,IAAI,CACzC,UAAA5E,IAAI,EAAA;UAAA,OAAIA,IAAI,CAACiB,KAAK,IAAInB,gBAAgB,IAAhBA,IAAAA,GAAAA,gBAAgB,GAAI,CAAC,CAAC,CAAA;SAC7C,CAAA,CAAA;AAED,QAAA,IAAI6E,iBAAiB,EAAE;AACrBZ,UAAAA,mBAAmB,CAACY,iBAAiB,CAAC1D,KAAK,CAAC,CAAA;AAC7C,SAAA,MAAM,IAAIoD,YAAY,CAACL,MAAM,GAAG,CAAC,EAAE;AAClCD,UAAAA,mBAAmB,CAACM,YAAY,CAAC,CAAC,CAAC,CAACpD,KAAK,CAAC,CAAA;AAC3C,SAAA;AACF,OAAA;KACF;AACD4D,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZ,MAAA,IAAIjB,WAAW,EAAE;QACf,CAAChE,MAAM,IAAIkE,QAAQ,EAAE,CAAA;AACtB,OAAA;AACH,KAAA;AAAC,GAAA,EACEhF,IAAI,CACP,CAAA,EAAA;AACF2E,IAAAA,GAAG,EAAEA,GAAAA;GAEJlE,CAAAA,EAAAA,YAAY,GAAGA,YAAY,CAACU,KAAK,GAAGgC,WAAW,CACzC,CACI,CAAA;AAEnB,CAAC,CACF;;;ACvFD,SAAS6C,mBAAmB,CAC1B9E,IAAgC,EAChC+E,KAAoB,EAAA;EAEpB,IAAI,CAACA,KAAK,EAAE;AACV,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;EACD,IAAMC,wBAAwB,GAAGD,KAAK,CAACE,OAAO,CAC5C,uBAAuB,EACvB,MAAM,CACP,CAAA;EACD,IAAMC,UAAU,GAAG,IAAIC,MAAM,CAACH,wBAAwB,EAAE,GAAG,CAAC,CAAA;AAC5D,EAAA,OAAOE,UAAU,CAACE,IAAI,CAACpF,IAAI,CAACC,KAAK,CAAC,CAAA;AACpC,CAAA;AAEO,IAAMoF,kBAAkB,gBAC7BlH,yBAAK,CAACqF,UAAU,CACd,UAsBEC,IAAAA,EAAAA,GAAG,EACD;AAAA,EAAA,IAAA,aAAA,GAAA,IAAA,CArBAC,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAChB/E,IAAAA,SAAS,QAATA,SAAS;AACTkC,IAAAA,KAAK,QAALA,KAAK;AACLkB,IAAAA,OAAO,QAAPA,OAAO;AACPC,IAAAA,WAAW,QAAXA,WAAW;AAAA,IAAA,aAAA,GAAA,IAAA,CACXU,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAChB4C,IAAAA,OAAO,QAAPA,OAAO;AAAA,IAAA,gBAAA,GAAA,IAAA,CACP3B,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CACnBC,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AACnB1B,IAAAA,SAAS,QAATA,SAAS;AACTC,IAAAA,SAAS,QAATA,SAAS;AAAA,IAAA,eAAA,GAAA,IAAA,CACToD,UAAU;AAAVA,IAAAA,UAAU,GAAG,eAAA,KAAA,KAAA,CAAA,GAAA,UACXvF,IAAgC,EAChCR,UAAyB,EAAA;AAAA,MAAA,OACtBsF,mBAAmB,CAAC9E,IAAI,EAAER,UAAU,CAAC,CAAA;AAAA,KAAA,GAAA,eAAA;AAC1CS,IAAAA,KAAK,QAALA,KAAK;AACLoC,IAAAA,qBAAqB,QAArBA,qBAAqB;AACrBJ,IAAAA,WAAW,QAAXA,WAAW;IACRnD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAIT,EAAA,IAAA,aAAA,GAQIyB,YAAY,EAAE;AAPhBgF,IAAAA,aAAa,iBAAbA,aAAa;AACbhG,IAAAA,UAAU,iBAAVA,UAAU;AACVqE,IAAAA,qBAAqB,iBAArBA,qBAAqB;AACrBjE,IAAAA,MAAM,iBAANA,MAAM;AACNkE,IAAAA,QAAQ,iBAARA,QAAQ;AACR2B,IAAAA,SAAS,iBAATA,SAAS;AACTlG,IAAAA,YAAY,iBAAZA,YAAY,CAAA;EAGd,IAAgDmG,SAAAA,GAAAA,cAAQ,CAAC,KAAK,CAAC;IAAxDC,gBAAgB,GAAA,SAAA,CAAA,CAAA,CAAA;IAAEC,mBAAmB,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAMC,QAAQ,GAAGC,YAAM,CAAmB,IAAI,CAAC,CAAA;AAE/C,EAAA,IAAMC,aAAa,GAAG5H,yBAAK,CAAC6H,OAAO,CAAC,YAAK;AACvC,IAAA,OAAOnF,KAAK,CAACyD,MAAM,CAAC,UAAAtE,IAAI,EAAA;AAAA,MAAA,OAAIuF,UAAU,CAACvF,IAAI,EAAER,UAAU,CAAC,CAAA;KAAC,CAAA,CAAA;GAC1D,EAAE,CAACA,UAAU,EAAEqB,KAAK,EAAE0E,UAAU,CAAC,CAAC,CAAA;AAEnC,EAAA,OACEpH,yBAAC,CAAAkC,aAAA,CAAAyB,YAAY,EACX;AAAAjB,IAAAA,KAAK,EAAEkF,aAAa;AACpBrC,IAAAA,QAAQ,EAAEA,QAAQ;AAClBhB,IAAAA,QAAQ,EAAEA,QAAQ;AAClB/D,IAAAA,SAAS,EAAEA,SAAS;AACpBoD,IAAAA,OAAO,EAAEA,OAAO;AAChBC,IAAAA,WAAW,EAAEA,WAAW;AACxBsD,IAAAA,OAAO,EAAEA,OAAO;AAChBpD,IAAAA,SAAS,EAAEA,SAAS;AACpBC,IAAAA,SAAS,EAAEA,SAAS;AACpBlC,IAAAA,KAAK,EAAEA,KAAK;AACZmC,IAAAA,QAAQ,EAAE7C,YAAY,GAAG,IAAI,GAAG,KAAK;AACrC8C,IAAAA,qBAAqB,EAAEA,qBAAAA;AAAqB,GAAA,EAE3C,CAACsD,gBAAgB,IAAIpG,YAAY,IAAI,CAACC,UAAU,IAC/CrB,yBAAA,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAM1B,IAAAA,SAAS,EAAC,iDAAA;AAAiD,GAAA,EAC/DR,yBACE,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAA1B,IAAAA,SAAS,EAAC,wCAAwC;AAClD0E,IAAAA,OAAO,EAAE,SAAA,OAAA,GAAA;AAAA,MAAA,IAAA,iBAAA,CAAA;AAAA,MAAA,OAAA,CAAA,iBAAA,GAAMwC,QAAQ,CAACI,OAAO,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAA,iBAAA,CAAkBC,KAAK,EAAE,CAAA;AAAA,KAAA;AAAA,GAAA,EAEvC3G,YAAY,CAACU,KAAK,CACd,CAEV,EACD9B,yBAAA,CAAAkC,aAAA,CAAA,OAAA,eACMmF,aAAa,CAAA,QAAA,CAAA;AACf9B,IAAAA,QAAQ,EAARA,QAAQ;AACRhB,IAAAA,QAAQ,EAARA,QAAQ;AACR/D,IAAAA,SAAS,EAAE,sCAAsC;IACjDuF,SAAS,EAAE,SAAAC,SAAAA,CAAAA,CAAC,EAAG;MACb,IAAIR,WAAW,IAAIQ,CAAC,CAACjD,GAAG,KAAK,KAAK,EAAE2C,qBAAqB,EAAE,CAAA;KAC5D;AACDgB,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZ,MAAA,IAAI,CAACjF,MAAM,IAAIgE,WAAW,EAAEE,QAAQ,EAAE,CAAA;MACtC8B,mBAAmB,CAAC,IAAI,CAAC,CAAA;KAC1B;AACD3D,IAAAA,WAAW,EAAE1C,YAAY,GAAGA,YAAY,CAACU,KAAK,GAAGgC,WAAAA;AAAW,GAAA,EACzDnD,IAAI,CACP,CAAA,EAAA;AACFqH,IAAAA,MAAM,EAAE,SAAK,MAAA,GAAA;MACXP,mBAAmB,CAAC,KAAK,CAAC,CAAA;AAC1BH,MAAAA,SAAS,EAAE,CAAA;KACZ;AACDhC,IAAAA,GAAG,EAAE2C,eAAS,CAAmB3C,GAAG,EAAEoC,QAAQ,CAAA;AAAC,GAAA,CAAA,CAC/C,CACW,CAAA;AAEnB,CAAC,CACF;;AC3HI,IAAMQ,kBAAkB,GAAsC,SAAxDA,kBAAkB,CAM1B,IAAA,EAAA;EAAA,IALH/H,QAAQ,QAARA,QAAQ;AACRgI,IAAAA,QAAQ,QAARA,QAAQ;AACRC,IAAAA,OAAO,QAAPA,OAAO;AACP5H,IAAAA,SAAS,QAATA,SAAS;AACTC,IAAAA,KAAK,QAALA,KAAK,CAAA;AAEL,EAAA,OACET,yBAAC,CAAAkC,aAAA,CAAAmG,oBAAe,EAAC;AAAAD,IAAAA,OAAO,EAAEA,OAAAA;AAAO,GAAA,EAC/BpI,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAEA,SAAS;AAAEC,IAAAA,KAAK,EAAEA,KAAAA;AAAK,GAAA,EACpCN,QAAQ,EACRgI,QAAQ,IAAIC,OAAO,IAClBpI,yBAAA,CAAAkC,aAAA,CAACoG,iBAAY,EAAC;AAAAF,IAAAA,OAAO,EAAEA,OAAAA;KAAUD,QAAQ,CAC1C,CACG,CACU,CAAA;AAEtB,CAAC;;ACdM,IAAMI,kBAAkB,GAAG,SAArBA,kBAAkB,CAC7B7F,KAAyB,EAAA;EAAA,OAEzB1C,yBAAK,CAAC6H,OAAO,CACX,YAAA;AAAA,IAAA,OACEnF,KAAK,CAACG,GAAG,CAAC,UAAAhB,IAAI,EAAG;AACf,MAAA,IAAI,OAAOA,IAAI,IAAI,QAAQ,EAAE;QAC3B,OAAO;AAAEO,UAAAA,KAAK,EAAEP,IAAI;AAAEC,UAAAA,KAAK,EAAED,IAAAA;SAAM,CAAA;AACpC,OAAA;AAED,MAAA,IAAI,EAAE,OAAO,IAAIA,IAAI,CAAC,EAAE;AACtB,QAAA,OAAA,QAAA,CAAA,EAAA,EAAYA,IAAI,EAAA;UAAEO,KAAK,EAAEP,IAAI,CAACC,KAAAA;AAAK,SAAA,CAAA,CAAA;AACpC,OAAA;AACD,MAAA,OAAOD,IAAkC,CAAA;AAC3C,KAAC,CAAC,CAAA;GACJ,EAAA,CAACa,KAAK,CAAC,CACR,CAAA;AAAA,CAAA;;ACpBH,IAAM8F,YAAY,GAAG,SAAfA,YAAY,GAAQ;AACxB,EAAA,IAAMC,YAAY,GAAGzI,yBAAK,CAAC2H,MAAM,CAAC,IAAI,CAAC,CAAA;EACvC3H,yBAAK,CAAC0I,SAAS,CAAC,YAAK;AACnB,IAAA,OAAO,YAAK;MACVD,YAAY,CAACX,OAAO,GAAG,KAAK,CAAA;KAC7B,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;EACN,OAAOW,YAAY,CAACX,OAAO,CAAA;AAC7B,CAAC,CAAA;AAuBD,IAAMa,OAAO,GAAG,SAAVA,OAAO,CAAIC,MAAqB,EAAEC,MAAsB,EAAI;EAChE,QAAQA,MAAM,CAAC7H,IAAI;AACjB,IAAA,KAAK,iBAAiB;MACpB,OAAO;AAAE0B,QAAAA,KAAK,EAAE,EAAE;AAAEkB,QAAAA,OAAO,EAAE,IAAA;OAAM,CAAA;AACrC,IAAA,KAAK,kBAAkB;MACrB,OAAO;QAAElB,KAAK,EAAEmG,MAAM,CAACC,OAAO;AAAElF,QAAAA,OAAO,EAAE,KAAA;OAAO,CAAA;AAAC,GAAA;AAEvD,CAAC,CAAA;AAEM,IAAMmF,gBAAgB,GAAG,SAAnBA,gBAAgB;AAE3BC,oBAAsD;AAEtDC,eAAe,EAKb;AAAA,EAAA,IALFA,eAAe,KAAA,KAAA,CAAA,EAAA;AAAfA,IAAAA,eAAe,GAAG,GAAG,CAAA;AAAA,GAAA;AAMrB,EAAA,IAAMC,eAAe,GAAG,OAAOF,oBAAoB,KAAK,UAAU,CAAA;AAElE;AACA;AACA,EAAA,IAAMG,aAAa,GAAGnJ,yBAAK,CAAC6H,OAAO,CACjC,YAAA;IAAA,OACEqB,eAAe,GACVF,oBAA8C,GAC/C,YAAA;AAAA,MAAA,OAAMI,OAAO,CAACC,OAAO,CAACL,oBAA0C,CAAC,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EACvE,CAACA,oBAAoB,EAAEE,eAAe,CAAC,CACxC,CAAA;AAED,EAAA,IAAA,iBAAA,GAAuClJ,yBAAK,CAACsJ,UAAU,CAACX,OAAO,EAAE;AAC/DjG,MAAAA,KAAK,EAAEwG,eAAe,GAAG,EAAE,GAAIF,oBAA2C;AAC1EpF,MAAAA,OAAO,EAAE,KAAA;AACV,KAAA,CAAC;AAAA,IAAA,kBAAA,GAAA,iBAAA,CAAA,CAAA,CAAA;AAHOlB,IAAAA,KAAK,sBAALA,KAAK;AAAEkB,IAAAA,OAAO,sBAAPA,OAAO;IAAI2F,QAAQ,GAAA,iBAAA,CAAA,CAAA,CAAA,CAAA;AAKnC;AACA;AACA;EACA,IAAMC,SAAS,GAAGhB,YAAY,EAAE,CAAA;AAEhC;AACA;AACA,EAAA,IAAMiB,UAAU,GAAGzJ,yBAAK,CAAC0J,WAAW,eAAA,YAAA;AAAA,IAAA,IAAA,IAAA,GAAA,iBAAA,eAAA,mBAAA,EAAA,CAAA,IAAA,CAClC,iBAAOrI,UAAkB,EAAA;AAAA,MAAA,IAAA,aAAA,CAAA;AAAA,MAAA,OAAA,mBAAA,EAAA,CAAA,IAAA,CAAA,SAAA,QAAA,CAAA,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA;AAAA,UAAA,QAAA,QAAA,CAAA,IAAA,GAAA,QAAA,CAAA,IAAA;AAAA,YAAA,KAAA,CAAA;AAAA,cAAA,IAClBmI,SAAS,EAAA;AAAA,gBAAA,QAAA,CAAA,IAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,MAAA;AAAA,eAAA;AAAA,cAAA,OAAA,QAAA,CAAA,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,YAAA,KAAA,CAAA;AAGdD,cAAAA,QAAQ,CAAC;AAAEvI,gBAAAA,IAAI,EAAE,iBAAA;AAAiB,eAAE,CAAC,CAAA;AAAC,cAAA,QAAA,CAAA,IAAA,GAAA,CAAA,CAAA;cAAA,OACVmI,aAAa,CAAC9H,UAAU,CAAC,CAAA;AAAA,YAAA,KAAA,CAAA;cAA/CsI,aAAa,GAAA,QAAA,CAAA,IAAA,CAAA;AACnB,cAAA,IAAIH,SAAS,EAAE;AACbD,gBAAAA,QAAQ,CAAC;AAAEvI,kBAAAA,IAAI,EAAE,kBAAkB;AAAE8H,kBAAAA,OAAO,EAAEa,aAAAA;AAAe,iBAAA,CAAC,CAAA;AAC/D,eAAA;AAAA,YAAA,KAAA,CAAA,CAAA;AAAA,YAAA,KAAA,KAAA;AAAA,cAAA,OAAA,QAAA,CAAA,IAAA,EAAA,CAAA;AAAA,WAAA;AAAA,SAAA;AAAA,OAAA,EAAA,OAAA,CAAA,CAAA;KACF,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,UAAA,EAAA,EAAA;AAAA,MAAA,OAAA,IAAA,CAAA,KAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAAA,EACD,CAACR,aAAa,EAAEK,SAAS,CAAC,CAC3B,CAAA;AAED,EAAA,IAAMI,eAAe,GAAGrB,kBAAkB,CAAC7F,KAAK,CAAC,CAAA;EACjD1C,yBAAK,CAAC0I,SAAS,CAAC,YAAK;AACnB;AACA,IAAA,IAAIQ,eAAe,EAAE;MACnBO,UAAU,CAAC,EAAE,CAAC,CAAA;AACf,KAAA;AACH,GAAC,EAAE,CAACP,eAAe,CAAC,CAAC,CAAC;EAEtB,OAAO;AACLxG,IAAAA,KAAK,EAAEkH,eAAe;AACtBhG,IAAAA,OAAO,EAAEsF,eAAe,GAAGtF,OAAO,GAAG,KAAK;AAC1C6F,IAAAA,UAAU,EAAEI,cAAQ,CAACJ,UAAU,EAAER,eAAe,CAAA;GACjD,CAAA;AACH,CAAC;;;AC3CM,IAAMa,QAAQ,gBAA4B9J,yBAAK,CAACqF,UAAU,CAI/D,UA0BEC,IAAAA,EAAAA,GAAG,EACD;EAAA,IAzBA/E,wBAAwB,QAAxBA,wBAAwB;AACxB0I,IAAAA,eAAe,QAAfA,eAAe;AACf1D,IAAAA,QAAQ,QAARA,QAAQ;AACR4C,IAAAA,QAAQ,QAARA,QAAQ;AACRzF,IAAAA,KAAK,QAALA,KAAK;AACLZ,IAAAA,KAAK,QAALA,KAAK;AACL+B,IAAAA,WAAW,QAAXA,WAAW;AAAA,IAAA,aAAA,GAAA,IAAA,CACXzD,QAAQ;AAARA,IAAAA,QAAQ,GAAG,aAAA,KAAA,KAAA,CAAA,GAAA,YAAA;AAAA,MAAA,OAAMC,SAAS,CAAA;AAAA,KAAA,GAAA,aAAA;AAC1ByD,IAAAA,WAAW,QAAXA,WAAW;AACXqD,IAAAA,OAAO,QAAPA,OAAO;AACP5C,IAAAA,QAAQ,QAARA,QAAQ;AACR7D,IAAAA,UAAU,QAAVA,UAAU;AACV8E,IAAAA,WAAW,QAAXA,WAAW;AACXC,IAAAA,WAAW,QAAXA,WAAW;AACX2C,IAAAA,OAAO,QAAPA,OAAO;AACPhG,IAAAA,KAAK,QAALA,KAAK;AAAA,IAAA,cAAA,GAAA,IAAA,CACL4B,SAAS;AAATA,IAAAA,SAAS,+BAAG,KAAK,GAAA,cAAA;AACjBxD,IAAAA,SAAS,QAATA,SAAS;AACTC,IAAAA,KAAK,QAALA,KAAK;AACLsD,IAAAA,SAAS,QAATA,SAAS;AACTqD,IAAAA,UAAU,QAAVA,UAAU;AACVlD,IAAAA,qBAAqB,QAArBA,qBAAqB;IAClBvD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAIT,EAAA,IAAA,iBAAA,GAIImI,gBAAgB,CAACrG,KAAK,EAAEuG,eAAe,CAAC;AAHnCW,IAAAA,eAAe,qBAAtBlH,KAAK;AACLkB,IAAAA,OAAO,qBAAPA,OAAO;AACP6F,IAAAA,UAAU,qBAAVA,UAAU,CAAA;AAGZ,EAAA,IAAMrI,YAAY,GAChBgB,KAAK,KAAK/B,SAAS,GACfA,SAAS,GACTuJ,eAAe,CAACnD,IAAI,CAAC,UAAA5E,IAAI,EAAA;AAAA,IAAA,OAAIO,KAAK,KAAKP,IAAI,CAACO,KAAK,CAAA;AAAA,GAAA,CAAC,IAAI,IAAI,CAAA;AAEhE,EAAA,IAAM2H,gBAAgB,GAAGrJ,UAAU,GAAGwG,kBAAkB,GAAG9B,eAAe,CAAA;EAC1E,IAAM4E,eAAe,GAAGtJ,UAAU,GAC9B;AAAE0G,IAAAA,UAAU,EAAEA,UAAU;IAAE6C,IAAI,EAAEtJ,IAAI,CAACsJ,IAAI;IAAE,SAAS,EAAEtJ,IAAI,CAAC,SAAS,CAAA;AAAG,GAAA,GACvE;IAAEsJ,IAAI,EAAEtJ,IAAI,CAACsJ,IAAI;IAAE,SAAS,EAAEtJ,IAAI,CAAC,SAAS,CAAA;GAAG,CAAA;AACnD,EAAA,OACEX,yBAAC,CAAAkC,aAAA,CAAAhC,iBAAiB,EAAA,QAAA,CAAA;AAChBkB,IAAAA,YAAY,EAAEA,YAAY;AAC1Bd,IAAAA,kBAAkB,EAAEmJ,UAAU;AAC9BrJ,IAAAA,QAAQ,EAAEA,QAAQ;AAClBgC,IAAAA,KAAK,EAAEA,KAAK;AACZ7B,IAAAA,wBAAwB,EAAEA,wBAAwB;AAClDC,IAAAA,SAAS,EAAEA,SAAS;AACpBC,IAAAA,KAAK,EAAEA,KAAK;AACZC,IAAAA,UAAU,EAAEA,UAAAA;AAAU,GAAA,EAClBC,IAAI,CAERX,EAAAA,yBAAC,CAAAkC,aAAA,CAAAgG,kBAAkB;AAACC,IAAAA,QAAQ,EAAEA,QAAQ;AAAEC,IAAAA,OAAO,EAAEA,OAAAA;AAAO,GAAA,EACtDpI,yBAAA,CAAAkC,aAAA,CAAC6H,gBAAgB,EAAA,QAAA,CAAA;AACfjI,IAAAA,KAAK,EAAEA,KAAK;AACZY,IAAAA,KAAK,EAAEkH,eAAe;AACtBhG,IAAAA,OAAO,EAAEA,OAAO;AAChBC,IAAAA,WAAW,EAAEA,WAAW;AACxB0B,IAAAA,QAAQ,EAAEA,QAAQ;AAClBhB,IAAAA,QAAQ,EAAEA,QAAQ;AAClBT,IAAAA,WAAW,EAAEA,WAAW;AACxBqD,IAAAA,OAAO,EAAEA,OAAO;AAChB3B,IAAAA,WAAW,EAAEA,WAAW;AACxBC,IAAAA,WAAW,EAAEA,WAAW;AACxB1B,IAAAA,SAAS,EAAEA,SAAS;AACpBC,IAAAA,SAAS,EAAEA,SAAS;AACpBE,IAAAA,qBAAqB,EAAEA,qBAAqB;AAC5CoB,IAAAA,GAAG,EAAEA,GAAAA;GACD0E,EAAAA,eAAe,CACnB,CAAA,CACiB,CACH,CAAA;AAExB,CAAC;;;ACrGUE,IAAAA,cAAc,GAAkC,SAAhDA,cAAc,CAatB,IAAA,EAAA;EAAA,IAZH1J,SAAS,QAATA,SAAS;AAAA,IAAA,aAAA,GAAA,IAAA,CACT+E,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAAA,IAAA,aAAA,GAAA,IAAA,CAChBhB,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAChB7B,IAAAA,KAAK,QAALA,KAAK;AACLmB,IAAAA,WAAW,QAAXA,WAAW;AACXsD,IAAAA,OAAO,QAAPA,OAAO;AACP1G,IAAAA,KAAK,QAALA,KAAK;AACLqB,IAAAA,KAAK,QAALA,KAAK;AACLsG,IAAAA,OAAO,QAAPA,OAAO;AACPD,IAAAA,QAAQ,QAARA,QAAQ;AACRjE,IAAAA,qBAAqB,QAArBA,qBAAqB;IAClBvD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;EAEP,IAA4CmI,iBAAAA,GAAAA,gBAAgB,CAACrG,KAAK,CAAC;AAApDkH,IAAAA,eAAe,qBAAtBlH,KAAK;AAAmBkB,IAAAA,OAAO,qBAAPA,OAAO,CAAA;AAEvC,EAAA,IAAIuG,aAAa,GACfnK,yBAAA,CAAAkC,aAAA,CAACqB,mBAAa,EAAA;AAACL,IAAAA,MAAM,EAAE,IAAI;AAAA,IAAA,aAAA,EAAc,MAAA;AAAM,GAAA,CAChD,CAAA;EACD,IAAIqC,QAAQ,IAAIhB,QAAQ,EAAE;AACxB4F,IAAAA,aAAa,GAAG,IAAI,CAAA;GACrB,MAAM,IAAIvG,OAAO,EAAE;AAClBuG,IAAAA,aAAa,GACXnK,yBAAA,CAAAkC,aAAA,CAACsB,mBAAmB,EAAA;AAAA,MAAA,aAAA,EAAa,MAAA;KAC9B,EAAAK,WAAW,CAEf,CAAA;AACF,GAAA;AACD,EAAA,IAAMuG,gBAAgB,GAAGC,iBAAW,CAAC,qBAAqB,CAAC,CAAA;AAC3D,EAAA,OACErK,wCAACoE,oBAAe,EAAA;AACdmB,IAAAA,QAAQ,EAAEA,QAAQ;AAClBhB,IAAAA,QAAQ,EAAEA,QAAQ;AAClB4C,IAAAA,OAAO,EAAEA,OAAO;AAChB9C,IAAAA,MAAM,EAAE8F,aAAa;AACrB3J,IAAAA,SAAS,EAAEA,SAAS;AACpBC,IAAAA,KAAK,EAAEA,KAAK;AACZqB,IAAAA,KAAK,EAAEA,KAAK;AACZwI,IAAAA,OAAO,EAAEF,gBAAgB;AACzBhC,IAAAA,OAAO,EAAEA,OAAO;AAChBD,IAAAA,QAAQ,EAAEA,QAAQ;AAClBjE,IAAAA,qBAAqB,EAAEA,qBAAqB;AAC5CD,IAAAA,QAAQ,EAAE,IAAA;AAAI,GAAA,EAEdjE,yBACgB,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA;IAAA,cAAA,EAAAkG,OAAO,KAAK,OAAO;AAAA,IAAA,iBAAA,EAChBgC,gBAAgB;AACtB,IAAA,WAAA,EAAAxG,OAAO;AAClBpD,IAAAA,SAAS,EAAC,+BAA+B;IACzC+E,QAAQ,EAAEA,QAAQ,IAAIhB,QAAAA;AAAQ,GAAA,EAC1B5D,IAAI,CAEPiJ,EAAAA,eAAe,CAAC/G,GAAG,CAAC,UAAAhB,IAAI,EAAA;AAAA,IAAA,OACvB7B,yBAAA,CAAAkC,aAAA,CAAA,QAAA,EAAA;MAAQa,GAAG,EAAElB,IAAI,CAACO,KAAK;MAAEA,KAAK,EAAEP,IAAI,CAACO,KAAAA;AAAK,KAAA,EACvCP,IAAI,CAACC,KAAK,CACJ,CAAA;GACV,CAAC,CACK,CACO,CAAA;AAEtB;;;ACpFA,IAAMyI,kBAAkB,gBAAGvK,yBAAK,CAACC,aAAa,CAMpC,IAAI,CAAC,CAAA;AACf,IAAMuK,qBAAqB,GAAG,SAAxBA,qBAAqB,GAAQ;AACjC,EAAA,IAAMlI,OAAO,GAAGtC,yBAAK,CAACuC,UAAU,CAACgI,kBAAkB,CAAC,CAAA;EACpD,IAAI,CAACjI,OAAO,EAAE;AACZ,IAAA,MAAM,IAAIE,KAAK,CAAC,wDAAwD,CAAC,CAAA;AAC1E,GAAA;AACD,EAAA,OAAOF,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,SAAShB,YAAY,CACnBmJ,KAAU;AAAE;AACZC,gBAAqB,EAAA;AAErB,EAAA,IAAQ5J,OAAO,GAAW4J,gBAAgB,CAAlC5J,OAAO;IAAEE,IAAI,GAAK0J,gBAAgB,CAAzB1J,IAAI,CAAA;AACrB,EAAA,QAAQA,IAAI;AACV,IAAA,KAAK2J,mBAAS,CAACzJ,gBAAgB,CAAC0J,gBAAgB,CAAA;AAChD,IAAA,KAAKD,mBAAS,CAACzJ,gBAAgB,CAAC2J,sBAAsB,CAAA;AACtD,IAAA,KAAKF,mBAAS,CAACzJ,gBAAgB,CAAC4J,SAAS;AACvC,MAAA,OAAA,QAAA,CAAA,EAAA,EACKhK,OAAO,EAAA;AACVW,QAAAA,MAAM,EAAE,IAAI;QACZE,gBAAgB,EAAE8I,KAAK,CAAC9I,gBAAAA;AAAgB,OAAA,CAAA,CAAA;AAE5C,IAAA;AACE,MAAA,OAAOb,OAAO,CAAA;AAAC,GAAA;AAErB,CAAA;AAmDaiK,IAAAA,WAAW,GAA+B,SAA1CA,WAAW,CAmBnB,IAAA,EAAA;EAAA,IAlBHvK,SAAS,QAATA,SAAS;AAAA,IAAA,cAAA,GAAA,IAAA,CACTwD,SAAS;AAATA,IAAAA,SAAS,+BAAG,KAAK,GAAA,cAAA;AACjBiF,IAAAA,eAAe,QAAfA,eAAe;AACf1D,IAAAA,QAAQ,QAARA,QAAQ;AACR4C,IAAAA,QAAQ,QAARA,QAAQ;AAAA,IAAA,qBAAA,GAAA,IAAA,CACR6C,oBAAoB;AAApBA,IAAAA,oBAAoB,sCAAG,EAAE,GAAA,qBAAA;AAClBpE,IAAAA,KAAK,QAAZlE,KAAK;AAAA,IAAA,qBAAA,GAAA,IAAA,CACLuI,kBAAkB;IAAlBA,kBAAkB,GAAA,qBAAA,KAAA,KAAA,CAAA,GAAG,UAAAvI,KAAK,EAAA;MAAA,OAAIwI,kBAAkB,CAACxI,KAAK,CAAC,CAAA;AAAA,KAAA,GAAA,qBAAA;AACvDZ,IAAAA,KAAK,QAALA,KAAK;AACLiC,IAAAA,SAAS,QAATA,SAAS;AAAA,IAAA,YAAA,GAAA,IAAA,CACTH,OAAO;AAAPA,IAAAA,OAAO,6BAAG,KAAK,GAAA,YAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CACfC,WAAW;AAAXA,IAAAA,WAAW,iCAAG,EAAE,GAAA,gBAAA;AAAA,IAAA,aAAA,GAAA,IAAA,CAChBzD,QAAQ;AAARA,IAAAA,QAAQ,GAAG,aAAA,KAAA,KAAA,CAAA,GAAA,YAAA;AAAA,MAAA,OAAMC,SAAS,CAAA;AAAA,KAAA,GAAA,aAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CAC1BoF,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AAAA,IAAA,aAAA,GAAA,IAAA,CACnBlB,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAChB9D,IAAAA,KAAK,QAALA,KAAK;AACL2H,IAAAA,OAAO,QAAPA,OAAO;IACJzH,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAEP,EAAA,IAAA,iBAAA,GAAkBmI,gBAAgB,CAACnC,KAAK,EAAEqC,eAAe,CAAC;AAAlDvG,IAAAA,KAAK,qBAALA,KAAK,CAAA;EACb,IACE6E,SAAAA,GAAAA,cAAQ,CAA+ByD,oBAAoB,CAAC;IADvDG,aAAa,GAAA,SAAA,CAAA,CAAA,CAAA;IAAEC,gBAAgB,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAGtC,EAAA,IAAMC,KAAK,GAAGrL,yBAAK,CAAC0J,WAAW,CAAC,YAAK;IACnC0B,gBAAgB,CAAC,EAAE,CAAC,CAAA;GACrB,EAAE,EAAE,CAAC,CAAA;EAEN,SAASE,UAAU,CAACC,oBAAgD,EAAA;AAClE,IAAA,OAAOJ,aAAa,CAACK,IAAI,CACvB,UAAAC,QAAQ,EAAA;AAAA,MAAA,OAAIA,QAAQ,CAACrJ,KAAK,KAAKmJ,oBAAoB,CAACnJ,KAAK,CAAA;KAC1D,CAAA,CAAA;AACH,GAAA;AAEA,EAAA,IAAA,UAAA,GAQIuI,mBAAS,CAAA,QAAA,CAAA;AACXjI,MAAAA,KAAK,EAALA,KAAK;AACLpB,MAAAA,YAAY,EAAZA,YAAY;AACZF,MAAAA,YAAY,EAAE,IAAI;AAClBsK,MAAAA,oBAAoB,EAAE,SAAqB,oBAAA,CAAA,KAAA,EAAA;QAAA,IAAlBtK,YAAY,SAAZA,YAAY,CAAA;QACnC,IAAI,CAACA,YAAY,EAAE;AACjB,UAAA,OAAA;AACD,SAAA;AACD,QAAA,IAAMuK,WAAW,GAAGL,UAAU,CAAClK,YAAY,CAAC,CAAA;AAC5C,QAAA,IAAIuK,WAAW,EAAE;AACf,UAAA,IAAMC,cAAc,GAAGT,aAAa,CAAChF,MAAM,CACzC,UAAAtE,IAAI,EAAA;AAAA,YAAA,OAAIA,IAAI,CAACO,KAAK,KAAKhB,YAAY,CAACgB,KAAK,CAAA;WAC1C,CAAA,CAAA;UACDgJ,gBAAgB,CAACQ,cAAc,CAAC,CAAA;UAChCxL,QAAQ,CAACwL,cAAc,CAAC,CAAA;AACzB,SAAA,MAAM;AACL,UAAA,IAAMA,eAAc,GAAA,EAAA,CAAA,MAAA,CAAOT,aAAa,EAAA,CAAE/J,YAAY,CAAC,CAAA,CAAA;UACvDgK,gBAAgB,CAACQ,eAAc,CAAC,CAAA;UAChCxL,QAAQ,CAACwL,eAAc,CAAC,CAAA;AACzB,SAAA;AACH,OAAA;AAAC,KAAA,EACEjL,IAAI,CACP,CAAA;AA7BAc,IAAAA,MAAM,cAANA,MAAM;AACN4B,IAAAA,oBAAoB,cAApBA,oBAAoB;AACpBc,IAAAA,aAAa,cAAbA,aAAa;AACbvB,IAAAA,YAAY,cAAZA,YAAY;AACZjB,IAAAA,gBAAgB,cAAhBA,gBAAgB;AAChBgB,IAAAA,YAAY,cAAZA,YAAY;AACZgD,IAAAA,QAAQ,cAARA,QAAQ,CAAA;EAwBV,IAAMkG,UAAU,GAAGV,aAAa,CAACtF,MAAM,GACnCoF,kBAAkB,CAACE,aAAa,CAAC,GACjC,EAAE,CAAA;AACN,EAAA,IAAMW,aAAa,GAAGzB,iBAAW,CAAC,iBAAiB,CAAC,CAAA;AAEpD,EAAA,OACErK,yBAAC,CAAAkC,aAAA,CAAAqI,kBAAkB,CAACpI,QAAQ,EAAA;AAC1BC,IAAAA,KAAK,EAAE;AAAEX,MAAAA,MAAM,EAANA,MAAM;AAAE4J,MAAAA,KAAK,EAALA,KAAK;AAAEhI,MAAAA,oBAAoB,EAApBA,oBAAoB;AAAEsC,MAAAA,QAAQ,EAARA,QAAQ;AAAEF,MAAAA,WAAW,EAAXA,WAAAA;AAAa,KAAA;AAAA,GAAA,EAErEzF,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;IACE1B,SAAS,EAAEyB,8BAAU,CACnB,iBAAiB,EACjB,sBAAsB,EACtBzB,SAAS,CACV;AACDC,IAAAA,KAAK,EAAEA,KAAAA;AAAK,GAAA,EAEZT,yBAAA,CAAAkC,aAAA,CAACkC,oBAAe,EAAA;AACdtC,IAAAA,KAAK,EAAEA,KAAK;AACZwI,IAAAA,OAAO,EAAEwB,aAAa;IACtBtH,UAAU,EAAKL,aAAa,EAAE;AAC9BgE,IAAAA,QAAQ,EAAEA,QAAQ;AAClBC,IAAAA,OAAO,EAAEA,OAAO;AAChBnE,IAAAA,QAAQ,EAAEkH,aAAa,CAACtF,MAAM,GAAG,CAAC,IAAIpE,MAAM;AAC5C8D,IAAAA,QAAQ,EAAEA,QAAQ;AAClBhB,IAAAA,QAAQ,EAAEA,QAAQ;AAClBF,IAAAA,MAAM,EACJrE,yBAAA,CAAAkC,aAAA,CAACoC,QAAQ,EAAA;AACPyH,MAAAA,WAAW,EAAE/H,SAAS,IAAImH,aAAa,CAACtF,MAAM,GAAG,CAAC;AAClDjC,MAAAA,OAAO,EAAEA,OAAO;AAChBC,MAAAA,WAAW,EAAEA,WAAW;AACxBU,MAAAA,QAAQ,EAAEA,QAAAA;KACV,CAAA;GAAA,EAGJvE,yBAAA,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EACMmB,oBAAoB,CAAC;AACvB5C,IAAAA,KAAK,EAAE;AACLqF,MAAAA,SAAS,EAAE,MAAA;KACZ;AACD9E,IAAAA,IAAI,EAAE,QAAQ;AACdR,IAAAA,SAAS,EAAE,0CAAA;GACZ,CAAC,CAEDqL,EAAAA,UAAU,CACJ,CACO,EAClB7L,yBAAA,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AACE1B,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,mBAAmB,EAAE;AACzC,MAAA,yBAAyB,EAAER,MAAAA;KAC5B,CAAA;AAAC,GAAA,EACEmB,YAAY,CAAC;IACfnC,KAAK,EAAA,QAAA,CAAA;AACHgE,MAAAA,QAAQ,EAAE,UAAU;AACpBC,MAAAA,GAAG,EAAKC,YAAK,CAACC,WAAW,GAAGD,YAAK,CAACE,UAAU,GAAA,IAAA;AAAI,KAAA,EAC7Cd,SAAS,CAAA;GAEf,CAAC,CAEDtC,EAAAA,MAAM,IACLiB,KAAK,CAACG,GAAG,CAAC,UAAChB,IAAI,EAAEiB,KAAK,EAAA;AAAA,IAAA,OACpB9C,yBACE,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA1B,MAAAA,SAAS,EAAEyB,8BAAU,CAAC,yBAAyB,EAAE;QAC/C,sCAAsC,EACpCN,gBAAgB,KAAKmB,KAAK;QAC5B,mCAAmC,EAAEwI,UAAU,CAACzJ,IAAI,CAAA;AACrD,OAAA,CAAC;AACFkB,MAAAA,GAAG,EAAKlB,EAAAA,GAAAA,IAAI,CAACO,KAAK,GAAGU,KAAAA;AAAO,KAAA,EACxBH,YAAY,CAAC;AACfd,MAAAA,IAAI,EAAJA,IAAI;AACJiB,MAAAA,KAAK,EAALA,KAAAA;AACD,KAAA,CAAC,EAAA;AACFrC,MAAAA,KAAK,EAAE;AAAEuL,QAAAA,OAAO,EAAE,MAAA;AAAQ,OAAA;AAAA,KAAA,CAAA,EAE1BhM,yBAAA,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAMzB,MAAAA,KAAK,EAAE;AAAEuL,QAAAA,OAAO,EAAE,MAAA;AAAQ,OAAA;AAAA,KAAA,EAC9BhM,yBAAA,CAAAkC,aAAA,CAAA,MAAA,EAAA;AACE1B,MAAAA,SAAS,EAAEyB,8BAAU,CAAC,0BAA0B,EAAE;QAChD,mCAAmC,EAAEqJ,UAAU,CAACzJ,IAAI,CAAA;OACrD,CAAA;AAAC,KAAA,EAEF7B,yBAAC,CAAAkC,aAAA,CAAA+J,YAAY,OAAG,CACX,EACPjM,yBAAM,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAA1B,MAAAA,SAAS,EAAC,6BAAA;AAA6B,KAAA,EAC1CqB,IAAI,CAACC,KAAK,CACN,CACF,EACND,IAAI,CAACmB,KAAK,IACThD,yBACG,CAAAkC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAAL,IAAI,CAACmB,KAAK,CAACH,GAAG,CAAC,UAACI,IAAI,EAAEH,KAAK,EAAA;AAAA,MAAA,OAC1B9C,yBAAC,CAAAkC,aAAA,CAAAe,IAAI;AACHF,QAAAA,GAAG,EAAED,KAAK;AACVI,QAAAA,MAAM;AACN1C,QAAAA,SAAS,EAAC,8BAAA;AACV,OAAA,CAAA,CAAA;KACH,CAAC,CAEL,CACE,CAAA;GACN,CAAC,CACD,CACD,CACsB,CAAA;AAElC,EAAC;AAED,IAAMsE,WAAW,GAAqC,SAAhDA,WAAW,CAAsD,KAAA,EAAA;AAAA,EAAA,IAAXC,KAAK,GAAA,QAAA,CAAA,EAAA,GAAA,yBAAA,CAAA,KAAA,CAAA,EAAA,KAAA,EAAA,CAAA;AAC/D,EAAA,IAAA,qBAAA,GAAkByF,qBAAqB,EAAE;AAAjCa,IAAAA,KAAK,yBAALA,KAAK,CAAA;AACb,EAAA,OACErL,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACEjF,yBACE,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA;AAAA1B,IAAAA,SAAS,EAAC,4BAA4B;AACtCQ,IAAAA,IAAI,EAAC,QAAQ;IACbsC,QAAQ,EAAE,CAAC,CAAC;AACZ4B,IAAAA,OAAO,EAAE,SAAA,OAAA,GAAA;AAAA,MAAA,OAAMmG,KAAK,EAAE,CAAA;AAAA,KAAA;AAAA,GAAA,EAClBtG,KAAK,CAET/E,EAAAA,yBAAC,CAAAkC,aAAA,CAAAgK,eAAS,OAAG,CACN,EACTlM,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,uBAAA;AAA8B,GAAA,CAAA,CAC5C,CAAA;AAEP,CAAC,CAAA;AAED,IAAM8D,QAAQ,GAKT,SALCA,QAAQ,CAK2C,KAAA,EAAA;EAAA,IAAjDV,OAAO,SAAPA,OAAO;AAAEC,IAAAA,WAAW,SAAXA,WAAW;AAAEU,IAAAA,QAAQ,SAARA,QAAQ;AAAEwH,IAAAA,WAAW,SAAXA,WAAW,CAAA;AACjD,EAAA,IAAInI,OAAO,EAAE;IACX,OAAO5D,yBAAC,CAAAkC,aAAA,CAAAsB,mBAAmB,EAAE,IAAA,EAAAK,WAAW,CAAuB,CAAA;AAChE,GAAA;AACD,EAAA,IAAIU,QAAQ,EAAE;AACZ,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AACD,EAAA,OAAOwH,WAAW,GAChB/L,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACEjF,yBAAA,CAAAkC,aAAA,CAAC4C,WAAW,EAAe,IAAA,CAAA,EAC3B9E,yBAAA,CAAAkC,aAAA,CAACkB,oBAAoB,EAAA,IAAA,CAAG,CACvB,GAEHpD,yBAAC,CAAAkC,aAAA,CAAAkB,oBAAoB,EAAG,IAAA,CACzB,CAAA;AACH,CAAC,CAAA;AAED,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAoB,GAAQ;AAChC,EAAA,IAAA,sBAAA,GACEoH,qBAAqB,EAAE;AADjBnH,IAAAA,oBAAoB,0BAApBA,oBAAoB;AAAE5B,IAAAA,MAAM,0BAANA,MAAM;AAAEkE,IAAAA,QAAQ,0BAARA,QAAQ;AAAEF,IAAAA,WAAW,0BAAXA,WAAW,CAAA;AAE3D,EAAA,OACEzF,yBACM,CAAAkC,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,EAAAmB,oBAAoB,CAAC;AACvB7C,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,6BAA6B,EAAE;AACnD,MAAA,mCAAmC,EAAER,MAAAA;KACtC,CAAC;AACFiF,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZ,MAAA,IAAIjB,WAAW,EAAE;AACfE,QAAAA,QAAQ,EAAE,CAAA;AACX,OAAA;AACH,KAAA;GACD,CAAC,EAAA;AACF3E,IAAAA,IAAI,EAAC,QAAA;GAELhB,CAAAA,EAAAA,yBAAA,CAAAkC,aAAA,CAACqB,mBAAa,EAAA,IAAA,CAAG,CACV,CAAA;AAEb,CAAC,CAAA;AAED,IAAM0I,YAAY,GAAa,SAAzBA,YAAY,GAAkB;AAClC,EAAA,OACEjM,yBACE,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAA1B,IAAAA,SAAS,EAAC,mBAAmB;AAC7B2L,IAAAA,KAAK,EAAC,MAAM;AACZC,IAAAA,MAAM,EAAC,KAAK;AACZC,IAAAA,OAAO,EAAC,YAAA;AAAY,GAAA,EAEpBrM,yBAAA,CAAAkC,aAAA,CAAA,MAAA,EAAA;AACE1B,IAAAA,SAAS,EAAC,yBAAyB;AACnC8L,IAAAA,CAAC,EAAC,8BAA8B;AAChCC,IAAAA,IAAI,EAAC,MAAA;AACL,GAAA,CAAA,CACE,CAAA;AAEV,CAAC,CAAA;AAED,SAASrB,kBAAkB,CAACxI,KAAmC,EAAA;EAC7D,OAAOA,KAAK,CAACmD,MAAM,GAAG,CAAC,GACnBnD,KAAK,CAACG,GAAG,CAAC,UAAAhB,IAAI,EAAA;IAAA,OAAIA,IAAI,CAACC,KAAK,CAAA;AAAA,GAAA,CAAC,CAAC0K,QAAQ,EAAE,GACrC9J,KAAK,CAACmD,MAAM,GAAkB,kBAAA,CAAA;AACvC;;;AChUO,IAAMpD,YAAY,GAAG,SAAfA,YAAY,CAiBD,IAAA,EAAA;EAhBtB0I,IAAAA,aAAa,QAAbA,aAAa,CAAA;AACbsB,IAAAA,SAAS,QAATA,SAAS,CAAA;AACTpL,IACAI,MAAM,QAANA,MAAM,CAAA;AACNmB,IAAAA,YAAY,QAAZA,YAAY,CAAA;AACZD,IAAAA,YAAY,QAAZA,YAAY,CAAA;AACZhB,IAAAA,gBAAgB,QAAhBA,gBAAgB,CAAA;AAAA,IACW,YAAA,GAAA,IAAA,CAC3BiC,OAAO,CAAA;AAAPA,IAAAA,OAAO,6BAAG,KAAK,GAAA,YAAA,CAAA;AACf8I,IAAAA,sBAAsB,QAAtBA,sBAAsB,CAAA;AACtBC,IAAAA,aAAa,QAAbA,aAAa,CAAA;AACb5I,IAAAA,SAAS,QAATA,SAAS,CAAA;AAAA,IAAA,kBAAA,GAAA,IAAA,CACT6I,aAAa,CAAA;AAAbA,IAAAA,aAAa,mCAAG,uBAAuB,GAAA,kBAAA,CAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CACvC/I,WAAW,CAAA;AAAXA,IAAAA,WAAW,iCAAG,cAAc,GAAA,gBAAA,CAAA;AAAA,IAAA,qBAAA,GAAA,IAAA,CAC5BgJ,qBAAqB,CAAA;AAArBA,IAAAA,qBAAqB,sCAAG,iBAAiB,GAAA,qBAAA,CAAA;IACtClM,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,EAAA;AAEP,EAAA,IAAMkM,aAAa,GAAGH,aAAa,KAAKtM,SAAS,CAAA;AACjD,EAAA,IAAM0M,WAAW,GACf,CAACnJ,OAAO,KACP6I,SAAS,CAAC5G,MAAM,KAAK,CAAC,IACpB4G,SAAS,CAAC5G,MAAM,KAAK,CAAC,IAAI4G,SAAS,CAAC,CAAC,CAAC,CAACrK,KAAK,MAAKuK,aAAa,IAAbA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAEvK,KAAK,CAAC,CAAC,CAAA;AAC5E,EAAA,IAAM4K,cAAc,GAAG,SAAjBA,cAAc,CAAInL,IAAgC,EAAA;AAAA,IAAA,OACtDsJ,aAAa,CAACK,IAAI,CAAC,UAAApK,YAAY,EAAA;AAAA,MAAA,OAAIA,YAAY,CAACgB,KAAK,KAAKP,IAAI,CAACO,KAAK,CAAA;KAAC,CAAA,CAAA;AAAA,GAAA,CAAA;EAEvE,IAAM6K,wBAAwB,GAAG,SAA3BA,wBAAwB,GAAA;AAAA,IAAA,OAC5BjN,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACEjF,yBAAA,CAAAkC,aAAA,CAACgL,aAAQ,EACP;AAAA1M,MAAAA,SAAS,EAAC,oCAAoC;AAC9C2M,MAAAA,OAAO,EAAET,sBAAsB,IAAtBA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,sBAAsB,EAAI;AACvB,MAAA,aAAA,EAAA,MAAM;AAClBtM,MAAAA,QAAQ,EAAE,SAAK,QAAA,GAAA;AACb,QAAA,OAAA;AACF,OAAA;AACA,KAAA,CAAA,EACFJ,yBAAM,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAA1B,MAAAA,SAAS,EAAC,gCAAA;AACb,KAAA,EAAAmM,aAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAE7K,KAAK,CAChB,CACN,CAAA;GACJ,CAAA;AAED,EAAA,IAAMsL,eAAe,GAAG,SAAlBA,eAAe,CAAIvL,IAAgC,EAAI;AAC3D,IAAA,OACE7B,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACEjF,yBAAA,CAAAkC,aAAA,CAACgL,aAAQ,EAAA;MACPzM,KAAK,EAAE,CAACqM,aAAa,GAAG;AAAEd,QAAAA,OAAO,EAAE,MAAA;OAAQ,GAAG,EAAE;AAChDxL,MAAAA,SAAS,EAAC,oCAAoC;AAC9C2M,MAAAA,OAAO,EAAEH,cAAc,CAACnL,IAAI,CAAC;qBACjB,MAAM;AAClBzB,MAAAA,QAAQ,EAAE,SAAK,QAAA,GAAA;AACb,QAAA,OAAA;AACF,OAAA;AACA,KAAA,CAAA,EAEFJ,yBAAM,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAA1B,MAAAA,SAAS,EAAC,gCAAA;AAAgC,KAAA,EAC7CqB,IAAI,CAACC,KAAK,EACX9B,yBAAA,CAAAkC,aAAA,CAACwB,mBAAc,EAAA,IAAA,EAAEmJ,qBAAqB,CAAkB,CACnD,EACNhL,IAAI,CAACmB,KAAK,IACThD,yBAAA,CAAAkC,aAAA,CAAA,MAAA,EAAA,IAAA,EACGL,IAAI,CAACmB,KAAK,CAACH,GAAG,CAAC,UAACI,IAAI,EAAEH,KAAK,EAAA;AAAA,MAAA,OAC1B9C,yBAAC,CAAAkC,aAAA,CAAAe,IAAI;AACHF,QAAAA,GAAG,EAAED,KAAK;AACVI,QAAAA,MAAM,EACN,IAAA;AAAA1C,QAAAA,SAAS,EAAC,gCAAA;QACV,CAAA;KACH,CAAC,CAEL,CACA,CAAA;GAEN,CAAA;AAED,EAAA,OACER,yBACM,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA,EAAA,EAAAU,YAAY,EAAE,EAAA;AAClBpC,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,oBAAoB,EAAE;AAC1C,MAAA,0BAA0B,EAAER,MAAAA;KAC7B,CAAC;AACFhB,IAAAA,KAAK,EAAOE,QAAAA,CAAAA,EAAAA,EAAAA,IAAI,CAACF,KAAK,EAAKsD,SAAS,CAAA;AAAE,GAAA,CAAA,EAErCtC,MAAM,IACLgL,SAAS,CAAC5G,MAAM,GAAG,CAAC,IACpB4G,SAAS,CAAC5J,GAAG,CAAC,UAAChB,IAAI,EAAEiB,KAAK,EAAI;IAC5B,IAAMuK,eAAe,GAAGxL,IAAI,CAACO,KAAK,MAAKuK,aAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEvK,KAAK,CAAA,CAAA;AAC3D,IAAA,IAAIiL,eAAe,IAAIZ,SAAS,CAAC5G,MAAM,IAAI,CAAC,EAAE,OAAO7F,iFAAK,CAAA;AAE1D,IAAA,OACEA,yBAAA,CAAAkC,aAAA,CAAA,IAAA,EAAA,QAAA,CAAA;MACEa,GAAG,EAAElB,IAAI,CAACO,KAAK;AACf5B,MAAAA,SAAS,EAAEyB,8BAAU,CAAC,0BAA0B,EAAE;AAChD,QAAA,sCAAsC,EAAEoL,eAAe;QACvD,uCAAuC,EACrC1L,gBAAgB,KAAKmB,KAAK;AAC5B,QAAA,oCAAoC,EAClC,CAACgK,aAAa,IAAIE,cAAc,CAACnL,IAAI,CAAA;OACxC,CAAA;AAAC,KAAA,EACEc,YAAY,CAAC;AACfI,MAAAA,GAAG,EAAKD,EAAAA,GAAAA,KAAK,GAAGjB,IAAI,CAACO,KAAO;AAC5BP,MAAAA,IAAI,EAAJA,IAAI;AACJiB,MAAAA,KAAK,EAALA,KAAAA;KACD,CAAC,CAEDuK,EAAAA,eAAe,GACZJ,wBAAwB,EAAE,GAC1BG,eAAe,CAACvL,IAAI,CAAC,CACtB,CAAA;GAER,CAAC,EAEHJ,MAAM,IAAIsL,WAAW,IACpB/M,yBAAA,CAAAkC,aAAA,CAAA,IAAA,EAAA;AAAI1B,IAAAA,SAAS,EAAC,0BAAA;AAA0B,GAAA,EAAEoM,aAAa,CACxD,EAEAnL,MAAM,IAAImC,OAAO,IAChB5D;AAAIQ,IAAAA,SAAS,EAAC,0BAAA;GAA0B,EAAEqD,WAAW,CACtD,CACE,CAAA;AAET,CAAC;;AC3Je,SAAAyJ,mBAAmB,CACjCzL,IAAgC,EAChC+E,KAAyB,EAAA;EAEzB,IAAI,CAACA,KAAK,EAAE;AACV,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;EACD,IAAMC,wBAAwB,GAAGD,KAAK,CAACE,OAAO,CAC5C,uBAAuB,EACvB,MAAM,CACP,CAAA;EACD,IAAMC,UAAU,GAAG,IAAIC,MAAM,CAACH,wBAAwB,EAAE,GAAG,CAAC,CAAA;AAC5D,EAAA,OAAOE,UAAU,CAACE,IAAI,CAACpF,IAAI,CAACC,KAAK,CAAC,CAAA;AACpC,CAAA;AAEO,IAAMF,YAAY,GAAG,SAAfA,YAAY,CAAIC,IAAuC,EAAA;AAAA,EAAA,OAClEA,IAAI,GAAGA,IAAI,CAACC,KAAK,GAAG,EAAE,CAAA;AAAA,CAAA,CAAA;AAQjB,IAAMyL,mBAAmB,GAAG,SAAtBA,mBAAmB,CAIF,IAAA,EAAA;EAAA,IAH5Bd,SAAS,QAATA,SAAS;AACTtB,IAAAA,aAAa,QAAbA,aAAa;AACbqC,IAAAA,cAAc,QAAdA,cAAc,CAAA;AAEd,EAAA,IAAMC,gBAAgB,GAAGtC,aAAa,CAACtF,MAAM,GAAG,CAAC,CAAA;AAEjD,EAAA,IAAM6H,yBAAyB,GAAGjB,SAAS,CAACtG,MAAM,CAChD,UAAAtE,IAAI,EAAA;AAAA,IAAA,OAAIA,IAAI,CAACO,KAAK,KAAKoL,cAAc,CAAA;GACtC,CAAA,CAAA;AAED,EAAA,IAAMG,uBAAuB,GAC3BD,yBAAyB,CAACvH,MAAM,CAAC,UAAAtE,IAAI,EAAA;AAAA,IAAA,OAAI,CAACsJ,aAAa,CAACyC,QAAQ,CAAC/L,IAAI,CAAC,CAAA;GAAC,CAAA,CACpEgE,MAAM,KAAK,CAAC,CAAA;AAEjB,EAAA,IAAMgI,wBAAwB,GAAGH,yBAAyB,CAAClC,IAAI,CAAC,UAAA3J,IAAI,EAAA;AAAA,IAAA,OAClEsJ,aAAa,CAACyC,QAAQ,CAAC/L,IAAI,CAAC,CAAA;GAC7B,CAAA,CAAA;AAED,EAAA,IAAMiM,6BAA6B,GAAG,SAAhCA,6BAA6B,CACjCC,WAAuC,EACvC3N,QAAuD,EAAA;AAAA,IAAA,OACpDA,QAAQ,CAAA,EAAA,CAAA,MAAA,CAAK+K,aAAa,EAAA,CAAE4C,WAAW,CAAE,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAE9C,EAAA,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA4B,CAChCD,WAAuC,EAAA;AAAA,IAAA,OAEvC5C,aAAa,CAACK,IAAI,CAChB,UAAApK,YAAY,EAAA;AAAA,MAAA,OAAIA,YAAY,CAACgB,KAAK,KAAK2L,WAAW,CAAC3L,KAAK,CAAA;KACzD,CAAA,CAAA;AAAA,GAAA,CAAA;AAEH,EAAA,IAAM6L,sBAAsB,GAAG,SAAzBA,sBAAsB,CAAIF,WAAuC,EAAA;AAAA,IAAA,OACrEA,WAAW,CAAC3L,KAAK,KAAKoL,cAAc,CAAA;AAAA,GAAA,CAAA;AAEtC,EAAA,IAAMU,kCAAkC,GAAG,SAArCA,kCAAkC,CACtCH,WAAuC,EACvC3N,QAAuD,EAAA;AAAA,IAAA,OAEvDA,QAAQ,CACN+K,aAAa,CAAChF,MAAM,CAClB,UAAA/E,YAAY,EAAA;AAAA,MAAA,OAAIA,YAAY,CAACgB,KAAK,KAAK2L,WAAW,CAAC3L,KAAK,CAAA;AAAA,KAAA,CACzD,CACF,CAAA;AAAA,GAAA,CAAA;AAEH,EAAA,IAAMsK,sBAAsB,GAAG,SAAzBA,sBAAsB,GAAQ;IAClC,IAAIiB,uBAAuB,EAAE,OAAO,IAAI,CAAA;IACxC,IAAIE,wBAAwB,EAAE,OAAO,eAAe,CAAA;AACpD,IAAA,OAAO,KAAK,CAAA;GACb,CAAA;AAED,EAAA,IAAMM,mCAAmC,GAAG,SAAtCA,mCAAmC,CACvC/N,QAAuD,EACrD;IACFA,QAAQ,CAAA,EAAA,CAAA,MAAA,CACH+K,aAAa,EACbuC,yBAAyB,CAACvH,MAAM,CACjC,UAAAtE,IAAI,EAAA;AAAA,MAAA,OAAI,CAACsJ,aAAa,CAACyC,QAAQ,CAAC/L,IAAI,CAAC,CAAA;AAAA,KAAA,CACtC,CACD,CAAA,CAAA;GACH,CAAA;AAED,EAAA,IAAMuM,oBAAoB,GAAG,SAAvBA,oBAAoB,CACxBhO,QAAuD,EACrD;AACFA,IAAAA,QAAQ,CACN+K,aAAa,CAAChF,MAAM,CAAC,UAAAtE,IAAI,EAAA;AAAA,MAAA,OAAI,CAAC6L,yBAAyB,CAACE,QAAQ,CAAC/L,IAAI,CAAC,CAAA;AAAA,KAAA,CAAC,CACxE,CAAA;GACF,CAAA;EAED,OAAO;AACLiM,IAAAA,6BAA6B,EAA7BA,6BAA6B;AAC7BH,IAAAA,uBAAuB,EAAvBA,uBAAuB;AACvBK,IAAAA,4BAA4B,EAA5BA,4BAA4B;AAC5BC,IAAAA,sBAAsB,EAAtBA,sBAAsB;AACtBR,IAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBC,IAAAA,yBAAyB,EAAzBA,yBAAyB;AACzBQ,IAAAA,kCAAkC,EAAlCA,kCAAkC;AAClCxB,IAAAA,sBAAsB,EAAtBA,sBAAsB;AACtByB,IAAAA,mCAAmC,EAAnCA,mCAAmC;AACnCN,IAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBO,IAAAA,oBAAoB,EAApBA,oBAAAA;GACD,CAAA;AACH,CAAC;;;AC7FM,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmB,CAc3B,IAAA,EAAA;EAAA,IAbHC,oBAAoB,QAApBA,oBAAoB;AACpBC,IAAAA,kBAAkB,QAAlBA,kBAAkB;AAClBnN,IAAAA,YAAY,QAAZA,YAAY;AACZ0B,IAAAA,KAAK,QAALA,KAAK;AACL0L,IAAAA,uBAAuB,QAAvBA,uBAAuB,CAAA;AAUvB,EAAA,IAAA,qBAAA,GAA8CF,oBAAoB,CAAC;AACjElN,MAAAA,YAAY,EAAZA,YAAY;AACZ0B,MAAAA,KAAK,EAALA,KAAAA;AACD,KAAA,CAAC,CAAA;AAHgBvB,IAAMkN,iBAAiB,GAAA,6BAAA,CAAA,qBAAA,EAAA7N,WAAA,EAAA;AAIzC,EAAA,OACEZ,yBAAC,CAAAkC,aAAA,CAAAwM,YAAO,EAAA,QAAA,CAAA;IACNlO,SAAS,EAAEyB,8BAAU,CAAC,oCAAoC,CAAA;AAAC,GAAA,EACvDwM,iBAAiB,EAAA;IACrBE,OAAO,EAAE,SAAC3I,OAAAA,CAAAA,CAAsC,EAAI;MAClDA,CAAC,CAAC4I,eAAe,EAAE,CAAA;MACnBL,kBAAkB,CAACnN,YAAY,CAAC,CAAA;KACjC;AACDyN,IAAAA,oBAAoB,EAAKzN,YAAY,CAACU,KAAK,GAAA,IAAA,GAAK0M,uBAAuB,GAAG,GAAA;IAC1EzL,GAAG,EAAE3B,YAAY,CAACgB,KAAAA;AAAK,GAAA,CAAA,EAEvBpC,yBAAkB,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAA,IAAA,aAAA,EAAA,MAAA;KAAQd,YAAY,CAACU,KAAK,CAAQ,CAC5C,CAAA;AAEd,CAAC,CAAA;AAEM,IAAMgN,WAAW,GAcnB,SAdQA,WAAW,CA0BnB,KAAA,EAAA;EAAA,IAXH9K,SAAS,SAATA,SAAS;AACTO,IAAAA,QAAQ,SAARA,QAAQ;AACRlB,IAAAA,oBAAoB,SAApBA,oBAAoB;AACpB8H,IAAAA,aAAa,SAAbA,aAAa;AAAA,IAAA,aAAA,GAAA,KAAA,CACbvH,OAAO;AAAPA,IAAAA,OAAO,8BAAG,KAAK,GAAA,aAAA;AAAA,IAAA,iBAAA,GAAA,KAAA,CACfC,WAAW;AAAXA,IAAAA,WAAW,kCAAG,qBAAqB,GAAA,iBAAA;AACnCkL,IAAAA,mBAAmB,SAAnBA,mBAAmB;AACnBC,IAAAA,uBAAuB,SAAvBA,uBAAuB;AACvBvN,IAAAA,MAAM,SAANA,MAAM;AACNwN,IAAAA,OAAO,SAAPA,OAAO;AAAA,IAAA,eAAA,GAAA,KAAA,CACPC,SAAS;AAATA,IAAAA,SAAS,gCAAG,KAAK,GAAA,eAAA,CAAA;AAEjB,EAAA,IAAItL,OAAO,EAAE;IACX,OAAO5D,yBAAC,CAAAkC,aAAA,CAAAsB,mBAAmB,EAAE,IAAA,EAAAK,WAAW,CAAuB,CAAA;AAChE,GAAA;AACD,EAAA,IAAIU,QAAQ,EAAE;AACZ,IAAA,OAAO,IAAI,CAAA;AACZ,GAAA;AACD,EAAA,OACEvE,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,uBAAA;AAAuB,GAAA,EACnCwD,SAAS,IAAI,CAAAmH,aAAa,IAAbA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAa,CAAEtF,MAAM,IAAG,CAAC,IAAIsF,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,IAClEnL,yBAAA,CAAAkC,aAAA,CAAAlC,yBAAA,CAAAiF,QAAA,EAAA,IAAA,EACEjF,yBAAA,CAAAkC,aAAA,CAACiN,eAAe,EACd;AAAAF,IAAAA,OAAO,EAAEA,OAAO;AAChBC,IAAAA,SAAS,EAAEA,SAAS;AACpBF,IAAAA,uBAAuB,EAAEA,uBAAuB;AAChDD,IAAAA,mBAAmB,EAAEA,mBAAAA;AACrB,GAAA,CAAA,EACF/O,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,gCAAA;GAAgC,CAAG,CAErD,EACDR,yBAAA,CAAAkC,aAAA,CAACkN,YAAY,EACX;AAAA/L,IAAAA,oBAAoB,EAAEA,oBAAoB;AAC1C5B,IAAAA,MAAM,EAAEA,MAAM;AACdyN,IAAAA,SAAS,EAAEA,SAAAA;AACX,GAAA,CAAA,CACE,CAAA;AAEV,CAAC,CAAA;AAED,IAAMC,eAAe,GAAG,SAAlBA,eAAe,CAUhB,KAAA,EAAA;EAAA,IATHF,OAAO,SAAPA,OAAO;AAAA,IAAA,qBAAA,GAAA,KAAA,CACPD,uBAAuB;AAAvBA,IAAAA,uBAAuB,sCAAG,cAAc,GAAA,qBAAA;AAAA,IAAA,qBAAA,GAAA,KAAA,CACxCD,mBAAmB;AAAnBA,IAAAA,mBAAmB,sCAAG,cAAc,GAAA,qBAAA;AAAA,IAAA,eAAA,GAAA,KAAA,CACpCG,SAAS;AAATA,IAAAA,SAAS,gCAAG,KAAK,GAAA,eAAA,CAAA;AAOjB,EAAA,OACElP,yBAAA,CAAAkC,aAAA,CAACmN,eAAO,EAAA;AAAA,IAAA,aAAA,EACM,MAAM;AAClBC,IAAAA,SAAS,EAAC,OAAO;AACjBC,IAAAA,OAAO,EAAEP,uBAAAA;AAAuB,GAAA,EAEhChP,yBAAC,CAAAkC,aAAA,CAAAsN,iBAAU,EACT;AAAAhP,IAAAA,SAAS,EAAC,qCAAqC;AAC/CQ,IAAAA,IAAI,EAAC,QAAQ;AACbsC,IAAAA,QAAQ,EAAE4L,SAAS,GAAG,CAAC,GAAG,CAAC;AAC3BhK,IAAAA,OAAO,EAAE+J,OAAO;AAAA,IAAA,YAAA,EACJF,mBAAAA;AAAmB,GAAA,EAE/B/O,yBAAA,CAAAkC,aAAA,CAACiD,oBAAc,EAAa;AAAA,IAAA,aAAA,EAAA,MAAA;IAAS,CAC1B,CACL,CAAA;AAEd,CAAC,CAAA;AAED,IAAMiK,YAAY,GAAG,SAAfA,YAAY,CAcb,KAAA,EAAA;EAAA,IAbH/L,oBAAoB,SAApBA,oBAAoB;AACpB5B,IAAAA,MAAM,SAANA,MAAM;AAAA,IAAA,oBAAA,GAAA,KAAA,CACNgO,cAAc;AAAdA,IAAAA,cAAc,qCAAG,qBAAqB,GAAA,oBAAA;AAAA,IAAA,mBAAA,GAAA,KAAA,CACtCC,aAAa;AAAbA,IAAAA,aAAa,oCAAG,qBAAqB,GAAA,mBAAA;AAAA,IAAA,eAAA,GAAA,KAAA,CACrCR,SAAS;AAATA,IAAAA,SAAS,gCAAG,KAAK,GAAA,eAAA,CAAA;AAUjB,EAAA,OACElP,yBAAA,CAAAkC,aAAA,CAACsN,iBAAU,EAAA,QAAA,CAAA,EAAA,EACLnM,oBAAoB,CAAC;AACvB7C,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,sCAAsC,EAAE;AAC5D,MAAA,4CAA4C,EAAER,MAAAA;KAC/C,CAAA;GACF,CAAC,EAAA;AAAA,IAAA,YAAA,EACUA,MAAM,GAAGgO,cAAc,GAAGC,aAAa;AACnDpM,IAAAA,QAAQ,EAAE4L,SAAS,GAAG,CAAC,GAAG,CAAC;AAC3BlO,IAAAA,IAAI,EAAC,QAAA;AAAQ,GAAA,CAAA,EAEbhB,yBAAA,CAAAkC,aAAA,CAACqB,mBAAa,EAAa;AAAA,IAAA,aAAA,EAAA,MAAA;AAAS,GAAA,CAAA,CACzB,CAAA;AAEjB,CAAC;;;AChGD;AACA;AAEaoM,IAAAA,sBAAsB,GAAG,SAAzBA,sBAAsB,CAwBL,IAAA,EAAA;AAAA,EAAA,IAAA,mBAAA,CAAA;EAAA,IAvB5BnP,SAAS,QAATA,SAAS;AAAA,IAAA,cAAA,GAAA,IAAA,CACTwD,SAAS;AAATA,IAAAA,SAAS,+BAAG,KAAK,GAAA,cAAA;AACjBiF,IAAAA,eAAe,QAAfA,eAAe;AAAA,IAAA,qBAAA,GAAA,IAAA,CAEf/E,qBAAqB;AAArBA,IAAAA,qBAAqB,sCAAG,KAAK,GAAA,qBAAA;AAC7BiE,IAAAA,QAAQ,QAARA,QAAQ;AAAA,IAAA,eAAA,GAAA,IAAA,CAERf,UAAU;AAAVA,IAAAA,UAAU,gCAAGkG,mBAAmB,GAAA,eAAA;AACzBsC,IAAAA,YAAY,QAAnBlN,KAAK;AACLZ,IAAAA,KAAK,QAALA,KAAK;AACLiC,IAAAA,SAAS,QAATA,SAAS;AAET3D,IAAAA,QAAQ,QAARA,QAAQ;AAAA,IAAA,gBAAA,GAAA,IAAA,CACRqF,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AACnB3B,IAAAA,WAAW,QAAXA,WAAW;AAAA,IAAA,aAAA,GAAA,IAAA,CAEX+L,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AACFzN,IAAAA,KAAK,QAAnBhB,YAAY;AAAA,IAAA,iBAAA,GAAA,IAAA,CACZ0O,YAAY;AAAZA,IAAAA,YAAY,kCAAG,KAAK,GAAA,iBAAA;AAAA,IAAA,YAAA,GAAA,IAAA,CAGpB1H,OAAO;AAAPA,IAAAA,OAAO,6BAAG,MAAM,GAAA,YAAA;IACbzH,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;EAEP,IAAgD2G,SAAAA,GAAAA,cAAQ,CAAC,KAAK,CAAC;IAAxDC,gBAAgB,GAAA,SAAA,CAAA,CAAA,CAAA;IAAEC,mBAAmB,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAMC,QAAQ,GAAGC,YAAM,CAAmB,IAAI,CAAC,CAAA;AAE/C,EAAA,IAAA,iBAAA,GAIIoB,gBAAgB,CAAC6G,YAAY,EAAE3G,eAAe,CAAC;AAH1CW,IAAAA,eAAe,qBAAtBlH,KAAK;AACLkB,IAAAA,OAAO,qBAAPA,OAAO;AACP6F,IAAAA,UAAU,qBAAVA,UAAU,CAAA;AAGZ,EAAA,IAAA,eAAA,GAAkCzJ,yBAAK,CAACuH,QAAQ,CAACqC,eAAe,CAAC;IAA1D6C,SAAS,GAAA,eAAA,CAAA,CAAA,CAAA;IAAEsD,YAAY,GAAA,eAAA,CAAA,CAAA,CAAA,CAAA;EAE9B,IAAMC,eAAe,GAAG,SAAlBA,eAAe,CAAA,KAAA,EAAA;IAAA,IAAM3O,UAAU,SAAVA,UAAU,CAAA;AAAA,IAAA,OACnC0O,YAAY,CAACnG,eAAe,CAACzD,MAAM,CAAC,UAAAtE,IAAI,EAAA;AAAA,MAAA,OAAIuF,UAAU,CAACvF,IAAI,EAAER,UAAU,CAAC,CAAA;AAAA,KAAA,CAAC,CAAC,CAAA;AAAA,GAAA,CAAA;EAE5ErB,yBAAK,CAAC0I,SAAS,CAAC,YAAK;AACnBsH,IAAAA,eAAe,CAAC;AAAE3O,MAAAA,UAAU,EAAVA,UAAAA;AAAU,KAAE,CAAC,CAAA;AACjC,GAAC,EAAE,CAACuI,eAAe,CAAC,CAAC,CAAC;EAEtB,IAAMtI,YAAY,GAAGtB,yBAAK,CAAC0J,WAAW,CACpC,UACEnI,CAAC,EAKC,KAAA,EAAA;IAAA,IAHAP,IAAI,SAAJA,IAAI;AACJF,MAAAA,OAAO,SAAPA,OAAO,CAAA;AAGT,IAAA,QAAQE,IAAI;AACV,MAAA,KAAKiP,qBAAW,CAAC/O,gBAAgB,CAAC4J,SAAS,CAAA;AAC3C,MAAA,KAAKmF,qBAAW,CAAC/O,gBAAgB,CAACgP,iBAAiB,CAAA;AACnD,MAAA,KAAKD,qBAAW,CAAC/O,gBAAgB,CAACiP,SAAS,CAAA;AAC3C,MAAA,KAAKF,qBAAW,CAAC/O,gBAAgB,CAACkP,iCAAiC;AAAE,QAAA;AACnEJ,UAAAA,eAAe,CAAC;AAAE3O,YAAAA,UAAU,EAAE,EAAA;AAAE,WAAE,CAAC,CAAA;AACnC,UAAA,OAAA,QAAA,CAAA,EAAA,EACKP,OAAO,EAAA;YACVO,UAAU,EAAE,EAAE;AAAE,WAAA,CAAA,CAAA;AAEnB,SAAA;;AACD,MAAA,KAAK4O,qBAAW,CAAC/O,gBAAgB,CAACmP,WAAW;AAAE,QAAA;AAAA,UAAA,IAAA,mBAAA,CAAA;UAC7C,IAAMC,qBAAqB,GAAG,OAAO,CAAA;UACrC,IAAIxP,CAAAA,mBAAAA,GAAAA,OAAO,CAACO,UAAU,KAAlB,IAAA,IAAA,mBAAA,CAAoBkP,KAAK,CAACD,qBAAqB,CAAC,EAClDE,aAAa,CACX1P,OAAO,CAACO,UAAU,CAACyF,OAAO,CAACwJ,qBAAqB,EAAE,EAAE,CAAC,CACtD,CAAC,KACC;AAAA,YAAA,IAAA,oBAAA,EAAA,oBAAA,CAAA;AACH7G,YAAAA,UAAU,yBAAC3I,OAAO,CAACO,UAAU,KAAA,IAAA,GAAA,oBAAA,GAAI,EAAE,CAAC,CAAA;AACpC2O,YAAAA,eAAe,CAAC;AAAE3O,cAAAA,UAAU,EAAEP,CAAAA,oBAAAA,GAAAA,OAAO,CAACO,UAAU,KAAI,IAAA,GAAA,oBAAA,GAAA,EAAA;AAAI,aAAA,CAAC,CAAA;AAC1D,WAAA;AACD,UAAA,OAAOP,OAAO,CAAA;AACf,SAAA;AACD,MAAA;AACE,QAAA,OAAOA,OAAO,CAAA;AAAC,KAAA;AAErB,GAAC,EACD,CAAC2I,UAAU,EAAEuG,eAAe,CAAC,CAC9B,CAAA;AAED,EAAA,IAAA,YAAA,GAaIC,qBAAW,CAAA,QAAA,CAAA;AACbvN,MAAAA,KAAK,EAAE+J,SAAS;AAChBrL,MAAAA,YAAY,EAAEgB,KAAK;AACnBR,MAAAA,YAAY,EAAZA,YAAY;AACZN,MAAAA,YAAY,EAAZA,YAAY;AACZS,MAAAA,aAAa,EAAoC,SAAA,aAAA,CAAA,KAAA,EAAA;QAAA,IAAjCf,IAAI,SAAJA,IAAI;AAAgB+M,UAAAA,WAAW,SAAzB3M,YAAY,CAAA;AAChC,QAAA,QAAQJ,IAAI;AACV;AACA,UAAA,KAAKiP,qBAAW,CAAC/O,gBAAgB,CAACiP,SAAS;YACzC,IAAI,CAACL,YAAY,EAAE,MAAA;AACrB,UAAA,KAAKG,qBAAW,CAAC/O,gBAAgB,CAACgP,iBAAiB,CAAC;AACpD,UAAA,KAAKD,qBAAW,CAAC/O,gBAAgB,CAAC4J,SAAS;AACzC1K,YAAAA,QAAQ,CAAC2N,WAAW,IAAA,IAAA,GAAXA,WAAW,GAAI,IAAI,CAAC,CAAA;AAAC,SAAA;AAEpC,OAAA;AAAC,KAAA,EACEpN,IAAI,CACP,CAAA;AA5BAc,IAAAA,MAAM,gBAANA,MAAM;AACNkE,IAAAA,QAAQ,gBAARA,QAAQ;AACRtC,IAAAA,oBAAoB,gBAApBA,oBAAoB;AACpBc,IAAAA,aAAa,gBAAbA,aAAa;AACbvB,IAAAA,YAAY,gBAAZA,YAAY;AACZyE,IAAAA,aAAa,gBAAbA,aAAa;AACboJ,IAAAA,gBAAgB,gBAAhBA,gBAAgB;AAChB9O,IAAAA,gBAAgB,gBAAhBA,gBAAgB;AAChBgB,IAAAA,YAAY,gBAAZA,YAAY;AACZvB,IAAAA,YAAY,gBAAZA,YAAY;AACZC,IAAAA,UAAU,gBAAVA,UAAU;AACVmP,IAAAA,aAAa,gBAAbA,aAAa,CAAA;AAmBf,EAAA,OACExQ,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,uBAAA;AAAuB,GAAA,EACpCR,yBAAA,CAAAkC,aAAA,CAACkC,oBAAe,EAAA,QAAA,CAAA;AACdC,IAAAA,MAAM,EACJrE,yBAAA,CAAAkC,aAAA,CAAC4M,WAAW,EACV;MAAA3D,aAAa,EAAE,CAAC/J,YAAY,CAAC;AAC7BK,MAAAA,MAAM,EAAEA,MAAM;AACduC,MAAAA,SAAS,EAAEA,SAAS;AACpBJ,MAAAA,OAAO,EAAE,KAAK;AACdC,MAAAA,WAAW,EAAE,EAAE;AACfU,MAAAA,QAAQ,EAAEsL,QAAQ;AAClBZ,MAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AAAA,QAAA,IAAA,iBAAA,CAAA;QACZ7O,QAAQ,CAAC,IAAI,CAAC,CAAA;QACdoQ,aAAa,CAAC,EAAE,CAAC,CAAA;AACjB,QAAA,CAAA,iBAAA,GAAA9I,QAAQ,CAACI,OAAO,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAA,iBAAA,CAAkBC,KAAK,EAAE,CAAA;AACzB,QAAA,IAAI,OAAO6H,YAAY,KAAK,UAAU,EACpCnG,UAAU,CAACpI,UAAU,IAAVA,IAAAA,GAAAA,UAAU,GAAI,EAAE,CAAC,CAAA;OAC/B;AACDgC,MAAAA,oBAAoB,EAAEA,oBAAAA;MACtB;AAEJa,IAAAA,qBAAqB,EAAEA,qBAAqB;AAC5C1D,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,cAAc,EAAEzB,SAAS,CAAC;AAChDsB,IAAAA,KAAK,EAAEA,KAAK;AACZmC,IAAAA,QAAQ,EAAE7C,YAAY,IAAIC,UAAU,KAAK,EAAE;AAC3C8G,IAAAA,QAAQ,EAAEA,QAAQ;AAClBC,IAAAA,OAAO,EAAEA,OAAO;AAChB7D,IAAAA,QAAQ,EAAEsL,QAAQ;AAClBrL,IAAAA,UAAU,EAAEL,aAAa,EAAA;AAAE,GAAA,EACvBsM,gBAAgB,EAAE,EAClB9P,IAAI,CAEP,EAAA,CAAC6G,gBAAgB,IAAIpG,YAAY,IAAI,CAACC,UAAU,IAC/CrB,yBAAA,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAM1B,IAAAA,SAAS,EAAC,sCAAA;AAAsC,GAAA,EACpDR,yBACE,CAAAkC,aAAA,CAAA,MAAA,EAAA;AAAA1B,IAAAA,SAAS,EAAC,6BAA6B;AACvC0E,IAAAA,OAAO,EAAE,SAAA,OAAA,GAAA;AAAA,MAAA,IAAA,kBAAA,CAAA;AAAA,MAAA,OAAA,CAAA,kBAAA,GAAMwC,QAAQ,CAACI,OAAO,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAA,kBAAA,CAAkBC,KAAK,EAAE,CAAA;AAAA,KAAA;GAAA,EAEvC3G,YAAY,CAACU,KAAK,CACd,CAEV,EACD9B,yBAAA,CAAAkC,aAAA,CAAA,OAAA,EAAA,QAAA,CAAA;AACE4B,IAAAA,WAAW,yBAAE1C,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEU,KAAK,kCAAIgC,WAAW;AAC/CtD,IAAAA,SAAS,EAAC,sCAAA;AAAsC,GAAA,EAC5C6G,aAAa,CAAC;AAChBX,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZ,MAAA,IAAI,CAACjF,MAAM,IAAIgE,WAAW,EAAEE,QAAQ,EAAE,CAAA;MACtC8B,mBAAmB,CAAC,IAAI,CAAC,CAAA;KAC1B;AACDO,IAAAA,MAAM,EAAE,SAAK,MAAA,GAAA;MACXP,mBAAmB,CAAC,KAAK,CAAC,CAAA;KAC3B;AACDnC,IAAAA,GAAG,EAAEoC,QAAAA;GACN,CAAC,EACF,CACc,EAClB1H,yBAAC,CAAAkC,aAAA,CAAAO,YAAY;IACX0I,aAAa,EAAE/J,YAAY,KAAK,IAAI,GAAG,CAACA,YAAY,CAAC,GAAG,EAAE;AAC1DK,IAAAA,MAAM,EAAEA,MAAM;AACdgL,IAAAA,SAAS,EAAEA,SAAS;AACpB9K,IAAAA,gBAAgB,EAAEA,gBAAgB;AAClCoC,IAAAA,SAAS,EAAEA,SAAS;AACpBnB,IAAAA,YAAY,EAAEA,YAAY;AAC1BD,IAAAA,YAAY,EAAEA,YAAY;AAC1BiB,IAAAA,OAAO,EAAEA,OAAAA;AAAO,GAAA,CAChB,CACE,CAAA;AAEV;;;ACtKa8M,IAAAA,eAAe,GAAG,SAAlBA,eAAe,CAoBD,IAAA,EAAA;AAAA,EAAA,IAAA,qBAAA,GAAA,IAAA,CAnBzBlC,uBAAuB,CAAA;AAAvBA,IAAAA,uBAAuB,sCAAG,yBAAyB,GAAA,qBAAA,CAAA;AACnDhO,IAAAA,SAAS,QAATA,SAAS,CAAA;AAAA,IAAA,cAAA,GAAA,IAAA,CACTwD,SAAS,CAAA;AAATA,IAAAA,SAAS,+BAAG,KAAK,GAAA,cAAA,CAAA;AACjBiF,IACAd,QAAQ,QAARA,QAAQ,CAAA;AAAA,IAAA,kBAAA,GAAA,IAAA,CACRwI,aAAa,CAAA;AAAbA,IAAAA,aAAa,mCAAG,KAAK,GAAA,kBAAA,CAAA;AACdf,IAAAA,YAAY,QAAnBlN,KAAK,CAAA;AACLZ,IAAAA,KAAK,QAALA,KAAK,CAAA;AACLiC,IAAAA,SAAS,QAATA,SAAS,CAAA;AACT3D,IAAAA,QAAQ,QAARA,QAAQ,CAAA;AAAA,IAAA,gBAAA,GAAA,IAAA,CACRqF,WAAW,CAAA;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA,CAAA;AACnB3B,IAAAA,WAAW,QAAXA,WAAW,CAAA;AAAA,IAAA,aAAA,GAAA,IAAA,CACX+L,QAAQ,CAAA;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA,CAAA;AAAA,IAAA,mBAAA,GAAA,IAAA,CAChBe,cAAc,CAAA;AAAdA,IAAAA,cAAc,oCAAG,WAAW,GAAA,mBAAA,CAAA;AAC5BzF,IAAAA,aAAa,QAAbA,aAAa,CAAA;AAAA,IAAA,iBAAA,GAAA,IAAA,CACb2E,YAAY,CAAA;AAAZA,IAAAA,YAAY,kCAAG,KAAK,GAAA,iBAAA,CAAA;AACpBrP,IAAAA,KAAK,QAALA,KAAK,CAAA;AAAA,IAAA,YAAA,GAAA,IAAA,CACL2H,OAAO,CAAA;AAAPA,IAAAA,OAAO,6BAAG,MAAM,GAAA,YAAA,CAAA;IACbzH,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,EAAA;AAEP,EAAA,IAAA,eAAA,GAAwDZ,yBAAK,CAACuH,QAAQ,CAAC,CAAC,CAAC;IAAlEsJ,oBAAoB,GAAA,eAAA,CAAA,CAAA,CAAA;IAAEC,uBAAuB,GAAA,eAAA,CAAA,CAAA,CAAA,CAAA;AACpD,EAAA,IAAMpJ,QAAQ,GAAGC,YAAM,CAAmB,IAAI,CAAC,CAAA;EAE/C,IAIIoB,iBAAAA,GAAAA,gBAAgB,CAAC6G,YAAY,CAAC;AAHzBhG,IAAAA,eAAe,qBAAtBlH,KAAK;AACLkB,IAAAA,OAAO,qBAAPA,OAAO;AACP6F,IAAAA,UAAU,qBAAVA,UAAU,CAAA;AAGZ,EAAA,IAAMsH,SAAS,GAA+B;AAC5C3O,IAAAA,KAAK,EAAEiI,iBAAW,CAAC,YAAY,CAAC;AAChCvI,IAAAA,KAAK,EAAE8O,cAAAA;GACR,CAAA;AAED,EAAA,IAAA,SAAA,GAAkCrJ,cAAQ,CAAA,EAAA,CAAA,MAAA,CACpC,CAACoJ,aAAa,GAAG,CAACI,SAAS,CAAC,GAAG,EAAE,EAClCnH,eAAe,CAClB,CAAA;IAHK6C,SAAS,GAAA,SAAA,CAAA,CAAA,CAAA;IAAEsD,YAAY,GAAA,SAAA,CAAA,CAAA,CAAA,CAAA;EAK9B,IAAMC,eAAe,GAAG,SAAlBA,eAAe,CAAA,KAAA,EAAA;IAAA,IAAM3O,UAAU,SAAVA,UAAU,CAAA;AAAA,IAAA,OACnC0O,YAAY,CACN,EAAA,CAAA,MAAA,CAAA,CAACY,aAAa,GAAG,CAACI,SAAS,CAAC,GAAG,EAAE,EAClCnH,eAAe,CAACzD,MAAM,CAAC,UAAAtE,IAAI,EAAA;AAAA,MAAA,OAAIyL,mBAAmB,CAACzL,IAAI,EAAER,UAAU,CAAC,CAAA;AAAA,KAAA,CAAC,CACxE,CAAA,CAAA;AAAA,GAAA,CAAA;EAEJrB,yBAAK,CAAC0I,SAAS,CAAC,YAAK;AACnBsH,IAAAA,eAAe,CAAC;AAAE3O,MAAAA,UAAU,EAAVA,UAAAA;AAAU,KAAE,CAAC,CAAA;AACjC,GAAC,EAAE,CAACuI,eAAe,CAAC,CAAC,CAAC;AACtB,EAAA,IAAA,oBAAA,GAUI2D,mBAAmB,CAAC;AACtBd,MAAAA,SAAS,EAATA,SAAS;MACTe,cAAc,EAAEuD,SAAS,CAAC3O,KAAK;AAC/B+I,MAAAA,aAAa,EAAbA,aAAAA;AACD,KAAA,CAAC;AAbA2C,IAAAA,6BAA6B,wBAA7BA,6BAA6B;AAC7BH,IAAAA,uBAAuB,wBAAvBA,uBAAuB;AACvBK,IAAAA,4BAA4B,wBAA5BA,4BAA4B;AAC5BC,IAAAA,sBAAsB,wBAAtBA,sBAAsB;AACtBR,IAAAA,gBAAgB,wBAAhBA,gBAAgB;AAChBS,IAAAA,kCAAkC,wBAAlCA,kCAAkC;AAClCxB,IAAAA,sBAAsB,wBAAtBA,sBAAsB;AACtByB,IAAAA,mCAAmC,wBAAnCA,mCAAmC;AACnCC,IAAAA,oBAAoB,wBAApBA,oBAAoB,CAAA;AAOtB,EAAA,IAAA,qBAAA,GACE4C,8BAAoB,CAAC;AACnB7F,MAAAA,aAAa,EAAbA,aAAa;AACbvJ,MAAAA,YAAY,EAAZA,YAAY;MACZqP,qBAAqB,EAAA,SAAA,qBAAA,CAACnQ,OAAO,EAAA;AAAA,QAAA,IAAA,qBAAA,CAAA;AAC3BV,QAAAA,QAAQ,0BAACU,OAAO,CAACqK,aAAa,KAAA,IAAA,GAAA,qBAAA,GAAI,EAAE,CAAC,CAAA;AACvC,OAAA;AACD,KAAA,CAAC;AAPImD,IAAAA,oBAAoB,yBAApBA,oBAAoB;AAAE4C,IAAAA,gBAAgB,yBAAhBA,gBAAgB;AAAE3C,IAAAA,kBAAkB,yBAAlBA,kBAAkB,CAAA;EASlE,IAAMjN,YAAY,GAAGtB,yBAAK,CAAC0J,WAAW,CACpC,UACEnI,CAAC,EAKC,KAAA,EAAA;AAAA,IAAA,IAAA,qBAAA,EAAA,iBAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,oBAAA,CAAA;IAAA,IAHAT,OAAO,SAAPA,OAAO;AACPE,MAAAA,IAAI,SAAJA,IAAI,CAAA;IAGN,IAAIF,OAAO,YAAPA,OAAO,CAAEa,gBAAgB,IAAI,CAAAb,OAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAPA,OAAO,CAAEa,gBAAgB,KAAI,CAAC,EAC7DmP,uBAAuB,CAAChQ,OAAO,IAAPA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAEa,gBAAgB,CAAC,CAAA;AAEpD,IAAA,QAAQX,IAAI;AACV,MAAA,KAAKiP,qBAAW,CAAC/O,gBAAgB,CAACgP,iBAAiB,CAAA;AACnD,MAAA,KAAKD,qBAAW,CAAC/O,gBAAgB,CAAC4J,SAAS;AACzC,QAAA,OAAA,QAAA,CAAA,EAAA,EACKhK,OAAO,EAAA;AACVW,UAAAA,MAAM,EAAE,IAAI;UACZJ,UAAU,EAAA,CAAA,qBAAA,GAAEqG,QAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,CAAA,iBAAA,GAARA,QAAQ,CAAEI,OAAO,KAAA,IAAA,GAAA,KAAA,CAAA,GAAjB,iBAAmB1F,CAAAA,KAAK,KAAI,IAAA,GAAA,qBAAA,GAAA,EAAE;AAAE,SAAA,CAAA,CAAA;;AAEhD,MAAA,KAAK6N,qBAAW,CAAC/O,gBAAgB,CAACkP,iCAAiC;AACjE,QAAA,OAAA,QAAA,CAAA,EAAA,EACKtP,OAAO,EAAA;UACVO,UAAU,EAAA,CAAA,sBAAA,GAAEqG,QAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,CAAA,kBAAA,GAARA,QAAQ,CAAEI,OAAO,KAAA,IAAA,GAAA,KAAA,CAAA,GAAjB,kBAAmB1F,CAAAA,KAAK,KAAI,IAAA,GAAA,sBAAA,GAAA,EAAE;AAAE,SAAA,CAAA,CAAA;;AAEhD,MAAA,KAAK6N,qBAAW,CAAC/O,gBAAgB,CAACmP,WAAW;QAC3C,IAAIvP,CAAAA,mBAAAA,GAAAA,OAAO,CAACO,UAAU,KAAA,IAAA,IAAlB,oBAAoBkP,KAAK,CAAC,OAAO,CAAC,EAAE;AAAA,UAAA,IAAA,qBAAA,CAAA;AACtC;AACA,UAAA,OAAA,QAAA,CAAA,EAAA,EACKzP,OAAO,EAAA;YACVO,UAAU,EAAA,CAAA,qBAAA,GAAEP,OAAO,CAACO,UAAU,CAACyF,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,KAAI,IAAA,GAAA,qBAAA,GAAA,EAAA;AAAE,WAAA,CAAA,CAAA;AAE5D,SAAA;AAED,QAAA,IAAI,OAAO8I,YAAY,KAAK,UAAU,EACpCnG,UAAU,CAAA,CAAA,oBAAA,GAAC3I,OAAO,CAACO,UAAU,KAAA,IAAA,GAAA,oBAAA,GAAI,EAAE,CAAC,CAAC;AAEvC2O,QAAAA,eAAe,CAAC;AAAE3O,UAAAA,UAAU,EAAEP,CAAAA,oBAAAA,GAAAA,OAAO,CAACO,UAAU,KAAI,IAAA,GAAA,oBAAA,GAAA,EAAA;AAAI,SAAA,CAAC,CAAA;AACzD,QAAA,OAAOP,OAAO,CAAA;AAChB,MAAA,KAAKmP,qBAAW,CAAC/O,gBAAgB,CAACiP,SAAS;AACzC,QAAA,OAAA,QAAA,CAAA,EAAA,EACKrP,OAAO,EAAA;AACVO,UAAAA,UAAU,EAAE,EAAA;AAAE,SAAA,CAAA,CAAA;AAElB,MAAA;AACE,QAAA,OAAOP,OAAO,CAAA;AAAC,KAAA;GAEpB,EACD,CAAC6P,aAAa,EAAE/G,eAAe,EAAEoG,eAAe,EAAEJ,YAAY,CAAC,CAChE,CAAA;AAED,EAAA,IAAA,YAAA,GAYIK,qBAAW,CAAA,QAAA,CAAA;AACbkB,MAAAA,uBAAuB,EAAEN,oBAAoB;AAC7CnO,MAAAA,KAAK,EAAE+J,SAAS;AAChB7K,MAAAA,YAAY,EAAZA,YAAY;AACZR,MAAAA,YAAY,EAAE,IAAI;AAClBE,MAAAA,YAAY,EAAZA,YAAY;AACZS,MAAAA,aAAa,EAAoC,SAAA,aAAA,CAAA,KAAA,EAAA;QAAA,IAAjCf,IAAI,SAAJA,IAAI;AAAgB+M,UAAAA,WAAW,SAAzB3M,YAAY,CAAA;AAChC;QACA,IAAI,CAAC2M,WAAW,EAAE,OAAA;AAElB,QAAA,QAAQ/M,IAAI;AACV;AACA,UAAA,KAAKiP,qBAAW,CAAC/O,gBAAgB,CAACiP,SAAS;YACzC,IAAI,CAACL,YAAY,EAAE,MAAA;AACrB,UAAA,KAAKG,qBAAW,CAAC/O,gBAAgB,CAACgP,iBAAiB,CAAC;AACpD,UAAA,KAAKD,qBAAW,CAAC/O,gBAAgB,CAAC4J,SAAS;AACzC,YAAA,IAAImD,sBAAsB,CAACF,WAAW,CAAC,EAAE;AACvC,cAAA,IAAIJ,uBAAuB,EAAE;gBAC3B,OAAOS,oBAAoB,CAAChO,QAAQ,CAAC,CAAA;AACtC,eAAA;cACD,OAAO+N,mCAAmC,CAAC/N,QAAQ,CAAC,CAAA;AACrD,aAAA;AAED,YAAA,IAAI4N,4BAA4B,CAACD,WAAW,CAAC,EAAE;AAC7C,cAAA,OAAOG,kCAAkC,CAACH,WAAW,EAAE3N,QAAQ,CAAC,CAAA;AACjE,aAAA;AACD0N,YAAAA,6BAA6B,CAACC,WAAW,EAAE3N,QAAQ,CAAC,CAAA;AAAC,SAAA;AAE3D,OAAA;AAAC,KAAA,EACEO,IAAI,CACP,CAAA;AAzCA8P,IAAAA,gBAAgB,gBAAhBA,gBAAgB;AAChBpJ,IAAAA,aAAa,gBAAbA,aAAa;AACb1E,IAAAA,YAAY,gBAAZA,YAAY;AACZwB,IAAAA,aAAa,gBAAbA,aAAa;AACbvB,IAAAA,YAAY,gBAAZA,YAAY;AACZS,IAAAA,oBAAoB,gBAApBA,oBAAoB;AACpB1B,IAAAA,gBAAgB,gBAAhBA,gBAAgB;AAChBN,IAAAA,UAAU,gBAAVA,UAAU;AACVI,IAAAA,MAAM,gBAANA,MAAM;AACNkE,IAAAA,QAAQ,gBAARA,QAAQ;AACR6K,IAAAA,aAAa,gBAAbA,aAAa,CAAA;AAiCf;AACA;AACA,EAAA,IAAA,iBAAA,GAA6BC,gBAAgB,EAAE;IAApCW,aAAa,GAAA,QAAA,CAAA,EAAA,GAAA,yBAAA,CAAA,iBAAA,CAAA,EAAA,iBAAA,EAAA,CAAA;AAExB,EAAA,OACEpR,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,uBAAA;AAAuB,GAAA,EACpCR,yBAAA,CAAAkC,aAAA,CAACkC,oBAAe,EAAA,QAAA,CAAA;AACdC,IAAAA,MAAM,EACJrE,wCAAC8O,WAAW,EAAA;AACV3D,MAAAA,aAAa,EAAEA,aAAa;AAC5B1J,MAAAA,MAAM,EAAEA,MAAM;AACduC,MAAAA,SAAS,EAAEA,SAAS;AACpBJ,MAAAA,OAAO,EAAEA,OAAO;AAChBC,MAAAA,WAAW,EAAE,EAAE;AACfU,MAAAA,QAAQ,EAAEsL,QAAQ;AAClBZ,MAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AAAA,QAAA,IAAA,kBAAA,CAAA;QACZ7O,QAAQ,CAAC,EAAE,CAAC,CAAA;QACZoQ,aAAa,CAAC,EAAE,CAAC,CAAA;AACjB,QAAA,CAAA,kBAAA,GAAA9I,QAAQ,CAACI,OAAO,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAA,kBAAA,CAAkBC,KAAK,EAAE,CAAA;AACzB,QAAA,IAAI,OAAO6H,YAAY,KAAK,UAAU,EACpCnG,UAAU,CAACpI,UAAU,IAAVA,IAAAA,GAAAA,UAAU,GAAI,EAAE,CAAC,CAAA;OAC/B;AACDgC,MAAAA,oBAAoB,EAAEA,oBAAAA;MACtB;AAEJ7C,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,cAAc,EAAEzB,SAAS,CAAC;AAChDsB,IAAAA,KAAK,EAAEA,KAAK;AACZmC,IAAAA,QAAQ,EAAEwJ,gBAAgB,IAAIpM,UAAU,KAAK,EAAE;AAC/C8G,IAAAA,QAAQ,EAAEA,QAAQ;AAClBC,IAAAA,OAAO,EAAEA,OAAO;AAChB7D,IAAAA,QAAQ,EAAEsL,QAAQ;AAClBpP,IAAAA,KAAK,EAAEA,KAAK;IACZ+D,UAAU,EAAA,QAAA,CAAA;AACR,MAAA,YAAY,EAAK1C,KAAK,GAAkBqJ,iBAAAA,GAAAA,aAAa,CAACtF,MAAM,GAAA,mBAAA;AAAmB,KAAA,EAC5E1B,aAAa,EAAE,CAAA;GAEhBiN,EAAAA,aAAa,EACbzQ,IAAI,CAAA,EAERX,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AACE1B,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,wCAAwC,EAAE;AAC9D,MAAA,gDAAgD,EAAEwL,gBAAAA;AACnD,KAAA,CAAC;IACFvI,OAAO,EAAE,SAACc,OAAAA,CAAAA,CAAmB,EAAI;AAAA,MAAA,IAAA,kBAAA,CAAA;AAC/B,MAAA,IAAIA,CAAC,CAACqL,MAAM,KAAKrL,CAAC,CAACsL,aAAa,EAAE,CAAA,kBAAA,GAAA5J,QAAQ,CAACI,OAAO,KAAhB,IAAA,GAAA,KAAA,CAAA,GAAA,kBAAA,CAAkBC,KAAK,EAAE,CAAA;AAC7D,KAAA;GAAC,EAEAoD,aAAa,CAACtI,GAAG,CAAC,UAACzB,YAAY,EAAE0B,KAAK,EAAA;AAAA,IAAA,OACrC9C,wCAACqO,mBAAmB,EAAA;AAClBvL,MAAAA,KAAK,EAAEA,KAAK;MACZC,GAAG,EAAE3B,YAAY,CAACgB,KAAK;AACvBkM,MAAAA,oBAAoB,EAAEA,oBAAoB;AAC1ClN,MAAAA,YAAY,EAAEA,YAAY;AAC1BmN,MAAAA,kBAAkB,EAAEA,kBAAkB;AACtCC,MAAAA,uBAAuB,EAAEA,uBAAAA;AAAuB,KAAA,CAChD,CAAA;AAAA,GACH,CAAC,EACFxO,yBAAA,CAAAkC,aAAA,CAAA,OAAA,EAAA,QAAA,CAAA;AACE4B,IAAAA,WAAW,EAAEA,WAAW;AACxBtD,IAAAA,SAAS,EAAC,sCAAsC;IAChD+Q,IAAI,EAAC,UAAU;GACXlK,EAAAA,aAAa,CACf6J,gBAAgB,CAAC;AACfM,IAAAA,gBAAgB,EAAE/P,MAAM;AACxBiF,IAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZ,MAAA,IAAI,CAACjF,MAAM,IAAIgE,WAAW,EAAEE,QAAQ,EAAE,CAAA;KACvC;AACDL,IAAAA,GAAG,EAAEoC,QAAQ;AACbtF,IAAAA,KAAK,EAAEf,UAAU,IAAVA,IAAAA,GAAAA,UAAU,GAAI,EAAA;GACtB,CAAC,CACH,CAAA,CACD,CACE,CACU,EAClBrB,yBAAC,CAAAkC,aAAA,CAAAO,YAAY;AACXgK,IAAAA,SAAS,EAAEA,SAAS;AACpBtB,IAAAA,aAAa,EAAEA,aAAa;AAC5B9J,IAAAA,UAAU,EAAEA,UAAU;AACtBI,IAAAA,MAAM,EAAEA,MAAM;AACdE,IAAAA,gBAAgB,EAAEA,gBAAgB;AAClCiB,IAAAA,YAAY,EAAEA,YAAY;AAC1BD,IAAAA,YAAY,EAAEA,YAAY;AAC1BgK,IAAAA,aAAa,EAAEoE,SAAS;AACxBrE,IAAAA,sBAAsB,EAAEA,sBAAsB;AAC9C3I,IAAAA,SAAS,EAAEA,SAAS;AACpBH,IAAAA,OAAO,EAAEA,OAAAA;AAAO,GAAA,CAChB,CACE,CAAA;AAEV;;;ACnRa6N,IAAAA,YAAY,GAAG,SAAfA,YAAY,CAuBD,IAAA,EAAA;AAAA,EAAA,IAAA,mBAAA,CAAA;EAtBtBjR,IAAAA,SAAS,QAATA,SAAS,CAAA;AAAA,IAETyI,eAAe,QAAfA,eAAe,CAAA;AAGfd,IAAAA,QAAQ,QAARA,QAAQ,CAAA;AACDyH,IAAAA,YAAY,QAAnBlN,KAAK,CAAA;AACLZ,IAAAA,KAAK,QAALA,KAAK,CAAA;AACLiC,IAAAA,SAAS,QAATA,SAAS,CAAA;AAET3D,IAAAA,QAAQ,QAARA,QAAQ,CAAA;AAAA,IAEG,aAAA,GAAA,IAAA,CAEXyP,QAAQ,CAAA;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA,CAAA;AAEhBzO,IAAAA,YAAY,QAAZA,YAAY,CAAA;AAAA,IAAA,iBAAA,GAAA,IAAA,CACZ0O,YAAY,CAAA;AAAZA,IAAAA,YAAY,kCAAG,KAAK,GAAA,iBAAA,CAAA;AAAA,IACD,YAAA,GAAA,IAAA,CAEnB1H,OAAO,CAAA;AAAPA,IAAAA,OAAO,6BAAG,MAAM,GAAA,YAAA,CAAA;IACbzH,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAA,SAAA,EAAA;AAEP,EAAA,IAAA,iBAAA,GAA4CoI,gBAAgB,CAC1D6G,YAAY,EACZ3G,eAAe,CAChB;AAHcW,IAAAA,eAAe,qBAAtBlH,KAAK;AAAmBkB,IAAAA,OAAO,qBAAPA,OAAO,CAAA;AAKvC,EAAA,IAAA,UAAA,GAOI+G,mBAAS,CAAC;AACZjI,MAAAA,KAAK,EAAEkH,eAAe;AACtBxI,MAAAA,YAAY,EAAZA,YAAY;AACZW,MAAAA,aAAa,EAAoC,SAAA,aAAA,CAAA,KAAA,EAAA;QAAA,IAAjCf,IAAI,SAAJA,IAAI;AAAgB+M,UAAAA,WAAW,SAAzB3M,YAAY,CAAA;AAChC,QAAA,QAAQJ,IAAI;AACV;AACA,UAAA,KAAK2J,mBAAS,CAACzJ,gBAAgB,CAACiP,SAAS;YACvC,IAAI,CAACL,YAAY,EAAE,MAAA;AACrB,UAAA,KAAKnF,mBAAS,CAACzJ,gBAAgB,CAAC0J,gBAAgB,CAAC;AACjD,UAAA,KAAKD,mBAAS,CAACzJ,gBAAgB,CAAC4J,SAAS;YACvC1K,QAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAG2N,WAAW,KAAK1N,SAAS,GAAG0N,WAAW,GAAG,IAAI,CAAC,CAAA;AAAC,SAAA;OAEhE;AACDnM,MAAAA,YAAY,EAAZA,YAAAA;AACD,KAAA,CAAC;AApBAH,IAAAA,MAAM,cAANA,MAAM;AACN4B,IAAAA,oBAAoB,cAApBA,oBAAoB;AACpBc,IAAAA,aAAa,cAAbA,aAAa;AACbvB,IAAAA,YAAY,cAAZA,YAAY;AACZjB,IAAAA,gBAAgB,cAAhBA,gBAAgB;AAChBgB,IAAAA,YAAY,cAAZA,YAAY,CAAA;AAiBd,EAAA,OACE3C,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA;AAAK1B,IAAAA,SAAS,EAAC,uBAAA;AAAuB,GAAA,EACpCR,yBAAA,CAAAkC,aAAA,CAACkC,oBAAe,EAAA,QAAA,CAAA;AACdC,IAAAA,MAAM,EACJrE,yBAAA,CAAAkC,aAAA,CAAC4M,WAAW,EACV;MAAA3D,aAAa,EAAE,CAAC/J,YAAY,CAAC;AAC7BK,MAAAA,MAAM,EAAEA,MAAM;AACduC,MAAAA,SAAS,EAAE,IAAI;AACfJ,MAAAA,OAAO,EAAEA,OAAO;AAChBC,MAAAA,WAAW,EAAE,EAAE;AACfU,MAAAA,QAAQ,EAAEsL,QAAQ;AAClBZ,MAAAA,OAAO,EAAE,SAAK,OAAA,GAAA;AACZ7O,QAAAA,QAAQ,IAARA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG,IAAI,CAAC,CAAA;OACjB;AACDiD,MAAAA,oBAAoB,EAAEA,oBAAoB;AAC1C2L,MAAAA,uBAAuB,EAAC,aAAa;AACrCD,MAAAA,mBAAmB,GAAK3N,YAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEU,KAAK,IAAmC,sCAAA;AAC9EoN,MAAAA,SAAS,EAAA,IAAA;AAAA,KAAA,CACT;AAEJ1O,IAAAA,SAAS,EAAEyB,8BAAU,CAAC,cAAc,EAAEzB,SAAS,EAAE;MAC/C,0BAA0B,EAAEY,YAAY,KAAK,IAAA;AAC9C,KAAA,CAAC;AACFU,IAAAA,KAAK,EAAEA,KAAK;AACZwI,IAAAA,OAAO,EAAEnG,aAAa,EAAE,CAACuN,EAAE;IAC3BlN,UAAU,EAAEL,aAAa,EAAE;AAC3BD,IAAAA,qBAAqB,EACrB,IAAA;IAAAD,QAAQ,EAAE7C,YAAY,KAAK,IAAI;AAC/B+G,IAAAA,QAAQ,EAAEA,QAAQ;AAClBC,IAAAA,OAAO,EAAEA,OAAO;AAChB7D,IAAAA,QAAQ,EAAEsL,QAAAA;AAAQ,GAAA,EACdlP,IAAI,CAERX,EAAAA,yBAAA,CAAAkC,aAAA,CAAA,KAAA,EAAA,QAAA,CAAA;AACE1B,IAAAA,SAAS,EAAC,oCAAA;AAAoC,GAAA,EAC1C6C,oBAAoB,EAAE,CAAA,EAAA,CAAA,mBAAA,GAEzBjC,YAAY,IAAZA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAEU,KAAK,KAAA,IAAA,GAAA,mBAAA,GAAI,EAAE,CACtB,CACU,EAClB9B,yBAAC,CAAAkC,aAAA,CAAAO,YAAY;IACX0I,aAAa,EAAE/J,YAAY,KAAK,IAAI,GAAG,CAACA,YAAY,CAAC,GAAG,EAAE;AAC1DK,IAAAA,MAAM,EAAEA,MAAM;AACdgL,IAAAA,SAAS,EAAE7C,eAAe;AAC1BjI,IAAAA,gBAAgB,EAAEA,gBAAgB;AAClCoC,IAAAA,SAAS,EAAEA,SAAS;AACpBnB,IAAAA,YAAY,EAAEA,YAAY;AAC1BD,IAAAA,YAAY,EAAEA,YAAY;AAC1BiB,IAAAA,OAAO,EAAEA,OAAAA;AAAO,GAAA,CAChB,CACE,CAAA;AAEV;;ACzKA+N,4BAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;;;;;;;;;"}
|