{"version":3,"file":"useSeniorCheckbox.BQOit7bV.js","sources":["../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/context/useContextState.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/service.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/utils/utils.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/context/useSideEffects.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/context/index.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/components/button/hooks/useButton.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/hooks/useSearcherTouDefaultValues.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/components/date-input/hooks/useDateInput.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/autocomplete-panel/constants.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/autocomplete-panel/services/index.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/autocomplete-panel/utils.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/autocomplete-panel/hooks/useAutocompletePanel.js","../../../../../../../node_modules/@babylon/ui-kit-forms/components/inputs/autocomplete-panel/hooks/useFormAutocompletePanel.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/components/destination-input/hooks/useDestinationInput.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/components/duration-input/hooks/useDurationInput.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/components/flexibility-input/hooks/useFlexibilityInput.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/components/origin-input/hooks/useOriginInput.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/components/passengers-input/hooks/usePassengersInput.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/utils/url.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/hooks/useSearcherTouForm.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/components/searcher-form/index.js","../../../../../../../node_modules/@babylon/ui-kit-searchers/components/searchers/searcher-tou/components/senior-checkbox/hooks/useSeniorCheckbox.js"],"sourcesContent":["import useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport useLoading from '../../../../hooks/useLoading.js';\nimport { useState } from 'react';\n\nconst useSearcherTouContextState = ()=>{\n const [originOptions, setOriginOptions] = useState([]);\n const [durationOptions, setDurationOptions] = useState([]);\n const [calendarData, setCalendarData] = useState([]);\n const destinationValue = useValue({\n name: 'destination'\n });\n const { isLoading, doFetchLoading } = useLoading(!!destinationValue?.code);\n return {\n state: {\n originOptions,\n durationOptions,\n calendarData,\n isLoading\n },\n actions: {\n setOriginOptions,\n setDurationOptions,\n setCalendarData,\n doFetchLoading\n }\n };\n};\n\nexport { useSearcherTouContextState as default };\n//# sourceMappingURL=useContextState.js.map\n","import { getUrlWithDomain, parseFilters } from '@babylon/ui-kit-helpers/url';\n\nconst getOrigins = async (url = '', { destination, senior } = {}, { BaseUrl, Language, Market } = {})=>{\n if (!url || !Language || !Market || !destination) return;\n let finalUrl = getUrlWithDomain(url, BaseUrl);\n const filters = parseFilters({\n senior,\n destination: destination?.code,\n destinationType: destination?.type\n });\n // not use here language and market because they comes in the model\n const response = await fetch(`${finalUrl}${finalUrl.includes('?') ? '&' : '?'}${filters}`);\n if (!response.ok || response.status === 204) return [];\n const data = await response.json().catch(()=>[]);\n return data;\n};\nconst getNights = async (url = '', { origin, destination, senior } = {}, { BaseUrl, Language, Market } = {})=>{\n if (!url || !Language || !Market || !origin || !destination) return;\n let finalUrl = getUrlWithDomain(url, BaseUrl);\n const filters = parseFilters({\n senior,\n destination: destination?.code,\n destinationType: destination?.type,\n origin: origin?.value\n });\n const response = await fetch(`${finalUrl}${finalUrl.includes('?') ? '&' : '?'}${filters}`);\n if (!response.ok || response.status === 204) return [];\n const data = await response.json().catch(()=>[]);\n return data;\n};\nconst getCalendar = async (url = '', { origin, destination, duration, senior } = {}, { BaseUrl, Language, Market } = {})=>{\n if (!url || !Language || !Market || !origin || !destination || !duration) return;\n const durationParsed = duration?.reduce((finalValue, currentValue)=>`${finalValue}@${currentValue.value}`, '').substring(1);\n let finalUrl = getUrlWithDomain(url, BaseUrl);\n const filters = parseFilters({\n senior,\n destination: destination?.code,\n destinationType: destination?.type,\n origin: origin?.value,\n nights: durationParsed\n });\n const response = await fetch(`${finalUrl}${finalUrl.includes('?') ? '&' : '?'}${filters}`);\n if (!response.ok || response.status === 204) return [];\n const data = await response.json().catch(()=>[]);\n return data;\n};\n\nexport { getCalendar, getNights, getOrigins };\n//# sourceMappingURL=service.js.map\n","function transformDataOrigins(locations) {\n let transformed = [];\n if (locations && locations.length > 0) {\n locations.forEach((e)=>transformed.push({\n label: e.name ?? '',\n name: e.name ?? '',\n value: e.code ?? ''\n }));\n }\n return transformed;\n}\nfunction getOriginDefaultValue(options) {\n if (!options?.length) return undefined;\n const checked = options.find((e)=>e.checked);\n const res = {\n label: checked?.name ?? '',\n name: checked?.name,\n value: checked?.code\n };\n return res;\n}\nfunction parseDates(options) {\n let dates = [];\n options?.map((e)=>dates.push(e.date ?? ''));\n return dates;\n}\nfunction parseDatesOffers(options, currency) {\n let dates = [];\n options?.map((e)=>dates.push({\n date: e.date ?? '',\n offer: e.offer ?? false,\n text: e.price ? e.price.toString() : '',\n currency: currency\n }));\n return dates;\n}\nfunction addParamToRelativeUrl(url, paramName, paramValue) {\n if (!paramValue) return url; // Si el valor del parĂ¡metro no es true, devolvemos la URL sin cambios.\n const separator = url.includes('?') ? '&' : '?';\n return `${url}${separator}${paramName}=${paramValue}`;\n}\n\nexport { addParamToRelativeUrl, getOriginDefaultValue, parseDates, parseDatesOffers, transformDataOrigins };\n//# sourceMappingURL=utils.js.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport useValueChanged from '@babylon/ui-kit-forms/hooks/useValueChanged';\nimport { formatDateWithoutLocale, getFirstDayValid } from '@babylon/ui-kit-helpers/date';\nimport isEqual from '@babylon/ui-kit-helpers/is-equal';\nimport useConditionalFetchLoading from '../../../../hooks/useConditionalFetchLoading.js';\nimport { useContext, useCallback } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { getCalendar, getNights, getOrigins } from '../service.js';\nimport { getOriginDefaultValue } from '../utils/utils.js';\n\nconst useUpdateDates = (contextValue)=>{\n const { props: { config }, state: { calendarData }, actions: { setCalendarData } } = contextValue;\n const { endpoint } = config ?? {};\n const { setValue, getValues } = useFormContext();\n const { BaseUrl, Language, Market } = useContext(contextBabylon);\n return useCallback(async ()=>{\n const { destination, origin, duration, date } = getValues();\n if (!destination || !origin || !duration) return;\n const newDates = await getCalendar(endpoint?.dates, {\n origin,\n destination,\n duration\n }, {\n BaseUrl,\n Language,\n Market\n });\n if (!isEqual(calendarData, newDates)) {\n setCalendarData(newDates || []);\n if (newDates?.length > 0 && date?.[0] && !newDates.map((date)=>date.date).includes(formatDateWithoutLocale(date[0], 'YYYY-MM-DD'))) {\n const dates = newDates.map((e)=>e.date ?? '').filter((e)=>!!e);\n const newDate = [\n getFirstDayValid(dates, new Date(Date.now() - 86400000), 0) ?? new Date(dates[0])\n ];\n if (!isEqual(date?.map((date)=>date.getTime()), newDate?.map((date)=>date?.getTime()))) {\n setValue('date', newDate, {\n shouldValidate: true,\n shouldDirty: true,\n shouldTouch: true\n });\n }\n }\n }\n }, [\n BaseUrl,\n Language,\n Market,\n calendarData,\n endpoint?.dates,\n getValues,\n setCalendarData,\n setValue\n ]);\n};\nconst useUpdateNights = (contextValue)=>{\n const { props: { config, duration }, state: { durationOptions }, actions: { setDurationOptions } } = contextValue;\n const { endpoint } = config ?? {};\n const { setValue, getValues } = useFormContext();\n const { BaseUrl, Language, Market } = useContext(contextBabylon);\n const updateDates = useUpdateDates(contextValue);\n return useCallback(async ()=>{\n const { destination, origin, senior } = getValues();\n if (!destination?.code || !origin?.value) return;\n const newDurations = await getNights(endpoint?.durations, {\n origin,\n destination,\n senior\n }, {\n BaseUrl,\n Language,\n Market\n });\n if (newDurations && !isEqual(durationOptions, newDurations)) {\n if (newDurations.length === 1) newDurations[0].checked = true;\n setDurationOptions(newDurations);\n const newDuration = newDurations.filter((e)=>duration?.length ? duration.toString().includes(String(e?.value)) : !!e.checked);\n const finalDuration = newDuration.length ? newDuration : newDurations.filter((item)=>item.checked);\n if (!isEqual(getValues().duration, finalDuration)) {\n setValue('duration', finalDuration, {\n shouldValidate: true,\n shouldDirty: true,\n shouldTouch: true\n });\n }\n }\n await updateDates();\n }, [\n BaseUrl,\n Language,\n Market,\n duration,\n durationOptions,\n endpoint?.durations,\n getValues,\n setDurationOptions,\n setValue,\n updateDates\n ]);\n};\nconst useUpdateOrigins = (contextValue)=>{\n const { props: { config }, state: { originOptions }, actions: { setOriginOptions } } = contextValue;\n const { endpoint } = config ?? {};\n const { setValue, getValues } = useFormContext();\n const { BaseUrl, Language, Market } = useContext(contextBabylon);\n const updateNights = useUpdateNights(contextValue);\n return useCallback(async ()=>{\n const { destination, senior } = getValues();\n if (!destination?.code) return;\n const newOrigins = await getOrigins(endpoint?.origins, {\n destination,\n senior\n }, {\n BaseUrl,\n Language,\n Market\n });\n if (newOrigins && !isEqual(originOptions, newOrigins)) {\n setOriginOptions(newOrigins);\n const defaultOriginValue = getOriginDefaultValue(newOrigins);\n if (!isEqual(getValues().origin?.value, defaultOriginValue?.value)) {\n setValue('origin', defaultOriginValue, {\n shouldValidate: true,\n shouldDirty: true,\n shouldTouch: true\n });\n }\n }\n await updateNights();\n }, [\n BaseUrl,\n Language,\n Market,\n endpoint?.origins,\n getValues,\n originOptions,\n setOriginOptions,\n setValue,\n updateNights\n ]);\n};\nconst useSearcherTouSideEffects = (contextValue)=>{\n const { state: { originOptions, durationOptions, calendarData }, actions: { doFetchLoading } } = contextValue;\n const destinationChanged = useValueChanged('destination');\n const originChanged = useValueChanged('origin.value');\n const durationChanged = useValueChanged('duration');\n useConditionalFetchLoading(doFetchLoading, [\n {\n enabled: !originOptions?.length || destinationChanged,\n function: useUpdateOrigins(contextValue)\n },\n {\n enabled: !durationOptions?.length || originChanged,\n function: useUpdateNights(contextValue)\n },\n {\n enabled: !calendarData?.length || durationChanged,\n function: useUpdateDates(contextValue)\n }\n ]);\n};\n\nexport { useSearcherTouSideEffects as default };\n//# sourceMappingURL=useSideEffects.js.map\n","import { createFullProvider } from '@babylon/ui-kit-helpers/context';\nimport useSearcherTouContextState from './useContextState.js';\nimport useSearcherTouSideEffects from './useSideEffects.js';\n\nconst { Provider: SearcherTouProvider, useContextProps: useSearcherTouProps, useContextState: useSearcherTouState, useContextActions: useSearcherTouActions } = createFullProvider({\n useState: useSearcherTouContextState,\n useSideEffects: useSearcherTouSideEffects\n});\n\nexport { SearcherTouProvider, useSearcherTouActions, useSearcherTouProps, useSearcherTouState };\n//# sourceMappingURL=index.js.map\n","import { useSearcherTouProps, useSearcherTouState } from '../../../context/index.js';\n\nconst useButton = ()=>{\n const { config } = useSearcherTouProps();\n const { literals } = config ?? {};\n const { isLoading } = useSearcherTouState();\n return {\n disabled: isLoading,\n literals\n };\n};\n\nexport { useButton as default };\n//# sourceMappingURL=useButton.js.map\n","import { getValidOption } from '@babylon/ui-kit-forms/helpers/select';\nimport { getValidDates } from '@babylon/ui-kit-helpers/date';\n\nconst useSearcherTouDefaultValues = (props)=>{\n const { config, destination, flexibility, accomodation, calendar, senior } = props ?? {};\n const { literals } = config ?? {};\n const { searchPlaceholderValue = '', accomodationModalTitle = '', agesDescription = '' } = literals ?? {};\n return {\n destination,\n origin: getValidOption({\n label: searchPlaceholderValue\n }),\n date: getValidDates(new Date(), new Date(), {\n startDate: calendar\n }).splice(0, 1),\n flexibility: flexibility?.[0],\n senior,\n passengers: {\n title: accomodationModalTitle,\n adults: {\n description: accomodation?.adults?.personDescription,\n value: accomodation?.rooms?.[0]?.adults?.value ?? 1,\n min: accomodation?.adults?.min ?? 1,\n max: accomodation?.adults?.max ?? 9,\n options: []\n },\n senior: accomodation?.senior ? {\n description: accomodation?.senior?.personDescription,\n value: accomodation?.rooms?.[0]?.senior?.value ?? 0,\n min: accomodation?.senior?.min ?? 0,\n max: accomodation?.senior?.max ?? 9\n } : undefined,\n children: {\n description: accomodation?.children?.personDescription,\n value: accomodation?.rooms?.[0]?.children?.value ?? 0,\n min: accomodation?.children?.min ?? 0,\n max: accomodation?.children?.max ?? 9,\n optionsLabel: agesDescription,\n options: accomodation?.children?.options,\n selectedOptions: Array(accomodation?.rooms?.[0]?.children?.value ?? 0).fill(accomodation?.children?.options?.find((e)=>!!e.selected)?.value, 0, accomodation?.rooms?.[0]?.children?.value)\n }\n }\n };\n};\n\nexport { useSearcherTouDefaultValues as default };\n//# sourceMappingURL=useSearcherTouDefaultValues.js.map\n","import useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport { useSearcherDatesSingleDesktop } from '../../../../../../hooks/inputs/useSearcherDates.js';\nimport { useSearcherTouProps, useSearcherTouState } from '../../../context/index.js';\nimport useSearcherTouDefaultValues from '../../../hooks/useSearcherTouDefaultValues.js';\nimport { parseDates, parseDatesOffers } from '../../../utils/utils.js';\n\nconst getPriceLegend = (priceLegend)=>{\n if (!priceLegend) return '';\n if (priceLegend?.indexOf('(') === -1) return priceLegend;\n return priceLegend.split('(')[1].split(')')[0];\n};\nconst useDateInput = ()=>{\n const props = useSearcherTouProps();\n const { config, calendar } = props;\n const { literals, onModal } = config ?? {};\n const { calendarLabel = '', offer = '', priceLegend = '' } = literals ?? {};\n const { isLoading, calendarData } = useSearcherTouState();\n const destinationValue = useValue({\n name: 'destination'\n });\n return useSearcherDatesSingleDesktop({\n name: 'date',\n label: calendarLabel,\n enableDates: calendarData ? parseDates(calendarData) : [],\n checkIn: calendarData?.map((item)=>item.date ?? '').filter((item)=>!!item),\n defaultValue: useSearcherTouDefaultValues(props).date,\n events: [\n {\n legend: {\n text: offer,\n subtitle: priceLegend,\n class: 'flatpickr-day-footer-bargain-price'\n },\n date: {\n class: 'flatpickr-day--direct-flight',\n dates: []\n },\n offers: {\n dates: calendarData ? parseDatesOffers(calendarData, getPriceLegend(priceLegend)) : []\n }\n }\n ],\n disabled: !!isLoading || !destinationValue,\n className: 'calendar-tou',\n tooltipOptions: {\n strategy: onModal ? 'fixed' : undefined\n }\n }, {\n startDate: calendar\n });\n};\n\nexport { useDateInput as default };\n//# sourceMappingURL=useDateInput.js.map\n","const DEFAULT_ENDPOINTS = {\n TREE: '/ttoo-saleprocess/operative/get-destination-tree',\n FILTER: '/ttoo-saleprocess/operative/filter-destination-tree'\n};\n\nexport { DEFAULT_ENDPOINTS };\n//# sourceMappingURL=constants.js.map\n","import { DEFAULT_ENDPOINTS } from '../constants.js';\n\nconst getDestinationTree = async (endpoint = DEFAULT_ENDPOINTS.TREE, queryParams = {})=>{\n const { language = '', market = '', BaseUrl = '' } = queryParams;\n let finalUrl = endpoint;\n if (!endpoint.startsWith('http')) finalUrl = `${BaseUrl}${endpoint}`;\n const url = new URL(finalUrl);\n url.searchParams.set('language', language);\n url.searchParams.set('market', market);\n const response = await fetch(url.toString());\n if (!response.ok || response.status !== 200 && response.status !== 204) throw new Error(response.statusText);\n return response.json();\n};\nconst filterDestinationTree = async (endpoint = DEFAULT_ENDPOINTS.FILTER, queryParams = {})=>{\n const { language = '', market = '', text = '', BaseUrl = '' } = queryParams;\n let finalUrl = endpoint;\n if (!endpoint.startsWith('http')) finalUrl = `${BaseUrl}${endpoint}`;\n const url = new URL(finalUrl);\n url.searchParams.set('language', language);\n url.searchParams.set('market', market);\n url.searchParams.set('text', text);\n const response = await fetch(url.toString());\n if (!response.ok || response.status !== 200 && response.status !== 204) throw new Error(response.statusText);\n return response.json();\n};\n\nexport { filterDestinationTree, getDestinationTree };\n//# sourceMappingURL=index.js.map\n","import cloneDeep from 'clone-deep';\n\nconst MIN_LENGTH_TO_SEARCH = 3;\nconst agrupationSortByPriority = (agrupation)=>{\n const sortByPriority = (a, b)=>a.priority - b.priority;\n const agrupationSorting = cloneDeep(agrupation);\n return agrupationSorting.sort(sortByPriority);\n};\nconst childrenSortByPriority = (agrupation)=>{\n const sortByPriority = (a, b)=>b.priority - a.priority;\n const agrupationSorting = cloneDeep(agrupation);\n return agrupationSorting.sort(sortByPriority);\n};\nconst autocompletePanelTreeSortByPriority = (autocomplete)=>{\n const agrupations = agrupationSortByPriority(autocomplete.agrupations);\n const featured = autocomplete.featured && agrupationSortByPriority(autocomplete.featured);\n const filtered = autocomplete.filtered && agrupationSortByPriority(autocomplete.filtered);\n return {\n agrupations,\n featured,\n filtered\n };\n};\n\nexport { MIN_LENGTH_TO_SEARCH, agrupationSortByPriority, autocompletePanelTreeSortByPriority, childrenSortByPriority };\n//# sourceMappingURL=utils.js.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport { useState, useContext, useCallback, useEffect } from 'react';\nimport { useToggle } from 'usehooks-ts';\nimport { getDestinationTree, filterDestinationTree } from '../services/index.js';\nimport { autocompletePanelTreeSortByPriority } from '../utils.js';\n\nconst useAutocompletePanel = (config, disabled = false)=>{\n const { endpoint } = config ?? {};\n const { tree, filter } = endpoint ?? {};\n const initialPanelTree = {\n agrupations: []\n };\n const [autocompletePanelTree, setAutocompletePanelTree] = useState(initialPanelTree);\n const [isPanelVisible, _, setVisible] = useToggle();\n const context = useContext(contextBabylon);\n const language = context?.LanguageValue?.toLocaleLowerCase() ?? 'es';\n const market = context?.Market?.toLocaleLowerCase() ?? 'es';\n const BaseUrl = context?.BaseUrl ? context?.BaseUrl : '';\n const getInitialData = useCallback(()=>{\n getDestinationTree(tree, {\n language,\n market,\n BaseUrl\n }).then(autocompletePanelTreeSortByPriority).then((response)=>{\n setAutocompletePanelTree(response);\n });\n }, [\n BaseUrl,\n tree,\n language,\n market\n ]);\n const getFilterDestinationTree = useCallback((text)=>{\n filterDestinationTree(filter, {\n language,\n market,\n text,\n BaseUrl\n }).then((response)=>{\n const agrupations = autocompletePanelTree.agrupations?.map((agrupation)=>{\n const newAgrupation = response.agrupations?.find((res)=>res.code !== null && res.code === agrupation.code);\n if (newAgrupation) {\n const { name, priority, marked } = newAgrupation;\n return {\n ...agrupation,\n name,\n priority,\n marked\n };\n }\n return agrupation;\n });\n setAutocompletePanelTree({\n ...response,\n agrupations\n });\n });\n }, [\n BaseUrl,\n autocompletePanelTree.agrupations,\n filter,\n language,\n market\n ]);\n const getFilterDestinationTreeMobile = useCallback((text)=>{\n filterDestinationTree(filter, {\n language,\n market,\n text,\n BaseUrl\n }).then((response)=>{\n setAutocompletePanelTree((prev)=>({\n ...prev,\n filtered: response.agrupations\n }));\n });\n }, [\n BaseUrl,\n filter,\n language,\n market\n ]);\n useEffect(()=>{\n getInitialData();\n }, [\n getInitialData\n ]);\n const openPanel = useCallback(()=>{\n if (!disabled) setVisible(true);\n }, [\n disabled,\n setVisible\n ]);\n const closePanel = useCallback(()=>{\n setVisible(false);\n }, [\n setVisible\n ]);\n return {\n autocompletePanelTree,\n isPanelVisible,\n setAutocompletePanelTree,\n openPanel,\n closePanel,\n getFilterDestinationTree,\n getFilterDestinationTreeMobile\n };\n};\n\nexport { useAutocompletePanel as default, useAutocompletePanel };\n//# sourceMappingURL=useAutocompletePanel.js.map\n","import { useInput } from '../../../../hooks/useInput/index.js';\n\nconst useFormAutocompletePanel = (props)=>{\n const { isHiddenRequired: _isHiddenRequired, ...rest } = props;\n const { field, error, hasError, label } = useInput(props);\n return {\n ...rest,\n ...field,\n hasError,\n label,\n error\n };\n};\n\nexport { useFormAutocompletePanel as default };\n//# sourceMappingURL=useFormAutocompletePanel.js.map\n","import { required } from '@babylon/ui-kit-forms/helpers/validate';\nimport useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport { useCallback } from 'react';\nimport { useSearcherTouProps, useSearcherTouState } from '../../../context/index.js';\nimport useSearcherTouDefaultValues from '../../../hooks/useSearcherTouDefaultValues.js';\nimport { addParamToRelativeUrl } from '../../../utils/utils.js';\n\nconst useDestinationInput = ()=>{\n const props = useSearcherTouProps();\n const { config } = props;\n const { literals, endpoint } = config ?? {};\n const { labelFeatured = '', labelSuggestions = '', destinationModalTitle = '', searchPlaceholderValue = '', noResultsText = '', destinationLabel = '' } = literals ?? {};\n const { isLoading } = useSearcherTouState();\n const seniorValue = useValue({\n name: 'senior'\n });\n const seniorParam = seniorValue ? 'senior' : '';\n const buildEndpoints = useCallback((endpoint)=>endpoint ? addParamToRelativeUrl(endpoint, seniorParam, seniorValue) : '', [\n seniorParam,\n seniorValue\n ]);\n return {\n name: 'destination',\n config: {\n literals: {\n labelFeatured: labelFeatured,\n labelSuggestions: labelSuggestions,\n modalTitle: destinationModalTitle,\n placeHolderAutocomplete: searchPlaceholderValue,\n noResults: noResultsText\n },\n endpoint: {\n tree: buildEndpoints(endpoint?.tree),\n filter: buildEndpoints(endpoint?.filter)\n },\n threshold: 3\n },\n placeholder: '',\n label: destinationLabel,\n isHiddenRequired: true,\n defaultValue: useSearcherTouDefaultValues(props).destination,\n disabled: isLoading,\n validate: required()\n };\n};\n\nexport { useDestinationInput as default };\n//# sourceMappingURL=useDestinationInput.js.map\n","import useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport { useSearcherTouProps, useSearcherTouState } from '../../../context/index.js';\n\nconst useDurationInput = ()=>{\n const { config } = useSearcherTouProps();\n const { literals } = config ?? {};\n const { durationLabel = '', accept = '' } = literals ?? {};\n const { isLoading, durationOptions } = useSearcherTouState();\n const destinationValue = useValue({\n name: 'destination'\n });\n return {\n name: 'duration',\n label: durationLabel,\n options: durationOptions ?? [],\n modalHeader: durationLabel,\n accept: accept,\n disabled: !!isLoading || !destinationValue\n };\n};\n\nexport { useDurationInput as default };\n//# sourceMappingURL=useDurationInput.js.map\n","import useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport { useSearcherTouProps, useSearcherTouState } from '../../../context/index.js';\nimport useSearcherTouDefaultValues from '../../../hooks/useSearcherTouDefaultValues.js';\n\nconst useFlexibilityInput = ()=>{\n const props = useSearcherTouProps();\n const { flexibility } = props;\n const { isLoading } = useSearcherTouState();\n const destinationValue = useValue({\n name: 'destination'\n });\n return {\n name: 'flexibility',\n options: flexibility ?? [],\n defaultValue: useSearcherTouDefaultValues(props).flexibility,\n disabled: !!isLoading || !destinationValue\n };\n};\n\nexport { useFlexibilityInput as default };\n//# sourceMappingURL=useFlexibilityInput.js.map\n","import useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport { useSearcherTouProps, useSearcherTouState } from '../../../context/index.js';\nimport useSearcherTouDefaultValues from '../../../hooks/useSearcherTouDefaultValues.js';\nimport { transformDataOrigins } from '../../../utils/utils.js';\n\nconst useOriginInput = ()=>{\n const props = useSearcherTouProps();\n const { config } = props;\n const { literals } = config ?? {};\n const { searchPlaceholderValue = '', originLabel = '', noResults = '' } = literals ?? {};\n const { isLoading, originOptions } = useSearcherTouState();\n const destinationValue = useValue({\n name: 'destination'\n });\n return {\n name: 'origin',\n selectName: originLabel,\n noResultsText: noResults,\n searchText: searchPlaceholderValue,\n placeholder: originLabel,\n options: originOptions ? transformDataOrigins(originOptions) : [],\n defaultValue: useSearcherTouDefaultValues(props).origin,\n isHiddenRequired: true,\n isDisabled: !!isLoading || !destinationValue\n };\n};\n\nexport { useOriginInput as default };\n//# sourceMappingURL=useOriginInput.js.map\n","import { requiredPassengersMinAdults } from '@babylon/ui-kit-forms/helpers/validate';\nimport useValue from '@babylon/ui-kit-forms/hooks/useValue';\nimport { useSearcherTouProps, useSearcherTouState } from '../../../context/index.js';\nimport useSearcherTouDefaultValues from '../../../hooks/useSearcherTouDefaultValues.js';\n\nconst usePassengersInput = ()=>{\n const props = useSearcherTouProps();\n const { config, accomodation } = props;\n const { literals } = config ?? {};\n const { accomodationLabel = '' } = literals ?? {};\n const { isLoading } = useSearcherTouState();\n const destinationValue = useValue({\n name: 'destination'\n });\n return {\n name: 'passengers',\n label: accomodationLabel,\n defaultValue: useSearcherTouDefaultValues(props).passengers,\n disabled: !!isLoading || !destinationValue,\n infoText: accomodation?.infoText,\n literals: {\n adultLabel: accomodation?.adults?.personLabel,\n adultsLabel: accomodation?.adults?.personsLabel,\n seniorLabel: accomodation?.senior?.personLabel,\n seniorsLabel: accomodation?.senior?.personsLabel,\n childLabel: accomodation?.children?.personLabel,\n childrenLabel: accomodation?.children?.personsLabel\n },\n validate: requiredPassengersMinAdults(1),\n infoValidate: requiredPassengersMinAdults(1, literals?.errorMinAdults)\n };\n};\n\nexport { usePassengersInput as default };\n//# sourceMappingURL=usePassengersInput.js.map\n","import { formatDateWithoutLocale, addDays } from '@babylon/ui-kit-helpers/date';\nimport { getUrlWithDomain, parseFilters } from '@babylon/ui-kit-helpers/url';\n\nfunction getPassengersParam(a) {\n if (!a) return '';\n let value = '';\n const numberAdutls = a.adults?.value;\n for(let n = 0; n < numberAdutls; ++n){\n value += '30-';\n }\n const numberSenior = a.senior?.value;\n for(let n = 0; n < numberSenior; ++n){\n value += '60-';\n }\n if (value.length > 0) value = value.slice(0, -1);\n if (a.children?.selectedOptions && a.children?.selectedOptions.length > 0) {\n for(let n = 0; n < a.children?.selectedOptions?.length; ++n){\n value += '-' + a.children?.selectedOptions[n];\n }\n }\n return value;\n}\n/* Build url */ async function buildUrl(fieldValues, baseUrl, urlSubmit = '') {\n const { passengers, date = [], duration = [], destination, origin, flexibility, senior } = fieldValues;\n let finalUrl = getUrlWithDomain(urlSubmit, baseUrl);\n return `${finalUrl}?${parseFilters({\n Origin: origin?.value,\n OriginType: 'Airport',\n Destination: destination?.code,\n DestinationType: destination?.type,\n MinDepartureDate: formatDateWithoutLocale(date[0], 'YYYY-MM-DD'),\n MaxDepartureDate: formatDateWithoutLocale(addDays(date[0], duration.reduce((max, item)=>item.value > max ? item.value : max, 0)), 'YYYY-MM-DD'),\n Accommodation: getPassengersParam(passengers),\n Duration: duration.map((item)=>String(item.value)).join('@'),\n flexibility: flexibility?.value,\n senior: senior\n })}`;\n}\n\nexport { buildUrl };\n//# sourceMappingURL=url.js.map\n","import contextBabylon from '@babylon/ui-kit-context';\nimport addGa4Event from '@babylon/ui-kit-helpers/ga4Event';\nimport { useContext, useCallback } from 'react';\nimport { buildUrl } from '../utils/url.js';\nimport useSearcherTouDefaultValues from './useSearcherTouDefaultValues.js';\n\nconst useSearcherTouForm = (props)=>{\n const { config } = props ?? {};\n const { urlSubmit = '' } = config ?? {};\n const { BaseUrl } = useContext(contextBabylon);\n const handleOnSubmit = useCallback(async (values)=>{\n addGa4Event({\n event: 'search',\n event_type: 'availability',\n event_detail: 'packages/traditional'\n });\n const url = await buildUrl(values, BaseUrl, urlSubmit);\n window.location.assign(url);\n }, [\n BaseUrl,\n urlSubmit\n ]);\n return {\n onSubmit: handleOnSubmit,\n defaultValues: useSearcherTouDefaultValues(props)\n };\n};\n\nexport { useSearcherTouForm as default };\n//# sourceMappingURL=useSearcherTouForm.js.map\n","import { jsx } from 'react/jsx-runtime';\nimport Form from '@babylon/ui-kit-forms/components/others/form';\nimport { SearcherTouProvider } from '../../context/index.js';\nimport useSearcherTouForm from '../../hooks/useSearcherTouForm.js';\n\nconst SearcherTouForm = ({ children, ...rootProps })=>{\n const props = 'data' in rootProps ? rootProps.data : rootProps.props;\n const { defaultValues, onSubmit } = useSearcherTouForm(props);\n return /*#__PURE__*/ jsx(Form, {\n onSubmit: onSubmit,\n defaultValues: defaultValues,\n children: /*#__PURE__*/ jsx(SearcherTouProvider, {\n value: props,\n children: children\n })\n });\n};\n\nexport { SearcherTouForm as default };\n//# sourceMappingURL=index.js.map\n","import { useSearcherTouProps } from '../../../context/index.js';\nimport useSearcherTouDefaultValues from '../../../hooks/useSearcherTouDefaultValues.js';\n\nconst useSeniorCheckbox = ()=>{\n const { config } = useSearcherTouProps() ?? {};\n const { literals } = config ?? {};\n return {\n name: 'senior',\n label: literals?.seniorCheckboxLabel,\n defaultValue: useSearcherTouDefaultValues().senior\n };\n};\n\nexport { useSeniorCheckbox as default };\n//# sourceMappingURL=useSeniorCheckbox.js.map\n"],"names":["useSearcherTouContextState","originOptions","setOriginOptions","useState","durationOptions","setDurationOptions","calendarData","setCalendarData","destinationValue","useValue","isLoading","doFetchLoading","useLoading","getOrigins","url","destination","senior","BaseUrl","Language","Market","finalUrl","getUrlWithDomain","filters","parseFilters","response","getNights","origin","getCalendar","duration","durationParsed","finalValue","currentValue","transformDataOrigins","locations","transformed","e","getOriginDefaultValue","options","checked","parseDates","dates","parseDatesOffers","currency","addParamToRelativeUrl","paramName","paramValue","separator","useUpdateDates","contextValue","config","endpoint","setValue","getValues","useFormContext","useContext","contextBabylon","useCallback","date","newDates","isEqual","formatDateWithoutLocale","newDate","getFirstDayValid","useUpdateNights","updateDates","newDurations","newDuration","finalDuration","item","useUpdateOrigins","updateNights","newOrigins","defaultOriginValue","_a","useSearcherTouSideEffects","destinationChanged","useValueChanged","originChanged","durationChanged","useConditionalFetchLoading","SearcherTouProvider","useSearcherTouProps","useSearcherTouState","useSearcherTouActions","createFullProvider","useButton","literals","useSearcherTouDefaultValues","props","flexibility","accomodation","calendar","searchPlaceholderValue","accomodationModalTitle","agesDescription","getValidOption","getValidDates","_d","_c","_b","_e","_f","_g","_j","_i","_h","_k","_l","_m","_p","_o","_n","_q","_r","_s","_v","_u","_t","_y","_x","_w","_B","_A","_z","getPriceLegend","priceLegend","useDateInput","onModal","calendarLabel","offer","useSearcherDatesSingleDesktop","DEFAULT_ENDPOINTS","getDestinationTree","queryParams","language","market","filterDestinationTree","text","MIN_LENGTH_TO_SEARCH","agrupationSortByPriority","agrupation","sortByPriority","a","b","cloneDeep","childrenSortByPriority","autocompletePanelTreeSortByPriority","autocomplete","agrupations","featured","filtered","useAutocompletePanel","disabled","tree","filter","initialPanelTree","autocompletePanelTree","setAutocompletePanelTree","isPanelVisible","_","setVisible","useToggle","context","getInitialData","getFilterDestinationTree","newAgrupation","res","name","priority","marked","getFilterDestinationTreeMobile","prev","useEffect","openPanel","closePanel","useFormAutocompletePanel","_isHiddenRequired","rest","field","error","hasError","label","useInput","useDestinationInput","labelFeatured","labelSuggestions","destinationModalTitle","noResultsText","destinationLabel","seniorValue","seniorParam","buildEndpoints","required","useDurationInput","durationLabel","accept","useFlexibilityInput","useOriginInput","originLabel","noResults","usePassengersInput","accomodationLabel","requiredPassengersMinAdults","getPassengersParam","value","numberAdutls","n","numberSenior","buildUrl","fieldValues","baseUrl","urlSubmit","passengers","addDays","max","useSearcherTouForm","values","addGa4Event","SearcherTouForm","children","rootProps","defaultValues","onSubmit","jsx","Form","useSeniorCheckbox"],"mappings":"wSAIA,MAAMA,GAA6B,IAAI,CACnC,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAAAA,SAAS,CAAA,CAAE,EAC/C,CAACC,EAAiBC,CAAkB,EAAIF,EAAAA,SAAS,CAAA,CAAE,EACnD,CAACG,EAAcC,CAAe,EAAIJ,EAAAA,SAAS,CAAA,CAAE,EAC7CK,EAAmBC,EAAS,CAC9B,KAAM,aACd,CAAK,EACK,CAAE,UAAAC,EAAW,eAAAC,CAAgB,EAAGC,GAAW,CAAC,EAACJ,GAAA,MAAAA,EAAkB,KAAI,EACzE,MAAO,CACH,MAAO,CACH,cAAAP,EACA,gBAAAG,EACA,aAAAE,EACA,UAAAI,CACH,EACD,QAAS,CACL,iBAAAR,EACA,mBAAAG,EACA,gBAAAE,EACA,eAAAI,CACZ,CACK,CACL,ECxBME,GAAa,MAAOC,EAAM,GAAI,CAAE,YAAAC,EAAa,OAAAC,CAAM,EAAK,CAAE,EAAE,CAAE,QAAAC,EAAS,SAAAC,EAAU,OAAAC,CAAM,EAAK,CAAA,IAAK,CACnG,GAAI,CAACL,GAAO,CAACI,GAAY,CAACC,GAAU,CAACJ,EAAa,OAClD,IAAIK,EAAWC,EAAiBP,EAAKG,CAAO,EAC5C,MAAMK,EAAUC,EAAa,CACzB,OAAAP,EACA,YAAaD,GAAA,YAAAA,EAAa,KAC1B,gBAAiBA,GAAA,YAAAA,EAAa,IACtC,CAAK,EAEKS,EAAW,MAAM,MAAM,GAAGJ,CAAQ,GAAGA,EAAS,SAAS,GAAG,EAAI,IAAM,GAAG,GAAGE,CAAO,EAAE,EACzF,MAAI,CAACE,EAAS,IAAMA,EAAS,SAAW,IAAY,CAAE,EACzC,MAAMA,EAAS,KAAI,EAAG,MAAM,IAAI,EAAE,CAEnD,EACMC,GAAY,MAAOX,EAAM,GAAI,CAAE,OAAAY,EAAQ,YAAAX,EAAa,OAAAC,GAAW,CAAA,EAAI,CAAE,QAAAC,EAAS,SAAAC,EAAU,OAAAC,CAAM,EAAK,CAAA,IAAK,CAC1G,GAAI,CAACL,GAAO,CAACI,GAAY,CAACC,GAAU,CAACO,GAAU,CAACX,EAAa,OAC7D,IAAIK,EAAWC,EAAiBP,EAAKG,CAAO,EAC5C,MAAMK,EAAUC,EAAa,CACzB,OAAAP,EACA,YAAaD,GAAA,YAAAA,EAAa,KAC1B,gBAAiBA,GAAA,YAAAA,EAAa,KAC9B,OAAQW,GAAA,YAAAA,EAAQ,KACxB,CAAK,EACKF,EAAW,MAAM,MAAM,GAAGJ,CAAQ,GAAGA,EAAS,SAAS,GAAG,EAAI,IAAM,GAAG,GAAGE,CAAO,EAAE,EACzF,MAAI,CAACE,EAAS,IAAMA,EAAS,SAAW,IAAY,CAAE,EACzC,MAAMA,EAAS,KAAI,EAAG,MAAM,IAAI,EAAE,CAEnD,EACMG,GAAc,MAAOb,EAAM,GAAI,CAAE,OAAAY,EAAQ,YAAAX,EAAa,SAAAa,EAAU,OAAAZ,CAAM,EAAK,CAAA,EAAI,CAAE,QAAAC,EAAS,SAAAC,EAAU,OAAAC,CAAM,EAAK,CAAA,IAAK,CACtH,GAAI,CAACL,GAAO,CAACI,GAAY,CAACC,GAAU,CAACO,GAAU,CAACX,GAAe,CAACa,EAAU,OAC1E,MAAMC,EAAiBD,GAAA,YAAAA,EAAU,OAAO,CAACE,EAAYC,IAAe,GAAGD,CAAU,IAAIC,EAAa,KAAK,GAAI,IAAI,UAAU,GACzH,IAAIX,EAAWC,EAAiBP,EAAKG,CAAO,EAC5C,MAAMK,EAAUC,EAAa,CACzB,OAAAP,EACA,YAAaD,GAAA,YAAAA,EAAa,KAC1B,gBAAiBA,GAAA,YAAAA,EAAa,KAC9B,OAAQW,GAAA,YAAAA,EAAQ,MAChB,OAAQG,CAChB,CAAK,EACKL,EAAW,MAAM,MAAM,GAAGJ,CAAQ,GAAGA,EAAS,SAAS,GAAG,EAAI,IAAM,GAAG,GAAGE,CAAO,EAAE,EACzF,MAAI,CAACE,EAAS,IAAMA,EAAS,SAAW,IAAY,CAAE,EACzC,MAAMA,EAAS,KAAI,EAAG,MAAM,IAAI,EAAE,CAEnD,EC7CA,SAASQ,GAAqBC,EAAW,CACrC,IAAIC,EAAc,CAAE,EACpB,OAAID,GAAaA,EAAU,OAAS,GAChCA,EAAU,QAASE,GAAID,EAAY,KAAK,CAChC,MAAOC,EAAE,MAAQ,GACjB,KAAMA,EAAE,MAAQ,GAChB,MAAOA,EAAE,MAAQ,EACjC,CAAa,CAAC,EAEHD,CACX,CACA,SAASE,GAAsBC,EAAS,CACpC,GAAI,EAACA,GAAA,MAAAA,EAAS,QAAQ,OACtB,MAAMC,EAAUD,EAAQ,KAAMF,GAAIA,EAAE,OAAO,EAM3C,MALY,CACR,OAAOG,GAAA,YAAAA,EAAS,OAAQ,GACxB,KAAMA,GAAA,YAAAA,EAAS,KACf,MAAOA,GAAA,YAAAA,EAAS,IACnB,CAEL,CACA,SAASC,GAAWF,EAAS,CACzB,IAAIG,EAAQ,CAAE,EACd,OAAAH,GAAA,MAAAA,EAAS,IAAKF,GAAIK,EAAM,KAAKL,EAAE,MAAQ,EAAE,GAClCK,CACX,CACA,SAASC,GAAiBJ,EAASK,EAAU,CACzC,IAAIF,EAAQ,CAAE,EACd,OAAAH,GAAA,MAAAA,EAAS,IAAKF,GAAIK,EAAM,KAAK,CACrB,KAAML,EAAE,MAAQ,GAChB,MAAOA,EAAE,OAAS,GAClB,KAAMA,EAAE,MAAQA,EAAE,MAAM,SAAQ,EAAK,GACrC,SAAUO,CACtB,CAAS,GACEF,CACX,CACA,SAASG,GAAsB7B,EAAK8B,EAAWC,EAAY,CACvD,GAAI,CAACA,EAAY,OAAO/B,EACxB,MAAMgC,EAAYhC,EAAI,SAAS,GAAG,EAAI,IAAM,IAC5C,MAAO,GAAGA,CAAG,GAAGgC,CAAS,GAAGF,CAAS,IAAIC,CAAU,EACvD,CC9BA,MAAME,GAAkBC,GAAe,CACnC,KAAM,CAAE,MAAO,CAAE,OAAAC,CAAM,EAAI,MAAO,CAAE,aAAA3C,CAAY,EAAI,QAAS,CAAE,gBAAAC,CAAe,CAAI,EAAGyC,EAC/E,CAAE,SAAAE,GAAaD,GAAU,CAAE,EAC3B,CAAE,SAAAE,EAAU,UAAAC,CAAW,EAAGC,EAAgB,EAC1C,CAAE,QAAApC,EAAS,SAAAC,EAAU,OAAAC,CAAM,EAAKmC,EAAAA,WAAWC,CAAc,EAC/D,OAAOC,EAAW,YAAC,SAAU,CACzB,KAAM,CAAE,YAAAzC,EAAa,OAAAW,EAAQ,SAAAE,EAAU,KAAA6B,CAAI,EAAKL,EAAW,EAC3D,GAAI,CAACrC,GAAe,CAACW,GAAU,CAACE,EAAU,OAC1C,MAAM8B,EAAW,MAAM/B,GAAYuB,GAAA,YAAAA,EAAU,MAAO,CAChD,OAAAxB,EACA,YAAAX,EACA,SAAAa,CACZ,EAAW,CACC,QAAAX,EACA,SAAAC,EACA,OAAAC,CACZ,CAAS,EACD,GAAI,CAACwC,EAAQrD,EAAcoD,CAAQ,IAC/BnD,EAAgBmD,GAAY,EAAE,GAC1BA,GAAA,YAAAA,EAAU,QAAS,IAAKD,GAAA,MAAAA,EAAO,KAAM,CAACC,EAAS,IAAKD,GAAOA,EAAK,IAAI,EAAE,SAASG,EAAwBH,EAAK,CAAC,EAAG,YAAY,CAAC,GAAG,CAChI,MAAMjB,EAAQkB,EAAS,IAAKvB,GAAIA,EAAE,MAAQ,EAAE,EAAE,OAAQA,GAAI,CAAC,CAACA,CAAC,EACvD0B,EAAU,CACZC,GAAiBtB,EAAO,IAAI,KAAK,KAAK,IAAK,EAAG,KAAQ,EAAG,CAAC,GAAK,IAAI,KAAKA,EAAM,CAAC,CAAC,CACnF,EACImB,EAAQF,GAAA,YAAAA,EAAM,IAAKA,GAAOA,EAAK,QAAO,GAAKI,GAAA,YAAAA,EAAS,IAAKJ,GAAOA,GAAA,YAAAA,EAAM,UAAU,GACjFN,EAAS,OAAQU,EAAS,CACtB,eAAgB,GAChB,YAAa,GACb,YAAa,EACrC,CAAqB,CAErB,CAEA,EAAO,CACC5C,EACAC,EACAC,EACAb,EACA4C,GAAA,YAAAA,EAAU,MACVE,EACA7C,EACA4C,CACR,CAAK,CACL,EACMY,GAAmBf,GAAe,CACpC,KAAM,CAAE,MAAO,CAAE,OAAAC,EAAQ,SAAArB,CAAQ,EAAI,MAAO,CAAE,gBAAAxB,CAAiB,EAAE,QAAS,CAAE,mBAAAC,CAAkB,CAAI,EAAG2C,EAC/F,CAAE,SAAAE,GAAaD,GAAU,CAAE,EAC3B,CAAE,SAAAE,EAAU,UAAAC,CAAW,EAAGC,EAAgB,EAC1C,CAAE,QAAApC,EAAS,SAAAC,EAAU,OAAAC,CAAM,EAAKmC,EAAAA,WAAWC,CAAc,EACzDS,EAAcjB,GAAeC,CAAY,EAC/C,OAAOQ,EAAW,YAAC,SAAU,CACzB,KAAM,CAAE,YAAAzC,EAAa,OAAAW,EAAQ,OAAAV,CAAM,EAAKoC,EAAW,EACnD,GAAI,EAACrC,GAAA,MAAAA,EAAa,OAAQ,EAACW,GAAA,MAAAA,EAAQ,OAAO,OAC1C,MAAMuC,EAAe,MAAMxC,GAAUyB,GAAA,YAAAA,EAAU,UAAW,CACtD,OAAAxB,EACA,YAAAX,EACA,OAAAC,CACZ,EAAW,CACC,QAAAC,EACA,SAAAC,EACA,OAAAC,CACZ,CAAS,EACD,GAAI8C,GAAgB,CAACN,EAAQvD,EAAiB6D,CAAY,EAAG,CACrDA,EAAa,SAAW,IAAGA,EAAa,CAAC,EAAE,QAAU,IACzD5D,EAAmB4D,CAAY,EAC/B,MAAMC,EAAcD,EAAa,OAAQ9B,GAAIP,GAAA,MAAAA,EAAU,OAASA,EAAS,SAAU,EAAC,SAAS,OAAOO,GAAA,YAAAA,EAAG,KAAK,CAAC,EAAI,CAAC,CAACA,EAAE,OAAO,EACtHgC,EAAgBD,EAAY,OAASA,EAAcD,EAAa,OAAQG,GAAOA,EAAK,OAAO,EAC5FT,EAAQP,EAAW,EAAC,SAAUe,CAAa,GAC5ChB,EAAS,WAAYgB,EAAe,CAChC,eAAgB,GAChB,YAAa,GACb,YAAa,EACjC,CAAiB,CAEjB,CACQ,MAAMH,EAAa,CAC3B,EAAO,CACC/C,EACAC,EACAC,EACAS,EACAxB,EACA8C,GAAA,YAAAA,EAAU,UACVE,EACA/C,EACA8C,EACAa,CACR,CAAK,CACL,EACMK,GAAoBrB,GAAe,CACrC,KAAM,CAAE,MAAO,CAAE,OAAAC,CAAM,EAAI,MAAO,CAAE,cAAAhD,CAAa,EAAI,QAAS,CAAE,iBAAAC,CAAgB,CAAI,EAAG8C,EACjF,CAAE,SAAAE,GAAaD,GAAU,CAAE,EAC3B,CAAE,SAAAE,EAAU,UAAAC,CAAW,EAAGC,EAAgB,EAC1C,CAAE,QAAApC,EAAS,SAAAC,EAAU,OAAAC,CAAM,EAAKmC,EAAAA,WAAWC,CAAc,EACzDe,EAAeP,GAAgBf,CAAY,EACjD,OAAOQ,EAAW,YAAC,SAAU,OACzB,KAAM,CAAE,YAAAzC,EAAa,OAAAC,CAAQ,EAAGoC,EAAW,EAC3C,GAAI,EAACrC,GAAA,MAAAA,EAAa,MAAM,OACxB,MAAMwD,EAAa,MAAM1D,GAAWqC,GAAA,YAAAA,EAAU,QAAS,CACnD,YAAAnC,EACA,OAAAC,CACZ,EAAW,CACC,QAAAC,EACA,SAAAC,EACA,OAAAC,CACZ,CAAS,EACD,GAAIoD,GAAc,CAACZ,EAAQ1D,EAAesE,CAAU,EAAG,CACnDrE,EAAiBqE,CAAU,EAC3B,MAAMC,EAAqBpC,GAAsBmC,CAAU,EACtDZ,GAAQc,EAAArB,EAAW,EAAC,SAAZ,YAAAqB,EAAoB,MAAOD,GAAA,YAAAA,EAAoB,KAAK,GAC7DrB,EAAS,SAAUqB,EAAoB,CACnC,eAAgB,GAChB,YAAa,GACb,YAAa,EACjC,CAAiB,CAEjB,CACQ,MAAMF,EAAc,CAC5B,EAAO,CACCrD,EACAC,EACAC,EACA+B,GAAA,YAAAA,EAAU,QACVE,EACAnD,EACAC,EACAiD,EACAmB,CACR,CAAK,CACL,EACMI,GAA6B1B,GAAe,CAC9C,KAAM,CAAE,MAAO,CAAE,cAAA/C,EAAe,gBAAAG,EAAiB,aAAAE,CAAc,EAAE,QAAS,CAAE,eAAAK,CAAgB,CAAA,EAAKqC,EAC3F2B,EAAqBC,EAAgB,aAAa,EAClDC,EAAgBD,EAAgB,cAAc,EAC9CE,EAAkBF,EAAgB,UAAU,EAClDG,GAA2BpE,EAAgB,CACvC,CACI,QAAS,EAACV,GAAA,MAAAA,EAAe,SAAU0E,EACnC,SAAUN,GAAiBrB,CAAY,CAC1C,EACD,CACI,QAAS,EAAC5C,GAAA,MAAAA,EAAiB,SAAUyE,EACrC,SAAUd,GAAgBf,CAAY,CACzC,EACD,CACI,QAAS,EAAC1C,GAAA,MAAAA,EAAc,SAAUwE,EAClC,SAAU/B,GAAeC,CAAY,CACjD,CACA,CAAK,CACL,EC3JM,CAAE,SAAUgC,GAAqB,gBAAiBC,EAAqB,gBAAiBC,EAAqB,kBAAmBC,EAAuB,EAAGC,GAAmB,CAC/K,SAAUpF,GACV,eAAgB0E,EACpB,CAAC,ECLKW,GAAY,IAAI,CAClB,KAAM,CAAE,OAAApC,CAAQ,EAAGgC,EAAqB,EAClC,CAAE,SAAAK,GAAarC,GAAU,CAAE,EAC3B,CAAE,UAAAvC,CAAW,EAAGwE,EAAqB,EAC3C,MAAO,CACH,SAAUxE,EACV,SAAA4E,CACH,CACL,ECPMC,EAA+BC,GAAQ,6DACzC,KAAM,CAAE,OAAAvC,EAAQ,YAAAlC,EAAa,YAAA0E,EAAa,aAAAC,EAAc,SAAAC,EAAU,OAAA3E,GAAWwE,GAAS,CAAE,EAClF,CAAE,SAAAF,GAAarC,GAAU,CAAE,EAC3B,CAAE,uBAAA2C,EAAyB,GAAI,uBAAAC,EAAyB,GAAI,gBAAAC,EAAkB,IAAOR,GAAY,CAAE,EACzG,MAAO,CACH,YAAAvE,EACA,OAAQgF,GAAe,CACnB,MAAOH,CACnB,CAAS,EACD,KAAMI,GAAc,IAAI,KAAQ,IAAI,KAAQ,CACxC,UAAWL,CACvB,CAAS,EAAE,OAAO,EAAG,CAAC,EACd,YAAaF,GAAA,YAAAA,EAAc,GAC3B,OAAAzE,EACA,WAAY,CACR,MAAO6E,EACP,OAAQ,CACJ,aAAapB,EAAAiB,GAAA,YAAAA,EAAc,SAAd,YAAAjB,EAAsB,kBACnC,QAAOwB,GAAAC,GAAAC,EAAAT,GAAA,YAAAA,EAAc,QAAd,YAAAS,EAAsB,KAAtB,YAAAD,EAA0B,SAA1B,YAAAD,EAAkC,QAAS,EAClD,MAAKG,EAAAV,GAAA,YAAAA,EAAc,SAAd,YAAAU,EAAsB,MAAO,EAClC,MAAKC,EAAAX,GAAA,YAAAA,EAAc,SAAd,YAAAW,EAAsB,MAAO,EAClC,QAAS,CAAA,CACZ,EACD,OAAQX,GAAA,MAAAA,EAAc,OAAS,CAC3B,aAAaY,EAAAZ,GAAA,YAAAA,EAAc,SAAd,YAAAY,EAAsB,kBACnC,QAAOC,GAAAC,GAAAC,EAAAf,GAAA,YAAAA,EAAc,QAAd,YAAAe,EAAsB,KAAtB,YAAAD,EAA0B,SAA1B,YAAAD,EAAkC,QAAS,EAClD,MAAKG,EAAAhB,GAAA,YAAAA,EAAc,SAAd,YAAAgB,EAAsB,MAAO,EAClC,MAAKC,EAAAjB,GAAA,YAAAA,EAAc,SAAd,YAAAiB,EAAsB,MAAO,CAClD,EAAgB,OACJ,SAAU,CACN,aAAaC,EAAAlB,GAAA,YAAAA,EAAc,WAAd,YAAAkB,EAAwB,kBACrC,QAAOC,GAAAC,GAAAC,EAAArB,GAAA,YAAAA,EAAc,QAAd,YAAAqB,EAAsB,KAAtB,YAAAD,EAA0B,WAA1B,YAAAD,EAAoC,QAAS,EACpD,MAAKG,EAAAtB,GAAA,YAAAA,EAAc,WAAd,YAAAsB,EAAwB,MAAO,EACpC,MAAKC,EAAAvB,GAAA,YAAAA,EAAc,WAAd,YAAAuB,EAAwB,MAAO,EACpC,aAAcnB,EACd,SAASoB,EAAAxB,GAAA,YAAAA,EAAc,WAAd,YAAAwB,EAAwB,QACjC,gBAAiB,QAAMC,GAAAC,GAAAC,EAAA3B,GAAA,YAAAA,EAAc,QAAd,YAAA2B,EAAsB,KAAtB,YAAAD,EAA0B,WAA1B,YAAAD,EAAoC,QAAS,CAAC,EAAE,MAAKG,GAAAC,GAAAC,EAAA9B,GAAA,YAAAA,EAAc,WAAd,YAAA8B,EAAwB,UAAxB,YAAAD,EAAiC,KAAMpF,IAAI,CAAC,CAACA,GAAE,YAA/C,YAAAmF,EAA0D,MAAO,GAAGG,GAAAC,GAAAC,EAAAjC,GAAA,YAAAA,EAAc,QAAd,YAAAiC,EAAsB,KAAtB,YAAAD,EAA0B,WAA1B,YAAAD,EAAoC,KAAK,CACzM,CACA,CACK,CACL,ECrCMG,GAAkBC,GACfA,GACDA,GAAA,YAAAA,EAAa,QAAQ,QAAS,GAAWA,EACtCA,EAAY,MAAM,GAAG,EAAE,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,EAFpB,GAIvBC,GAAe,IAAI,CACrB,MAAMtC,EAAQP,EAAqB,EAC7B,CAAE,OAAAhC,EAAQ,SAAA0C,CAAQ,EAAKH,EACvB,CAAE,SAAAF,EAAU,QAAAyC,CAAS,EAAG9E,GAAU,CAAE,EACpC,CAAE,cAAA+E,EAAgB,GAAI,MAAAC,EAAQ,GAAI,YAAAJ,EAAc,IAAOvC,GAAY,CAAE,EACrE,CAAE,UAAA5E,EAAW,aAAAJ,CAAc,EAAG4E,EAAqB,EACnD1E,EAAmBC,EAAS,CAC9B,KAAM,aACd,CAAK,EACD,OAAOyH,GAA8B,CACjC,KAAM,OACN,MAAOF,EACP,YAAa1H,EAAeiC,GAAWjC,CAAY,EAAI,CAAE,EACzD,QAASA,GAAA,YAAAA,EAAc,IAAK8D,GAAOA,EAAK,MAAQ,IAAI,OAAQA,GAAO,CAAC,CAACA,GACrE,aAAcmB,EAA4BC,CAAK,EAAE,KACjD,OAAQ,CACJ,CACI,OAAQ,CACJ,KAAMyC,EACN,SAAUJ,EACV,MAAO,oCACV,EACD,KAAM,CACF,MAAO,+BACP,MAAO,CAAA,CACV,EACD,OAAQ,CACJ,MAAOvH,EAAemC,GAAiBnC,EAAcsH,GAAeC,CAAW,CAAC,EAAI,CAAA,CACxG,CACA,CACS,EACD,SAAU,CAAC,CAACnH,GAAa,CAACF,EAC1B,UAAW,eACX,eAAgB,CACZ,SAAUuH,EAAU,QAAU,MAC1C,CACA,EAAO,CACC,UAAWpC,CACnB,CAAK,CACL,EClDMwC,GAAoB,CACtB,KAAM,mDACN,OAAQ,qDACZ,ECDMC,GAAqB,MAAOlF,EAAWiF,GAAkB,KAAME,EAAc,CAAA,IAAK,CACpF,KAAM,CAAE,SAAAC,EAAW,GAAI,OAAAC,EAAS,GAAI,QAAAtH,EAAU,EAAE,EAAKoH,EACrD,IAAIjH,EAAW8B,EACVA,EAAS,WAAW,MAAM,IAAG9B,EAAW,GAAGH,CAAO,GAAGiC,CAAQ,IAClE,MAAMpC,EAAM,IAAI,IAAIM,CAAQ,EAC5BN,EAAI,aAAa,IAAI,WAAYwH,CAAQ,EACzCxH,EAAI,aAAa,IAAI,SAAUyH,CAAM,EACrC,MAAM/G,EAAW,MAAM,MAAMV,EAAI,SAAQ,CAAE,EAC3C,GAAI,CAACU,EAAS,IAAMA,EAAS,SAAW,KAAOA,EAAS,SAAW,IAAK,MAAM,IAAI,MAAMA,EAAS,UAAU,EAC3G,OAAOA,EAAS,KAAM,CAC1B,EACMgH,GAAwB,MAAOtF,EAAWiF,GAAkB,OAAQE,EAAc,CAAA,IAAK,CACzF,KAAM,CAAE,SAAAC,EAAW,GAAI,OAAAC,EAAS,GAAI,KAAAE,EAAO,GAAI,QAAAxH,EAAU,EAAE,EAAKoH,EAChE,IAAIjH,EAAW8B,EACVA,EAAS,WAAW,MAAM,IAAG9B,EAAW,GAAGH,CAAO,GAAGiC,CAAQ,IAClE,MAAMpC,EAAM,IAAI,IAAIM,CAAQ,EAC5BN,EAAI,aAAa,IAAI,WAAYwH,CAAQ,EACzCxH,EAAI,aAAa,IAAI,SAAUyH,CAAM,EACrCzH,EAAI,aAAa,IAAI,OAAQ2H,CAAI,EACjC,MAAMjH,EAAW,MAAM,MAAMV,EAAI,SAAQ,CAAE,EAC3C,GAAI,CAACU,EAAS,IAAMA,EAAS,SAAW,KAAOA,EAAS,SAAW,IAAK,MAAM,IAAI,MAAMA,EAAS,UAAU,EAC3G,OAAOA,EAAS,KAAM,CAC1B,ECtBMkH,GAAuB,EACvBC,EAA4BC,GAAa,CAC3C,MAAMC,EAAiB,CAACC,EAAGC,IAAID,EAAE,SAAWC,EAAE,SAE9C,OAD0BC,GAAUJ,CAAU,EACrB,KAAKC,CAAc,CAChD,EACMI,GAA0BL,GAAa,CACzC,MAAMC,EAAiB,CAACC,EAAGC,IAAIA,EAAE,SAAWD,EAAE,SAE9C,OAD0BE,GAAUJ,CAAU,EACrB,KAAKC,CAAc,CAChD,EACMK,GAAuCC,GAAe,CACxD,MAAMC,EAAcT,EAAyBQ,EAAa,WAAW,EAC/DE,EAAWF,EAAa,UAAYR,EAAyBQ,EAAa,QAAQ,EAClFG,EAAWH,EAAa,UAAYR,EAAyBQ,EAAa,QAAQ,EACxF,MAAO,CACH,YAAAC,EACA,SAAAC,EACA,SAAAC,CACH,CACL,EChBMC,GAAuB,CAACtG,EAAQuG,EAAW,KAAQ,SACrD,KAAM,CAAE,SAAAtG,GAAaD,GAAU,CAAE,EAC3B,CAAE,KAAAwG,EAAM,OAAAC,CAAQ,EAAGxG,GAAY,CAAE,EACjCyG,EAAmB,CACrB,YAAa,CAAA,CAChB,EACK,CAACC,EAAuBC,CAAwB,EAAI1J,EAAAA,SAASwJ,CAAgB,EAC7E,CAACG,EAAgBC,EAAGC,CAAU,EAAIC,GAAW,EAC7CC,EAAU5G,EAAU,WAACC,CAAc,EACnC+E,IAAW7D,EAAAyF,GAAA,YAAAA,EAAS,gBAAT,YAAAzF,EAAwB,sBAAuB,KAC1D8D,IAASpC,EAAA+D,GAAA,YAAAA,EAAS,SAAT,YAAA/D,EAAiB,sBAAuB,KACjDlF,EAAUiJ,GAAA,MAAAA,EAAS,QAAUA,GAAA,YAAAA,EAAS,QAAU,GAChDC,EAAiB3G,EAAAA,YAAY,IAAI,CACnC4E,GAAmBqB,EAAM,CACrB,SAAAnB,EACA,OAAAC,EACA,QAAAtH,CACH,CAAA,EAAE,KAAKiI,EAAmC,EAAE,KAAM1H,GAAW,CAC1DqI,EAAyBrI,CAAQ,CAC7C,CAAS,CACT,EAAO,CACCP,EACAwI,EACAnB,EACAC,CACR,CAAK,EACK6B,EAA2B5G,cAAaiF,GAAO,CACjDD,GAAsBkB,EAAQ,CAC1B,SAAApB,EACA,OAAAC,EACA,KAAAE,EACA,QAAAxH,CACZ,CAAS,EAAE,KAAMO,GAAW,OAChB,MAAM4H,GAAc3E,EAAAmF,EAAsB,cAAtB,YAAAnF,EAAmC,IAAKmE,GAAa,OACrE,MAAMyB,GAAgB5F,EAAAjD,EAAS,cAAT,YAAAiD,EAAsB,KAAM6F,GAAMA,EAAI,OAAS,MAAQA,EAAI,OAAS1B,EAAW,MACrG,GAAIyB,EAAe,CACf,KAAM,CAAE,KAAAE,EAAM,SAAAC,EAAU,OAAAC,CAAQ,EAAGJ,EACnC,MAAO,CACH,GAAGzB,EACH,KAAA2B,EACA,SAAAC,EACA,OAAAC,CACH,CACrB,CACgB,OAAO7B,CACvB,GACYiB,EAAyB,CACrB,GAAGrI,EACH,YAAA4H,CAChB,CAAa,CACb,CAAS,CACT,EAAO,CACCnI,EACA2I,EAAsB,YACtBF,EACApB,EACAC,CACR,CAAK,EACKmC,EAAiClH,cAAaiF,GAAO,CACvDD,GAAsBkB,EAAQ,CAC1B,SAAApB,EACA,OAAAC,EACA,KAAAE,EACA,QAAAxH,CACZ,CAAS,EAAE,KAAMO,GAAW,CAChBqI,EAA0Bc,IAAQ,CAC1B,GAAGA,EACH,SAAUnJ,EAAS,WACvC,EAAkB,CAClB,CAAS,CACT,EAAO,CACCP,EACAyI,EACApB,EACAC,CACR,CAAK,EACDqC,EAAAA,UAAU,IAAI,CACVT,EAAgB,CACxB,EAAO,CACCA,CACR,CAAK,EACD,MAAMU,EAAYrH,EAAAA,YAAY,IAAI,CACzBgG,GAAUQ,EAAW,EAAI,CACtC,EAAO,CACCR,EACAQ,CACR,CAAK,EACKc,EAAatH,EAAAA,YAAY,IAAI,CAC/BwG,EAAW,EAAK,CACxB,EAAO,CACCA,CACR,CAAK,EACD,MAAO,CACH,sBAAAJ,EACA,eAAAE,EACA,yBAAAD,EACA,UAAAgB,EACA,WAAAC,EACA,yBAAAV,EACA,+BAAAM,CACH,CACL,ECzGMK,GAA4BvF,GAAQ,CACtC,KAAM,CAAE,iBAAkBwF,EAAmB,GAAGC,CAAM,EAAGzF,EACnD,CAAE,MAAA0F,EAAO,MAAAC,EAAO,SAAAC,EAAU,MAAAC,CAAO,EAAGC,GAAS9F,CAAK,EACxD,MAAO,CACH,GAAGyF,EACH,GAAGC,EACH,SAAAE,EACA,MAAAC,EACA,MAAAF,CACH,CACL,ECLMI,GAAsB,IAAI,CAC5B,MAAM/F,EAAQP,EAAqB,EAC7B,CAAE,OAAAhC,CAAM,EAAKuC,EACb,CAAE,SAAAF,EAAU,SAAApC,CAAU,EAAGD,GAAU,CAAE,EACrC,CAAE,cAAAuI,EAAgB,GAAI,iBAAAC,EAAmB,GAAI,sBAAAC,EAAwB,GAAI,uBAAA9F,EAAyB,GAAI,cAAA+F,EAAgB,GAAI,iBAAAC,EAAmB,EAAE,EAAKtG,GAAY,CAAE,EAClK,CAAE,UAAA5E,CAAW,EAAGwE,EAAqB,EACrC2G,EAAcpL,EAAS,CACzB,KAAM,QACd,CAAK,EACKqL,EAAcD,EAAc,SAAW,GACvCE,EAAiBvI,EAAAA,YAAaN,GAAWA,EAAWP,GAAsBO,EAAU4I,EAAaD,CAAW,EAAI,GAAI,CACtHC,EACAD,CACR,CAAK,EACD,MAAO,CACH,KAAM,cACN,OAAQ,CACJ,SAAU,CACN,cAAeL,EACf,iBAAkBC,EAClB,WAAYC,EACZ,wBAAyB9F,EACzB,UAAW+F,CACd,EACD,SAAU,CACN,KAAMI,EAAe7I,GAAA,YAAAA,EAAU,IAAI,EACnC,OAAQ6I,EAAe7I,GAAA,YAAAA,EAAU,MAAM,CAC1C,EACD,UAAW,CACd,EACD,YAAa,GACb,MAAO0I,EACP,iBAAkB,GAClB,aAAcrG,EAA4BC,CAAK,EAAE,YACjD,SAAU9E,EACV,SAAUsL,GAAQ,CACrB,CACL,ECzCMC,GAAmB,IAAI,CACzB,KAAM,CAAE,OAAAhJ,CAAQ,EAAGgC,EAAqB,EAClC,CAAE,SAAAK,GAAarC,GAAU,CAAE,EAC3B,CAAE,cAAAiJ,EAAgB,GAAI,OAAAC,EAAS,EAAE,EAAK7G,GAAY,CAAE,EACpD,CAAE,UAAA5E,EAAW,gBAAAN,CAAiB,EAAG8E,EAAqB,EACtD1E,EAAmBC,EAAS,CAC9B,KAAM,aACd,CAAK,EACD,MAAO,CACH,KAAM,WACN,MAAOyL,EACP,QAAS9L,GAAmB,CAAE,EAC9B,YAAa8L,EACb,OAAQC,EACR,SAAU,CAAC,CAACzL,GAAa,CAACF,CAC7B,CACL,ECfM4L,GAAsB,IAAI,CAC5B,MAAM5G,EAAQP,EAAqB,EAC7B,CAAE,YAAAQ,CAAW,EAAKD,EAClB,CAAE,UAAA9E,CAAW,EAAGwE,EAAqB,EACrC1E,EAAmBC,EAAS,CAC9B,KAAM,aACd,CAAK,EACD,MAAO,CACH,KAAM,cACN,QAASgF,GAAe,CAAE,EAC1B,aAAcF,EAA4BC,CAAK,EAAE,YACjD,SAAU,CAAC,CAAC9E,GAAa,CAACF,CAC7B,CACL,ECZM6L,GAAiB,IAAI,CACvB,MAAM7G,EAAQP,EAAqB,EAC7B,CAAE,OAAAhC,CAAM,EAAKuC,EACb,CAAE,SAAAF,GAAarC,GAAU,CAAE,EAC3B,CAAE,uBAAA2C,EAAyB,GAAI,YAAA0G,EAAc,GAAI,UAAAC,EAAY,IAAOjH,GAAY,CAAE,EAClF,CAAE,UAAA5E,EAAW,cAAAT,CAAe,EAAGiF,EAAqB,EACpD1E,EAAmBC,EAAS,CAC9B,KAAM,aACd,CAAK,EACD,MAAO,CACH,KAAM,SACN,WAAY6L,EACZ,cAAeC,EACf,WAAY3G,EACZ,YAAa0G,EACb,QAASrM,EAAgB+B,GAAqB/B,CAAa,EAAI,CAAE,EACjE,aAAcsF,EAA4BC,CAAK,EAAE,OACjD,iBAAkB,GAClB,WAAY,CAAC,CAAC9E,GAAa,CAACF,CAC/B,CACL,ECpBMgM,GAAqB,IAAI,iBAC3B,MAAMhH,EAAQP,EAAqB,EAC7B,CAAE,OAAAhC,EAAQ,aAAAyC,CAAY,EAAKF,EAC3B,CAAE,SAAAF,GAAarC,GAAU,CAAE,EAC3B,CAAE,kBAAAwJ,EAAoB,EAAI,EAAGnH,GAAY,CAAE,EAC3C,CAAE,UAAA5E,CAAW,EAAGwE,EAAqB,EACrC1E,EAAmBC,EAAS,CAC9B,KAAM,aACd,CAAK,EACD,MAAO,CACH,KAAM,aACN,MAAOgM,EACP,aAAclH,EAA4BC,CAAK,EAAE,WACjD,SAAU,CAAC,CAAC9E,GAAa,CAACF,EAC1B,SAAUkF,GAAA,YAAAA,EAAc,SACxB,SAAU,CACN,YAAYjB,EAAAiB,GAAA,YAAAA,EAAc,SAAd,YAAAjB,EAAsB,YAClC,aAAa0B,EAAAT,GAAA,YAAAA,EAAc,SAAd,YAAAS,EAAsB,aACnC,aAAaD,EAAAR,GAAA,YAAAA,EAAc,SAAd,YAAAQ,EAAsB,YACnC,cAAcD,EAAAP,GAAA,YAAAA,EAAc,SAAd,YAAAO,EAAsB,aACpC,YAAYG,EAAAV,GAAA,YAAAA,EAAc,WAAd,YAAAU,EAAwB,YACpC,eAAeC,EAAAX,GAAA,YAAAA,EAAc,WAAd,YAAAW,EAAwB,YAC1C,EACD,SAAUqG,EAA4B,CAAC,EACvC,aAAcA,EAA4B,EAAGpH,GAAA,YAAAA,EAAU,cAAc,CACxE,CACL,EC5BA,SAASqH,GAAmB7D,EAAG,mBAC3B,GAAI,CAACA,EAAG,MAAO,GACf,IAAI8D,EAAQ,GACZ,MAAMC,GAAepI,EAAAqE,EAAE,SAAF,YAAArE,EAAU,MAC/B,QAAQqI,EAAI,EAAGA,EAAID,EAAc,EAAEC,EAC/BF,GAAS,MAEb,MAAMG,GAAe5G,EAAA2C,EAAE,SAAF,YAAA3C,EAAU,MAC/B,QAAQ2G,EAAI,EAAGA,EAAIC,EAAc,EAAED,EAC/BF,GAAS,MAGb,GADIA,EAAM,OAAS,IAAGA,EAAQA,EAAM,MAAM,EAAG,EAAE,IAC3C1G,EAAA4C,EAAE,WAAF,MAAA5C,EAAY,mBAAmBD,EAAA6C,EAAE,WAAF,YAAA7C,EAAY,gBAAgB,QAAS,EACpE,QAAQ6G,EAAI,EAAGA,IAAIzG,GAAAD,EAAA0C,EAAE,WAAF,YAAA1C,EAAY,kBAAZ,YAAAC,EAA6B,QAAQ,EAAEyG,EACtDF,GAAS,MAAMtG,EAAAwC,EAAE,WAAF,YAAAxC,EAAY,gBAAgBwG,IAGnD,OAAOF,CACX,CACgB,eAAeI,GAASC,EAAaC,EAASC,EAAY,GAAI,CAC1E,KAAM,CAAE,WAAAC,EAAY,KAAA3J,EAAO,CAAA,EAAI,SAAA7B,EAAW,GAAI,YAAAb,EAAa,OAAAW,EAAQ,YAAA+D,EAAa,OAAAzE,CAAQ,EAAGiM,EAE3F,MAAO,GADQ5L,EAAiB8L,EAAWD,CAAO,CAChC,IAAI3L,EAAa,CAC/B,OAAQG,GAAA,YAAAA,EAAQ,MAChB,WAAY,UACZ,YAAaX,GAAA,YAAAA,EAAa,KAC1B,gBAAiBA,GAAA,YAAAA,EAAa,KAC9B,iBAAkB6C,EAAwBH,EAAK,CAAC,EAAG,YAAY,EAC/D,iBAAkBG,EAAwByJ,GAAQ5J,EAAK,CAAC,EAAG7B,EAAS,OAAO,CAAC0L,EAAKlJ,IAAOA,EAAK,MAAQkJ,EAAMlJ,EAAK,MAAQkJ,EAAK,CAAC,CAAC,EAAG,YAAY,EAC9I,cAAeX,GAAmBS,CAAU,EAC5C,SAAUxL,EAAS,IAAKwC,GAAO,OAAOA,EAAK,KAAK,CAAC,EAAE,KAAK,GAAG,EAC3D,YAAaqB,GAAA,YAAAA,EAAa,MAC1B,OAAQzE,CACX,CAAA,CAAC,EACN,CC/BA,MAAMuM,GAAsB/H,GAAQ,CAChC,KAAM,CAAE,OAAAvC,GAAWuC,GAAS,CAAE,EACxB,CAAE,UAAA2H,EAAY,EAAI,EAAGlK,GAAU,CAAE,EACjC,CAAE,QAAAhC,CAAO,EAAKqC,EAAU,WAACC,CAAc,EAa7C,MAAO,CACH,SAbmBC,cAAY,MAAOgK,GAAS,CAC/CC,GAAY,CACR,MAAO,SACP,WAAY,eACZ,aAAc,sBAC1B,CAAS,EACD,MAAM3M,EAAM,MAAMkM,GAASQ,EAAQvM,EAASkM,CAAS,EACrD,OAAO,SAAS,OAAOrM,CAAG,CAClC,EAAO,CACCG,EACAkM,CACR,CAAK,EAGG,cAAe5H,EAA4BC,CAAK,CACnD,CACL,ECrBMkI,GAAkB,CAAC,CAAE,SAAAC,EAAU,GAAGC,CAAS,IAAK,CAClD,MAAMpI,EAAQ,SAAUoI,EAAYA,EAAU,KAAOA,EAAU,MACzD,CAAE,cAAAC,EAAe,SAAAC,GAAaP,GAAmB/H,CAAK,EAC5D,OAAqBuI,EAAAA,IAAIC,GAAM,CAC3B,SAAUF,EACV,cAAeD,EACf,SAAwBE,EAAG,IAAC/I,GAAqB,CAC7C,MAAOQ,EACP,SAAUmI,CACb,CAAA,CACT,CAAK,CACL,ECbMM,GAAoB,IAAI,CAC1B,KAAM,CAAE,OAAAhL,CAAM,EAAKgC,EAAmB,GAAM,CAAE,EACxC,CAAE,SAAAK,GAAarC,GAAU,CAAE,EACjC,MAAO,CACH,KAAM,SACN,MAAOqC,GAAA,YAAAA,EAAU,oBACjB,aAAcC,EAA2B,EAAG,MAC/C,CACL","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21]}