@ornikar/kitt-universal 23.2.5 → 23.3.0
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/CHANGELOG.md +26 -0
- package/dist/definitions/Tag/Tag.d.ts +10 -6
- package/dist/definitions/Tag/Tag.d.ts.map +1 -1
- package/dist/definitions/native-base/KittNativeBaseProvider.d.ts +46 -81
- package/dist/definitions/native-base/KittNativeBaseProvider.d.ts.map +1 -1
- package/dist/definitions/themes/late-ocean/input.d.ts +1 -1
- package/dist/definitions/themes/late-ocean/input.d.ts.map +1 -1
- package/dist/definitions/themes/late-ocean/tag.d.ts +22 -14
- package/dist/definitions/themes/late-ocean/tag.d.ts.map +1 -1
- package/dist/definitions/typography/Typography.d.ts +11 -11
- package/dist/index-metro.es.android.js +157 -160
- package/dist/index-metro.es.android.js.map +1 -1
- package/dist/index-metro.es.ios.js +157 -160
- package/dist/index-metro.es.ios.js.map +1 -1
- package/dist/index-node-20.10.cjs.js +157 -160
- package/dist/index-node-20.10.cjs.js.map +1 -1
- package/dist/index-node-20.10.cjs.web.js +157 -160
- package/dist/index-node-20.10.cjs.web.js.map +1 -1
- package/dist/index-node-20.10.es.mjs +157 -160
- package/dist/index-node-20.10.es.mjs.map +1 -1
- package/dist/index-node-20.10.es.web.mjs +157 -160
- package/dist/index-node-20.10.es.web.mjs.map +1 -1
- package/dist/index.es.js +158 -161
- package/dist/index.es.js.map +1 -1
- package/dist/index.es.web.js +158 -161
- package/dist/index.es.web.js.map +1 -1
- package/dist/linaria-themes-metro.es.android.js +40 -46
- package/dist/linaria-themes-metro.es.android.js.map +1 -1
- package/dist/linaria-themes-metro.es.ios.js +40 -46
- package/dist/linaria-themes-metro.es.ios.js.map +1 -1
- package/dist/linaria-themes-node-20.10.cjs.js +40 -46
- package/dist/linaria-themes-node-20.10.cjs.js.map +1 -1
- package/dist/linaria-themes-node-20.10.cjs.web.js +40 -46
- package/dist/linaria-themes-node-20.10.cjs.web.js.map +1 -1
- package/dist/linaria-themes-node-20.10.es.mjs +40 -46
- package/dist/linaria-themes-node-20.10.es.mjs.map +1 -1
- package/dist/linaria-themes-node-20.10.es.web.mjs +40 -46
- package/dist/linaria-themes-node-20.10.es.web.mjs.map +1 -1
- package/dist/linaria-themes.es.js +40 -46
- package/dist/linaria-themes.es.js.map +1 -1
- package/dist/linaria-themes.es.web.js +40 -46
- package/dist/linaria-themes.es.web.js.map +1 -1
- package/dist/tsbuildinfo +1 -1
- package/package.json +3 -3
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/native-base/primitives.ts","../src/utils/hexToRgba.ts","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/actionCard.ts","../src/themes/late-ocean/avatar.ts","../src/themes/late-ocean/spacing.ts","../src/themes/late-ocean/bottomSheet.ts","../src/themes/late-ocean/button.ts","../src/themes/late-ocean/card.ts","../src/themes/late-ocean/cardModal.ts","../src/themes/late-ocean/choices.ts","../src/themes/late-ocean/dialogModal.ts","../src/themes/late-ocean/feedback.ts","../src/themes/late-ocean/autocomplete.ts","../src/themes/late-ocean/checkbox.ts","../src/themes/late-ocean/datePicker.ts","../src/themes/late-ocean/input.ts","../src/themes/late-ocean/inputField.ts","../src/themes/late-ocean/inputTag.ts","../src/themes/late-ocean/radio.ts","../src/themes/late-ocean/radioButtonGroup.ts","../src/themes/late-ocean/textArea.ts","../src/themes/late-ocean/timePicker.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/fullscreenModal.ts","../src/themes/late-ocean/highlight.ts","../src/themes/late-ocean/icon.ts","../src/themes/late-ocean/iconButton.ts","../src/themes/late-ocean/listItem.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/typography.ts","../src/themes/late-ocean/picker.ts","../src/themes/late-ocean/shadows.ts","../src/themes/late-ocean/skeleton.ts","../src/themes/late-ocean/tag.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/late-ocean/verticalSteps.ts","../src/themes/default.ts","../src/KittThemeContext.tsx","../src/ActionCard/utils/getStateKey.ts","../src/ActionCard/utils/getThemeName.ts","../src/ActionCard/ActionCardContentWrapper.tsx","../src/ActionCard/ActionCardDisabled.tsx","../src/ActionCard/ActionCard.tsx","../src/native-base/layout.ts","../src/utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp.ts","../src/utils/warnings.ts","../src/Button/utils/getCurrentBackgroundColorForNativeBaseTheme.ts","../src/Button/AnimatedContainer.tsx","../src/KittBreakpoints.ts","../src/typography/typographyColors.ts","../src/typography/utils/getNBThemeColorFromColorProps.ts","../src/typography/utils/getTypographyColorValue.ts","../src/typography/utils/getTypographyFamily.ts","../src/typography/Typography.tsx","../src/Icon/Icon.tsx","../src/typography/TypographyIcon.tsx","../src/Button/utils/getButtonTextColorByType.ts","../src/Button/ButtonContent.tsx","../src/Button/ButtonPadding.tsx","../src/Button/DisabledBorder.tsx","../src/Button/FocusBorder.tsx","../src/Button/getVariantValuesIfExist.ts","../src/Button/hooks/useNativeAnimation.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/Icon/SpinningIcon.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/Actions/ActionsItem.tsx","../src/Actions/ActionsButton.tsx","../src/Actions/Actions.tsx","../src/Avatar/utils/getCurrentRadius.ts","../src/Avatar/utils/getCurrentSize.ts","../src/Avatar/utils/getIconSize.ts","../src/Avatar/utils/getInitials.ts","../src/Avatar/Avatar.tsx","../src/BottomSheet/BottomSheet.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/NativeOpacityAnimation.tsx","../src/CardModal/CardModalAnimation/NativeRotationAnimation.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.tsx","../src/CardModal/CardModalBehaviour.tsx","../src/CardModal/CardModalBody.tsx","../src/CardModal/CardModalFooter.tsx","../src/CardModal/CardModalHeader.tsx","../src/CardModal/CardModal.tsx","../src/Choices/utils/getBackgroundColor.ts","../src/Choices/utils/getBorderRadius.ts","../src/Choices/AnimatedChoiceItemView.tsx","../src/Choices/hooks/useNativeAnimation.tsx","../src/Choices/utils/getCurrentTextColor.ts","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/NativeOpacityAnimation.tsx","../src/DialogModal/DialogModalAnimation/NativeRotationAnimation.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/hooks/useOpenExternalLink.tsx","../src/ExternalLink/ExternalLink.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputText/InputTextContainer.tsx","../src/forms/InputText/InputText.tsx","../src/forms/Autocomplete/AutocompleteItem.tsx","../src/forms/Autocomplete/AutocompleteItemsListContainer.tsx","../src/forms/Autocomplete/AutocompleteOption.tsx","../src/forms/Autocomplete/Autocomplete.tsx","../src/forms/Checkbox/checkbox-mark.inline.svg","../src/forms/Checkbox/utils/getBackgroundColor.ts","../src/forms/Checkbox/utils/getBorderColor.ts","../src/forms/Checkbox/Checkbox.tsx","../src/utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput.ts","../src/forms/DatePicker/utils/dateFormatter.ts","../src/forms/DatePicker/utils/datePartInInterval.ts","../src/forms/DatePicker/reducers/keyboardDatePickerReducer.ts","../src/forms/DatePicker/utils/isNumber.ts","../src/forms/DatePicker/utils/onDatePartChange.ts","../src/forms/DatePicker/utils/stringToNumber.ts","../src/forms/DatePicker/components/InputPart.tsx","../src/forms/DatePicker/components/PartContainer.tsx","../src/forms/DatePicker/components/KeyboardDatePicker.tsx","../src/forms/DatePicker/components/PressableDateInputs.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DatePickerAndroid.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DefaultNativeUIDatePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/NativeUIDatePicker.tsx","../src/forms/DatePicker/DatePicker.tsx","../src/GoogleMapsApiKeyProvider/GoogleMapsApiKeyProvider.tsx","../src/GoogleMapsApiKeyProvider/hooks/useGoogleMapApiKey.ts","../src/GoogleMapsAutocompleteProvider/utils/makeMapsApiUrl.ts","../src/GoogleMapsAutocompleteProvider/hooks/useGoogleMapsApi.ts","../src/GoogleMapsAutocompleteProvider/reducer/googleMapsAutocompleteReducer.ts","../src/GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle.ts","../src/GoogleMapsAutocompleteProvider/GoogleMapsAutocompleteProvider.tsx","../src/GoogleMapsAutocompleteProvider/hooks/useGoogleMapsAutocomplete.ts","../src/forms/InputAddress/InputAddressOption.tsx","../src/forms/InputAddress/utils/defaultItemToString.ts","../src/forms/InputAddress/utils/formatInitialValueToAutocompletePrediction.ts","../src/forms/InputAddress/InputAddress.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputNumber/InputNumber.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/InnerCircle.tsx","../src/forms/Radio/utils/getBackgroundColor.ts","../src/forms/Radio/utils/getBorderColor.ts","../src/forms/Radio/OuterCircle.tsx","../src/forms/Radio/Radio.tsx","../src/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.ts","../src/forms/RadioButtonGroup/utils/getCurrentTextColor.ts","../src/forms/RadioButtonGroup/RadioButton.tsx","../src/forms/RadioButtonGroup/RadioButtonGroup.tsx","../src/forms/TextArea/TextArea.tsx","../src/FullscreenModal/Body.tsx","../src/FullscreenModal/Footer.tsx","../src/FullscreenModal/components/NativeOpacityAnimation.tsx","../src/FullscreenModal/components/NativeSlideInAnimation.tsx","../src/FullscreenModal/FullscreenModalAnimation.tsx","../src/FullscreenModal/FullscreenModalBehaviour.tsx","../src/FullscreenModal/FullscreenModalContainer.tsx","../src/FullscreenModal/Header.tsx","../src/FullscreenModal/FullscreenModal.tsx","../src/Highlight/AnimatedCaret/AnimatedCaret.tsx","../src/Highlight/AnimatedContainer/AnimatedContainer.tsx","../src/Highlight/AnimatedContent/AnimatedContent.tsx","../src/Highlight/hooks/useNativeAnimation.ts","../src/Highlight/Highlight.tsx","../src/native-base/utils.ts","../src/IconButton/Background.tsx","../src/IconButton/AnimatedBackground.tsx","../src/IconButton/AnimatedScale.tsx","../src/IconButton/hooks/useNativeAnimation.ts","../src/IconButton/utils/getIconButtonTextColorByColor.ts","../src/IconButton/IconButton.tsx","../src/KittMapConfigProvider/KittMapConfigProvider.tsx","../src/KittMapConfigProvider/hooks/useKittMapConfig.ts","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/MapMarker/assets/marker-large.inline.svg","../src/MapMarker/assets/marker.inline.svg","../src/MapMarker/assets/position-marker.inline.svg","../src/MapMarker/MapMarker.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/NavigationModal/NavigationModalBehaviour.tsx","../src/NavigationModal/NavigationModal.tsx","../src/Notification/Notification.tsx","../src/PageLoader/AnimatedLoaderCircle.tsx","../src/PageLoader/AnimatedBackgroundCircle.tsx","../src/PageLoader/AnimatedFillCircleContainer.tsx","../src/PageLoader/AnimatedFillCircle.tsx","../src/PageLoader/PageLoader.tsx","../src/Picker/PickerItem.tsx","../src/Picker/PickerOption.tsx","../src/Picker/reducer/nativePickerReducer.ts","../src/Picker/Picker.tsx","../src/SegmentedProgressBar/assets/stripes.inline.svg","../src/SegmentedProgressBar/SegmentedProgressBar.tsx","../src/Skeleton/SkeletonContent.tsx","../src/Skeleton/Skeleton.tsx","../src/StaticMap/utils/getStaticMapImageUrl.ts","../src/StaticMap/hooks/useGetStaticMapImageUrl.ts","../src/StaticMap/StaticMapError.tsx","../src/StaticMap/StaticMapImage.tsx","../src/StaticMap/StaticMapLoader.tsx","../src/StaticMap/StaticMapMarker.tsx","../src/StaticMap/utils/getRangedWidthValue.ts","../src/StaticMap/utils/getShouldDisplay2x.ts","../src/StaticMap/StaticMap.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/Tag/Tag.tsx","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/utils/formatDateToTimeString.ts","../src/TimePicker/utils/getCurrentInternalForcedState.ts","../src/TimePicker/TimePickerPressable.tsx","../src/TimePicker/TimePicker.tsx","../src/Tooltip/arrow.inline.svg","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useCustomShift.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/typography/TypographyLinkWebWrapper.tsx","../src/typography/TypographyLink.tsx","../src/useKittTheme.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/StyleWebWrapper.tsx","../src/utils/windowSize/useMatchWindowSize.ts","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts","../src/VerticalSteps/StepIcon.tsx","../src/VerticalSteps/Step.tsx","../src/VerticalSteps/utils/getStepState.ts","../src/VerticalSteps/VerticalSteps.tsx"],"sourcesContent":["import type { IImageProps, IPressableProps, IScrollViewProps } from 'native-base';\nimport {\n FlatList as NativeBaseFlatList,\n Image as NativeBaseImage,\n Pressable as NativeBasePressable,\n ScrollView as NativeBaseScrollView,\n SectionList as NativeBaseSectionList,\n View as NativeBaseView,\n} from 'native-base';\nimport type {\n IFlatListProps,\n InterfaceFlatListProps,\n} from 'native-base/lib/typescript/components/basic/FlatList/types';\nimport type { InterfaceScrollViewProps } from 'native-base/lib/typescript/components/basic/ScrollView/types';\nimport type {\n ISectionListProps,\n InterfaceSectionListProps,\n} from 'native-base/lib/typescript/components/basic/SectionList/types';\nimport type { IViewProps, InterfaceViewProps } from 'native-base/lib/typescript/components/basic/View/types';\nimport type { InterfacePressableProps } from 'native-base/lib/typescript/components/primitives/Pressable/types';\nimport type { ForwardedRef, MutableRefObject } from 'react';\nimport type {\n FlatList as NativeFlatList,\n FlatListProps as NativeFlatListProps,\n PressableProps as NativePressableProps,\n ScrollViewProps as NativeScrollViewProps,\n SectionList as NativeSectionList,\n SectionListProps as NativeSectionListProps,\n ViewProps as NativeViewProps,\n} from 'react-native';\nimport type {\n ForwardRefComponent,\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedViewProps = Extract<keyof InterfaceViewProps, 'children' | keyof NativeViewProps>;\n\nexport interface ViewProps\n extends Pick<\n IViewProps,\n | NativeBaseAcceptedViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const View = NativeBaseView as ForwardRefComponent<ViewProps>;\n\ntype NativeBaseAcceptedScrollViewProps = Extract<\n keyof InterfaceScrollViewProps,\n 'children' | '_contentContainerStyle' | keyof NativeScrollViewProps\n>;\nexport interface ScrollViewProps\n extends Pick<\n IScrollViewProps,\n | NativeBaseAcceptedScrollViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const ScrollView = NativeBaseScrollView as ForwardRefComponent<ScrollViewProps>;\n\ntype NativeBaseAcceptedPressableProps = Extract<\n keyof InterfacePressableProps,\n | 'children'\n | 'onHoverIn'\n | 'onHoverOut'\n | 'onFocus'\n | 'onBlur'\n | '_hover'\n | '_pressed'\n | '_focus'\n | '_disabled'\n | 'isDisabled'\n | 'isHovered'\n | 'isPressed'\n | 'isFocused'\n | 'isFocusVisible'\n | '_focusVisible'\n | keyof NativePressableProps\n>;\nexport interface PressableProps\n extends Pick<\n IPressableProps,\n | NativeBaseAcceptedPressableProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Pressable = NativeBasePressable as ForwardRefComponent<PressableProps>;\n\nexport const Image = NativeBaseImage as ForwardRefComponent<IImageProps>;\n\ntype NativeBaseAcceptedFlatListProps<ItemT> = Extract<\n keyof InterfaceFlatListProps<ItemT>,\n 'ref' | '_contentContainerStyle' | keyof NativeFlatListProps<ItemT>\n>;\nexport interface FlatListProps<ItemT>\n extends Pick<\n IFlatListProps<ItemT>,\n | NativeBaseAcceptedFlatListProps<ItemT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const FlatList = NativeBaseFlatList as <ItemT>(\n props: FlatListProps<ItemT> & { ref?: MutableRefObject<NativeFlatList<ItemT> | undefined> },\n) => ReturnType<typeof NativeBaseFlatList>;\n\ntype NativeBaseAcceptedSectionListProps<ItemT, SectionT> = Extract<\n keyof InterfaceSectionListProps<ItemT, SectionT>,\n 'ref' | keyof NativeSectionListProps<ItemT, SectionT>\n>;\nexport interface SectionListProps<ItemT, SectionT>\n extends Pick<\n ISectionListProps<ItemT, SectionT>,\n | NativeBaseAcceptedSectionListProps<ItemT, SectionT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const SectionList = NativeBaseSectionList as <ItemT, SectionT>(\n props: SectionListProps<ItemT, SectionT> & { ref?: ForwardedRef<NativeSectionList<ItemT, SectionT> | undefined> },\n) => ReturnType<typeof NativeBaseSectionList>;\n","export const hex2rgba = (hex: string, alpha = 1): string => {\n const r = parseInt(hex.slice(1, 3), 16);\n const g = parseInt(hex.slice(3, 5), 16);\n const b = parseInt(hex.slice(5, 7), 16);\n\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n};\n","import type { IntRange } from 'type-fest';\n\ntype KittColorScaleNumber = IntRange<1, 12>;\ntype KittColorScale = { [K in KittColorScaleNumber]: string };\n\nconst createColorScale = <const T extends KittColorScale>(colorScale: T): T => colorScale;\n\nexport const colorScales = {\n eggshell: createColorScale({\n 1: '#faf9f8',\n 2: '#f4f3ef',\n 3: '#ebe9e5',\n 4: '#dedad2',\n 5: '#d1cdc5',\n 6: '#bab8ae',\n 7: '#aeaba3',\n 8: '#9c9a92',\n 9: '#8e8c83',\n 10: '#74726a',\n 11: '#3e3d3a',\n 12: '#282826',\n }),\n violine: createColorScale({\n 1: '#f8f7ff',\n 2: '#f2f0ff',\n 3: '#ebe8ff',\n 4: '#d5cfff',\n 5: '#bfb5ff',\n 6: '#a99cff',\n 7: '#9180ff',\n 8: '#7b66ff',\n 9: '#624af7',\n 10: '#5139e1',\n 11: '#3a26b5',\n 12: '#0a0428',\n }),\n lavender: createColorScale({\n 1: '#fdf7ff',\n 2: '#fcf2ff',\n 3: '#FAEBFF',\n 4: '#f8e3ff',\n 5: '#f4d6ff',\n 6: '#efc2ff',\n 7: '#d298ff',\n 8: '#b97aff',\n 9: '#ac5ff9',\n 10: '#9d4ced',\n 11: '#6b347e',\n 12: '#290a34',\n }),\n blue: createColorScale({\n 1: '#f7faff',\n 2: '#f0f5ff',\n 3: '#e8f0ff',\n 4: '#d4e0ff',\n 5: '#baceff',\n 6: '#a1bbff',\n 7: '#87a9ff',\n 8: '#6e96ff',\n 9: '#5383ff',\n 10: '#4170eb',\n 11: '#0e4381',\n 12: '#061c36',\n }),\n raspberry: createColorScale({\n 1: '#fff7fa',\n 2: '#fff0f5',\n 3: '#ffe8ef',\n 4: '#f0c7d4',\n 5: '#f0afc4',\n 6: '#f097b3',\n 7: '#f07fa3',\n 8: '#d95d84',\n 9: '#cf2a60',\n 10: '#c12558',\n 11: '#61192e',\n 12: '#29040f',\n }),\n coral: createColorScale({\n 1: '#fff7f7',\n 2: '#fff0f0',\n 3: '#ffe8e8',\n 4: '#ffcfcf',\n 5: '#ffb5b5',\n 6: '#ff9c9c',\n 7: '#f57d7d',\n 8: '#eb6565',\n 9: '#e55050',\n 10: '#da3d3d',\n 11: '#8a2b1e',\n 12: '#330c07',\n }),\n sun: createColorScale({\n 1: '#fffdf7',\n 2: '#fffbf0',\n 3: '#fff6de',\n 4: '#ffefc4',\n 5: '#ffe8ab',\n 6: '#ffe191',\n 7: '#ffda78',\n 8: '#ffd35e',\n 9: '#fdc32d',\n 10: '#f3a40c',\n 11: '#9f5600',\n 12: '#341c00',\n }),\n green: createColorScale({\n 1: '#f9fff9',\n 2: '#e9ffeb',\n 3: '#d3fbd7',\n 4: '#bffbc5',\n 5: '#96f4b0',\n 6: '#7fefac',\n 7: '#21e8a3',\n 8: '#08d48e',\n 9: '#00c381',\n 10: '#00ac72',\n 11: '#0e8159',\n 12: '#03291c',\n }),\n} as const;\n\ntype ColorScaleTokens = {\n [K in keyof typeof colorScales as `${K}.${KittColorScaleNumber}`]: (typeof colorScales)[K][KittColorScaleNumber];\n};\n\nconst transformColorScalesToTokens = (): ColorScaleTokens => {\n return Object.fromEntries(\n Object.entries(colorScales).flatMap(([colorName, colorScale]) => {\n return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {\n return [`${colorName}.${scaleNumber}`, colorValue];\n });\n }),\n ) as ColorScaleTokens;\n};\n\nexport const lateOceanColorPalette = {\n ...transformColorScalesToTokens(),\n\n /** @deprecated use violine.9 instead */\n lateOcean: colorScales.violine[9],\n /** @deprecated use violine.8 instead */\n lateOceanLight1: colorScales.violine[8],\n /** @deprecated use violine.6 instead */\n lateOceanLight2: colorScales.violine[6],\n /** @deprecated use lavender.6 instead */\n lateOceanLight3: colorScales.lavender[6],\n /** @deprecated use violine.12 instead */\n lateOceanDark1: colorScales.violine[12],\n\n /** @deprecated use lavender.5 instead */\n warmEmbrace: colorScales.lavender[5],\n /** @deprecated use lavender.3 instead */\n warmEmbraceLight1: colorScales.lavender[3],\n\n white: '#FFFFFF',\n black: '#000000',\n\n /** @deprecated use black instead */\n black1000: '#000000',\n /** @deprecated use eggshell.11 instead */\n black800: colorScales.eggshell[11],\n /** @deprecated use eggshell.10 instead */\n black555: colorScales.eggshell[10],\n /** @deprecated use eggshell.7 instead */\n black400: colorScales.eggshell[7],\n /** @deprecated use eggshell.4 instead */\n black200: colorScales.eggshell[4],\n /** @deprecated use eggshell.3 instead */\n black100: colorScales.eggshell[3],\n /** @deprecated use eggshell.2 instead */\n black50: colorScales.eggshell[2],\n /** @deprecated use eggshell.1 instead */\n black25: colorScales.eggshell[1],\n\n /** @deprecated use green.8 instead */\n viride: colorScales.green[8],\n /** @deprecated use coral.7 instead */\n englishVermillon: colorScales.coral[7],\n /** @deprecated use sun.8 instead */\n goldCrayola: colorScales.sun[8],\n /** @deprecated use blue.8 instead */\n aero: colorScales.blue[8],\n /** @deprecated use eggshell.1 instead */\n seaShell: colorScales.eggshell[1],\n\n transparent: 'transparent',\n\n /** @deprecated use violine.4 instead */\n moonPurple: colorScales.violine[4],\n /** @deprecated use violine.2 instead */\n moonPurpleLight1: colorScales.violine[2],\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette['violine.9'],\n primaryLight: lateOceanColorPalette['violine.8'],\n accent: lateOceanColorPalette['lavender.5'],\n accentLight: lateOceanColorPalette['lavender.3'],\n success: lateOceanColorPalette['green.8'],\n correct: lateOceanColorPalette['green.8'],\n danger: lateOceanColorPalette['coral.8'],\n info: lateOceanColorPalette['blue.8'],\n warning: lateOceanColorPalette['sun.8'],\n separator: lateOceanColorPalette['eggshell.3'],\n hover: lateOceanColorPalette['eggshell.3'],\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black,\n blackDisabled: lateOceanColorPalette['eggshell.7'],\n blackLight: lateOceanColorPalette['eggshell.10'],\n blackAnthracite: lateOceanColorPalette['eggshell.11'],\n uiBackground: lateOceanColorPalette['eggshell.1'],\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette['eggshell.2'],\n overlay: {\n dark: 'rgba(41, 48, 51, 0.25)',\n light: 'rgba(255, 255, 255, 0.90)',\n },\n};\n","import { hex2rgba } from '../../utils/hexToRgba';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ActionCardState {\n backgroundColor: string;\n borderColor?: string;\n borderWidth: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n translateY: number;\n}\n\nexport interface ActionCardVariant {\n default: ActionCardState;\n disabled: ActionCardState;\n hovered: ActionCardState;\n pressed: ActionCardState;\n focused: ActionCardState;\n}\n\nexport interface ActionCardTheme {\n borderRadius: number;\n primary: ActionCardVariant;\n 'primary-border-soft': ActionCardVariant;\n 'primary-border-hard': ActionCardVariant;\n secondary: ActionCardVariant;\n highlight: ActionCardVariant;\n}\n\nexport const actionCard: ActionCardTheme = {\n borderRadius: 20,\n primary: {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n 'primary-border-soft': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n 'primary-border-hard': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n secondary: {\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n },\n highlight: {\n default: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport const defaultAvatarSize = 40;\nexport const defaultAvatarIconSize = 20;\n\nexport const largeAvatarSize = 120;\nexport const largeAvatarIconSize = 30;\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n size: number;\n iconSize: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n size: number;\n iconSize: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n size: defaultAvatarSize,\n iconSize: defaultAvatarIconSize,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n size: largeAvatarSize,\n iconSize: largeAvatarIconSize,\n },\n};\n","export const spacing = 4;\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { spacing } from './spacing';\n\nexport interface BottomSheetTheme {\n container: {\n padding: number;\n };\n handle: {\n backgroundColor: string;\n };\n}\n\nexport const bottomSheet: BottomSheetTheme = {\n container: {\n padding: spacing * 4,\n },\n handle: {\n backgroundColor: lateOceanColorPalette.black200,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface BaseVariantTheme {\n backgroundColor: string;\n pressedBackgroundColor: string;\n hoverBackgroundColor: string;\n focusBorderColor: string;\n}\n\nexport interface GhostVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\nexport interface BaseButtonTheme {\n default: BaseVariantTheme;\n}\n\nexport interface BaseButtonWithVariant extends BaseButtonTheme {\n ghost: GhostVariantTheme;\n}\n\nexport interface SubtleBaseVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\n\nexport interface SubtleButtonTheme extends BaseButtonTheme {\n default: SubtleBaseVariantTheme;\n}\n\nexport interface DisabledBaseVariantTheme extends BaseVariantTheme {\n borderColor: string;\n}\n\nexport interface DisabledButtonTheme extends BaseButtonTheme {\n default: DisabledBaseVariantTheme;\n}\n\ninterface ButtonPadding {\n horizontal: number;\n vertical: number;\n}\n\nexport interface ButtonTheme {\n borderRadius: number;\n borderWidth: {\n disabled: number;\n focus: number;\n };\n minHeight: number;\n minWidth: number;\n maxWidth: number;\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n /**\n * @deprecated use `padding` instead\n */\n contentPadding: {\n default: string;\n large: string;\n xLarge: string;\n disabled: string;\n };\n padding: {\n default: ButtonPadding;\n large: ButtonPadding;\n xLarge: ButtonPadding;\n disabled: ButtonPadding;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n default: BaseButtonWithVariant;\n primary: BaseButtonWithVariant;\n danger: BaseButtonWithVariant;\n subtle: SubtleButtonTheme;\n 'subtle-dark': SubtleButtonTheme;\n disabled: DisabledButtonTheme;\n}\n\nexport const button: ButtonTheme = {\n borderRadius: 30,\n borderWidth: {\n disabled: 2,\n focus: 3,\n },\n minHeight: 40,\n minWidth: 40,\n maxWidth: 335,\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n contentPadding: {\n default: '7px 16px 7px',\n large: '11px 24px 11px',\n xLarge: '15px 24px 15px',\n disabled: '5px 14px 5px',\n },\n padding: {\n default: {\n horizontal: 16,\n vertical: 7,\n },\n large: {\n horizontal: 24,\n vertical: 11,\n },\n xLarge: {\n horizontal: 24,\n vertical: 15,\n },\n disabled: {\n horizontal: 14,\n vertical: 5,\n },\n },\n transition: {\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n default: {\n default: {\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n pressedBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n hoverBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n },\n ghost: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n focusBorderColor: 'rgba(255, 255, 255, 0.4)',\n color: lateOceanColorPalette.white,\n hoverColor: lateOceanColorPalette.white,\n activeColor: lateOceanColorPalette.white,\n },\n },\n primary: {\n default: {\n backgroundColor: colors.primary,\n pressedBackgroundColor: colors.primaryLight,\n hoverBackgroundColor: colors.primaryLight,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: colors.uiBackground,\n hoverBackgroundColor: colors.hover,\n focusBorderColor: 'rgba(255,255,255, 0.4)',\n color: colors.primary,\n hoverColor: colors.hover,\n activeColor: colors.hover,\n },\n },\n danger: {\n default: {\n backgroundColor: lateOceanColorPalette.warmEmbraceLight1,\n pressedBackgroundColor: lateOceanColorPalette.warmEmbrace,\n hoverBackgroundColor: lateOceanColorPalette.warmEmbrace,\n focusBorderColor: lateOceanColorPalette.warmEmbrace,\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n focusBorderColor: 'rgba(255, 255, 255, 0.5)',\n color: lateOceanColorPalette.englishVermillon,\n hoverColor: lateOceanColorPalette.englishVermillon,\n activeColor: lateOceanColorPalette.englishVermillon,\n },\n },\n subtle: {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n color: colors.primary,\n hoverColor: 'rgba(76, 52, 224, 0.8)',\n activeColor: 'rgba(76, 52, 224, 0.8)',\n },\n },\n 'subtle-dark': {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n color: colors.black,\n hoverColor: 'rgba(0, 0, 0, 0.8)',\n activeColor: 'rgba(0, 0, 0, 0.8)',\n },\n },\n disabled: {\n default: {\n backgroundColor: colors.disabled,\n pressedBackgroundColor: colors.disabled,\n hoverBackgroundColor: colors.disabled,\n focusBorderColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.black100,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface CardThemeType {\n backgroundColor: string;\n borderColor: string;\n}\nexport interface CardTheme {\n borderRadius: number;\n borderWidth: number;\n primary: CardThemeType;\n secondary: CardThemeType;\n subtle: CardThemeType;\n}\n\nexport const card: CardTheme = {\n borderRadius: 20,\n borderWidth: 2,\n primary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n secondary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n },\n subtle: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: colors.separator,\n },\n};\n","import { colors } from './colors';\n\nexport interface CardModalTheme {\n borderRadius: number;\n maxWidth: number;\n maxWidthWithPadding: number;\n minHeight: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n header: {\n height: number;\n borderWidth: number;\n borderColor: string;\n };\n footer: {\n borderWidth: number;\n borderColor: string;\n };\n overlayPadding: {\n horizontal: number;\n vertical: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 400;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nconst maxWidth = 540;\nconst overlayHorizontalPadding = 24;\n\nexport const cardModal: CardModalTheme = {\n borderRadius: 20,\n maxWidth,\n maxWidthWithPadding: maxWidth + overlayHorizontalPadding * 2,\n minHeight: 280,\n shadow: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n header: {\n height: 56,\n borderWidth: 1,\n borderColor: colors.separator,\n },\n footer: {\n borderWidth: 1,\n borderColor: colors.separator,\n },\n overlayPadding: {\n horizontal: 24,\n vertical: 80,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ChoicesItemTheme {\n borderRadius: number;\n /** @deprecated use kitt.x spacings values instead */\n padding: {\n base: number;\n small: number;\n };\n backgroundColor: {\n default: string;\n disabled: string;\n selected: string;\n pressed: string;\n hover: string;\n hoverWhenSelected: string;\n };\n disabled: {\n border: {\n width: number;\n color: string;\n };\n };\n transition: {\n property: string;\n duration: number;\n timingFunction: string;\n };\n}\n\nexport interface ChoicesTheme {\n /** @deprecated use kitt.x spacings values instead */\n spacing: {\n row: number;\n column: number;\n };\n item: ChoicesItemTheme;\n}\n\nexport const choices: ChoicesTheme = {\n spacing: {\n row: 12,\n column: 12,\n },\n item: {\n borderRadius: 10,\n padding: {\n base: 16,\n small: 24,\n },\n backgroundColor: {\n default: lateOceanColorPalette.black50,\n disabled: colors.disabled,\n selected: colors.primary,\n pressed: lateOceanColorPalette.lateOceanLight1,\n hover: lateOceanColorPalette.black100,\n hoverWhenSelected: lateOceanColorPalette.lateOceanLight1,\n },\n disabled: {\n border: {\n width: 2,\n color: lateOceanColorPalette.black100,\n },\n },\n transition: {\n property: 'all',\n duration: 300,\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface DialogModalTheme {\n borderRadius: number;\n maxWidth: number;\n overlayPadding: {\n horizontal: number;\n vertical: number;\n };\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 400;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const dialogModal: DialogModalTheme = {\n borderRadius: 20,\n maxWidth: 540,\n overlayPadding: {\n horizontal: 24,\n vertical: 32,\n },\n shadow: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface FeedbackMessageVariantTheme {\n backgroundColor: string;\n}\n\nexport interface FeedbackMessageTheme {\n minHeight: number;\n danger: FeedbackMessageVariantTheme;\n info: FeedbackMessageVariantTheme;\n success: FeedbackMessageVariantTheme;\n warning: FeedbackMessageVariantTheme;\n}\n\nexport const feedbackMessage: FeedbackMessageTheme = {\n minHeight: 60,\n danger: {\n backgroundColor: colors.danger,\n },\n success: {\n backgroundColor: colors.success,\n },\n info: {\n backgroundColor: colors.info,\n },\n warning: {\n backgroundColor: colors.warning,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface AutocompleteTheme {\n option: {\n verticalPadding: number;\n minHeight: number;\n default: { backgroundColor: string };\n hovered: { backgroundColor: string };\n focused: { backgroundColor: string };\n selected: { backgroundColor: string };\n highlighted: { backgroundColor: string };\n pressed: { backgroundColor: string };\n };\n optionsContainer: {\n borderRadius: number;\n backgroundColor: string;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n };\n}\n\nexport const autocomplete: AutocompleteTheme = {\n option: {\n verticalPadding: 2,\n minHeight: 40,\n default: {\n backgroundColor: colors.white,\n },\n hovered: { backgroundColor: lateOceanColorPalette.black50 },\n focused: { backgroundColor: lateOceanColorPalette.black50 },\n selected: { backgroundColor: lateOceanColorPalette.black50 },\n highlighted: { backgroundColor: lateOceanColorPalette.black50 },\n pressed: { backgroundColor: lateOceanColorPalette.black100 },\n },\n optionsContainer: {\n borderRadius: 10,\n backgroundColor: colors.white,\n shadow: { color: colors.black, offsetX: 0, offsetY: 10, opacity: 0.15, radius: 20 },\n },\n};\n","import { colors } from './colors';\n\nexport const checkbox = {\n borderWidth: 2,\n borderRadius: 5,\n height: 20,\n width: 20,\n iconSize: 14,\n markColor: colors.uiBackgroundLight,\n textSpacing: 10,\n default: {\n borderColor: colors.separator,\n backgroundColor: colors.uiBackgroundLight,\n },\n checked: {\n borderColor: colors.primary,\n backgroundColor: colors.primary,\n },\n focus: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n pressed: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n disabled: {\n borderColor: colors.separator,\n backgroundColor: colors.disabled,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\n },\n};\n","interface DatePickerPartTheme {\n minWidth: number;\n}\n\nexport interface DatePickerTheme {\n day: DatePickerPartTheme;\n month: DatePickerPartTheme;\n year: DatePickerPartTheme;\n}\n\nexport const datePicker: DatePickerTheme = {\n day: {\n minWidth: 64,\n },\n month: {\n minWidth: 64,\n },\n year: {\n minWidth: 82,\n },\n};\n","import type { InputUIState } from '../../forms/utils';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport interface InputStateStyle {\n backgroundColor?: string;\n borderColor: string;\n color: string;\n}\n\nexport type InputStateTheme = Record<InputUIState, InputStateStyle>;\n\nconst inputStatesStyle: InputStateTheme = {\n default: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette.black,\n },\n pending: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.3'],\n color: lateOceanColorPalette.black,\n },\n valid: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette.black,\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.1'],\n borderColor: lateOceanColorPalette['eggshell.5'],\n color: lateOceanColorPalette.black,\n },\n focus: {\n borderColor: lateOceanColorPalette['violine.9'],\n color: lateOceanColorPalette.black,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette['eggshell.6'],\n },\n invalid: {\n borderColor: lateOceanColorPalette['eggshell.3'],\n color: lateOceanColorPalette.black,\n },\n};\n\nexport interface InputTheme {\n minHeight: number;\n color: {\n selection: string;\n placeholder: string;\n };\n borderWidth: number;\n borderRadius: number;\n icon: {\n size: number;\n };\n padding: {\n horizontal: number;\n vertical: number;\n };\n rightContainer: {\n padding: number;\n };\n transition: {\n properties: string[];\n duration: string;\n timingFunction: string;\n };\n states: InputStateTheme;\n}\n\nexport const webAnimationDuration = '200ms';\nexport const webAnimationTimingFunction = 'ease-in-out';\nexport const webAnimationProperties = ['border-color', 'background-color'];\n\nexport const input: InputTheme = {\n minHeight: 40,\n color: {\n selection: lateOceanColorPalette['violine.9'],\n placeholder: lateOceanColorPalette['eggshell.9'],\n },\n borderWidth: 1,\n borderRadius: 8,\n icon: {\n size: 20,\n },\n rightContainer: {\n padding: 16,\n },\n padding: {\n horizontal: 16,\n vertical: 0,\n },\n transition: {\n properties: webAnimationProperties,\n duration: webAnimationDuration,\n timingFunction: webAnimationTimingFunction,\n },\n states: inputStatesStyle,\n};\n","export const inputField = {\n containerPaddingTop: 5,\n containerPaddingBottom: 10,\n feedbackPaddingTop: 4,\n labelContainerPaddingBottom: 4,\n labelFeedbackMarginLeft: 6,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface InputTagTypeTheme {\n backgroundColor: string;\n labelColor: string;\n}\nexport interface InputTagTheme {\n borderRadius: number;\n iconSize: number;\n default: InputTagTypeTheme;\n success: InputTagTypeTheme;\n danger: InputTagTypeTheme;\n}\n\nexport const inputTag: InputTagTheme = {\n success: {\n backgroundColor: colors.success,\n labelColor: colors.uiBackgroundLight,\n },\n danger: {\n backgroundColor: colors.danger,\n labelColor: colors.uiBackgroundLight,\n },\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n labelColor: colors.black,\n },\n borderRadius: 10,\n iconSize: 13.5,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface RadioTheme {\n size: number;\n unchecked: {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n };\n checked: {\n backgroundColor: string;\n borderColor: string;\n innerBackgroundColor: string;\n innerSize: number;\n };\n hover: {\n backgroundColor: string;\n borderColor: string;\n };\n pressed: {\n backgroundColor: string;\n borderColor: string;\n };\n disabled: {\n backgroundColor: string;\n borderColor: string;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n}\n\nexport const radio: RadioTheme = {\n size: 18,\n unchecked: {\n borderWidth: 2,\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: colors.primary,\n borderColor: colors.transparent,\n innerSize: 5,\n innerBackgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n pressed: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\n },\n};\n","import { colors } from './colors';\n\nexport interface RadioButtonGroupTheme {\n item: {\n minHeight: number;\n borderWidth: number;\n borderColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n [key: string]: string;\n };\n backgroundColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n };\n borderRadius: number;\n padding: {\n horizontal: number;\n vertical: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n };\n}\n\nexport const radioButtonGroup: RadioButtonGroupTheme = {\n item: {\n minHeight: 40,\n borderWidth: 2,\n borderRadius: 20,\n borderColor: {\n default: colors.separator,\n hover: colors.primary,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.separator,\n },\n backgroundColor: {\n default: colors.uiBackgroundLight,\n hover: colors.white,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.disabled,\n },\n padding: {\n horizontal: 18,\n vertical: 6,\n },\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\n },\n};\n","export interface TextAreaTheme {\n minHeight: number;\n}\n\nexport const textArea: TextAreaTheme = {\n minHeight: 120,\n};\n","export interface TimePickerTheme {\n minWidth: number;\n}\n\nexport const timePicker: TimePickerTheme = {\n minWidth: 100,\n};\n","import { autocomplete } from './autocomplete';\nimport { checkbox } from './checkbox';\nimport { datePicker } from './datePicker';\nimport { input } from './input';\nimport { inputField } from './inputField';\nimport { inputTag } from './inputTag';\nimport { radio } from './radio';\nimport { radioButtonGroup } from './radioButtonGroup';\nimport { textArea } from './textArea';\nimport { timePicker } from './timePicker';\n\nexport const forms = {\n autocomplete,\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n radioButtonGroup,\n timePicker,\n};\n","export interface FullscreenModalTheme {\n header: {\n height: number;\n };\n footer: {\n verticalPadding: number;\n };\n sharedHorizontalPadding: number;\n body: {\n verticalPadding: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 600;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const fullscreenModal: FullscreenModalTheme = {\n header: {\n height: 56,\n },\n sharedHorizontalPadding: 16,\n footer: {\n verticalPadding: 12,\n },\n body: {\n verticalPadding: 24,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { spacing } from './spacing';\n\nexport interface HighlightThemeType {\n default: {\n backgroundColor: string;\n };\n hover: {\n backgroundColor: string;\n };\n}\n\nexport interface HighlightTheme {\n borderRadius: number;\n padding: {\n medium: number;\n large: number;\n };\n regular: HighlightThemeType;\n primary: HighlightThemeType;\n secondary: HighlightThemeType;\n ghost: HighlightThemeType;\n dark: HighlightThemeType;\n}\n\nexport const highlight: HighlightTheme = {\n borderRadius: spacing * 2,\n /** @deprecated use primary instead */\n regular: {\n default: {\n backgroundColor: colors.accentLight,\n },\n hover: {\n backgroundColor: colors.accentLight,\n },\n },\n primary: {\n default: {\n backgroundColor: lateOceanColorPalette['lavender.3'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['lavender.5'],\n },\n },\n secondary: {\n default: {\n backgroundColor: lateOceanColorPalette['violine.2'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['violine.4'],\n },\n },\n ghost: {\n default: {\n backgroundColor: lateOceanColorPalette.white,\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n },\n },\n dark: {\n default: {\n backgroundColor: lateOceanColorPalette['eggshell.3'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n },\n },\n padding: {\n medium: spacing * 4,\n large: spacing * 6,\n },\n};\n","export interface TypographyIconBreakpointRangeConfig {\n iconSize: number;\n}\n\nexport interface TypographyIconConfig {\n baseAndSmall: TypographyIconBreakpointRangeConfig;\n mediumAndWide: TypographyIconBreakpointRangeConfig;\n}\n\nconst getIconSizeFromFontSize = (fontSize: number): number => {\n if (fontSize <= 14) return 16;\n if (fontSize <= 16) return 20;\n return 24;\n};\n\nexport const createTypographyIconSizeConfig = (\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number,\n): TypographyIconConfig => {\n const baseAndSmallIconSize = getIconSizeFromFontSize(baseAndSmallFontSize);\n const mediumAndWideIconSize = getIconSizeFromFontSize(mediumAndWideFontSize);\n return {\n baseAndSmall: {\n iconSize: baseAndSmallIconSize,\n },\n mediumAndWide: {\n iconSize: mediumAndWideIconSize,\n },\n };\n};\n\nexport const icon = {\n defaultSize: 20,\n // Note: this is based on typography updated sizes, not current https://github.com/ornikar/kitt/pull/2130\n typographySize: {\n // also known as xxlarge\n header1: createTypographyIconSizeConfig(40, 56),\n // also known as xlarge\n header2: createTypographyIconSizeConfig(32, 48),\n // also known as medium\n header3: createTypographyIconSizeConfig(24, 40),\n // also known as xsmall\n header4: createTypographyIconSizeConfig(18, 24),\n // also known as xxsmall\n header5: createTypographyIconSizeConfig(18, 18),\n\n 'header-impact-xxl': createTypographyIconSizeConfig(56, 56),\n 'header-impact-xl': createTypographyIconSizeConfig(48, 48),\n 'header-impact-l': createTypographyIconSizeConfig(40, 40),\n 'header-impact-m': createTypographyIconSizeConfig(32, 32),\n 'header-impact-s': createTypographyIconSizeConfig(24, 24),\n 'header-impact-xs': createTypographyIconSizeConfig(18, 18),\n 'header-impact-xxs': createTypographyIconSizeConfig(16, 16),\n 'header-impact-xxxs': createTypographyIconSizeConfig(14, 14),\n\n 'body-large': createTypographyIconSizeConfig(18, 24),\n 'body-medium': createTypographyIconSizeConfig(18, 18),\n body: createTypographyIconSizeConfig(16, 16),\n 'body-small': createTypographyIconSizeConfig(14, 14),\n 'body-xsmall': createTypographyIconSizeConfig(12, 12),\n },\n} as const;\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { button } from './button';\n\ninterface IconButtonVariationValues {\n pressedBackgroundColor: string;\n}\n\nexport interface IconButtonTheme {\n backgroundColor: string;\n width: number;\n height: number;\n borderRadius: number;\n borderWidth: number;\n borderColor: string;\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n default: number;\n hover: number;\n active: number;\n };\n };\n disabled: {\n scale: number;\n backgroundColor: string;\n borderColor: string;\n };\n default: IconButtonVariationValues;\n ghost: IconButtonVariationValues;\n primary: IconButtonVariationValues;\n}\n\nexport const iconButton: IconButtonTheme = {\n backgroundColor: 'transparent',\n width: 40,\n height: 40,\n borderRadius: 20,\n borderWidth: 2,\n borderColor: 'transparent',\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n default: 1,\n hover: 1.05,\n active: 0.95,\n },\n },\n disabled: {\n scale: 1,\n backgroundColor: button.disabled.default.backgroundColor,\n borderColor: button.disabled.default.borderColor,\n },\n default: {\n pressedBackgroundColor: button.default.default.pressedBackgroundColor,\n },\n ghost: {\n pressedBackgroundColor: button.default.ghost.pressedBackgroundColor,\n },\n primary: {\n pressedBackgroundColor: lateOceanColorPalette.moonPurpleLight1,\n },\n};\n","import { colors } from './colors';\n\nexport interface ListItemTheme {\n /** @deprecated -- use verticalPadding and horizontalPadding instead */\n padding: string;\n verticalPadding: number;\n horizontalPadding: number;\n borderColor: string;\n borderWidth: number;\n innerMargin: number;\n}\n\nexport const listItem: ListItemTheme = {\n padding: '12px 16px',\n verticalPadding: 12,\n horizontalPadding: 16,\n borderColor: colors.separator,\n borderWidth: 1,\n innerMargin: 8,\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const pageLoaderSize = 60;\nexport const pageLoaderStrokeWidth = 3;\n\nexport const webAnimationDelay = 500;\nexport const webAnimationCircleBackgroundFillDuration = 1000;\nexport const webAnimationFilledCircleFillDuration = 1800;\nexport const webAnimationFilledCircleRotationDuration = 2160;\nexport const fillEasingFunction: [number, number, number, number] = [0.39, 0.575, 0.565, 1];\n\nexport const pageLoader: PageLoaderTheme = {\n size: pageLoaderSize,\n strokeWidth: pageLoaderStrokeWidth,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: webAnimationDelay,\n circleBackgroundFillDuration: webAnimationCircleBackgroundFillDuration,\n filledCircleFillDuration: webAnimationFilledCircleFillDuration,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: webAnimationFilledCircleRotationDuration,\n fillEasingFunction,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors as kittColors } from './colors';\n\nexport const calcLineHeight = (fontSize: number, lineHeightMultiplier: number): number =>\n Math.round(fontSize * lineHeightMultiplier);\n\nexport interface TypographyTypeBreakpointRangeConfig {\n fontSize: number;\n lineHeight: number;\n}\n\nexport interface TypographyTypeConfig {\n baseAndSmall: TypographyTypeBreakpointRangeConfig;\n mediumAndWide: TypographyTypeBreakpointRangeConfig;\n}\n\n/** @deprecated legacy typography type config is deprecated. */\nexport const createLegacyTypographyTypeConfig = (\n lineHeightMultiplierBaseAndSmall: number,\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number = baseAndSmallFontSize,\n lineHeightMultiplierMediumAndWide = lineHeightMultiplierBaseAndSmall,\n): TypographyTypeConfig => ({\n baseAndSmall: {\n fontSize: baseAndSmallFontSize,\n lineHeight: calcLineHeight(baseAndSmallFontSize, lineHeightMultiplierBaseAndSmall),\n },\n mediumAndWide: {\n fontSize: mediumAndWideFontSize,\n lineHeight: calcLineHeight(mediumAndWideFontSize, lineHeightMultiplierMediumAndWide),\n },\n});\n\nexport const createTypographyConfig = (fontSize: number, lineHeightMultiplier: number): TypographyTypeConfig => {\n const config: TypographyTypeBreakpointRangeConfig = {\n fontSize,\n lineHeight: calcLineHeight(fontSize, lineHeightMultiplier),\n };\n return { baseAndSmall: config, mediumAndWide: config };\n};\n\nexport const typography = {\n colors: {\n black: kittColors.black,\n 'black-anthracite': kittColors.blackAnthracite,\n 'black-disabled': lateOceanColorPalette.black400,\n 'black-light': lateOceanColorPalette.black555,\n white: kittColors.white,\n 'white-light': kittColors.white,\n primary: kittColors.primary,\n 'primary-light': kittColors.primaryLight,\n accent: kittColors.accent,\n success: kittColors.success,\n danger: kittColors.danger,\n warning: kittColors.warning,\n },\n types: {\n headings: {\n fontFamily: {\n native: {\n regular: 'Moderat-Bold',\n bold: 'Moderat-Bold',\n },\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: 'normal',\n configs: {\n /* legacy */\n header1: createLegacyTypographyTypeConfig(1.1, 40, 56),\n header2: createLegacyTypographyTypeConfig(1.2, 32, 48, 1.1),\n header3: createLegacyTypographyTypeConfig(1.2, 24, 40, 1.1),\n header4: createLegacyTypographyTypeConfig(1.3, 18, 24, 1.2),\n header5: createLegacyTypographyTypeConfig(1.3, 18, 18),\n\n /* latest */\n 'heading-xxl': createTypographyConfig(56, 1.1),\n 'heading-xl': createTypographyConfig(48, 1.1),\n 'heading-l': createTypographyConfig(40, 1.1),\n 'heading-m': createTypographyConfig(32, 1.2),\n 'heading-s': createTypographyConfig(24, 1.2),\n 'heading-xs': createTypographyConfig(18, 1.3),\n 'heading-xxs': createTypographyConfig(16, 1.3),\n },\n },\n 'headings-impact': {\n fontFamily: {\n native: {\n regular: 'Transducer-Black',\n bold: 'Transducer-Black',\n },\n web: {\n regular: 'TransducerBlack',\n bold: 'TransducerBlack',\n },\n },\n fontWeight: 900,\n fontStyle: 'normal',\n configs: {\n /* legacy */\n 'header-impact-xxl': createLegacyTypographyTypeConfig(1.2, 56, 56),\n 'header-impact-xl': createLegacyTypographyTypeConfig(1.2, 48, 48),\n 'header-impact-l': createLegacyTypographyTypeConfig(1.2, 40, 40),\n 'header-impact-m': createLegacyTypographyTypeConfig(1.2, 32, 32),\n 'header-impact-s': createLegacyTypographyTypeConfig(1.2, 24, 24),\n 'header-impact-xs': createLegacyTypographyTypeConfig(1.2, 18, 18),\n 'header-impact-xxs': createLegacyTypographyTypeConfig(1.2, 16, 16),\n 'header-impact-xxxs': createLegacyTypographyTypeConfig(1.2, 14, 14),\n\n /* latest */\n 'heading-impact-xxl': createTypographyConfig(56, 1.2),\n 'heading-impact-xl': createTypographyConfig(48, 1.2),\n 'heading-impact-l': createTypographyConfig(40, 1.2),\n 'heading-impact-m': createTypographyConfig(32, 1.2),\n 'heading-impact-s': createTypographyConfig(24, 1.2),\n 'heading-impact-xs': createTypographyConfig(18, 1.2),\n 'heading-impact-xxs': createTypographyConfig(16, 1.2),\n 'heading-impact-xxxs': createTypographyConfig(14, 1.2),\n },\n },\n bodies: {\n fontFamily: {\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\n native: {\n regular: 'Moderat-Regular',\n bold: 'Moderat-Bold',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: {\n regular: 'normal',\n bold: 'normal',\n },\n configs: {\n /* legacy */\n 'body-large': createLegacyTypographyTypeConfig(1.4, 18, 24),\n 'body-medium': createLegacyTypographyTypeConfig(1.4, 18, 18),\n body: createLegacyTypographyTypeConfig(1.4, 16, 16),\n 'body-small': createLegacyTypographyTypeConfig(1.4, 14, 14),\n 'body-xsmall': createLegacyTypographyTypeConfig(1.4, 12, 12),\n\n /* latest */\n 'body-xl': createTypographyConfig(24, 1.4),\n 'body-l': createTypographyConfig(18, 1.4),\n 'body-m': createTypographyConfig(16, 1.4),\n 'body-s': createTypographyConfig(14, 1.4),\n 'body-xs': createTypographyConfig(12, 1.4),\n },\n },\n },\n link: {\n /** @deprecated not used in kitt anymore, use Typography instead */\n disabledColor: kittColors.blackDisabled,\n },\n};\n","import type { TextStyle } from 'react-native';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface PickerTheme {\n ios: {\n default: TextStyle;\n landscape: TextStyle;\n selected: {\n color: string;\n };\n };\n android: {\n option: {\n verticalPadding: number;\n horizontalPadding: number;\n default: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n color: string;\n };\n };\n };\n web: {\n optionsContainer: {\n borderRadius: number;\n backgroundColor: string;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n };\n option: {\n verticalPadding: number;\n horizontalPadding: number;\n default: {\n backgroundColor: string;\n };\n highlighted: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n };\n hovered: {\n backgroundColor: string;\n };\n pressed: {\n backgroundColor: string;\n };\n focused: {\n backgroundColor: string;\n };\n };\n };\n}\n\nexport const picker: PickerTheme = {\n ios: {\n default: {\n fontFamily: typography.types.bodies.fontFamily.native.regular,\n ...typography.types.bodies.configs.body.baseAndSmall,\n fontSize: 16,\n color: typography.colors['black-light'],\n // Default height is hard coded in module because of iOS constraint (https://github.com/react-native-picker/picker/blob/abd5f9076baa3ef2277ea7e711fa5823683c110e/js/PickerIOS.ios.js#L156)\n height: 216,\n },\n landscape: {\n height: 108,\n },\n selected: {\n color: typography.colors.primary,\n },\n },\n web: {\n optionsContainer: {\n borderRadius: 10,\n backgroundColor: colors.white,\n shadow: { color: colors.black, offsetX: 0, offsetY: 10, opacity: 0.15, radius: 20 },\n },\n option: {\n verticalPadding: 3,\n horizontalPadding: 16,\n default: {\n backgroundColor: colors.transparent,\n },\n hovered: { backgroundColor: lateOceanColorPalette.black50 },\n focused: { backgroundColor: lateOceanColorPalette.black50 },\n selected: { backgroundColor: lateOceanColorPalette.black50 },\n highlighted: { backgroundColor: lateOceanColorPalette.black50 },\n pressed: { backgroundColor: lateOceanColorPalette.black100 },\n },\n },\n android: {\n option: {\n verticalPadding: 12,\n horizontalPadding: 24,\n default: {\n backgroundColor: colors.transparent,\n },\n selected: {\n backgroundColor: colors.primary,\n color: typography.colors.white,\n },\n },\n },\n};\n","import { colors } from './colors';\n\ninterface ShadowShapeTheme {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n}\n\nexport interface ShadowsTheme {\n medium: string;\n cards: Record<string, ShadowShapeTheme>;\n navigation: Record<string, ShadowShapeTheme>;\n panel: ShadowShapeTheme;\n}\n\nexport const shadows: ShadowsTheme = {\n /** @deprecated: use cards.medium instead - shorthand shadow doesnt work with Native Base */\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n cards: {\n low: {\n color: colors.black,\n offsetX: 0,\n offsetY: 5,\n opacity: 0.1,\n radius: 20,\n },\n medium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highBase: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highMedium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 60,\n opacity: 0.08,\n radius: 40,\n },\n highLarge: {\n color: colors.black,\n offsetX: 0,\n offsetY: 80,\n opacity: 0.08,\n radius: 60,\n },\n },\n navigation: {\n left: {\n color: colors.black,\n offsetX: 10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n right: {\n color: colors.black,\n offsetX: -10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n },\n panel: {\n color: colors.black,\n offsetX: 0,\n offsetY: 20,\n opacity: 1,\n radius: 40,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\ninterface SkeletonShapeTheme {\n size: number;\n borderRadius: number;\n}\nexport interface SkeletonTheme {\n backgroundColor: string;\n flareColor: string;\n animationDuration: number;\n shape: Record<string, SkeletonShapeTheme>;\n}\n\nexport const skeletonBackgroundColor = lateOceanColorPalette.black100;\nexport const skeletonFlareColor = lateOceanColorPalette.black200;\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: skeletonBackgroundColor,\n flareColor: skeletonFlareColor,\n animationDuration: 1000,\n shape: {\n bar: {\n size: 8,\n borderRadius: 4,\n },\n circle: {\n size: 48,\n borderRadius: 24,\n },\n square: {\n size: 48,\n borderRadius: 6,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface TagVariantTheme {\n borderWidth: number;\n backgroundColor: string;\n borderColor: string;\n}\n\nexport interface TagTypeTheme {\n fill: TagVariantTheme;\n outline: TagVariantTheme;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n /** @deprecated -- Use verticalPadding and horizontalPadding instead */\n padding: string;\n verticalPadding: number;\n horizontalPadding: number;\n primary: TagTypeTheme;\n default: TagTypeTheme;\n danger: TagTypeTheme;\n warn: TagTypeTheme;\n}\n\nexport const tag: TagTheme = {\n borderRadius: 10,\n padding: '2px 12px',\n verticalPadding: 2,\n horizontalPadding: 12,\n primary: {\n fill: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.primary,\n },\n },\n default: {\n fill: {\n backgroundColor: lateOceanColorPalette.black50,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.black,\n },\n },\n danger: {\n fill: {\n backgroundColor: colors.danger,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.danger,\n },\n },\n warn: {\n fill: {\n backgroundColor: colors.warning,\n borderWidth: 0,\n borderColor: colors.transparent,\n },\n outline: {\n backgroundColor: colors.transparent,\n borderWidth: 1,\n borderColor: colors.warning,\n },\n },\n};\n","import { hex2rgba } from '../../utils/hexToRgba';\nimport { colors } from './colors';\n\ninterface TooltipTransition {\n duration: string;\n timingFunction: string;\n property: string;\n}\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n maxWidth: number;\n transition: {\n in: TooltipTransition;\n out: TooltipTransition;\n };\n arrow: {\n width: number;\n height: number;\n };\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: hex2rgba(colors.black, 0.95),\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 8,\n floatingPadding: 8,\n maxWidth: 328,\n transition: {\n in: {\n duration: '150ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n out: {\n duration: '75ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n },\n arrow: {\n width: 39,\n height: 9,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface StepStateTheme {\n icon: {\n backgroundColor: string;\n textColor: string;\n };\n}\n\nexport interface VerticalStepsTheme {\n active: StepStateTheme;\n done: StepStateTheme;\n default: StepStateTheme;\n}\n\nexport const verticalSteps: VerticalStepsTheme = {\n active: {\n icon: {\n backgroundColor: colors.primary,\n textColor: colors.white,\n },\n },\n done: {\n icon: {\n backgroundColor: lateOceanColorPalette.moonPurple,\n textColor: colors.primary,\n },\n },\n default: {\n icon: {\n backgroundColor: colors.disabled,\n textColor: colors.blackDisabled,\n },\n },\n};\n","import { actionCard } from './late-ocean/actionCard';\nimport { avatar } from './late-ocean/avatar';\nimport { bottomSheet } from './late-ocean/bottomSheet';\nimport { button } from './late-ocean/button';\nimport { card } from './late-ocean/card';\nimport { cardModal } from './late-ocean/cardModal';\nimport { choices } from './late-ocean/choices';\nimport { colors } from './late-ocean/colors';\nimport { dialogModal } from './late-ocean/dialogModal';\nimport { feedbackMessage } from './late-ocean/feedback';\nimport { forms } from './late-ocean/forms';\nimport { fullscreenModal } from './late-ocean/fullscreenModal';\nimport { highlight } from './late-ocean/highlight';\nimport { icon } from './late-ocean/icon';\nimport { iconButton } from './late-ocean/iconButton';\nimport { listItem } from './late-ocean/listItem';\nimport { pageLoader } from './late-ocean/pageLoader';\nimport { picker } from './late-ocean/picker';\nimport { shadows } from './late-ocean/shadows';\nimport { skeleton } from './late-ocean/skeleton';\nimport { spacing } from './late-ocean/spacing';\nimport { tag } from './late-ocean/tag';\nimport { tooltip } from './late-ocean/tooltip';\nimport { typography } from './late-ocean/typography';\nimport { verticalSteps } from './late-ocean/verticalSteps';\nimport { lateOceanColorPalette } from './palettes/lateOceanColorPalette';\n\nconst breakpoints = {\n values: {\n base: 0,\n small: 480,\n medium: 768,\n large: 1024,\n wide: 1280,\n },\n min: {\n smallBreakpoint: 'min-width: 480px',\n mediumBreakpoint: 'min-width: 768px',\n largeBreakpoint: 'min-width: 1024px',\n wideBreakpoint: 'min-width: 1280px',\n },\n max: {\n smallBreakpoint: 'max-width: 479px',\n mediumBreakpoint: 'max-width: 767px',\n largeBreakpoint: 'max-width: 1023px',\n wideBreakpoint: 'max-width: 1279px',\n },\n};\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : seperate brand color usage definition from proper theme definition and add typings - https://ornikar.atlassian.net/browse/CME-156\nexport const theme = {\n spacing,\n getSpacing: (multiplier: number): number => spacing * multiplier,\n colors,\n palettes: { lateOcean: lateOceanColorPalette },\n avatar,\n breakpoints,\n button,\n bottomSheet,\n card,\n cardModal,\n choices,\n dialogModal,\n feedbackMessage,\n forms,\n highlight,\n icon,\n iconButton,\n listItem,\n pageLoader,\n picker,\n shadows,\n skeleton,\n tag,\n tooltip,\n typography,\n fullscreenModal,\n actionCard,\n verticalSteps,\n};\n\nexport type Theme = typeof theme;\n","import { createContext, useContext } from 'react';\nimport type { Theme as KittTheme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\n\nexport interface KittThemeContextValue {\n kitt: KittTheme;\n}\n\nexport const KittThemeContext = createContext<KittThemeContextValue>({\n kitt: kittTheme,\n});\n\nexport const useTheme = (): KittThemeContextValue => useContext(KittThemeContext);\n","import type { ActionCardVariant } from '../../themes/late-ocean/actionCard';\n\nexport const getStateKey = (isHovered?: boolean, isPressed?: boolean, isFocused?: boolean): keyof ActionCardVariant => {\n if (isPressed) {\n return 'pressed';\n }\n\n if (isFocused) {\n return 'focused';\n }\n\n if (isHovered) {\n return 'hovered';\n }\n\n return 'default';\n};\n","import type { ActionCardTheme } from '../../themes/late-ocean/actionCard';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from '../types';\n\nexport const getThemeName = (\n variant: ActionCardVariantType,\n borderVariant: ActionCardBorderVariantType,\n): keyof ActionCardTheme => {\n if (borderVariant === 'soft') {\n return 'primary-border-soft';\n }\n if (borderVariant === 'hard') {\n return 'primary-border-hard';\n }\n\n return variant;\n};\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from './types';\nimport { getStateKey } from './utils/getStateKey';\nimport { getThemeName } from './utils/getThemeName';\n\ninterface ActionCardContentWrapperProps {\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n variant: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardContentWrapper({\n isHovered,\n isPressed,\n isFocused,\n variant,\n borderVariant = 'none',\n children,\n}: ActionCardContentWrapperProps): ReactNode {\n const theme = useTheme();\n const state = getStateKey(isHovered, isPressed, isFocused);\n\n if (__DEV__ && borderVariant !== 'none' && variant !== 'primary') {\n throw new Error(`borderVariant=${borderVariant} is only allowed with variant=primary`);\n }\n\n const { translateY } = theme.kitt.actionCard[variant][state];\n\n const sharedTransform = translateY\n ? {\n transform: [{ translateY }],\n }\n : {};\n\n const themeName = getThemeName(variant, borderVariant);\n\n return (\n <View\n _ios={{ style: sharedTransform }}\n _android={{ style: sharedTransform }}\n _web={{\n style: {\n transform: `translateY(${translateY}px)`,\n },\n }}\n width=\"100%\"\n backgroundColor={`kitt.actionCard.${themeName}.${state}.backgroundColor`}\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderColor={`kitt.actionCard.${themeName}.${state}.borderColor`}\n borderWidth={`kitt.actionCard.${themeName}.${state}.borderWidth`}\n shadow={`kitt.actionCard.${themeName}.${state}.shadow`}\n flexGrow={1}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardVariantType } from './types';\n\ninterface ActionCardDisabledProps {\n variant: ActionCardVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardDisabled({ variant, children }: ActionCardDisabledProps): ReactNode {\n return (\n <View\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderStyle=\"solid\"\n borderWidth={`kitt.actionCard.${variant}.disabled.borderWidth`}\n borderColor={`kitt.actionCard.${variant}.disabled.borderColor`}\n backgroundColor={`kitt.actionCard.${variant}.disabled.backgroundColor`}\n shadow={`kitt.actionCard.${variant}.disabled.shadow`}\n flexGrow={1}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, ViewProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { ActionCardContentWrapper } from './ActionCardContentWrapper';\nimport { ActionCardDisabled } from './ActionCardDisabled';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from './types';\n\nexport interface ActionCardProps extends ViewProps {\n variant?: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\n disabled?: boolean;\n children: ReactNode;\n /** @internal used by ActionCard.Pressable only */\n isHovered?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isPressed?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isFocused?: boolean;\n}\n\nexport function ActionCard({\n children,\n variant = 'secondary',\n borderVariant = 'none',\n disabled,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ActionCardProps): ReactNode {\n return (\n <View {...props}>\n {disabled ? (\n <ActionCardDisabled variant={variant}>{children}</ActionCardDisabled>\n ) : (\n <ActionCardContentWrapper\n variant={variant}\n borderVariant={borderVariant}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n {children}\n </ActionCardContentWrapper>\n )}\n </View>\n );\n}\n\nexport interface ActionCardPressableProps\n extends ActionCardProps,\n Pick<PressableProps, 'testID' | 'href' | 'hrefAttrs' | 'accessibilityRole' | 'onPress'> {\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n}\n\nconst ActionCardPressable = forwardRef<typeof Pressable, ActionCardPressableProps>(\n (\n {\n children,\n variant = 'secondary',\n borderVariant = 'none',\n disabled,\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n }: ActionCardPressableProps,\n ref,\n ): ReactElement => {\n return (\n <Pressable\n ref={ref}\n accessibilityRole={accessibilityRole}\n disabled={disabled}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n width=\"100%\"\n onPress={onPress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <ActionCard\n variant={variant}\n borderVariant={borderVariant}\n disabled={disabled}\n isHovered={isHovered || isHoveredInternal}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n >\n {children}\n </ActionCard>\n )}\n </Pressable>\n );\n },\n);\n\nActionCard.Pressable = ActionCardPressable;\n","import type { ICenterProps, IStackProps } from 'native-base';\nimport {\n Center as NativeBaseCenter,\n HStack as NativeBaseHStack,\n Stack as NativeBaseStack,\n VStack as NativeBaseVStack,\n} from 'native-base';\nimport type { InterfaceStackProps } from 'native-base/lib/typescript/components/primitives/Stack/Stack';\nimport type { SafeAreaProps, SpaceType } from 'native-base/lib/typescript/components/types';\nimport type { ViewProps as NativeViewProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { KittResponsivePropOrValue } from '../KittBreakpoints';\nimport type {\n ForwardRefComponent,\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedChildrenProp,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedStackProps = Extract<\n keyof InterfaceStackProps,\n | 'divider'\n | 'reversed'\n | 'direction'\n | 'isHovered'\n | 'isFocused'\n | 'isDisabled'\n | 'isInvalid'\n | 'isReadOnly'\n | keyof NativeViewProps\n | keyof SafeAreaProps\n>;\n\nexport interface StackProps\n extends Pick<\n IStackProps,\n | NativeBaseAcceptedChildrenProp\n | NativeBaseAcceptedStackProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {\n space?: KittResponsivePropOrValue<SpaceType>;\n}\n\nexport const Stack = NativeBaseStack as ForwardRefComponent<StackProps>;\n\nexport interface VStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'column' | 'column-reverse'>;\n}\nexport const VStack = NativeBaseVStack as ForwardRefComponent<VStackProps>;\n\nexport interface HStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'row' | 'row-reverse'>;\n}\nexport const HStack = NativeBaseHStack as ForwardRefComponent<HStackProps>;\n\nexport interface CenterProps\n extends Pick<\n ICenterProps,\n | keyof NativeViewProps\n | keyof SafeAreaProps\n | NativeBaseAcceptedChildrenProp\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Center = NativeBaseCenter as ForwardRefComponent<CenterProps>;\n","import type { KittBreakpointNameEnum } from '../../KittBreakpoints';\n\nexport type ResponsiveRecordValue<T> = { [key in KittBreakpointNameEnum]?: T };\nexport type ResponsiveValue<T> = T | ResponsiveRecordValue<T> | undefined;\n\nexport function createResponsiveStyleFromProp<PossibleStyleValue>(\n responsiveBooleanValue: ResponsiveValue<boolean | undefined>,\n valueIfTrue: PossibleStyleValue,\n valueIfFalse?: PossibleStyleValue,\n): ResponsiveValue<PossibleStyleValue> {\n // Handles simple boolean values\n if (!responsiveBooleanValue) return valueIfFalse;\n\n if (responsiveBooleanValue === true) return valueIfTrue;\n\n // Handles responsive value object\n const keys = Object.keys(responsiveBooleanValue) as KittBreakpointNameEnum[];\n\n if (keys.length === 0) return valueIfFalse;\n\n const responsiveValue = {} as ResponsiveRecordValue<PossibleStyleValue>;\n\n keys.forEach((breakpointName) => {\n responsiveValue[breakpointName] = responsiveBooleanValue[breakpointName] ? valueIfTrue : valueIfFalse;\n });\n\n return responsiveValue;\n}\n","export function warn(message: string): void {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(message);\n }\n}\n\nexport function deprecatedMessage(symbol: string, deprecation: string, replaceBy?: string): void {\n const replaceMessage = replaceBy === undefined ? '' : `, please use ${replaceBy} instead`;\n\n warn(`[Deprecation] in ${symbol}: ${deprecation} is deprecated${replaceMessage}.`);\n}\n\nexport function deprecatedInComponent(component: string, deprecation: string, replaceBy?: string): void {\n deprecatedMessage(`<${component} />`, deprecation, replaceBy);\n}\n","import type { ButtonType, ButtonVariant } from '../Button';\n\ninterface GetCurrentBackgroundColorParams {\n type: ButtonType;\n variant: ButtonVariant;\n isDisabled?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled,\n isHovered,\n isPressed,\n}: GetCurrentBackgroundColorParams): string {\n if (isDisabled) return 'kitt.button.disabled.default.backgroundColor';\n\n const baseKey = `kitt.button.${type}.${variant}`;\n\n if (isHovered || isPressed) {\n return `${baseKey}.hoverBackgroundColor`;\n }\n\n return `${baseKey}.backgroundColor`;\n}\n","import { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { getCurrentBackgroundColorForNativeBaseTheme } from './utils/getCurrentBackgroundColorForNativeBaseTheme';\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n disabled?: boolean;\n variant: ButtonVariant;\n type: ButtonType;\n isHovered?: boolean;\n isPressed?: boolean;\n isStretch?: ButtonProps['stretch'];\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({\n disabled,\n animatedStyles,\n children,\n isHovered,\n isPressed,\n variant,\n type,\n}: AnimatedContainerProps): ReactNode {\n const currentBackgroundColor = getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled: !!disabled,\n isHovered,\n isPressed,\n });\n const sx = useSx();\n const styles = sx({\n borderRadius: 'kitt.button.borderRadius',\n backgroundColor: currentBackgroundColor,\n });\n return <Animated.View style={disabled ? [styles] : [styles, animatedStyles]}>{children}</Animated.View>;\n}\n","export const KittBreakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = (typeof KittBreakpoints)[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = (typeof KittBreakpointsMax)[keyof typeof KittBreakpointsMax];\n\nexport enum KittBreakpointNameEnum {\n BASE = 'base',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n WIDE = 'wide',\n}\n\nexport type KittResponsiveProp<Value> = Record<KittBreakpointNameEnum.BASE, Value> &\n Partial<Record<Exclude<KittBreakpointNameEnum, KittBreakpointNameEnum.BASE>, Value>>;\n\nexport type KittResponsivePropOrValue<Value> = KittResponsiveProp<Value> | Value;\n","export const typographyColors = [\n 'black',\n 'black-anthracite',\n 'black-disabled',\n 'black-light',\n 'white',\n 'white-light',\n 'primary',\n 'primary-light',\n 'accent',\n 'success',\n 'danger',\n 'warning',\n] as const;\n","import type { TypographyColor } from '../Typography';\n\nexport function getNBThemeColorFromColorProps(colorName: TypographyColor): string {\n return `kitt.typography.${colorName}`;\n}\n","import type { ITextProps } from 'native-base';\nimport type { ExtendedTypographyColor, TypographyColor } from '../Typography';\nimport { typographyColors } from '../typographyColors';\nimport { getNBThemeColorFromColorProps } from './getNBThemeColorFromColorProps';\n\nexport function isColorTypographyColor(colorName: unknown): colorName is TypographyColor {\n if (!colorName || typeof colorName !== 'string') return false;\n\n return (typographyColors as readonly string[]).includes(colorName);\n}\n\nexport function getTypographyColorValue(colorName: ExtendedTypographyColor | undefined): ITextProps['color'] {\n if (!colorName) return undefined;\n\n if (typeof colorName === 'string') {\n if (isColorTypographyColor(colorName)) {\n return getNBThemeColorFromColorProps(colorName);\n }\n } else if (typeof colorName === 'object') {\n return Object.fromEntries(\n Object.entries(colorName).map(([breakpointName, value]) => [\n breakpointName,\n getTypographyColorValue(value as ExtendedTypographyColor | undefined),\n ]),\n );\n }\n\n return colorName;\n}\n","import type { TypographyHeadingImpactType, TypographyHeadingType, TypographyType } from '../Typography';\n\nconst isTypeHeadings = (type: TypographyType): type is TypographyHeadingType =>\n type.startsWith('header') || type.startsWith('heading');\n\nconst isTypeHeadingsImpact = (type: TypographyType): type is TypographyHeadingImpactType =>\n type.startsWith('heading-impact') || type.startsWith('header-impact');\n\nexport type TypographyFamily = 'bodies' | 'headings' | 'headings-impact';\n\nexport const getTypographyFamily = (type: TypographyType): TypographyFamily => {\n if (isTypeHeadingsImpact(type)) return 'headings-impact';\n if (isTypeHeadings(type)) return 'headings';\n return 'bodies';\n};\n\nexport const getTypographyFamilyWithAncestorValue = <Type extends TypographyType>(\n type: Type | undefined,\n typographyFamilyInContext: TypographyFamily | null,\n): TypographyFamily => {\n if (type) return getTypographyFamily(type);\n if (typographyFamilyInContext != null) return typographyFamilyInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n","import type { ITextProps } from 'native-base';\nimport { Text as NBText, useSx } from 'native-base';\nimport type { PlatformProps } from 'native-base/lib/typescript/components/types';\nimport type { FC, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { TextProps, TextStyle } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { NativeBaseAcceptedFlexboxProps } from '../native-base/acceptable-native-base-props';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { typographyColors } from './typographyColors';\nimport { getTypographyColorValue } from './utils/getTypographyColorValue';\nimport type { TypographyFamily } from './utils/getTypographyFamily';\nimport { getTypographyFamily, getTypographyFamilyWithAncestorValue } from './utils/getTypographyFamily';\n\nexport type TypographyColor = (typeof typographyColors)[number];\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nexport type ExtendedTypographyColor = TypographyColor | NonNullable<ITextProps['color']> | string;\n\ntype LegacyHeadingType = `header${'1' | '2' | '3' | '4' | '5'}`;\ntype NonLegacyHeadingType = `heading-${'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\nexport type TypographyHeadingType = LegacyHeadingType | NonLegacyHeadingType;\n/** @deprecated use TypographyHeadingImpactType instead */\nexport type TypographyHeaderType = TypographyHeadingType;\n\ntype LegacyTypographyHeadingImpactType = `header-impact-${'xxxs' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\ntype NonLegacyTypographyHeadingImpactType = `heading-impact-${'xxxs' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\nexport type TypographyHeadingImpactType = LegacyTypographyHeadingImpactType | NonLegacyTypographyHeadingImpactType;\n/** @deprecated use TypographyHeadingImpactType instead */\nexport type TypographyHeaderImpactType = TypographyHeadingImpactType;\n\ntype LegacyTypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\ntype NonLegacyTypographyBodyType = `body-${'xs' | 's' | 'm' | 'l' | 'xl'}`;\nexport type TypographyBodyType = LegacyTypographyBodyType | NonLegacyTypographyBodyType;\n\nexport type TypographyType = TypographyHeadingType | TypographyHeadingImpactType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\n\nconst TypographyFamilyContext = createContext<TypographyFamily | null>(null);\nconst TypographyTypeContext = createContext<TypographyBreakpointType | null>(null);\nconst TypographyColorContext = createContext<ExtendedTypographyColor>('black');\n\nexport function useTypographyColor(): ExtendedTypographyColor {\n return useContext(TypographyColorContext);\n}\n\nexport function useTypographyAncestorType(): TypographyBreakpointType | null {\n return useContext(TypographyTypeContext);\n}\n\nconst TypographyDefaultColorContext = createContext<ExtendedTypographyColor | undefined>(undefined);\n\nfunction useTypographyDefaultColor(): ExtendedTypographyColor | undefined {\n return useContext(TypographyDefaultColorContext);\n}\n\nexport function getTypographyTypeConfigKeyFromTypeName(\n breakpointName: KittBreakpointNameEnum,\n): keyof TypographyTypeConfig {\n return breakpointName === KittBreakpointNameEnum.BASE || breakpointName === KittBreakpointNameEnum.SMALL\n ? 'baseAndSmall'\n : 'mediumAndWide';\n}\n\nexport type TypographyBreakpointType = Partial<KittResponsiveProp<TypographyType>>;\n\ntype NativeBaseTextPropsAcceptedProps = Pick<\n ITextProps,\n | keyof Except<TextProps, 'accessibilityRole'>\n | 'textAlign'\n | 'textTransform'\n | 'underline'\n | 'strikeThrough'\n | NativeBaseAcceptedFlexboxProps\n> &\n Pick<TextStyle, 'cursor' | 'transitionProperty' | 'transitionDuration' | 'transitionTimingFunction'>;\n// TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n// & {\n// _active?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// _hover?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// } ;\n\nexport interface TypographyProps\n extends TypographyBreakpointType,\n NativeBaseTextPropsAcceptedProps,\n Pick<PlatformProps<NativeBaseTextPropsAcceptedProps>, '_android' | '_ios' | '_web'> {\n type?: TypographyBreakpointType;\n // Find mapping for web here: https://www.w3.org/TR/html-aria/\n accessibilityRole: NonNullable<TextProps['accessibilityRole']> | 'paragraph' | null;\n /** Default to regular for bodies and bold of headers. Is not inherited. */\n variant?: TypographyVariant;\n /** Inherited from parent Typography if not specified, or black if no Typography parent found. */\n color?: ExtendedTypographyColor;\n children: ReactNode;\n}\nexport type TypographyPropsWithoutAccessibilityRole = Except<TypographyProps, 'accessibilityRole'>;\n\nexport function createNativeBaseFontSize(type: TypographyBreakpointType): ITextProps['fontSize'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const fontSizeForNativeBase: ITextProps['fontSize'] = {};\n [\n KittBreakpointNameEnum.BASE,\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n fontSizeForNativeBase[typeName] = `${getTypographyTypeConfigKeyFromTypeName(typeName)}.${value}`;\n }\n });\n\n return fontSizeForNativeBase;\n}\n\nexport function Typography({\n accessibilityRole,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n variant,\n color,\n ...otherProps\n}: TypographyProps): ReactNode {\n const sx = useSx();\n\n const typographyFamilyInContext = useContext(TypographyFamilyContext);\n\n const defaultColor = useTypographyDefaultColor();\n\n const hasTypographyAncestor = typographyFamilyInContext !== null;\n const baseOrDefaultToBody = hasTypographyAncestor ? type.base : type.base ?? 'body';\n const typographyFamily = getTypographyFamilyWithAncestorValue(baseOrDefaultToBody, typographyFamilyInContext);\n\n // force bold for headings, default to regular for bodies\n const nonNullableVariant: TypographyVariant =\n variant ?? (typographyFamily === 'headings' || typographyFamily === 'headings-impact' ? 'bold' : 'regular');\n\n const fontSizeForNativeBase = createNativeBaseFontSize({ ...type, base: baseOrDefaultToBody });\n\n const currentColor = !color && !hasTypographyAncestor ? defaultColor : color;\n const currentColorValue = getTypographyColorValue(currentColor);\n\n const colorStyles = sx({\n color: currentColorValue,\n textDecorationColor: currentColorValue,\n });\n\n if (process.env.NODE_ENV !== 'production') {\n Object.entries(type).forEach(([key, value]) => {\n if (value && getTypographyFamily(value) !== typographyFamily) {\n throw new Error(`Invalid value for \"${key}\": \"${value}\" is ${typographyFamily}. Don't mix families.`);\n }\n });\n }\n\n const text = (\n <NBText\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n fontSize={fontSizeForNativeBase}\n lineHeight={hasTypographyAncestor ? undefined : fontSizeForNativeBase}\n fontWeight={`${typographyFamily}.${nonNullableVariant}`}\n fontFamily={`${typographyFamily}.${nonNullableVariant}`}\n {...colorStyles}\n {...otherProps}\n />\n );\n\n const content = baseOrDefaultToBody ? (\n <TypographyFamilyContext.Provider value={typographyFamily}>\n <TypographyTypeContext.Provider value={type}>{text}</TypographyTypeContext.Provider>\n </TypographyFamilyContext.Provider>\n ) : (\n text\n );\n\n return color ? <TypographyColorContext.Provider value={color}>{content}</TypographyColorContext.Provider> : content;\n}\n\nexport type TypographyTextProps = SetOptional<TypographyProps, 'accessibilityRole'>;\nfunction TypographyText(props: TypographyTextProps): ReactNode {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactNode {\n // role 'paragraph' does not exist in native, it's a web feature only.\n return <Typography accessibilityRole={Platform.OS === 'web' ? 'paragraph' : null} {...props} />;\n}\n\nexport type TypographyHeadingProps = TypographyPropsWithoutAccessibilityRole;\n\nconst createHeading = (\n level: number,\n /** @deprecated accessibility and design should be independent */\n defaultBase?: TypographyHeadingProps['base'],\n): FC<TypographyHeadingProps> => {\n // https://github.com/necolas/react-native-web/issues/401\n function TypographyHeading(props: TypographyHeadingProps): ReactNode {\n return <Typography accessibilityRole=\"header\" base={defaultBase} {...props} aria-level={level} />;\n }\n TypographyHeading.displayName = `TypographyHeading${level}`;\n return TypographyHeading;\n};\n\nTypography.SetDefaultColor = TypographyDefaultColorContext.Provider;\n\nTypography.Text = TypographyText;\nTypography.Paragraph = TypographyParagraph;\nTypography.Header1 = createHeading(1);\nTypography.Header2 = createHeading(2);\nTypography.Header3 = createHeading(3);\nTypography.Header4 = createHeading(4);\nTypography.Header5 = createHeading(5);\nTypography.Header6 = createHeading(6);\n\n/** @deprecated use Typography.Header1 */\nTypography.h1 = createHeading(1, 'header1');\n/** @deprecated use Typography.Header2 */\nTypography.h2 = createHeading(2, 'header2');\n/** @deprecated use Typography.Header3 */\nTypography.h3 = createHeading(3, 'header3');\n/** @deprecated use Typography.Header4 */\nTypography.h4 = createHeading(4, 'header4');\n/** @deprecated use Typography.Header6 */\nTypography.h5 = createHeading(5, 'header5');\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface IconProps {\n icon: ReactElement;\n size?: ViewProps['size'];\n color: ViewProps['color'];\n align?: ViewStyle['alignSelf'];\n testID?: ViewProps['testID'];\n}\n\nexport function Icon({ icon, size = 'kitt.icon.defaultSize', align = 'auto', color }: IconProps): ReactNode {\n const clonedIcon = cloneElement(icon, { color });\n\n return (\n <View color={color} alignSelf={align} size={size}>\n {clonedIcon}\n </View>\n );\n}\n","import { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { IconProps } from '../Icon/Icon';\nimport { Icon } from '../Icon/Icon';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { ViewProps } from '../native-base/primitives';\nimport type { TypographyIconConfig } from '../themes/late-ocean/icon';\nimport type { SetNonNullable } from '../utils/typeUtils';\nimport type { TypographyBreakpointType, TypographyProps } from './Typography';\nimport { useTypographyAncestorType, useTypographyColor } from './Typography';\nimport { getTypographyColorValue } from './utils/getTypographyColorValue';\n\nfunction getIconSizeConfigKeyFromTypeName(breakpointName: KittBreakpointNameEnum): keyof TypographyIconConfig {\n return breakpointName === KittBreakpointNameEnum.BASE || breakpointName === KittBreakpointNameEnum.SMALL\n ? 'baseAndSmall'\n : 'mediumAndWide';\n}\n\nfunction createNativeBaseIconSize(type: TypographyBreakpointType): ViewProps['size'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const iconSizeForNativeBase: ViewProps['size'] = {};\n [\n KittBreakpointNameEnum.BASE,\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n iconSizeForNativeBase[typeName] = `kitt.icon.typographySize.${value}.${getIconSizeConfigKeyFromTypeName(\n typeName,\n )}.iconSize`;\n }\n });\n\n return iconSizeForNativeBase;\n}\n\nexport interface TypographyIconProps extends Except<IconProps, 'color'> {\n color?: TypographyProps['color'] | 'inherit';\n}\n\nfunction TypographyIconSpecifiedColor({\n color,\n size,\n ...props\n}: SetNonNullable<TypographyIconProps, 'color'>): ReactNode {\n const ancestorType = useTypographyAncestorType();\n const iconSize = size || (ancestorType ? createNativeBaseIconSize(ancestorType) : undefined);\n const colorValue = getTypographyColorValue(color);\n const sx = useSx();\n\n const { color: colorStyleValue } = sx({ color: colorValue });\n\n return <Icon {...props} size={iconSize} color={colorStyleValue} />;\n}\n\nfunction TypographyIconInheritColor(props: TypographyIconProps): ReactNode {\n const color = useTypographyColor();\n\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n}\n\nexport function TypographyIcon({ color, ...props }: TypographyIconProps): ReactNode {\n if (color) {\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n }\n\n return <TypographyIconInheritColor {...props} />;\n}\n","import type { TypographyColor } from '../../typography/Typography';\nimport type { ButtonType, ButtonVariant } from '../Button';\n\nexport const getButtonTextColorByType = (\n type: ButtonType,\n variant: ButtonVariant,\n isHovered: boolean,\n isPressed: boolean,\n): TypographyColor => {\n const isButtonInteractedWith = isHovered || isPressed;\n\n switch (type) {\n case 'primary':\n return variant === 'ghost' ? 'primary' : 'white';\n case 'danger':\n return 'danger';\n case 'subtle':\n return isButtonInteractedWith ? 'primary-light' : 'primary';\n case 'subtle-dark':\n return isButtonInteractedWith ? 'black-light' : 'black';\n case 'default':\n return variant === 'ghost' ? 'white' : 'black';\n default:\n return 'black';\n }\n};\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { TypographyIconProps } from '../typography/TypographyIcon';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { getButtonTextColorByType } from './utils/getButtonTextColorByType';\n\ninterface ButtonIconProps {\n icon: NonNullable<ButtonContentProps['icon']>;\n iconPosition: ButtonContentProps['iconPosition'];\n color: TypographyIconProps['color'];\n testID?: string;\n}\n\nfunction ButtonIcon({ icon, color, iconPosition, testID }: ButtonIconProps): ReactNode {\n return (\n <View marginRight={iconPosition === 'left' ? 'kitt.2' : 0} marginLeft={iconPosition === 'right' ? 'kitt.2' : 0}>\n <TypographyIcon icon={icon} testID={testID} color={color} />\n </View>\n );\n}\n\ninterface ButtonContentProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n variant: NonNullable<ButtonVariant>;\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n}\n\ninterface ButtonContentChildrenProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n color: TypographyColor;\n}\n\nexport function ButtonContentChildren({\n type,\n icon,\n iconPosition,\n color,\n children,\n}: ButtonContentChildrenProps): ReactNode {\n if (__DEV__) {\n if (!(children || icon)) {\n throw new Error('kitt(Button): You should provide at least a children or a icon');\n }\n }\n\n if (!children) {\n return (\n <TypographyIcon\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n icon={icon!}\n color={color}\n />\n );\n }\n\n const buttonIconSharedProps = {\n type,\n iconPosition,\n color,\n };\n\n // Make the multilines case work properly on native - Breaks the web implem\n const sharedNativeStyle = {\n flexShrink: 1,\n };\n\n return (\n <View alignItems=\"center\" justifyContent=\"center\" flexDirection=\"row\">\n {icon && iconPosition === 'left' ? (\n <ButtonIcon {...buttonIconSharedProps} testID=\"button.ButtonContent.leftButtonIcon\" icon={icon} />\n ) : null}\n\n <Typography.Text\n /* On native code, this is the only way to ensure that the text is centered */\n textAlign=\"center\"\n _android={sharedNativeStyle}\n _ios={sharedNativeStyle}\n base=\"body\"\n variant=\"bold\"\n color={color}\n >\n {children}\n </Typography.Text>\n\n {icon && iconPosition === 'right' ? <ButtonIcon {...buttonIconSharedProps} icon={icon} /> : null}\n </View>\n );\n}\n\nexport function ButtonContent({\n type,\n variant,\n isDisabled,\n icon,\n children,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ButtonContentProps): ReactNode {\n const color = isDisabled ? 'black-light' : getButtonTextColorByType(type, variant, isHovered, isPressed);\n\n return (\n <View\n _web={{\n // Make the multilines case work properly on web\n // We don't apply those styles on native because it will break\n flexGrow: 0,\n flexShrink: 1,\n flexBasis: 'auto',\n }}\n >\n <ButtonContentChildren icon={icon} type={type} isDisabled={isDisabled} color={color} {...props}>\n {children}\n </ButtonContentChildren>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ButtonTheme } from '../themes/late-ocean/button';\nimport type { ButtonSize } from './Button';\n\ninterface GetCurrentPaddingConfigParams {\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nfunction getCurrentPaddingConfig({ size, isDisabled }: GetCurrentPaddingConfigParams): keyof ButtonTheme['padding'] {\n if (size === 'large') return 'large';\n if (size === 'xLarge') return 'xLarge';\n if (isDisabled) return 'disabled';\n\n return 'default';\n}\n\ninterface ButtonPaddingProps {\n children: ReactNode;\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nexport function ButtonPadding({ children, size, isDisabled }: ButtonPaddingProps): ReactNode {\n const currentPaddingKey = getCurrentPaddingConfig({ size, isDisabled });\n\n return (\n <View\n position=\"relative\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n paddingX={`kitt.button.padding.${currentPaddingKey}.horizontal`}\n paddingY={`kitt.button.padding.${currentPaddingKey}.vertical`}\n minHeight=\"kitt.button.minHeight\"\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\n\nexport function DisabledBorder(): ReactNode {\n return (\n <View\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n borderWidth=\"kitt.button.borderWidth.disabled\"\n borderColor=\"kitt.button.disabled.default.borderColor\"\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport type { DimensionValue } from 'react-native';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ButtonType, ButtonVariant } from './Button';\n\ninterface FocusBorderProps {\n type: ButtonType;\n variant: ButtonVariant;\n isFocused?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nexport function FocusBorder({ type, variant, isFocused, isHovered, isPressed }: FocusBorderProps): ReactNode {\n const {\n kitt: { button: buttonTheme },\n } = useTheme();\n\n const hasPointerInteraction = isPressed || isHovered;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)` as DimensionValue,\n height: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)` as DimensionValue,\n transitionProperty: 'opacity',\n transitionDuration: buttonTheme.transition.duration,\n transitionTimingFunction: buttonTheme.transition.timingFunction,\n },\n }}\n opacity={isFocused && !hasPointerInteraction ? 1 : 0}\n position=\"absolute\"\n left={-buttonTheme.borderWidth.focus}\n top={-buttonTheme.borderWidth.focus}\n borderWidth=\"kitt.button.borderWidth.focus\"\n borderColor={`kitt.button.${type}.${variant}.focusBorderColor`}\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { KittThemeContextValue } from '../KittThemeContext';\nimport type { BaseButtonTheme, BaseButtonWithVariant } from '../themes/late-ocean/button';\nimport type { ButtonType, ButtonVariant } from './Button';\n\nconst hasVariant = (button: BaseButtonTheme, variant: ButtonVariant): button is BaseButtonWithVariant => {\n return variant in button;\n};\n\nexport function getVariantValuesIfExist<V extends ButtonVariant>(\n theme: KittThemeContextValue,\n type: ButtonType,\n variant: ButtonVariant,\n): BaseButtonTheme['default'] | BaseButtonWithVariant[V] {\n const button = theme.kitt.button[type];\n\n if (hasVariant(button, variant)) {\n return button[variant];\n }\n\n return theme.kitt.button[type].default;\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { ButtonType, ButtonVariant } from '../Button';\nimport { getVariantValuesIfExist } from '../getVariantValuesIfExist';\n\nexport interface UseNativeAnimationOptions {\n type: ButtonType;\n variant: ButtonVariant;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n type,\n variant,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { backgroundColor, pressedBackgroundColor } = getVariantValuesIfExist(theme, type, variant);\n const { scale } = theme.kitt.button;\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n transform: [\n {\n scale: withSpring(pressed.value ? scale.base.active : scale.base.default),\n },\n ],\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { ButtonProps } from '../Button';\n\nexport const getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xLarge';\n return size;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { Pressable as NativePressable } from 'react-native';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { deprecatedInComponent } from '../utils/warnings';\nimport { AnimatedContainer } from './AnimatedContainer';\nimport { ButtonContent } from './ButtonContent';\nimport { ButtonPadding } from './ButtonPadding';\nimport { DisabledBorder } from './DisabledBorder';\nimport { FocusBorder } from './FocusBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getButtonSize } from './utils/getButtonSize';\n\nexport type SubtleButtonType = 'subtle' | 'subtle-dark';\nexport type ButtonType = 'primary' | 'default' | SubtleButtonType | 'danger';\nexport type ButtonSize = 'large' | 'xLarge';\nexport type ButtonVariant = 'default' | 'ghost';\n\ntype IconPosition = 'right' | 'left';\n\nconst allowedGhostTypes = ['primary', 'default', 'danger'];\n\nexport interface ButtonProps\n extends Pick<PressableProps, 'onPress' | 'onHoverIn' | 'onHoverOut' | 'onFocus' | 'onBlur'> {\n children?: ReactNode;\n type?: ButtonType;\n variant?: ButtonVariant;\n disabled?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n /**\n * @deprecated use `size` instead\n */\n large?: boolean;\n /**\n * @deprecated use `size` instead\n */\n xLarge?: boolean;\n size?: ButtonSize;\n icon?: ReactElement;\n iconPosition?: IconPosition;\n testID?: PressableProps['testID'];\n href?: PressableProps['href'];\n hrefAttrs?: PressableProps['hrefAttrs'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n /**\n * @deprecated props className is not supported\n */\n className?: string;\n style?: PressableProps['style'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\nexport const Button = forwardRef<typeof NativePressable, ButtonProps>(\n (\n {\n children,\n type = 'default',\n variant = 'default',\n disabled,\n stretch,\n large,\n xLarge,\n icon,\n size: sizeProp,\n iconPosition = 'left',\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n onHoverIn,\n onHoverOut,\n onFocus,\n onBlur,\n }: ButtonProps,\n ref,\n ): ReactElement => {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n type,\n variant,\n });\n\n if (__DEV__ && variant === 'ghost' && !allowedGhostTypes.includes(type)) {\n throw new Error('variant=ghost is only allowed with type=primary or default');\n }\n\n if (large || xLarge) {\n const deprecatedProp = large ? 'large' : 'xLarge';\n deprecatedInComponent('Button', `${deprecatedProp} prop`, 'size');\n }\n\n const size = getButtonSize({ large, xLarge, size: sizeProp });\n\n return (\n <Pressable\n ref={ref}\n disabled={disabled}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n /* Emulate inline-* css display by making the button taking only its necessary space */\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'flex-start')}\n minWidth=\"kitt.button.minWidth\"\n maxWidth={createResponsiveStyleFromProp(stretch, '100%', 'kitt.button.maxWidth')}\n width={createResponsiveStyleFromProp(stretch, '100%', 'auto')}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n onHoverIn={onHoverIn}\n onHoverOut={onHoverOut}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n type={type}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n disabled={!!disabled}\n variant={variant}\n isStretch={stretch}\n >\n <ButtonPadding size={size} isDisabled={disabled}>\n <ButtonContent\n type={type}\n variant={variant}\n isDisabled={disabled}\n icon={icon}\n iconPosition={iconPosition}\n isHovered={isHovered}\n isPressed={isPressed}\n isFocused={isFocused}\n >\n {children}\n </ButtonContent>\n {disabled ? <DisabledBorder /> : null}\n <FocusBorder\n type={type}\n variant={variant}\n isFocused={isFocused || isFocusedInternal}\n isHovered={isHovered}\n isPressed={isPressed}\n />\n </ButtonPadding>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement, useEffect, useRef } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nexport interface SpinningIconProps {\n icon: ReactElement;\n color?: string;\n}\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactNode {\n if (process.env.NODE_ENV !== 'production' && !color) {\n throw new Error(`Invalid color passed to SpinningIcon: ${String(color)}`);\n }\n const clonedIcon = cloneElement(icon, { color });\n const animationRef = useRef(new Animated.Value(0));\n\n const rotation = animationRef.current.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg'],\n });\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n const animation = Animated.loop(\n Animated.timing(animationRef.current, {\n toValue: 1,\n duration: 1100,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n );\n animation.start();\n return () => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n animation.stop();\n return undefined;\n };\n }, []);\n\n return <Animated.View style={{ transform: [{ rotate: rotation }] }}>{clonedIcon}</Animated.View>;\n}\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport type { SpinningIconProps } from '../Icon/SpinningIcon';\nimport { SpinningIcon } from '../Icon/SpinningIcon';\n\nexport interface LoaderIconProps {\n color?: SpinningIconProps['color'];\n}\n\nexport function LoaderIcon({ color }: LoaderIconProps): ReactNode {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import type { ComponentPropsWithRef, ElementType, ForwardedRef, FunctionComponent, ReactNode } from 'react';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { Pressable as NativePressable, NativeSyntheticEvent } from 'react-native';\nimport type { Except, Promisable } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { LoaderIcon } from '../LoaderIcon/LoaderIcon';\nimport { View } from '../native-base/primitives';\n\ntype ActionsItemMinimumRequiredProps = Pick<ButtonProps, 'onPress' | 'stretch' | 'disabled' | 'icon'>;\n\ntype ExtendOnPressProp<OnPress> = OnPress extends (...params: infer Params) => infer Result\n ? (...params: Params) => Promisable<Result | false>\n : never;\n\nexport type ExtendActionItemComponentProps<Props> = Props extends { onPress?: infer OnPress }\n ? Except<Props, 'onPress'> & {\n onPress?: OnPress extends null\n ? null | ExtendOnPressProp<NonNullable<OnPress>>\n : ExtendOnPressProp<NonNullable<OnPress>>;\n }\n : { onPress?: (event: NativeSyntheticEvent<any>, ...rest: any[]) => any };\n\nexport type ActionsItemProps<C extends FunctionComponent<ActionsItemMinimumRequiredProps>> = {\n as: C;\n // eslint-disable-next-line @typescript-eslint/ban-types -- we need this because we don't know exactly what the component is\n} & ExtendActionItemComponentProps<Omit<ComponentPropsWithRef<C>, 'as'>> &\n Except<ActionsItemMinimumRequiredProps, 'onPress'>;\n\nexport const ActionsItem = forwardRef<typeof NativePressable, ActionsItemProps<any>>(\n ({ as, onPress, disabled, icon, stretch = { base: true, medium: false }, ...props }, ref): ReactNode => {\n const [isLoading, setIsLoading] = useState(false);\n const mountedRef = useRef(false);\n\n // effect just for tracking mounted state, as onPress can unmount the ActionButton\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n const handlePress: ButtonProps['onPress'] = (e) => {\n const callPressAndUpdateLoadingState = async (): Promise<void> => {\n if (!onPress) return;\n setIsLoading(true);\n try {\n await (onPress as any)(e);\n if (mountedRef.current) {\n setIsLoading(false);\n }\n } catch (error) {\n if (mountedRef.current) {\n setIsLoading(false);\n }\n throw error;\n }\n };\n\n callPressAndUpdateLoadingState();\n };\n\n const Component: ElementType = as;\n\n return (\n <View>\n <Component\n ref={ref}\n {...props}\n stretch={stretch}\n disabled={isLoading ? true : disabled}\n icon={isLoading ? <LoaderIcon /> : icon}\n onPress={handlePress}\n />\n </View>\n );\n },\n) as <C extends FunctionComponent<ActionsItemMinimumRequiredProps>>(\n props: ActionsItemProps<C> & { ref?: ForwardedRef<typeof NativePressable> },\n) => ReactNode;\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { Button } from '../Button/Button';\nimport type { ActionsItemProps } from './ActionsItem';\nimport { ActionsItem } from './ActionsItem';\n\nexport interface ActionsButtonProps\n extends Except<ButtonProps, 'onPress'>,\n Pick<ActionsItemProps<typeof Button>, 'onPress'> {}\n\nexport function ActionsButton({ ...props }: ActionsButtonProps): ReactNode {\n return <ActionsItem as={Button} {...props} />;\n}\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport { Stack } from '../native-base/layout';\nimport type { StackProps } from '../native-base/layout';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { ActionsButton } from './ActionsButton';\nimport { ActionsItem } from './ActionsItem';\n\ntype ActionsLayout = 'column' | 'row';\n\nfunction getCurrentLayout(layout: ActionsLayout | undefined): StackProps['alignItems'] {\n if (!layout) return { base: 'stretch', medium: 'center' };\n\n if (layout === 'column') return 'stretch';\n\n return 'center';\n}\n\nfunction getCurrentDirection(layout: ActionsLayout | undefined): StackProps['direction'] {\n if (!layout) return { base: 'column', medium: 'row' };\n\n if (layout === 'column') return 'column';\n\n return 'row';\n}\n\nfunction getCurrentAlignSelf(layout: ActionsLayout | undefined): StackProps['alignSelf'] {\n if (!layout) return { base: 'stretch', medium: undefined };\n\n if (layout === 'column') return 'stretch';\n\n return undefined;\n}\n\nexport interface ActionsProps extends Except<StackProps, 'space' | 'reversed'> {\n layout?: ActionsLayout;\n reversed?: ResponsiveValue<boolean | undefined>;\n}\n\nexport function Actions({ children, layout, reversed, ...props }: ActionsProps): ReactNode {\n const currentAlignItems = getCurrentLayout(layout);\n const currentDirection = getCurrentDirection(layout);\n const currentAlignSelf = getCurrentAlignSelf(layout);\n\n return (\n <Stack\n alignItems={currentAlignItems}\n alignSelf={currentAlignSelf}\n direction={currentDirection}\n flexGrow={1}\n reversed={!!createResponsiveStyleFromProp(reversed, true, false)}\n {...props}\n space=\"kitt.3\"\n >\n {children}\n </Stack>\n );\n}\n\nActions.Button = ActionsButton;\nActions.Item = ActionsItem;\n","import { defaultAvatarSize, largeAvatarSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentRadiusParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n round?: boolean;\n}\n\nexport function getCurrentRadius({ size, sizeVariant, round }: GetCurrentRadiusParams): string | number {\n if (round) {\n if (size) return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarSize * 0.5;\n\n return defaultAvatarSize * 0.5;\n }\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.borderRadius';\n\n return 'kitt.avatar.borderRadius';\n}\n","import type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentSizeParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function getCurrentSize({ size, sizeVariant }: GetCurrentSizeParams): string | number {\n if (size) return size;\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.size';\n\n return 'kitt.avatar.size';\n}\n","import { defaultAvatarIconSize, largeAvatarIconSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\nexport function getIconSize(size: string | number, sizeVariant?: AvatarSizeVariant): number {\n if (typeof size === 'number') return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarIconSize;\n\n return defaultAvatarIconSize;\n}\n","export function getInitials(firstname: string, lastname: string): string {\n return `${firstname[0]}${lastname[0]}`.toUpperCase();\n}\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport { Icon } from '../Icon/Icon';\nimport { Image, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { getCurrentRadius } from './utils/getCurrentRadius';\nimport { getCurrentSize } from './utils/getCurrentSize';\nimport { getIconSize } from './utils/getIconSize';\nimport { getInitials } from './utils/getInitials';\n\nexport type AvatarSizeVariant = 'large';\n\ninterface AvatarContentProps extends Omit<AvatarProps, 'light' | 'round' | 'size'> {\n size: string | number;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({ size, src, firstname, lastname, alt, isLight, sizeVariant }: AvatarContentProps): ReactNode {\n if (src) {\n return <Image source={{ uri: src }} width={size} height={size} alt={alt} aria-label={alt} />;\n }\n\n if (firstname && lastname) {\n return (\n <Typography.Text\n base={sizeVariant === 'large' ? 'body-large' : 'body-small'}\n variant={sizeVariant === 'large' ? 'bold' : 'regular'}\n color={isLight ? 'black' : 'white'}\n >\n {getInitials(firstname, lastname)}\n </Typography.Text>\n );\n }\n\n return <Icon icon={<UserIcon />} color={isLight ? 'black' : 'white'} size={getIconSize(size, sizeVariant)} />;\n}\n\nexport interface AvatarProps {\n size?: number;\n src?: string;\n alt?: string;\n firstname?: string | null;\n lastname?: string | null;\n round?: boolean;\n light?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function Avatar({ size, round, light, sizeVariant, ...props }: AvatarProps): ReactNode {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={currentSize}\n height={currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={`kitt.avatar.${light ? 'light' : 'default'}.backgroundColor`}\n >\n <AvatarContent size={currentSize} isLight={light} sizeVariant={sizeVariant} {...props} />\n </View>\n );\n}\n","import {\n BottomSheetBackdrop,\n BottomSheetHandle,\n BottomSheetModal,\n BottomSheetScrollView,\n BottomSheetView,\n useBottomSheetDynamicSnapPoints,\n} from '@gorhom/bottom-sheet';\nimport type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport { View } from 'native-base';\nimport type { ComponentRef, ComponentType, ForwardedRef, MutableRefObject, ReactNode, Ref } from 'react';\nimport { forwardRef, useMemo } from 'react';\nimport { SafeAreaView } from 'react-native-safe-area-context';\nimport { useTheme } from '../KittThemeContext';\nimport type { ViewProps } from '../native-base/primitives';\n\nexport interface BottomSheetProps<Data = never> {\n children?: ComponentType<Data> | ReactNode;\n ref: MutableRefObject<BottomSheetModalMethods | null>;\n hasScrollView?: boolean;\n hasHandle?: boolean;\n hasBackdrop?: boolean;\n onDismiss?: () => void;\n}\n\nfunction BottomSheetComp<Data extends JSX.IntrinsicAttributes = Record<string, never>>(\n { children: Content, hasScrollView = false, hasBackdrop = true, hasHandle = true, onDismiss }: BottomSheetProps<Data>,\n ref: Ref<BottomSheetModal>,\n): ReactNode {\n const Wrapper = useMemo(() => (hasScrollView ? BottomSheetScrollView : BottomSheetView), [hasScrollView]);\n const theme = useTheme();\n const initialSnapPoints = useMemo(() => ['CONTENT_HEIGHT'], []);\n const { animatedHandleHeight, animatedSnapPoints, animatedContentHeight, handleContentLayout } =\n useBottomSheetDynamicSnapPoints(initialSnapPoints);\n\n return (\n <BottomSheetModal\n ref={ref}\n enablePanDownToClose\n snapPoints={animatedSnapPoints}\n index={0}\n handleHeight={animatedHandleHeight}\n handleIndicatorStyle={{\n width: 40,\n height: 4,\n borderRadius: 4,\n backgroundColor: theme.kitt.bottomSheet.handle.backgroundColor,\n }}\n handleComponent={(props) => (hasHandle ? <BottomSheetHandle {...props} /> : null)}\n backdropComponent={(props) =>\n hasBackdrop ? <BottomSheetBackdrop {...props} opacity={0.25} appearsOnIndex={0} disappearsOnIndex={-1} /> : null\n }\n contentHeight={animatedContentHeight}\n onDismiss={onDismiss}\n >\n {({ data }) => (\n <SafeAreaView edges={['bottom']} onLayout={handleContentLayout}>\n <Wrapper>{typeof Content === 'function' ? <Content {...(data as Data)} /> : Content}</Wrapper>\n </SafeAreaView>\n )}\n </BottomSheetModal>\n );\n}\n\nfunction BottomSheetContainerView(props: ViewProps): ReactNode {\n return <View padding=\"kitt.bottomSheet.container.padding\" {...props} />;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComp) as unknown as (<Data = never>(\n props: BottomSheetProps<Data> & { ref?: ForwardedRef<ComponentRef<typeof BottomSheetComp>> },\n) => ReturnType<typeof BottomSheetComp>) & { View: typeof BottomSheetContainerView };\n\nBottomSheet.View = BottomSheetContainerView;\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ComponentType, ElementType, ReactElement, RefObject } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\nimport { BottomSheet } from './BottomSheet';\n\ninterface BottomSheetRef<T> extends BottomSheetModalMethods {\n present: (bottomSheetComponenProps: T) => void;\n}\n\ntype ReducedBottomSheetProps = Pick<BottomSheetProps, 'hasScrollView'>;\n\n// This is used to fix:\n// React.ComponentProps<O> -> if O is a function component without any props it will return unknown but we want to have undefined\ntype IsExact<T, U> = [T] extends [U] ? ([U] extends [T] ? true : false) : false;\n\ntype BottomSheetComponentProps<O extends ElementType> = IsExact<React.ComponentProps<O>, unknown> extends true\n ? undefined\n : React.ComponentProps<O>;\n\nexport function useStaticBottomSheet<T extends ComponentType<P>, P>(\n Content: T,\n): {\n bottomSheetRef: RefObject<BottomSheetRef<BottomSheetComponentProps<T>>>;\n BottomSheet: (props: ReducedBottomSheetProps) => ReactElement;\n} {\n const bottomSheetRef = useRef<BottomSheetRef<BottomSheetComponentProps<T>>>(null);\n\n const BottomSheetMemoized = useMemo(\n () =>\n function renderBottomSheet(props: ReducedBottomSheetProps) {\n return (\n <BottomSheet<P> {...props} ref={bottomSheetRef}>\n {Content}\n </BottomSheet>\n );\n },\n [Content],\n );\n\n return {\n bottomSheetRef,\n BottomSheet: BottomSheetMemoized,\n };\n}\n","import type { ReactNode } from 'react';\n\nexport interface ModalBehaviourPortalProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function ModalBehaviourPortal({ children }: ModalBehaviourPortalProps): ReactNode {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}</>;\n}\n","import type { ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\n\ntype OnCloseCallback = () => void;\n\nexport const OnCloseContext = createContext<OnCloseCallback>(() => {});\n\ninterface OnCloseProviderProps {\n children: ReactNode;\n onClose: OnCloseCallback;\n}\n\nexport function OnCloseProvider({ children, onClose }: OnCloseProviderProps): ReactNode {\n return <OnCloseContext.Provider value={onClose}>{children}</OnCloseContext.Provider>;\n}\n\nexport function useOnCloseModalBehaviour(): OnCloseCallback {\n const onClose = useContext(OnCloseContext);\n return onClose;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement } from 'react';\nimport { View } from '../native-base/primitives';\nimport { ModalBehaviourPortal } from './ModalBehaviourPortal';\nimport { OnCloseProvider, useOnCloseModalBehaviour } from './OnCloseContext';\n\ninterface CloseButtonProps {\n children: ReactElement;\n onPress?: () => void;\n}\n\nfunction CloseButton({ children, onPress }: CloseButtonProps): ReactNode {\n const onCloseContextCallback = useOnCloseModalBehaviour();\n\n const handleClose = (): void => {\n if (onPress) onPress();\n onCloseContextCallback();\n };\n\n return cloneElement(children, { onPress: handleClose });\n}\n\nexport interface ModalBehaviourProps {\n children: ReactNode;\n visible?: boolean;\n onClose: () => void;\n}\n\nexport function ModalBehaviour({ children, visible, onClose }: ModalBehaviourProps): ReactNode {\n return (\n <OnCloseProvider onClose={onClose}>\n <ModalBehaviourPortal visible={visible}>\n {visible ? (\n <View\n _web={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children}\n </View>\n ) : null}\n </ModalBehaviourPortal>\n </OnCloseProvider>\n );\n}\n\nModalBehaviour.CloseButton = CloseButton;\n","import type { ReactNode } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from '../native-base/primitives';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\nexport function Overlay({ onPress }: OverlayProps): ReactNode {\n return (\n <Pressable\n accessibilityRole=\"none\"\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n right=\"0\"\n bottom=\"0\"\n backgroundColor=\"kitt.overlay.dark\"\n onPress={onPress}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface CardModalRotationContainerProps extends ViewProps {}\n\nexport function CardModalRotationContainer(props: CardModalRotationContainerProps): ReactNode {\n return (\n <View\n paddingX=\"kitt.cardModal.overlayPadding.horizontal\"\n paddingY=\"kitt.cardModal.overlayPadding.vertical\"\n maxWidth=\"kitt.cardModal.maxWidthWithPadding\"\n width=\"100%\"\n maxHeight=\"100%\"\n _web={{ maxHeight: '100svh' }}\n {...props}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactNode {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: CardModalAnimationProps['visible'];\n onEntered?: CardModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactNode {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport type { ModalAnimationComponentProps } from '../../ModalBehaviour/type';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface CardModalAnimationProps extends ViewProps, ModalAnimationComponentProps {\n children: ReactNode;\n}\n\nexport function CardModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: CardModalAnimationProps): ReactNode {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <CardModalRotationContainer>\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n {children}\n </NativeRotationAnimation>\n </CardModalRotationContainer>\n </View>\n </Modal>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { CardModalAnimationProps } from './CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from './CardModalAnimation/CardModalAnimation';\n\nexport interface CardModalBehaviourProps extends CardModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function CardModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: CardModalBehaviourProps): ReactNode {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport { ScrollView } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ScrollViewProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function CardModalBody({\n children,\n paddingX = { base: 'kitt.4', medium: 'kitt.6' },\n paddingY = 'kitt.4',\n ...props\n}: CardModalBodyProps): ReactNode {\n return (\n <ScrollView showsVerticalScrollIndicator={false} _contentContainerStyle={{ paddingX, paddingY }} {...props}>\n {children}\n </ScrollView>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n}\n\nexport function CardModalFooter({\n children,\n padding = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n ...props\n}: CardModalFooterProps): ReactNode {\n return (\n <View\n {...props}\n marginTop=\"kitt.2\"\n padding={padding}\n borderTopWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n alignItems={{ base: undefined, medium: 'flex-end' }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface BaseHeaderProps extends Except<ViewProps, 'left' | 'right'> {\n hasSeparator?: boolean;\n left?: ReactNode;\n right?: ReactNode;\n}\n\ninterface TitledHeaderProps extends BaseHeaderProps {\n title?: ReactNode;\n children?: never;\n}\n\ninterface ComponentHeaderProps extends BaseHeaderProps {\n title?: never;\n children?: ReactNode;\n}\n\nexport type CardModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function CardModalHeader({\n children,\n title,\n paddingBottom = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n right,\n left,\n ...props\n}: CardModalHeaderProps): ReactNode {\n const defaultContainerPadding = { base: 'kitt.4', medium: 'kitt.6' };\n\n return (\n <View\n {...props}\n padding={paddingBottom}\n borderBottomWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"kitt.cardModal.header.height\"\n paddingRight={right ? 'kitt.2' : defaultContainerPadding}\n paddingLeft={left ? 'kitt.2' : defaultContainerPadding}\n >\n <View alignItems=\"center\" flexDirection=\"row\" justifyContent={!children && !left ? 'flex-end' : 'space-between'}>\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n <View flexGrow=\"1\" paddingRight={right ? 'kitt.2' : 0} paddingLeft={left ? 'kitt.2' : 0}>\n {title ? (\n <Typography.Text textAlign={!left && right ? 'left' : 'center'} variant=\"bold\">\n {title}\n </Typography.Text>\n ) : null}\n {children}\n </View>\n\n {right ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { CardModalBehaviour } from './CardModalBehaviour';\nimport { CardModalBody } from './CardModalBody';\nimport { CardModalFooter } from './CardModalFooter';\nimport { CardModalHeader } from './CardModalHeader';\n\ninterface BaseCardModalProps extends Except<ViewProps, 'children'> {\n withoutShadow?: boolean;\n}\n\ninterface CardModalWithChildren extends BaseCardModalProps {\n children: ReactNode;\n header?: never;\n footer?: never;\n body?: never;\n}\n\ninterface CardModalWithoutChildren extends BaseCardModalProps {\n children?: never;\n header?: ReactNode;\n footer?: ReactNode;\n body: ReactNode;\n}\n\nexport type CardModalProps = CardModalWithChildren | CardModalWithoutChildren;\n\nexport function CardModal({\n backgroundColor = 'kitt.uiBackgroundLight',\n maxWidth = 'kitt.cardModal.maxWidth',\n withoutShadow,\n children,\n header,\n body,\n footer,\n ...props\n}: CardModalProps): ReactNode {\n return (\n <View\n {...props}\n overflow=\"hidden\"\n backgroundColor={backgroundColor}\n shadow={withoutShadow ? undefined : 'kitt.cardModal.shadow'}\n borderRadius=\"kitt.cardModal.borderRadius\"\n width=\"100%\"\n maxHeight=\"100%\"\n maxWidth={maxWidth}\n minHeight=\"kitt.cardModal.minHeight\"\n >\n {children || (\n <>\n {header || null}\n {body || null}\n {footer || null}\n </>\n )}\n </View>\n );\n}\n\nCardModal.Body = CardModalBody;\nCardModal.Header = CardModalHeader;\nCardModal.Footer = CardModalFooter;\nCardModal.ModalBehaviour = CardModalBehaviour;\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getBackgroundColor({ isDisabled, isSelected, isHovered, isPressed }: GetBackgroundColorParams): string {\n if (isDisabled) return 'kitt.choices.item.disabled.backgroundColor';\n\n if (isSelected && isHovered) return 'kitt.choices.item.hoverWhenSelected.backgroundColor';\n\n if (isPressed) return 'kitt.choices.item.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.choices.item.hover.backgroundColor';\n\n if (isSelected) return 'kitt.choices.item.selected.backgroundColor';\n\n return 'kitt.choices.item.default.backgroundColor';\n}\n","import type { ChoiceItemVariant } from '../ChoiceItem';\n\nexport function getBorderRadius(variant?: ChoiceItemVariant): number | string {\n // The clean way to have the rounded effect would have been to know the children height since radius >= height * 0.5\n // We don't control over the height of the rendered children we just go with a arbitrary really high value\n return variant === 'rounded' ? Number.MAX_SAFE_INTEGER : 'kitt.choices.item.borderRadius';\n}\n","import { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport type { ChoiceItemSize, ChoiceItemVariant } from './ChoiceItem';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderRadius } from './utils/getBorderRadius';\n\nexport interface AnimatedChoiceItemViewProps {\n children: ReactNode;\n variant?: ChoiceItemVariant;\n size?: ChoiceItemSize;\n isHovered?: boolean;\n isPressed?: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n animatedStyles?: ViewStyle;\n}\n\nexport function AnimatedChoiceItemView({\n children,\n variant,\n size,\n isHovered,\n isPressed,\n isDisabled,\n isSelected,\n animatedStyles,\n}: AnimatedChoiceItemViewProps): ReactNode {\n const sx = useSx();\n\n const style = sx({\n position: 'relative',\n borderRadius: getBorderRadius(variant),\n backgroundColor: getBackgroundColor({ isDisabled, isSelected, isHovered, isPressed }),\n paddingX: size === 'small' ? 'kitt.4' : { base: 'kitt.4', small: 'kitt.6' },\n paddingY: size === 'small' ? 'kitt.2' : { base: 'kitt.4', small: 'kitt.6' },\n });\n\n return <Animated.View style={[style, animatedStyles]}>{children}</Animated.View>;\n}\n","import type { ViewStyle } from 'react-native';\nimport {\n interpolateColor,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\ninterface UseNativeAnimationOptions {\n selected?: boolean;\n disabled?: boolean;\n isPressedInternal?: boolean;\n}\n\ninterface NativeAnimation {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n selected,\n disabled,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n\n const pressed = useSharedValue(Boolean(isPressedInternal));\n const progress = useDerivedValue(() => {\n return withTiming(pressed.value ? 1 : 0, { duration: theme.kitt.choices.item.transition.duration });\n });\n\n const backgroundStyles = useAnimatedStyle(() => {\n const {\n default: defaultBg,\n pressed: pressedBg,\n selected: selectedBg,\n disabled: disabledBg,\n } = theme.kitt.choices.item.backgroundColor;\n\n if (disabled) return { backgroundColor: disabledBg };\n\n if (selected) return { backgroundColor: selectedBg };\n\n return {\n backgroundColor: interpolateColor(progress.value, [0, 1], [defaultBg, pressedBg]),\n };\n });\n\n const onPressIn = (): void => {\n pressed.value = true;\n };\n\n const onPressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n onPressIn,\n onPressOut,\n backgroundStyles,\n };\n};\n","import type { TypographyColor } from '../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected && isHovered) return 'white';\n\n if (isSelected || isPressed) return 'white';\n\n return 'black';\n}\n","import type { ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { AnimatedChoiceItemView } from './AnimatedChoiceItemView';\nimport type { BaseChoicesProps } from './Choices';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getBorderRadius } from './utils/getBorderRadius';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport type ChoiceItemVariant = 'rounded';\nexport type ChoiceItemSize = BaseChoicesProps<null>['size'];\n\nexport type ChoiceItemType = 'button' | 'radio' | 'checkbox' | undefined;\n\nexport interface BaseChoiceItemProps<V> {\n type?: ChoiceItemType;\n children: ReactNode;\n disabled?: boolean;\n variant?: ChoiceItemVariant;\n size?: ChoiceItemSize;\n value?: V;\n selected?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n onPress?: () => void;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport interface ChoiceItemButtonProps<V> extends BaseChoiceItemProps<V> {\n type?: 'button';\n value?: never;\n selected?: never;\n onChange?: never;\n}\n\nexport interface ChoiceItemFormElementProps<V> extends BaseChoiceItemProps<V> {\n type: 'radio' | 'checkbox';\n onPress?: never;\n}\n\nexport type ChoiceItemProps<V> = ChoiceItemButtonProps<V> | ChoiceItemFormElementProps<V>;\n\nexport function ChoiceItem<V>({\n type = 'button',\n value,\n selected,\n disabled,\n variant,\n children,\n isPressedInternal,\n isHoveredInternal,\n onPress,\n onChange,\n onBlur,\n onFocus,\n size,\n}: ChoiceItemProps<V>): ReactNode {\n const { onPressIn, onPressOut, backgroundStyles } = useNativeAnimation({ selected, disabled, isPressedInternal });\n\n const handleChange = (): void => {\n if (!onChange) return;\n\n // Checkbox can be toggled\n if (type === 'checkbox') {\n onChange(selected ? undefined : value);\n return;\n }\n\n onChange(value);\n };\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onPress) onPress();\n handleChange();\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n disabled={disabled}\n accessibilityRole={type}\n accessibilityState={{ checked: selected }}\n onBlur={onBlur}\n onFocus={onFocus}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed }) => (\n <AnimatedChoiceItemView\n animatedStyles={backgroundStyles}\n isHovered={isHovered || isHoveredInternal}\n isDisabled={disabled}\n isSelected={selected}\n isPressed={isPressed || isPressedInternal}\n variant={variant}\n size={size}\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isDisabled: disabled,\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {disabled ? (\n <View\n borderRadius={getBorderRadius(variant)}\n borderWidth=\"kitt.choices.item.disabled.borderWidth\"\n borderColor=\"kitt.choices.item.disabled.borderColor\"\n position=\"absolute\"\n top=\"0\"\n right=\"0\"\n left=\"0\"\n bottom=\"0\"\n />\n ) : null}\n </AnimatedChoiceItemView>\n )}\n </Pressable>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ChoicesDirection } from './Choices';\n\ninterface ChoiceItemContainerProps {\n children: ReactNode;\n isLast?: boolean;\n direction: ChoicesDirection;\n}\n\nexport function ChoiceItemContainer({ children, direction, isLast }: ChoiceItemContainerProps): ReactNode {\n const currentItemMarginValue = isLast ? undefined : 'kitt.3';\n return (\n <View\n marginRight={direction === 'row' ? currentItemMarginValue : undefined}\n marginBottom={direction === 'column' ? currentItemMarginValue : undefined}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { ScrollView, View } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { ChoiceItemButtonProps, ChoiceItemFormElementProps, ChoiceItemType } from './ChoiceItem';\nimport { ChoiceItem } from './ChoiceItem';\nimport { ChoiceItemContainer } from './ChoiceItemContainer';\n\nexport type ChoicesDirection = 'row' | 'column';\n\ninterface ChoicesContainerProps extends ViewProps {\n children: ReactNode;\n direction: ChoicesDirection;\n}\n\nfunction ChoicesContainer({ direction, ...props }: ChoicesContainerProps): ReactNode {\n if (direction === 'row') {\n return <ScrollView horizontal {...props} />;\n }\n\n return <View {...props} />;\n}\n\ntype ChoicesPropsToPick = 'type' | 'variant' | 'disabled' | 'value' | 'onPress' | 'onChange' | 'onBlur' | 'onFocus';\ntype ChoicesSize = 'small';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport interface BaseChoicesProps<V> {\n id?: string;\n testID?: string;\n children: ReactNode;\n direction?: ChoicesDirection;\n size?: ChoicesSize;\n}\n\nexport interface ChoicesButtonProps<V, ChoiceType extends ChoiceItemButtonProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemButtonProps<V>, ChoicesPropsToPick> {\n type?: ChoiceType;\n}\n\nexport interface ChoicesFormElementProps<V, ChoiceType extends ChoiceItemFormElementProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemFormElementProps<V>, ChoicesPropsToPick> {\n type: ChoiceType;\n}\n\nexport type ChoicesItemPropsFromChoiceType<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type'] ? ChoiceItemFormElementProps<V> : ChoiceItemButtonProps<V>;\n\nexport type ChoicesProps<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type']\n ? ChoicesFormElementProps<V, ChoiceType>\n : ChoicesButtonProps<V, 'button'>;\n\ntype ExcludeChoiceItemProvidedByChoices = 'type' | 'onPress' | 'onChange' | 'onFocus' | 'onBlur';\ntype OptionalChoiceItemProvidedByChoices = 'variant' | 'disabled' | 'size';\n\nfunction Choices<V, ChoiceType extends ChoiceItemType>({\n id,\n testID,\n type,\n direction = 'column',\n disabled,\n children,\n value,\n variant,\n onPress,\n onChange,\n onFocus,\n onBlur,\n size,\n}: ChoicesProps<V, ChoiceType>): ReactNode {\n const [currentValue, setCurrentValue] = useState(value);\n\n const isForm = type && ['radio', 'checkbox'].includes(type);\n\n const childrenArray = Children.toArray(children) as ReactElement<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n typeof ChoiceItem\n >[];\n\n const handleChange: ChoicesItemPropsFromChoiceType<V, ChoiceType>['onChange'] = (newValue) => {\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const sharedProps: Pick<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n ExcludeChoiceItemProvidedByChoices | OptionalChoiceItemProvidedByChoices\n > = {\n type,\n disabled,\n variant,\n onPress: !isForm ? onPress : undefined,\n onChange: isForm ? handleChange : undefined,\n onFocus,\n onBlur,\n size,\n };\n\n return (\n <ChoicesContainer direction={direction} testID={testID} id={id}>\n {childrenArray.map((child, index) => {\n const element = cloneElement<ChoicesItemPropsFromChoiceType<V, ChoiceType>>(child, {\n selected: isForm ? child.props.value === currentValue : undefined,\n ...sharedProps,\n } as any);\n\n return (\n <ChoiceItemContainer key={child.key} direction={direction} isLast={index === childrenArray.length - 1}>\n {element}\n </ChoiceItemContainer>\n );\n })}\n </ChoicesContainer>\n );\n}\n\nChoices.Item = ChoiceItem;\n\nexport interface CreateChoices<V, ChoiceType extends ChoiceItemType> {\n (props: ChoicesProps<V, ChoiceType>): ReactElement;\n Item: (\n props: SetOptional<\n Except<ChoicesItemPropsFromChoiceType<V, ChoiceType>, OptionalChoiceItemProvidedByChoices>,\n ExcludeChoiceItemProvidedByChoices\n >,\n ) => ReactElement;\n}\n\nexport function createChoicesComponent<V, ChoiceType extends ChoiceItemType>(): CreateChoices<V, ChoiceType> {\n return Choices as CreateChoices<V, ChoiceType>;\n}\n\nconst ButtonChoices = createChoicesComponent<never, 'button'>();\n\nChoices.ButtonChoices = ButtonChoices;\n\nexport const ChoicesElements = {\n Item: ChoiceItem,\n ButtonChoices,\n};\n","import type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactNode {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: DialogModalAnimationProps['visible'];\n onEntered?: DialogModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactNode {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface DialogModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function DialogModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: DialogModalAnimationProps): ReactNode {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n >\n {children}\n </View>\n </NativeRotationAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView } from '../native-base/primitives';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation/DialogModalAnimation';\nimport { DialogModalAnimation } from './DialogModalAnimation/DialogModalAnimation';\n\nexport interface DialogModalBehaviourProps extends DialogModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function DialogModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: DialogModalBehaviourProps): ReactNode {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <DialogModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </DialogModalAnimation>\n </ScrollView>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ActionsButtonProps } from '..';\nimport { Actions } from '../Actions/Actions';\nimport { View } from '../native-base/primitives';\nimport { DialogModalBehaviour } from './DialogModalBehaviour';\n\nexport interface DialogModalProps {\n illustration?: ReactNode;\n actions?: ReactNode;\n title?: ReactNode;\n children: ReactNode;\n}\n\nexport function DialogModal({ illustration, title, children, actions }: DialogModalProps): ReactNode {\n return (\n <View\n alignItems=\"center\"\n maxWidth=\"kitt.dialogModal.maxWidth\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderRadius=\"kitt.dialogModal.borderRadius\"\n shadow=\"kitt.dialogModal.shadow\"\n >\n {illustration ? <View>{illustration}</View> : null}\n\n <View\n width=\"100%\"\n alignItems=\"center\"\n padding={{ base: 'kitt.4', medium: 'kitt.6' }}\n paddingTop={illustration ? 'kitt.8' : 'kitt.6'}\n >\n {title ? <View marginBottom=\"kitt.2\">{title}</View> : null}\n\n <View marginBottom=\"kitt.8\">{children}</View>\n\n {actions ? (\n <Actions width=\"100%\" layout=\"column\">\n {actions}\n </Actions>\n ) : null}\n </View>\n </View>\n );\n}\n\nDialogModal.ModalBehaviour = DialogModalBehaviour;\n\ninterface DialogModalButtonProps extends ActionsButtonProps {}\n\nfunction DialogModalButton({ stretch = true, ...props }: DialogModalButtonProps): ReactNode {\n return <Actions.Button stretch={stretch} {...props} />;\n}\n\nDialogModal.Button = DialogModalButton;\n","import type { IImageProps } from 'native-base';\nimport { Image } from 'native-base';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { ImageProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { parse } from 'twemoji-parser';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\n\nexport interface EmojiProps extends Pick<ImageProps, 'style' | 'testID'> {\n emoji: string;\n size: number | KittResponsiveProp<number>;\n alignSelf?: IImageProps['alignSelf'];\n _web?: IImageProps['_web'];\n}\n\nexport function Emoji({ emoji, size, alignSelf, _web, style, testID }: EmojiProps): ReactNode {\n const [emojiData] = useMemo(\n () =>\n parse(emoji, {\n // on native plaforms, you can't display svg as Image\n assetType: Platform.OS === 'web' ? 'svg' : 'png',\n }),\n [emoji],\n );\n\n if (!emojiData) return null;\n\n return (\n <Image\n testID={testID}\n size={size}\n alt={emojiData.text}\n aria-label={emojiData.text}\n source={{ uri: emojiData.url }}\n style={style}\n alignSelf={alignSelf}\n _web={_web}\n />\n );\n}\n","import type { ComponentProps, ReactElement, ReactNode, VoidFunctionComponent } from 'react';\nimport type { GestureResponderEvent, PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\n\ntype ExternalAppLinkScheme = 'sms' | 'tel' | 'mailto';\n\nexport interface ExternalAppLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalAppLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n appScheme: ExternalAppLinkScheme;\n appValue: string;\n onPress?: PressableProps['onPress'];\n onOpenAppError?: (err: string) => void;\n}\n\nexport interface ExternalAppLinkPhoneProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n phoneNumber: string;\n}\n\nexport interface ExternalAppLinkMailProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n emailAddress: string;\n}\n\n/** @internal for ExternalAppLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalAppLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalAppLinkProps<C> & keyof ExternalAppLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalAppLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n appScheme,\n appValue,\n onPress,\n onOpenAppError,\n ...rest\n}: ExternalAppLinkProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactNode {\n const href = `${appScheme}:${appValue}`;\n\n const handleOnPress = async (e: GestureResponderEvent): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n\n if (canOpen) {\n if (onPress) {\n onPress(e);\n if (e.defaultPrevented) return;\n }\n\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n\n onOpenAppError?.(`An error occurred while opening ${href}`);\n });\n } else {\n onOpenAppError?.(`Cannot open url: ${href}`);\n }\n } catch {\n onOpenAppError?.('An error occured with Linkinf.canOpenURL');\n }\n };\n\n return <Component href={href} {...(rest as any)} onPress={handleOnPress} />;\n}\n\nExternalAppLink.Sms = function ExternalAppLinkSms<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"sms\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Tel = function ExternalAppLinkTel<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"tel\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Mail = function ExternalAppLinkMail<C extends VoidFunctionComponent<any>>({\n emailAddress,\n children,\n ...rest\n}: ExternalAppLinkMailProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"mailto\" appValue={emailAddress}>\n {children}\n </ExternalAppLink>\n );\n};\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import * as WebBrowser from 'expo-web-browser';\nimport { Linking } from 'react-native';\nimport { defaultOpenLinkBehavior } from '../ExternalLinkOpenLinkBehavior';\nimport type { OpenExternalLinkParams } from '../OpenExternalLinkParams';\n\nexport function useOpenExternalLink() {\n return async ({ href, behavior = defaultOpenLinkBehavior }: OpenExternalLinkParams): Promise<void> => {\n if (behavior.native === 'openBrowserApp') {\n await Linking.openURL(href);\n\n return;\n }\n\n await WebBrowser.openBrowserAsync(href);\n };\n}\n","import type { ComponentProps, ReactNode, VoidFunctionComponent } from 'react';\nimport type { PressableProps, TextProps } from 'react-native';\nimport type { ExternalLinkOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { useOpenExternalLink } from './hooks/useOpenExternalLink';\n\nexport interface ExternalLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n openLinkBehavior?: ExternalLinkOpenLinkBehavior;\n href?: string;\n onPress?: PressableProps['onPress'];\n onOpenLinkError?: (err: string, originalError: unknown) => void;\n}\n\n/** @internal for ExternalLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalLinkProps<C> & keyof ExternalLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n // eslint-disable-next-line no-console\n onOpenLinkError = console.error,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactNode {\n const openExternalLink = useOpenExternalLink();\n\n const handleOnPress: PressableProps['onPress'] = (e) => {\n if (onPress) {\n onPress(e);\n if (e.defaultPrevented) return;\n }\n\n if (!href) return;\n\n openExternalLink({ href, behavior: openLinkBehavior }).catch((error) => {\n onOpenLinkError(`An error occurred while opening ${href}`, error);\n });\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return <Component {...(rest as any)} onPress={handleOnPress} />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport type { TypographyIconProps } from '../../typography/TypographyIcon';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport type { InputFormState } from '../utils';\n\nfunction getIconColor(state?: InputFormState, disabled?: boolean): TypographyIconProps['color'] {\n if (disabled) return 'black-light';\n\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n return 'success';\n default:\n return undefined;\n }\n}\n\nexport interface InputIconProps {\n icon: NonNullable<ReactElement>;\n disabled?: boolean;\n state?: InputFormState;\n}\n\nexport function InputIcon({ icon, state, disabled }: InputIconProps): ReactNode {\n const theme = useTheme();\n\n const color = getIconColor(state, disabled);\n\n return <TypographyIcon color={color} icon={icon} size={theme.kitt.forms.input.icon.size} />;\n}\n","import type { ReactNode } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from 'react-native';\n\nexport interface InputPressableProps extends PressableProps {}\n\nexport function InputPressable({ ...props }: InputPressableProps): ReactNode {\n return <Pressable {...props} />;\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../../native-base/primitives';\n\nexport interface InputTextContainerProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function InputTextContainer({ children }: InputTextContainerProps): ReactNode {\n return <View position=\"relative\">{children}</View>;\n}\n","import { Input } from 'native-base';\nimport type { ResponsiveValue } from 'native-base/lib/typescript/components/types';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport { createNativeBaseFontSize } from '../../typography/Typography';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Except<RNTextInputProps, 'id'> {\n id?: string;\n name?: string;\n // See InterfaceInputProps from native-base\n variant?: ResponsiveValue<'outline' | 'unstyled'>;\n disabled?: boolean;\n minHeight?: number | string;\n state?: InputFormState;\n right?: ReactNode;\n /**\n * @internal\n * @deprecated\n */\n internalForceState?: InputUIState;\n}\n\nexport const InputText = forwardRef<RNTextInput, InputTextProps>(\n (\n {\n id,\n right,\n state: formState,\n variant = 'outline',\n internalForceState,\n disabled = false,\n autoCorrect = true,\n textContentType = 'none',\n autoComplete = 'off',\n inputMode = 'text',\n multiline,\n onSubmitEditing,\n ...props\n }: InputTextProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const fontSizeForNativeBase = createNativeBaseFontSize({ base: 'body' });\n const shouldHandleSingleLineOnIOS = Platform.OS === 'ios' && !multiline;\n\n return (\n <InputTextContainer>\n <Input\n ref={ref as any}\n multiline={multiline}\n id={id}\n isDisabled={internalForceState ? internalForceState === 'disabled' : disabled}\n isHovered={internalForceState ? internalForceState === 'hover' : undefined}\n isFocused={internalForceState ? internalForceState === 'focus' : undefined}\n inputMode={inputMode}\n autoComplete={autoComplete}\n autoCorrect={autoCorrect}\n textContentType={textContentType}\n fontSize={fontSizeForNativeBase}\n lineHeight={\n // On basic text input, we set the line-height to zero for iOS to fix vertical text alignment\n // This is a iOS only fix since having 0 as a line-height value breaks text inputs on Android\n shouldHandleSingleLineOnIOS ? 0 : fontSizeForNativeBase\n }\n fontWeight=\"bodies.regular\"\n fontFamily=\"bodies.regular\"\n py={!multiline && Platform.OS !== 'web' ? 0 : undefined}\n variant={variant}\n {...props}\n onSubmitEditing={multiline ? () => null : onSubmitEditing}\n />\n {right ? (\n <View\n position=\"absolute\"\n right={0}\n top={0}\n bottom={0}\n justifyContent=\"center\"\n padding={theme.kitt.forms.input.rightContainer.padding}\n >\n {right}\n </View>\n ) : null}\n </InputTextContainer>\n );\n },\n);\n","import type { ReactNode } from 'react';\nimport { View } from '../../native-base/primitives';\n\ninterface UIState {\n isSelected?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n isHighlighted?: boolean;\n}\n\nfunction getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused }: UIState): string {\n const baseKey = 'kitt.forms.autocomplete.option';\n\n if (isHighlighted) {\n return `${baseKey}.highlighted.backgroundColor`;\n }\n\n if (isPressed) {\n return `${baseKey}.pressed.backgroundColor`;\n }\n\n if (isHovered) {\n return `${baseKey}.hovered.backgroundColor`;\n }\n\n if (isFocused) {\n return `${baseKey}.focused.backgroundColor`;\n }\n\n if (isSelected) {\n return `${baseKey}.selected.backgroundColor`;\n }\n\n return `${baseKey}.default.backgroundColor`;\n}\n\ninterface AutocompleteItemProps<T extends object> {\n item: T;\n children: ReactNode;\n isSelected?: boolean;\n isHighlighted?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}\n\nexport function AutocompleteItem<T extends object>({\n children,\n isSelected,\n isHighlighted,\n isHovered,\n isFocused,\n isPressed,\n}: AutocompleteItemProps<T>): ReactNode {\n return (\n <View\n justifyContent=\"center\"\n width=\"100%\"\n minHeight=\"kitt.forms.autocomplete.option.minHeight\"\n borderRadius=\"kitt.1\"\n padding=\"kitt.1\"\n backgroundColor={getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused })}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface AutocompleteItemsListContainerProps {\n testID: ViewProps['testID'];\n zIndex?: ViewProps['zIndex'];\n children: ReactNode;\n}\n\nexport function AutocompleteItemsListContainer({\n testID,\n children,\n zIndex = 1000,\n}: AutocompleteItemsListContainerProps): ReactNode {\n return (\n <View\n testID={testID}\n zIndex={zIndex}\n top=\"kitt.2\"\n left={0}\n position=\"absolute\"\n flexGrow={1}\n width=\"100%\"\n paddingY=\"kitt.2\"\n borderRadius=\"kitt.forms.autocomplete.optionsContainer.borderRadius\"\n backgroundColor=\"kitt.forms.autocomplete.optionsContainer.backgroundColor\"\n shadow=\"kitt.forms.autocomplete.optionsContainer.shadow\"\n _android={{ style: { elevation: 2 } }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\nexport interface AutocompleteOptionProps extends ViewProps {\n item: unknown;\n children: ReactNode;\n}\n\nexport function AutocompleteOption({ children, ...props }: AutocompleteOptionProps): ReactNode {\n return (\n <View\n paddingX={{ base: 'kitt.2', small: 'kitt.4' }}\n paddingY=\"kitt.forms.autocomplete.option.verticalPadding\"\n {...props}\n >\n {children}\n </View>\n );\n}\n","import { CaretDownFillIcon, CaretUpFillIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { DownshiftProps } from 'downshift';\nimport Downshift from 'downshift';\nimport type { ComponentType, ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\nimport { AutocompleteItem } from './AutocompleteItem';\nimport { AutocompleteItemsListContainer } from './AutocompleteItemsListContainer';\nimport { AutocompleteOption } from './AutocompleteOption';\n\n// When testing with jest on native, e is undefined, we need to patch it to make it work\nfunction patchNativeEvent(event?: GestureResponderEvent): GestureResponderEvent {\n return event || ({ preventDownshiftDefault: false, preventDefault: () => {} } as unknown as GestureResponderEvent);\n}\n\ninterface BaseItemProps<T> {\n item: T;\n}\n\ntype ComponentWithItemProp<T> = ComponentType<BaseItemProps<T>>;\n\nexport interface AutocompleteProps<T extends object> extends Omit<InputTextProps, 'onChange'> {\n children: ReactElement<ComponentWithItemProp<T>>[];\n isInitialOpen?: DownshiftProps<T>['defaultIsOpen'];\n initialValue?: T;\n containerProps?: Exclude<ViewProps, 'ref'>;\n filterItemBasedOnCurrentInputValue?: (item: T, inputValue: string) => boolean;\n checkSelectedItem: (selectedItem: T | undefined, item: T) => boolean;\n itemToString: (item?: T) => string;\n right?: InputTextProps['right'];\n errorElement?: ReactNode;\n emptyResultsElement?: ReactNode;\n inputTestID?: ViewProps['testID'];\n listContainerTestID?: ViewProps['testID'];\n zIndex?: ViewProps['zIndex'];\n onChange?: DownshiftProps<T>['onChange'];\n onInputChange?: DownshiftProps<T>['onInputValueChange'];\n onSelectItem?: DownshiftProps<T>['onSelect'];\n onOuterPress?: DownshiftProps<T>['onOuterClick'];\n}\n\nfunction isReactElement(element: unknown): element is ReactElement {\n return typeof element === 'object' && element !== null && 'type' in element && 'props' in element;\n}\n\nexport function Autocomplete<T extends object>({\n children,\n name,\n disabled,\n placeholder,\n isInitialOpen,\n initialValue,\n containerProps,\n filterItemBasedOnCurrentInputValue,\n checkSelectedItem,\n itemToString,\n right,\n onChange,\n onFocus,\n onBlur,\n onInputChange,\n onSelectItem,\n /**\n * @description web only callback\n */\n onOuterPress,\n errorElement,\n emptyResultsElement,\n inputTestID = 'kitt.Autocomplete.inputText',\n listContainerTestID = 'kitt.Autocomplete.listContainer',\n zIndex = 1000,\n ...props\n}: AutocompleteProps<T>): ReactNode {\n const childrenArray = Children.toArray(children);\n\n const items: { child: ReactElement; item: T }[] = childrenArray\n .filter(isReactElement)\n .map((child) => ({ child, item: child.props.item }));\n\n const handleItemToString = (item: T | null): string => {\n // Prevents returning null values\n if (!itemToString) return '';\n return itemToString(item || undefined);\n };\n\n return (\n <Downshift\n defaultIsOpen={isInitialOpen}\n initialSelectedItem={initialValue}\n initialInputValue={initialValue ? itemToString(initialValue) : undefined}\n itemToString={handleItemToString}\n stateReducer={(state, changes) => {\n switch (changes.type) {\n case Downshift.stateChangeTypes.changeInput:\n return {\n ...changes,\n selectedItem: null,\n };\n default:\n return changes;\n }\n }}\n onChange={(selectedItem, stateAndHelpers) => {\n if (onChange) {\n onChange(selectedItem, stateAndHelpers);\n }\n }}\n onSelect={onSelectItem}\n onOuterClick={onOuterPress}\n onInputValueChange={onInputChange}\n >\n {({\n getRootProps,\n getInputProps,\n getMenuProps,\n getItemProps,\n getToggleButtonProps,\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItem,\n openMenu,\n }) => {\n const shouldSuppressRefError = Platform.OS !== 'web';\n\n const rootProps = getRootProps(undefined, { suppressRefError: shouldSuppressRefError });\n const menuProps = getMenuProps(undefined, { suppressRefError: shouldSuppressRefError });\n const { onClick: onClickToggle, onPress: onPressToggle, ...toggleProps } = getToggleButtonProps({ disabled });\n\n const {\n onKeyDown,\n onFocus: onSearchInputFocus,\n onBlur: onSearchInputBlur,\n onChange: onSearchInputChange,\n ...inputProps\n } = getInputProps({ placeholder, disabled });\n\n const hasCurrentSearch = inputValue && inputValue.length > 0;\n\n const currentItems =\n hasCurrentSearch && filterItemBasedOnCurrentInputValue\n ? items.filter(({ item }) => {\n if (!filterItemBasedOnCurrentInputValue) return true;\n return filterItemBasedOnCurrentInputValue(item, inputValue || '');\n })\n : items;\n\n // We need to check if the menu is open and if there is at least one item or an error element to prevent displaying an empty container\n const isCurrentlyOpen = isOpen ? currentItems.length > 0 || !!errorElement || !!emptyResultsElement : false;\n\n const handleTogglePress = (e?: GestureResponderEvent): void => {\n if (Platform.OS === 'web') {\n onClickToggle(e);\n return;\n }\n onPressToggle(patchNativeEvent(e));\n };\n\n const canDisplayCollapseButton = currentItems.length > 0 || !!errorElement || !!emptyResultsElement;\n\n return (\n <View {...rootProps} {...containerProps} zIndex={zIndex} position=\"relative\">\n <InputText\n {...inputProps}\n {...props}\n name={name}\n testID={inputTestID}\n right={\n right ||\n (canDisplayCollapseButton ? (\n <InputPressable\n {...toggleProps}\n testID=\"kitt.Autocomplete.listToggle\"\n hitSlop={40}\n onPress={handleTogglePress}\n >\n <InputIcon icon={isCurrentlyOpen ? <CaretUpFillIcon /> : <CaretDownFillIcon />} />\n </InputPressable>\n ) : null)\n }\n onFocus={(e) => {\n openMenu();\n /** @ts-expect-error onFocus wants web events */\n if (Platform.OS !== 'android' && onSearchInputFocus) onSearchInputFocus(e);\n\n if (onFocus) onFocus(e);\n }}\n onBlur={(e) => {\n /** @ts-expect-error onBlur wants web events */\n if (Platform.OS !== 'android' && onSearchInputBlur) onSearchInputBlur(e);\n\n if (onBlur) onBlur(e);\n }}\n /** @ts-expect-error onSearchInputChange wants web events */\n onChange={onSearchInputChange}\n /** @ts-expect-error onKeyDown wants web events */\n onKeyPress={onKeyDown}\n />\n <View {...menuProps} position=\"relative\">\n {isCurrentlyOpen ? (\n <AutocompleteItemsListContainer testID={listContainerTestID}>\n {currentItems.map(({ child, item }, index) => {\n const {\n onClick,\n onPress,\n role,\n 'aria-selected': ariaSelected,\n ...itemProps\n } = getItemProps({ item, index });\n\n return (\n <Pressable\n key={itemProps.id}\n {...itemProps}\n accessibilityRole={Platform.OS === 'android' ? undefined : role}\n accessibilityState={{ selected: ariaSelected }}\n disabled={disabled}\n onPress={(e) => {\n if (Platform.OS === 'web') {\n if (onClick) onClick(e);\n return;\n }\n\n if (onPress) onPress(patchNativeEvent(e));\n }}\n >\n {({ isHovered, isFocused, isPressed }) => (\n <AutocompleteItem<T>\n item={item}\n isHighlighted={highlightedIndex === index}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n isSelected={checkSelectedItem(selectedItem || undefined, item)}\n >\n {child}\n </AutocompleteItem>\n )}\n </Pressable>\n );\n })}\n\n {errorElement}\n {emptyResultsElement}\n </AutocompleteItemsListContainer>\n ) : null}\n </View>\n </View>\n );\n }}\n </Downshift>\n );\n}\n\nAutocomplete.Option = AutocompleteOption;\n/**\n * @description: This is exported for testing purposes only\n */\nAutocomplete.UnsafeInternalItem = AutocompleteItem;\n","<svg fill=\"none\" viewBox=\"0 0 14 14\"><path d=\"M1.895 7.205a.7.7 0 0 0-.99.99l3.5 3.5a.7.7 0 0 0 .99 0l7.7-7.7a.7.7 0 1 0-.99-.99L4.9 10.21 1.895 7.205z\" fill=\"currentColor\"/></svg>","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.backgroundColor';\n\n return 'kitt.forms.checkbox.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.borderColor';\n\n return 'kitt.forms.checkbox.default.borderColor';\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { Icon } from '../../Icon/Icon';\nimport { useTheme } from '../../KittThemeContext';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable, View } from '../../native-base/primitives';\nimport CheckboxMarkIcon from './checkbox-mark.inline.svg';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderColor } from './utils/getBorderColor';\n\nexport interface CheckboxProps {\n checked?: boolean;\n hitSlop?: number;\n testID?: string;\n id?: PressableProps['testID'];\n children?: ReactNode;\n disabled?: boolean;\n onChange?: (checked: boolean, e: GestureResponderEvent) => void;\n onBlur?: (e: any) => void;\n onFocus?: (e: any) => void;\n}\n\nexport const Checkbox = forwardRef<PressableProps, CheckboxProps>(\n (\n { checked, hitSlop = 40, id, children, disabled, testID, onChange, onBlur, onFocus }: CheckboxProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n if (onChange) onChange(!checked, e);\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n ref={ref}\n id={id}\n testID={testID}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked: !!checked, disabled }}\n hitSlop={hitSlop}\n disabled={disabled}\n onPress={handlePress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.forms.checkbox.textSpacing' : undefined}>\n <View\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n marginTop={children ? 1 : undefined}\n height=\"kitt.forms.checkbox.height\"\n width=\"kitt.forms.checkbox.width\"\n borderRadius=\"kitt.forms.checkbox.borderRadius\"\n borderWidth=\"kitt.forms.checkbox.borderWidth\"\n borderColor={getBorderColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n backgroundColor={getBackgroundColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'all',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <View\n opacity={checked ? 1 : 0}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'opacity',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <Icon\n align=\"center\"\n color={theme.kitt.forms.checkbox.markColor}\n size={theme.kitt.forms.checkbox.iconSize}\n icon={<CheckboxMarkIcon />}\n />\n </View>\n </View>\n\n {children ? <View flexShrink={1}>{children}</View> : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","import type { TextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\n\nexport function getEnterKeyHintForNumericInput(\n enterKeyHint: TextInputProps['enterKeyHint'],\n): TextInputProps['enterKeyHint'] {\n // enterKeyHint is only displayed on number input on iOS if value is done\n if (Platform.OS === 'ios') return 'done';\n\n return enterKeyHint;\n}\n","function prefixWithZero(value: number, maxLength = 2): string {\n return `${value}`.padStart(maxLength, '0');\n}\n\nexport function dayFormatter(day: number): string {\n return prefixWithZero(day);\n}\n\nexport function monthFormatter(month: number): string {\n return prefixWithZero(month);\n}\n\nexport function yearFormatter(year: number): string {\n return prefixWithZero(year, 4);\n}\n","export function getDayInInterval(value: number | undefined): number | undefined {\n const minValue = 1;\n const maxValue = 31;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getMonthInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxMonthInYear = 12;\n\n const minValue = minDate ? minDate.getMonth() + 1 : 1;\n const maxValue = maxDate ? maxDate.getMonth() + 1 : maxMonthInYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getYearInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxPossibleYear = 9999;\n\n const minValue = minDate ? minDate.getFullYear() : 1;\n const maxValue = maxDate ? maxDate.getFullYear() : maxPossibleYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n","import type { Reducer } from 'react';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { getDayInInterval, getMonthInInterval, getYearInInterval } from '../utils/datePartInInterval';\n\nfunction getValueToDisplayedString(value: number | undefined): string {\n // We exclude the undefined value since 0 is a valid number\n if (value === undefined) return '';\n\n return value.toString();\n}\n\nexport interface State {\n currentValue: DatePickerProps['value'];\n currentDay?: number;\n currentMonth?: number;\n currentYear?: number;\n displayedDay?: string;\n displayedMonth?: string;\n displayedYear?: string;\n minDate: DatePickerProps['minDate'];\n maxDate: DatePickerProps['maxDate'];\n}\n\ninterface DayChangeAction {\n type: 'day-change';\n nextDay?: number;\n}\n\ninterface MonthChangeAction {\n type: 'month-change';\n nextMonth?: number;\n}\n\ninterface YearChangeAction {\n type: 'year-change';\n nextYear?: number;\n}\n\ninterface DayBlurAction {\n type: 'day-blur';\n}\n\ninterface MonthBlurAction {\n type: 'month-blur';\n}\n\ninterface YearBlurAction {\n type: 'year-blur';\n}\n\ntype Actions =\n | DayChangeAction\n | MonthChangeAction\n | YearChangeAction\n | DayBlurAction\n | MonthBlurAction\n | YearBlurAction;\n\nexport const keyboardDatePickerReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'day-change': {\n const { nextDay } = action;\n\n return {\n ...state,\n currentDay: nextDay,\n displayedDay: getValueToDisplayedString(nextDay),\n };\n }\n\n case 'month-change': {\n const { nextMonth } = action;\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: getValueToDisplayedString(nextMonth),\n };\n }\n\n case 'year-change': {\n const { nextYear } = action;\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: getValueToDisplayedString(nextYear),\n };\n }\n\n case 'day-blur': {\n const nextCurrentDay = getDayInInterval(state.currentDay);\n\n return {\n ...state,\n displayedDay: nextCurrentDay ? dayFormatter(nextCurrentDay) : state.displayedDay,\n };\n }\n\n case 'month-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentMonth = getMonthInInterval(state.currentMonth, minDate, maxDate);\n\n return {\n ...state,\n currentMonth: nextCurrentMonth,\n displayedMonth: nextCurrentMonth !== undefined ? monthFormatter(nextCurrentMonth) : state.displayedMonth,\n };\n }\n\n case 'year-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentYear = getYearInInterval(state.currentYear, minDate, maxDate);\n\n return {\n ...state,\n currentYear: nextCurrentYear,\n displayedYear: nextCurrentYear !== undefined ? yearFormatter(nextCurrentYear) : state.displayedYear,\n };\n }\n\n default:\n return state;\n }\n};\n","export function isNumber(input?: unknown): boolean {\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals\n return !isNaN(input as any);\n}\n","interface OnDatePartChangeParams {\n day?: number;\n month?: number;\n year?: number;\n validYearMinLength?: number;\n minDate?: Date;\n maxDate?: Date;\n onChange: (v?: Date) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport function onDatePartChange({\n day,\n month,\n year,\n validYearMinLength = 4,\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n}: OnDatePartChangeParams): void {\n const arrayParts = [day, month, year];\n\n const isEverythingUndefined = arrayParts.every((v) => v === undefined);\n const isEverythingDefined = arrayParts.every(Boolean);\n\n // every parts are undefined\n if (isEverythingUndefined) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n\n // Do nothing if some input parts are empty\n if (!isEverythingDefined) {\n return;\n }\n\n const nextValue = new Date();\n\n const isValidYear = year && year.toString().length >= validYearMinLength;\n\n if (!isValidYear) {\n return;\n }\n\n if (day) nextValue.setDate(day);\n if (month) nextValue.setMonth(month - 1);\n if (year) nextValue.setFullYear(year);\n\n nextValue.setMinutes(0);\n nextValue.setHours(0);\n nextValue.setSeconds(0);\n nextValue.setMilliseconds(0);\n\n if (minDate) {\n minDate.setMinutes(0);\n minDate.setHours(0);\n minDate.setSeconds(0);\n minDate.setMilliseconds(0);\n const isMinDateAfterNextValue = minDate.getTime() > nextValue.getTime();\n\n if (isMinDateAfterNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (maxDate) {\n maxDate.setMinutes(0);\n maxDate.setHours(0);\n maxDate.setSeconds(0);\n maxDate.setMilliseconds(0);\n\n const isMaxDateBeforeNextValue = nextValue.getTime() > maxDate.getTime();\n\n if (isMaxDateBeforeNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (onFocus) onFocus();\n onChange(nextValue);\n if (onBlur) onBlur();\n}\n","import { isNumber } from './isNumber';\n\nexport function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n const parsedText = parseInt(text, 10);\n if (isNumber(parsedText)) return parsedText;\n\n return undefined;\n}\n","import type { ReactElement, Ref } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput } from 'react-native';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport { InputText } from '../../InputText/InputText';\nimport type { InputUIState } from '../../utils';\n\ninterface GetCurrentInternalForcedStateParams {\n isDisabled?: boolean;\n isFocusedInternal?: boolean;\n isPressedInternal?: boolean;\n isHoveredInternal?: boolean;\n}\n\nfunction getCurrentInternalForcedState({\n isDisabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n}: GetCurrentInternalForcedStateParams): InputUIState | 'disabled' {\n if (isDisabled) return 'disabled';\n\n if (isHoveredInternal) return 'hover';\n\n if (isFocusedInternal) return 'focus';\n\n if (isPressedInternal) return 'hover';\n\n return 'default';\n}\n\ninterface InputPartProps {\n id?: string;\n value?: string;\n placeholder?: InputTextProps['placeholder'];\n disabled?: boolean;\n isFocusedInternal?: boolean;\n isHoveredInternal?: boolean;\n isPressedInternal?: boolean;\n enterKeyHint?: InputTextProps['enterKeyHint'];\n onChange?: InputTextProps['onChange'];\n onBlur?: () => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const InputPart = forwardRef(\n (\n {\n id,\n value,\n placeholder,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n enterKeyHint,\n onChange,\n onBlur,\n onSubmitEditing,\n }: InputPartProps,\n ref: Ref<TextInput>,\n ): ReactElement => {\n return (\n <InputText\n ref={ref}\n id={id}\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n })}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n inputMode=\"numeric\"\n enterKeyHint={enterKeyHint}\n textAlign=\"center\"\n onChange={onChange}\n onBlur={onBlur}\n onSubmitEditing={onSubmitEditing}\n />\n );\n },\n);\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../../native-base/primitives';\nimport { View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\n\ninterface PartContainerProps {\n children: ReactNode;\n isStretch?: DatePickerProps['stretch'];\n width?: ViewProps['width'];\n}\n\nexport function PartContainer({ children, isStretch, width }: PartContainerProps): ReactNode {\n return (\n <View\n flexGrow={createResponsiveStyleFromProp(isStretch, 1)}\n flexShrink={createResponsiveStyleFromProp(isStretch, 1)}\n flexBasis={createResponsiveStyleFromProp(isStretch, 0)}\n width={isStretch ? undefined : width}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useReducer, useRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { View } from '../../../native-base/primitives';\nimport { getEnterKeyHintForNumericInput } from '../../../utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport type { DatePickerProps } from '../DatePicker';\nimport { keyboardDatePickerReducer } from '../reducers/keyboardDatePickerReducer';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { isNumber } from '../utils/isNumber';\nimport { onDatePartChange } from '../utils/onDatePartChange';\nimport { stringToNumber } from '../utils/stringToNumber';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface KeyboardDatePickerProps extends DatePickerProps {\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const KeyboardDatePicker = forwardRef<RNTextInput, KeyboardDatePickerProps>(\n (\n {\n id,\n value,\n testID,\n stretch,\n placeholder,\n minDate,\n maxDate,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n enterKeyHint,\n onChange,\n onBlur,\n onFocus,\n onSubmitEditing,\n ...props\n }: KeyboardDatePickerProps,\n ref,\n ): ReactElement => {\n const monthRef = useRef<RNTextInput>(null);\n const yearRef = useRef<RNTextInput>(null);\n\n const defaultValue = value;\n\n const defaultDay = defaultValue?.getDate();\n const defaultMonth = defaultValue ? defaultValue.getMonth() + 1 : undefined;\n const defaultYear = defaultValue?.getFullYear();\n\n const [state, dispatch] = useReducer(keyboardDatePickerReducer, {\n currentValue: defaultValue,\n currentDay: defaultDay,\n currentMonth: defaultMonth,\n currentYear: defaultYear,\n displayedDay: defaultDay ? dayFormatter(defaultDay) : '',\n displayedMonth: defaultMonth ? monthFormatter(defaultMonth) : '',\n displayedYear: defaultYear ? yearFormatter(defaultYear) : '',\n minDate,\n maxDate,\n });\n\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n const handleDatePartChange = (\n day: number | undefined,\n month: number | undefined,\n year: number | undefined,\n ): void => {\n onDatePartChange({ day, month, year, minDate: state.minDate, maxDate: state.maxDate, onFocus, onBlur, onChange });\n };\n\n const handleAutoFocusNextField = (currentFieldValue: string, nextFieldRef: React.RefObject<RNTextInput>): void => {\n if (currentFieldValue.length === 2 && nextFieldRef.current) {\n nextFieldRef.current.focus();\n }\n };\n\n return (\n <View testID={testID} id={id}>\n <HStack space=\"kitt.2\">\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n ref={ref}\n id={id ? `${id}-day` : undefined}\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={state.displayedDay}\n enterKeyHint={getEnterKeyHintForNumericInput('next')}\n onChange={(e) => {\n const nextDay = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'day-change', nextDay });\n\n if (nextDay && isNumber(nextDay)) {\n handleDatePartChange(nextDay, state.currentMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, monthRef);\n }}\n onBlur={() => dispatch({ type: 'day-blur' })}\n onSubmitEditing={() => {\n monthRef.current?.focus();\n }}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n ref={monthRef}\n id={id ? `${id}-month` : undefined}\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={state.displayedMonth}\n enterKeyHint={getEnterKeyHintForNumericInput('next')}\n onChange={(e) => {\n const nextMonth = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'month-change', nextMonth });\n\n if (nextMonth && isNumber(nextMonth)) {\n handleDatePartChange(state.currentDay, nextMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, yearRef);\n }}\n onBlur={() => dispatch({ type: 'month-blur' })}\n onSubmitEditing={() => {\n yearRef.current?.focus();\n }}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n ref={yearRef}\n id={id ? `${id}-year` : undefined}\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={state.displayedYear}\n enterKeyHint={enterKeyHint ? getEnterKeyHintForNumericInput(enterKeyHint) : undefined}\n onChange={(e) => {\n const nextYear = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'year-change', nextYear });\n\n if (nextYear && isNumber(nextYear)) {\n handleDatePartChange(state.currentDay, state.currentMonth, nextYear);\n }\n }}\n onBlur={() => dispatch({ type: 'year-blur' })}\n onSubmitEditing={onSubmitEditing}\n />\n </PartContainer>\n </HStack>\n </View>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { Pressable, View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface PressableDateInputsProps extends Omit<DatePickerProps, 'onChange'> {\n onPress: () => void;\n}\n\nexport const PressableDateInputs = forwardRef<PressableProps, PressableDateInputsProps>(\n (\n {\n disabled,\n stretch,\n id,\n testID,\n value,\n placeholder,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onPress,\n }: PressableDateInputsProps,\n ref,\n ): ReactElement => {\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n return (\n <Pressable\n ref={ref}\n display=\"flex\"\n flexDirection=\"row\"\n position=\"relative\"\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'baseline')}\n id={id}\n disabled={disabled}\n testID={testID}\n onPress={onPress}\n >\n <View\n position=\"relative\"\n width={createResponsiveStyleFromProp(stretch, '100%')}\n style={{\n pointerEvents: 'none',\n }}\n >\n <HStack space=\"kitt.2\" width={createResponsiveStyleFromProp(stretch, '100%')}>\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={value ? dayFormatter(value.getDate()) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={value ? monthFormatter(value.getMonth() + 1) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={value ? yearFormatter(value.getFullYear()) : undefined}\n />\n </PartContainer>\n </HStack>\n <View width=\"100%\" height=\"100%\" position=\"absolute\" top=\"0\" left=\"0\" />\n </View>\n </Pressable>\n );\n },\n);\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport { forwardRef, useEffect, useState } from 'react';\nimport type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\n\ninterface DatePickerAndroidProps extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel'> {}\n\nexport const DatePickerAndroid = forwardRef<PressableProps, DatePickerAndroidProps>(\n (\n {\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n isDefaultVisible,\n value,\n onChange,\n ...props\n }: DatePickerAndroidProps,\n ref,\n ): ReactElement => {\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleClose = (): void => {\n if (onBlur) onBlur();\n };\n\n const handleModalOpen = (): void => {\n setIsFocused(true);\n if (onFocus) onFocus();\n\n DateTimePickerAndroid.open({\n testID: pickerUITestID,\n value: currentValue || pickerDefaultDate || new Date(Date.now()),\n onChange: (e) => {\n setIsFocused(false);\n const { timestamp } = e.nativeEvent;\n if (timestamp) {\n const date = new Date(timestamp);\n\n setCurrentValue(date);\n onChange(date);\n handleClose();\n }\n },\n onTouchCancel: handleClose,\n });\n };\n\n useEffect(() => {\n if (isDefaultVisible) handleModalOpen();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused}\n onPress={handleModalOpen}\n {...props}\n />\n );\n },\n);\n","import DateTimePicker from '@react-native-community/datetimepicker';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from '../../../../KittThemeContext';\n\ntype DateTimePickerProps = ComponentProps<typeof DateTimePicker>;\n\nfunction getDatePickerDisplayMode(): DateTimePickerProps['display'] {\n if (Platform.OS === 'android') return 'calendar';\n\n if (Platform.OS === 'ios') return 'spinner';\n\n return 'default';\n}\n\nexport interface PlatformDateTimePickerProps {\n value?: Date;\n defaultDate?: Date;\n maximumDate?: DateTimePickerProps['maximumDate'];\n minimuDate?: DateTimePickerProps['minimumDate'];\n testID?: DateTimePickerProps['testID'];\n onChange: (newDate?: Date) => void;\n}\n\nexport function PlatformDateTimePicker({\n value,\n defaultDate = new Date(),\n maximumDate,\n minimuDate,\n testID,\n onChange,\n}: PlatformDateTimePickerProps): ReactNode {\n const theme = useTheme();\n const displayMode = getDatePickerDisplayMode();\n\n const iosProps = Platform.OS === 'ios' ? { textColor: theme.kitt.colors.primary } : {};\n\n return (\n <DateTimePicker\n is24Hour\n testID={testID}\n value={value || defaultDate}\n mode=\"date\"\n maximumDate={maximumDate}\n minimumDate={minimuDate}\n display={displayMode}\n {...iosProps}\n onChange={(_event: DateTimePickerEvent, date?: Date | undefined) => onChange(date)}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Text } from 'react-native';\nimport { Button } from '../../../../Button/Button';\nimport { CardModal } from '../../../../CardModal/CardModal';\nimport { Typography } from '../../../../typography/Typography';\nimport type { PlatformDateTimePickerProps } from './PlatformDateTimePicker';\nimport { PlatformDateTimePicker } from './PlatformDateTimePicker';\n\ninterface ModalTitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction ModalTitle({ children }: ModalTitleProps): ReactNode {\n return (\n <CardModal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </CardModal.Header>\n );\n}\n\ninterface ModalPlatformDateTimePickerProps extends PlatformDateTimePickerProps {\n title?: ReactNode;\n isVisible?: boolean;\n validateButtonLabel?: string;\n onClose: () => void;\n}\n\nexport function ModalPlatformDateTimePicker({\n title,\n isVisible,\n value,\n validateButtonLabel,\n onClose,\n onChange,\n ...props\n}: ModalPlatformDateTimePickerProps): ReactNode {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue((prev) => {\n return newDate || prev;\n });\n };\n\n return (\n <CardModal.ModalBehaviour visible={Boolean(isVisible)} onClose={handleClose}>\n <CardModal>\n {isVisible ? (\n <>\n {title ? <ModalTitle>{title}</ModalTitle> : null}\n\n <CardModal.Body>\n <PlatformDateTimePicker {...props} value={currentValue} onChange={handleChange} />\n </CardModal.Body>\n\n <CardModal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalPlatformDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </CardModal.Footer>\n </>\n ) : null}\n </CardModal>\n </CardModal.ModalBehaviour>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\n\nexport const DefaultNativeUIDatePicker = forwardRef<PressableProps, DatePickerProps>(\n (\n {\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n isDefaultVisible,\n pickerDefaultDate,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onFocus,\n onBlur,\n ...props\n }: DatePickerProps,\n ref,\n ): ReactElement => {\n const [isPickerUIVisible, setIsPickerUIVisible] = useState(isDefaultVisible);\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleModalOpen = (): void => {\n if (onFocus) onFocus();\n\n setIsPickerUIVisible(true);\n\n setIsFocused(true);\n };\n\n const handleModalClose = (): void => {\n if (onBlur) onBlur();\n\n setIsPickerUIVisible(false);\n\n setIsFocused(false);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue(newDate);\n\n onChange(newDate);\n\n handleModalClose();\n };\n\n return (\n <>\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused || isFocusedInternal}\n isHoveredInternal={isHoveredInternal}\n isPressedInternal={isPressedInternal}\n onPress={handleModalOpen}\n {...props}\n />\n\n <ModalPlatformDateTimePicker\n testID={pickerUITestID}\n value={currentValue}\n isVisible={isPickerUIVisible}\n title={pickerUITitle}\n validateButtonLabel={pickerUIValidateButtonLabel}\n defaultDate={pickerDefaultDate}\n onClose={handleModalClose}\n onChange={handleChange}\n />\n </>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DefaultNativeUIDatePicker } from './DefaultNativeUIDatePicker';\n\ninterface NativeUIDatePickerProps extends DatePickerProps {}\n\nexport const NativeUIDatePicker = forwardRef<PressableProps, NativeUIDatePickerProps>(\n (\n { value, pickerUITestID, isDefaultVisible, pickerDefaultDate, onChange, onBlur, ...props }: NativeUIDatePickerProps,\n ref,\n ): ReactElement => {\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n ref={ref}\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n isDefaultVisible={isDefaultVisible}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n return (\n <DefaultNativeUIDatePicker\n ref={ref}\n value={value}\n isDefaultVisible={isDefaultVisible}\n pickerUITestID={pickerUITestID}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport type React from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, TextInput as RNTextInput } from 'react-native';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\nimport { NativeUIDatePicker } from './components/NativeUIDatePicker/NativeUIDatePicker';\n\ntype DatePickerFillMode = 'keyboard' | 'native';\n\ninterface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport interface DatePickerProps {\n id?: string;\n testID?: string;\n disabled?: boolean;\n /**\n * @description value of the input\n */\n value?: Date;\n placeholder?: DatePickerPlaceholder;\n /** @description minimum date for the value to be valid */\n minDate?: Date;\n /** @description maximum date for the value to be valid */\n maxDate?: Date;\n /** @description Native only props - testID of the native platform picker */\n pickerUITestID?: string;\n /** @description Display a keyboard or the native picker. Web only has \"keyboard\" mode available */\n fillMode?: DatePickerFillMode;\n /** @description Native only props - Default date to be displayed on the native UI before any interactions */\n pickerDefaultDate?: Date;\n /** @description iOS only props - Text of the title of the Kitt modal displaying the platform picker on iOS */\n pickerUITitle?: string;\n /** @description iOS only props - Label of the validate button shown in the Kitt modal displaying the platform picker on iOS */\n pickerUIValidateButtonLabel?: string;\n /** @description Native only props - Controls the default visibility of the native picker */\n isDefaultVisible?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n enterKeyHint?: InputTextProps['enterKeyHint'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onChange: (date?: Date) => void;\n onBlur?: (e?: any) => void;\n onFocus?: (e?: any) => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const DatePicker = forwardRef<PressableProps | RNTextInput, DatePickerProps>(\n ({ fillMode = 'native', enterKeyHint, value, onSubmitEditing, ...props }: DatePickerProps, ref): ReactElement => {\n // in apps, final-form can give a string value that will break the component\n const currentValue = value || undefined;\n\n if (fillMode === 'keyboard') {\n return (\n <KeyboardDatePicker\n ref={ref as React.ForwardedRef<RNTextInput>}\n {...props}\n value={currentValue}\n enterKeyHint={enterKeyHint}\n onSubmitEditing={onSubmitEditing}\n />\n );\n }\n\n return <NativeUIDatePicker ref={ref as React.ForwardedRef<PressableProps>} {...props} value={currentValue} />;\n },\n);\n","import type { ReactNode } from 'react';\nimport { createContext } from 'react';\n\nexport const GoogleMapsApiKeyContext = createContext<string | undefined>(undefined);\n\nexport interface GoogleMapsApiKeyProviderProps {\n children: ReactNode;\n apiKey: string;\n}\n\nexport function GoogleMapsApiKeyProvider({ children, apiKey }: GoogleMapsApiKeyProviderProps): ReactNode {\n return <GoogleMapsApiKeyContext.Provider value={apiKey}>{children}</GoogleMapsApiKeyContext.Provider>;\n}\n","import { useContext } from 'react';\nimport { GoogleMapsApiKeyContext } from '../GoogleMapsApiKeyProvider';\n\nexport function useGoogleMapApiKey(): string {\n const context = useContext(GoogleMapsApiKeyContext);\n\n if (!context) {\n throw new Error('<GoogleMapsApiKeyContext> missing in the react tree');\n }\n\n return context;\n}\n","export function makeMapsApiUrl(resource: string, paramName: string, value: string, apiKey: string): string {\n return `https://maps.googleapis.com/maps/api/${resource}/json?${paramName}=${encodeURIComponent(\n value,\n )}&key=${apiKey}`;\n}\n","import { useGoogleMapApiKey } from '../../GoogleMapsApiKeyProvider/hooks/useGoogleMapApiKey';\nimport { makeMapsApiUrl } from '../utils/makeMapsApiUrl';\n\nexport interface GetDetailsResponse {\n result?: google.maps.places.PlaceResult;\n status: google.maps.places.PlacesServiceStatus;\n}\n\nexport interface GetPlacePredictions {\n results: google.maps.places.AutocompletePrediction[];\n status: google.maps.places.PlacesServiceStatus;\n}\n\nexport interface UseGooglePlacesServices {\n autoComplete: {\n getPlacePredictions: (input: string) => Promise<GetPlacePredictions>;\n };\n placesService: {\n getDetails: (placeId: string) => Promise<GetDetailsResponse>;\n };\n}\n\nexport function useGoogleMapsApi(): UseGooglePlacesServices {\n const apiKey = useGoogleMapApiKey();\n\n const makeApiUrl = (resource: string, paramName: string, value: string): string => {\n return makeMapsApiUrl(resource, paramName, value, apiKey);\n };\n\n const sharedFetchOptions = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n };\n\n const googlePlacesServices = {\n autoComplete: {\n getPlacePredictions: async (input: string): Promise<GetPlacePredictions> => {\n try {\n const response = await fetch(makeApiUrl('place/autocomplete', 'input', input), sharedFetchOptions);\n const data = await response.json();\n\n if (data?.status !== 'OK') {\n return { status: data?.status, results: [] };\n }\n\n return {\n results: data?.predictions,\n status: data?.status,\n };\n } catch (error) {\n return { status: google.maps.places.PlacesServiceStatus.UNKNOWN_ERROR, results: [] };\n }\n },\n },\n placesService: {\n getDetails: async (placeId: string): Promise<GetDetailsResponse> => {\n try {\n const response = await fetch(makeApiUrl('place/details', 'place_id', placeId), sharedFetchOptions);\n const data = await response.json();\n\n if (data?.status !== 'OK') {\n return { status: data?.status, result: undefined };\n }\n\n return {\n result: data?.result,\n status: data?.status,\n };\n } catch (error) {\n return { status: google.maps.places.PlacesServiceStatus.UNKNOWN_ERROR, result: undefined };\n }\n },\n },\n };\n\n return googlePlacesServices;\n}\n","import type { Reducer } from 'react';\n\nexport interface State {\n currentSelectedValue?: google.maps.places.PlaceResult;\n items: google.maps.places.AutocompletePrediction[];\n isLoadingSearch?: boolean;\n hasSearchError?: boolean;\n hasSelectResultError?: boolean;\n isLoadingResultDetails?: boolean;\n shouldDisplayEmptyStateWhenNoResults?: boolean;\n}\n\ninterface SearchChangeAction {\n type: 'search-change';\n}\n\ninterface SearchSuccessAction {\n type: 'search-success';\n payload: {\n results: google.maps.places.AutocompletePrediction[];\n };\n}\n\ninterface SearchErrorAction {\n type: 'search-error';\n}\n\ninterface SelectResultAction {\n type: 'select-result';\n}\n\ninterface SelectResultSuccessAction {\n type: 'select-result-success';\n payload: {\n result: google.maps.places.PlaceResult;\n };\n}\n\ninterface SelectResultErrorAction {\n type: 'select-result-error';\n}\n\ntype Actions =\n | SearchChangeAction\n | SelectResultAction\n | SearchSuccessAction\n | SearchErrorAction\n | SelectResultSuccessAction\n | SelectResultErrorAction;\n\nexport const googleMapsAutocompleteReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'search-change': {\n return {\n ...state,\n hasSearchError: false,\n isLoadingSearch: true,\n };\n }\n\n case 'search-success': {\n return {\n ...state,\n hasSearchError: false,\n isLoadingSearch: false,\n items: action.payload.results,\n };\n }\n\n case 'search-error': {\n return {\n ...state,\n hasSearchError: true,\n isLoadingSearch: false,\n items: [],\n };\n }\n\n case 'select-result': {\n return {\n ...state,\n hasSelectResultError: false,\n isLoadingResultDetails: true,\n };\n }\n\n case 'select-result-success': {\n return {\n ...state,\n hasSelectResultError: false,\n isLoadingResultDetails: false,\n currentSelectedValue: action.payload.result,\n };\n }\n\n case 'select-result-error': {\n return {\n ...state,\n hasSelectResultError: true,\n isLoadingResultDetails: false,\n currentSelectedValue: undefined,\n };\n }\n\n default:\n return state;\n }\n};\n","import type { GeocoderAddressComponent } from '../types';\n\nexport function findComponentByType(\n typeName: string,\n components: GeocoderAddressComponent[],\n): GeocoderAddressComponent | undefined {\n return components.find((component) => component.types.includes(typeName));\n}\n\nconst matchStreetNumberWithOriginalAddress = (streetNumber = '', address = ''): string => {\n const regex = / *(\\d*[-/_]{0,1}\\d*) *(bis|ter|quater|quinquies|sexies|septies|octies|novies|decies|[a-z])? /i;\n const [, number = '', extension = ''] = regex.exec(address) || [];\n\n if (number) return `${number}${extension}`;\n\n return streetNumber;\n};\n\ntype GooglePlaceResult = google.maps.places.PlaceResult;\n\nexport interface AutoCompleteAddress {\n source: 'google';\n lat?: number;\n lng?: number;\n streetNumber?: string;\n streetName?: string;\n zipcode?: string;\n locality?: string;\n subLocality?: string;\n country?: string;\n administrativeAreaLevel1?: string;\n administrativeAreaLevel2?: string;\n}\n\nexport const formatAddressFromGoogle = (\n placeResult: GooglePlaceResult,\n originalAddress?: string,\n): AutoCompleteAddress => {\n const { address_components: addressComponents = [] } = placeResult;\n\n return {\n source: 'google',\n lat: placeResult.geometry?.location.lat(),\n lng: placeResult.geometry?.location.lng(),\n locality: findComponentByType('locality', addressComponents)?.long_name,\n subLocality: findComponentByType('sublocality', addressComponents)?.long_name,\n zipcode: findComponentByType('postal_code', addressComponents)?.long_name,\n streetName: findComponentByType('route', addressComponents)?.long_name,\n streetNumber: matchStreetNumberWithOriginalAddress(\n findComponentByType('street_number', addressComponents)?.long_name,\n originalAddress,\n ),\n country: findComponentByType('country', addressComponents)?.long_name,\n administrativeAreaLevel1: findComponentByType('administrative_area_level_1', addressComponents)?.long_name,\n administrativeAreaLevel2: findComponentByType('administrative_area_level_1', addressComponents)?.long_name,\n };\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useCallback, useMemo, useReducer, useRef } from 'react';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { useGoogleMapsApi } from './hooks/useGoogleMapsApi';\nimport { googleMapsAutocompleteReducer } from './reducer/googleMapsAutocompleteReducer';\nimport type { State } from './reducer/googleMapsAutocompleteReducer';\nimport type { AutoCompletePrediction } from './types';\nimport type { AutoCompleteAddress } from './utils/formatAddressFromGoogle';\nimport { formatAddressFromGoogle } from './utils/formatAddressFromGoogle';\n\nexport interface GoogleMapsAutocompleteContextApi {\n state: State;\n onInputChange: (value: string) => Promise<void> | undefined;\n onSelectItem: (item: AutoCompletePrediction | null, onChange: (nextValue?: AutoCompleteAddress) => void) => void;\n}\n\nexport const GoogleMapsAutocompleteContext = createContext<GoogleMapsAutocompleteContextApi>({\n state: {\n items: [],\n currentSelectedValue: undefined,\n isLoadingSearch: false,\n hasSearchError: false,\n hasSelectResultError: false,\n isLoadingResultDetails: false,\n shouldDisplayEmptyStateWhenNoResults: false,\n },\n onInputChange: (value) => {\n return Promise.resolve();\n },\n onSelectItem: (item) => {},\n});\n\nexport interface GoogleMapsAutocompleteProviderProps {\n children: ReactElement;\n minCharsToSearch?: number;\n debounceTimeout?: number;\n}\n\nexport function GoogleMapsAutocompleteProvider({\n children,\n minCharsToSearch = 3,\n debounceTimeout = 950,\n}: GoogleMapsAutocompleteProviderProps): ReactNode {\n const mapsApi = useGoogleMapsApi();\n\n const searchResultsCache = useRef<Record<string, AutoCompletePrediction[]>>({});\n const resultDetailsCache = useRef<Record<string, google.maps.places.PlaceResult>>({});\n\n const [state, dispatch] = useReducer(googleMapsAutocompleteReducer, {\n items: [],\n shouldDisplayEmptyStateWhenNoResults: false,\n });\n\n const handleInputChange = useDebouncedCallback(\n useCallback(\n async (value: string): Promise<void> => {\n if (value.length < minCharsToSearch) return;\n\n dispatch({ type: 'search-change' });\n\n // If the user types the same value as the previous search, we don't need to call the API again\n const predictionsPromise = searchResultsCache.current[value]\n ? Promise.resolve({ results: searchResultsCache.current[value], status: 'OK' })\n : mapsApi.autoComplete.getPlacePredictions(value);\n\n try {\n const { results, status } = await predictionsPromise;\n\n if (status !== 'OK') {\n dispatch({ type: 'search-error' });\n return;\n }\n\n // We cache the results to avoid calling the API again if the user types the same value\n searchResultsCache.current[value] = results;\n\n dispatch({ type: 'search-success', payload: { results } });\n } catch (error) {\n dispatch({ type: 'search-error' });\n }\n },\n [mapsApi.autoComplete, minCharsToSearch],\n ),\n debounceTimeout,\n );\n\n const handleSelectItem = useCallback(\n async (\n item: AutoCompletePrediction | null,\n onChange: (nextValue?: AutoCompleteAddress) => void,\n ): Promise<AutoCompleteAddress | undefined> => {\n // This case should never happen but it's here to avoid a TS error\n if (!item?.place_id) {\n if (onChange) onChange(undefined);\n return;\n }\n\n dispatch({ type: 'select-result' });\n\n try {\n // If we already have the details in cache, we don't need to fetch them again\n const placePromise = resultDetailsCache.current[item.place_id]\n ? Promise.resolve(resultDetailsCache.current[item.place_id])\n : mapsApi.placesService.getDetails(item.place_id).then(({ result }) => result);\n\n const place = await placePromise;\n\n if (!place) {\n dispatch({ type: 'select-result-error' });\n\n if (onChange) onChange(undefined);\n return;\n }\n\n dispatch({\n type: 'select-result-success',\n payload: {\n result: place,\n },\n });\n\n const formattedAddress = formatAddressFromGoogle(place, item.description);\n\n // We cache the result details to avoid fetching them again if the user selects the same item\n resultDetailsCache.current[item.place_id] = place;\n\n if (onChange) onChange(formattedAddress);\n } catch (error) {\n dispatch({ type: 'select-result-error' });\n\n if (onChange) onChange(undefined);\n }\n },\n [mapsApi.placesService],\n );\n\n const api = useMemo(\n () => ({ state, onSelectItem: handleSelectItem, onInputChange: handleInputChange }),\n [handleInputChange, handleSelectItem, state],\n );\n\n return <GoogleMapsAutocompleteContext.Provider value={api}>{children}</GoogleMapsAutocompleteContext.Provider>;\n}\n","import { useContext } from 'react';\nimport type { GoogleMapsAutocompleteContextApi } from '../GoogleMapsAutocompleteProvider';\nimport { GoogleMapsAutocompleteContext } from '../GoogleMapsAutocompleteProvider';\n\nexport function useGoogleMapsAutocomplete(): GoogleMapsAutocompleteContextApi {\n const context = useContext(GoogleMapsAutocompleteContext);\n\n if (!context) {\n throw new Error('<GoogleMapsAutocompleteProvider> missing in the react tree');\n }\n\n return context;\n}\n","import { MapPinIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport type { AutoCompletePrediction } from '../../GoogleMapsAutocompleteProvider/types';\nimport { HStack } from '../../native-base/layout';\nimport { View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport { Autocomplete } from '../Autocomplete/Autocomplete';\n\nexport interface InputAddressOptionProps {\n item: AutoCompletePrediction;\n}\n\nexport function InputAddressOption({ item }: InputAddressOptionProps): ReactNode {\n const sharedTransform = {\n style: {\n transform: 'translateY(4)',\n },\n };\n\n return (\n <Autocomplete.Option item={item}>\n <HStack space=\"kitt.2\">\n <View _web={sharedTransform} _ios={sharedTransform} _android={sharedTransform}>\n <TypographyIcon icon={<MapPinIcon />} color=\"black\" />\n </View>\n <View flexShrink={1}>\n <Typography.Text>\n <Typography.Text variant=\"bold\">{item.structured_formatting.main_text}</Typography.Text>\n {item.structured_formatting.secondary_text ? (\n <Typography.Text color=\"black-light\" variant=\"bold\">\n {' '}\n {item.structured_formatting.secondary_text}\n </Typography.Text>\n ) : null}\n </Typography.Text>\n </View>\n </HStack>\n </Autocomplete.Option>\n );\n}\n","export function defaultItemToString(item?: google.maps.places.AutocompletePrediction): string {\n if (!item) return '';\n return item.structured_formatting.main_text;\n}\n","import type { AutoCompleteAddress } from '../../../GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle';\n\n// This function takes AutocompleteAddress and return a valid google AutocompletePrediction\nexport function formatInitialValueToAutocompletePrediction(\n address: AutoCompleteAddress,\n placeId: string,\n): google.maps.places.AutocompletePrediction {\n return {\n place_id: placeId,\n description: '',\n reference: '',\n types: [],\n terms: [],\n matched_substrings: [],\n structured_formatting: {\n main_text: [address.streetName, address.streetNumber].filter(Boolean).join(' '),\n main_text_matched_substrings: [],\n secondary_text: [address.zipcode, address.locality, address.subLocality].filter(Boolean).join(' '),\n },\n };\n}\n","import type { ReactNode } from 'react';\nimport { useGoogleMapsAutocomplete } from '../../GoogleMapsAutocompleteProvider/hooks/useGoogleMapsAutocomplete';\nimport type { AutoCompletePrediction } from '../../GoogleMapsAutocompleteProvider/types';\nimport type { AutoCompleteAddress } from '../../GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle';\nimport { Icon } from '../../Icon/Icon';\nimport { LoaderIcon } from '../../LoaderIcon/LoaderIcon';\nimport { Autocomplete } from '../Autocomplete/Autocomplete';\nimport type { AutocompleteProps } from '../Autocomplete/Autocomplete';\nimport { InputAddressOption } from './InputAddressOption';\nimport { defaultItemToString } from './utils/defaultItemToString';\nimport { formatInitialValueToAutocompletePrediction } from './utils/formatInitialValueToAutocompletePrediction';\n\nexport interface InputAddressProps<T extends object>\n extends Omit<AutocompleteProps<T>, 'onChange' | 'checkSelectedItem' | 'itemToString' | 'children' | 'initialValue'> {\n initialValue?: AutoCompleteAddress;\n itemToString?: (item?: AutoCompletePrediction) => string;\n onChange: (address: AutoCompleteAddress | undefined) => void;\n}\n\nexport function InputAddress({\n initialValue,\n itemToString = defaultItemToString,\n errorElement,\n emptyResultsElement,\n onChange,\n ...props\n}: InputAddressProps<AutoCompleteAddress>): ReactNode {\n const { state, onInputChange, onSelectItem } = useGoogleMapsAutocomplete();\n\n // place_id is a google field that is not available within an AutoCompleteAddress, so we need to add a fake one when handling initial values\n const formattedInitialValue = initialValue\n ? formatInitialValueToAutocompletePrediction(initialValue, 'initial-value-placeId')\n : undefined;\n\n return (\n <Autocomplete<AutoCompletePrediction>\n {...(props as AutocompleteProps<AutoCompletePrediction>)}\n itemToString={itemToString}\n initialValue={formattedInitialValue}\n checkSelectedItem={(selectedItem, item) => selectedItem?.place_id === item.place_id}\n right={\n state.isLoadingSearch || state.isLoadingResultDetails ? (\n <Icon icon={<LoaderIcon />} color=\"kitt.black\" />\n ) : undefined\n }\n errorElement={state.hasSearchError || state.hasSelectResultError ? errorElement : null}\n emptyResultsElement={state.items.length === 0 ? emptyResultsElement : null}\n onInputChange={(v) => {\n onInputChange(v);\n }}\n onChange={(v) => {\n onSelectItem(v, onChange);\n }}\n >\n {state.items.map((item) => (\n <InputAddressOption key={item.place_id} item={item} />\n ))}\n </Autocomplete>\n );\n}\n\nInputAddress.Option = InputAddressOption;\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputEmailProps\n extends Except<InputTextProps, 'autoComplete' | 'inputMode' | 'textContentType' | 'autoCapitalize'> {}\n\nexport const InputEmail = forwardRef<RNTextInput, InputEmailProps>((props: InputEmailProps, ref): ReactElement => {\n return (\n <InputText\n ref={ref}\n autoComplete=\"email\"\n inputMode=\"email\"\n textContentType=\"emailAddress\"\n autoCapitalize=\"none\"\n {...props}\n />\n );\n});\n","import type { ReactNode } from 'react';\nimport { Typography } from '../../typography/Typography';\nimport type { TypographyColor, TypographyProps } from '../../typography/Typography';\nimport type { InputFormState } from '../utils';\n\nexport interface InputFeedbackProps {\n state?: InputFormState;\n testID?: TypographyProps['testID'];\n children: NonNullable<ReactNode>;\n}\n\nconst getColorFromState = (state?: InputFormState): TypographyColor => {\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n default:\n return 'black-light';\n }\n};\n\nexport function InputFeedback({ state, testID, children }: InputFeedbackProps): ReactNode {\n return (\n <Typography.Text base=\"body-small\" color={getColorFromState(state)} testID={testID}>\n {children}\n </Typography.Text>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\n\nexport interface InputFieldProps {\n label?: ReactNode;\n labelFeedback?: ReactNode;\n input: NonNullable<ReactNode>;\n feedback?: ReactNode;\n}\n\nexport function InputField({ label, labelFeedback, input, feedback }: InputFieldProps): ReactNode {\n const theme = useTheme();\n return (\n <View\n paddingTop={theme.kitt.forms.inputField.containerPaddingTop}\n paddingBottom={theme.kitt.forms.inputField.containerPaddingBottom}\n >\n {label ? (\n <View\n flexDirection=\"row\"\n alignItems=\"center\"\n paddingBottom={theme.kitt.forms.inputField.labelContainerPaddingBottom}\n >\n <View marginRight={theme.kitt.forms.inputField.labelFeedbackMarginLeft}>{label}</View>\n {labelFeedback}\n </View>\n ) : null}\n {input}\n {feedback ? <View paddingTop={theme.kitt.forms.inputField.feedbackPaddingTop}>{feedback}</View> : null}\n </View>\n );\n}\n","import { forwardRef } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputNumberProps extends Except<InputTextProps, 'inputMode'> {}\n\nexport const InputNumber = forwardRef<RNTextInput, InputNumberProps>(({ onChange, ...props }, ref) => {\n const handleChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n if (!onChange) return;\n\n const value = parseFloat(event.nativeEvent.text);\n\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals, no-param-reassign\n event.nativeEvent.text = isNaN(value) ? '' : value.toString();\n\n onChange(event);\n };\n return <InputText ref={ref} {...props} inputMode=\"numeric\" onChange={handleChange} />;\n});\n","import { EyeClosedRegularIcon, EyeRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPasswordProps extends InputTextProps {\n isPasswordDefaultVisible?: boolean;\n}\n\nexport const InputPassword = forwardRef<RNTextInput, InputPasswordProps>(\n ({ isPasswordDefaultVisible, right, ...props }: InputPasswordProps, ref): ReactElement => {\n const [isVisible, setIsVisible] = useState(Boolean(isPasswordDefaultVisible));\n\n return (\n <InputText\n ref={ref}\n {...props}\n textContentType=\"password\"\n autoComplete=\"password\"\n autoCorrect={false}\n secureTextEntry={!isVisible}\n right={\n right || (\n <InputPressable\n testID=\"kitt.InputPassword.passwordToggle\"\n hitSlop={20}\n accessibilityRole=\"button\"\n onPress={() => setIsVisible((prev) => !prev)}\n >\n <InputIcon icon={isVisible ? <EyeClosedRegularIcon /> : <EyeRegularIcon />} />\n </InputPressable>\n )\n }\n />\n );\n },\n);\n","import type { CountryCallingCode, ParsedNumber } from 'libphonenumber-js';\nimport { getCountryCallingCode, isValidNumber, parseNumber } from 'libphonenumber-js';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { getEnterKeyHintForNumericInput } from '../../utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nfunction isPhoneNumberValid(number: Record<string, never> | ParsedNumber): number is ParsedNumber {\n return isValidNumber(number as ParsedNumber);\n}\n\nfunction prefixWithZero(value: string, phoneNumberLength: number): string {\n return value.padStart(phoneNumberLength, '0');\n}\n\nexport interface InputPhoneNumberData extends ParsedNumber {\n countryCode: CountryCallingCode;\n originalNativeEventText: string;\n}\n\nexport interface InputPhoneProps extends Except<InputTextProps, 'inputMode' | 'textContentType'> {\n phoneNumberLength?: number;\n onChange?: (event: NativeSyntheticEvent<TextInputChangeEventData>, phoneNumberData?: InputPhoneNumberData) => void;\n}\n\nexport const InputPhone = forwardRef<RNTextInput, InputPhoneProps>(\n (\n { enterKeyHint, autoComplete = 'tel', phoneNumberLength = 10, value, onChange, ...props }: InputPhoneProps,\n ref,\n ): ReactElement => {\n const [currentValue, setCurrentValue] = useState(value);\n\n const currentEnterKeyHint = enterKeyHint ? getEnterKeyHintForNumericInput(enterKeyHint) : undefined;\n\n const handleChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n const number = parseNumber(event.nativeEvent.text);\n\n // When intl phone number is valid :\n // 1 - We extract intl data\n // 2 - We recreate the local value to display\n if (isPhoneNumberValid(number)) {\n const { phone } = number;\n\n const finalPhoneNumber = prefixWithZero(`${phone || ''}`, phoneNumberLength);\n\n const eventWithoutCountryCode = {\n ...event,\n nativeEvent: {\n ...event.nativeEvent,\n text: finalPhoneNumber,\n },\n };\n\n setCurrentValue(finalPhoneNumber);\n\n if (onChange) {\n onChange(eventWithoutCountryCode, {\n ...(number as ParsedNumber),\n countryCode: getCountryCallingCode(number.country),\n originalNativeEventText: event.nativeEvent.text,\n });\n }\n\n return;\n }\n\n // Value is correctly parsed but might not pass validation\n setCurrentValue(event.nativeEvent.text);\n if (onChange) onChange(event);\n };\n\n return (\n <InputText\n ref={ref}\n {...props}\n value={currentValue}\n inputMode=\"tel\"\n enterKeyHint={currentEnterKeyHint}\n autoComplete={autoComplete}\n textContentType=\"telephoneNumber\"\n onChange={handleChange}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\ntype InputTagType = 'success' | 'danger';\n\nexport interface InputTagProps {\n type?: InputTagType;\n children: ReactNode;\n icon?: ReactElement;\n}\n\nexport function InputTag({ children, type, icon }: InputTagProps): ReactNode {\n const theme = useTheme();\n\n return (\n <View\n alignItems=\"center\"\n justifyContent=\"center\"\n flexDirection=\"row\"\n alignSelf=\"flex-start\"\n overflow=\"hidden\"\n paddingX=\"kitt.2\"\n backgroundColor={`kitt.forms.inputTag.${type || 'default'}.backgroundColor`}\n borderRadius=\"kitt.forms.inputTag.borderRadius\"\n >\n {icon ? (\n <View marginRight=\"kitt.1\">\n <TypographyIcon icon={icon} size={theme.kitt.forms.inputTag.iconSize} color=\"black\" />\n </View>\n ) : null}\n <Typography.Text base=\"body-small\" color=\"black\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n id?: string;\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ id, htmlFor, children }: LabelProps): ReactNode {\n const isWeb = Platform.OS === 'web';\n return (\n <Typography.Text base=\"body\" id={isWeb ? undefined : id}>\n {isWeb ? (\n <label id={id} htmlFor={htmlFor}>\n {children}\n </label>\n ) : (\n children\n )}\n </Typography.Text>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\n\ninterface InnerCircleProps {\n isChecked?: boolean;\n}\n\nexport function InnerCircle({ isChecked }: InnerCircleProps): ReactNode {\n const theme = useTheme();\n\n const sharedTransform = [{ scale: isChecked ? 1 : 0 }];\n\n return (\n <View\n width=\"kitt.forms.radio.innerCircle.size\"\n height=\"kitt.forms.radio.innerCircle.size\"\n borderRadius=\"kitt.forms.radio.innerCircle.borderRadius\"\n backgroundColor=\"kitt.forms.radio.innerCircle.backgroundColor\"\n _web={{\n style: {\n transform: `scale(${isChecked ? 1 : 0}))`,\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n _ios={{\n style: {\n transform: sharedTransform,\n },\n }}\n _android={{\n style: {\n transform: sharedTransform,\n },\n }}\n />\n );\n}\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.backgroundColor';\n\n return 'kitt.forms.radio.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.borderColor';\n\n return 'kitt.forms.radio.default.borderColor';\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderColor } from './utils/getBorderColor';\n\ninterface OuterCircleProps {\n children: ReactElement;\n isChecked?: boolean;\n isDisabled?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}\n\nexport function OuterCircle({\n children,\n isChecked,\n isDisabled,\n isHovered,\n isFocused,\n isPressed,\n}: OuterCircleProps): ReactNode {\n const theme = useTheme();\n\n return (\n <View\n alignItems=\"center\"\n justifyContent=\"center\"\n borderWidth=\"kitt.forms.radio.borderWidth\"\n width=\"kitt.forms.radio.size\"\n height=\"kitt.forms.radio.size\"\n borderRadius=\"kitt.forms.radio.borderRadius\"\n backgroundColor={getBackgroundColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n borderColor={getBorderColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { InnerCircle } from './InnerCircle';\nimport { OuterCircle } from './OuterCircle';\n\nexport interface RadioProps {\n id?: string;\n testID?: string;\n name?: string;\n checked?: boolean;\n disabled?: boolean;\n right?: boolean;\n children?: NonNullable<ReactNode>;\n value: string;\n onChange?: (newValue: string, event: GestureResponderEvent) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport const Radio = forwardRef<PressableProps, RadioProps>(\n ({ id, checked, value, disabled, children, testID, onChange, onFocus, onBlur }: RadioProps, ref): ReactElement => {\n const handlePress: PressableProps['onPress'] = (event: GestureResponderEvent) => {\n if (onFocus) onFocus();\n if (onChange) onChange(value, event);\n if (onBlur) onBlur();\n };\n\n return (\n <Pressable\n ref={ref}\n testID={testID}\n id={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n flexDirection=\"row\"\n alignItems=\"center\"\n onPress={handlePress}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.2' : undefined} alignItems=\"center\">\n <OuterCircle\n isChecked={checked}\n isDisabled={disabled}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n <InnerCircle isChecked={checked} />\n </OuterCircle>\n\n {children ? (\n <Typography.SetDefaultColor value={disabled ? 'black-light' : 'black'}>\n <Typography.Text base=\"body\">{children}</Typography.Text>\n </Typography.SetDefaultColor>\n ) : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","import { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({ children, isFirst, isLast, animatedStyles }: AnimatedContainerProps): ReactNode {\n const sx = useSx();\n\n const styles = sx({\n borderWidth: 'kitt.forms.radioButtonGroup.item.borderWidth',\n borderTopLeftRadius: isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0,\n borderBottomLeftRadius: isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0,\n borderTopRightRadius: isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0,\n borderBottomRightRadius: isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0,\n borderLeftWidth: isFirst ? 'kitt.forms.radioButtonGroup.item.borderWidth' : 0,\n });\n\n return <Animated.View style={[styles, animatedStyles]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport type { DimensionValue } from 'react-native';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\n\ninterface FocusBorderProps {\n isPressed?: boolean;\n isHovered?: boolean;\n isSelected?: boolean;\n isFocused?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n}\n\nexport function HoverBorder({\n isFirst,\n isLast,\n isSelected,\n isHovered,\n isFocused,\n isPressed,\n}: FocusBorderProps): ReactNode {\n const theme = useTheme();\n const hasPointerInteraction = isPressed || isHovered || isFocused;\n const shouldDisplayBorder = isSelected ? true : hasPointerInteraction;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)` as DimensionValue,\n height: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)` as DimensionValue,\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n opacity={shouldDisplayBorder ? 1 : 0}\n position=\"absolute\"\n top={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n left={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n margin={0}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${\n isHovered || isSelected || isFocused ? 'hover' : 'default'\n }`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n />\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../../KittThemeContext';\n\nexport interface UseNativeAnimationOptions {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n isDisabled,\n isSelected,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { default: backgroundColor, pressed: pressedBackgroundColor } =\n theme.kitt.forms.radioButtonGroup.item.backgroundColor;\n\n const { default: borderColor, pressed: pressedBorderColor } = theme.kitt.forms.radioButtonGroup.item.borderColor;\n\n const animatedStyles = useAnimatedStyle(() => {\n if (isDisabled) {\n return {\n backgroundColor: theme.kitt.forms.radioButtonGroup.item.backgroundColor.disabled,\n borderColor: theme.kitt.forms.radioButtonGroup.item.borderColor.disabled,\n };\n }\n\n if (isSelected) {\n return {\n backgroundColor: pressedBackgroundColor,\n borderColor: pressedBorderColor,\n };\n }\n\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n borderColor: interpolateColor(color.value, [0, 1], [borderColor, pressedBorderColor]),\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { TypographyColor } from '../../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n isFocused,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected) return 'white';\n\n if (isPressed) return 'white';\n\n if (isFocused) return 'white';\n\n if (isHovered && !isSelected) return 'black';\n\n return 'black';\n}\n","import type { ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { HoverBorder } from './HoverBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport interface RadioButtonProps<V> {\n children: ReactNode;\n isFirst?: boolean;\n isLast?: boolean;\n disabled?: boolean;\n value: V;\n selected?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n /**\n * @internal Used to display focused UI for testing and storybook purpose\n */\n isFocusedInternal?: boolean;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport function RadioButton<V>({\n children,\n value,\n selected,\n isFirst,\n isLast,\n disabled,\n stretch,\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onChange,\n onFocus,\n onBlur,\n}: RadioButtonProps<V>): ReactNode {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n isDisabled: disabled,\n isSelected: selected,\n isPressedInternal,\n });\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onChange) onChange(value);\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n accessibilityRole=\"radiogroup\"\n accessibilityState={{ checked: selected }}\n flexGrow={createResponsiveStyleFromProp(stretch, 1, undefined)}\n flexShrink={createResponsiveStyleFromProp(stretch, 1, undefined)}\n flexBasis={createResponsiveStyleFromProp(stretch, 0)}\n disabled={disabled}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n isSelected={selected}\n isDisabled={disabled}\n isFirst={isFirst}\n isLast={isLast}\n >\n <View\n paddingX=\"kitt.forms.radioButtonGroup.item.padding.horizontal\"\n paddingY=\"kitt.forms.radioButtonGroup.item.padding.vertical\"\n alignItems=\"center\"\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n isDisabled: disabled,\n isFocused: isFocused || isFocusedInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {Platform.OS === 'web' ? (\n <HoverBorder\n isFirst={isFirst}\n isLast={isLast}\n isSelected={selected}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n isFocused={isFocused || isFocusedInternal}\n />\n ) : null}\n </View>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { RadioButtonProps } from './RadioButton';\nimport { RadioButton } from './RadioButton';\n\ntype InternalInheritedProps =\n | 'isFirst'\n | 'isLast'\n | 'selected'\n | 'stretch'\n | 'disabled'\n | 'onChange'\n | 'onFocus'\n | 'onBlur';\n\ninterface RadioButtonGroupItemProps<V> extends Omit<RadioButtonProps<V>, InternalInheritedProps> {}\n\nfunction RadioButtonGroupItem<V>({ ...props }: RadioButtonGroupItemProps<V>): ReactNode {\n return <RadioButton {...props} />;\n}\n\nexport interface RadioButtonGroupProps<V> extends Exclude<ViewProps, 'onBlur' | 'onFocus'> {\n children: ReactNode;\n disabled?: boolean;\n hovered?: boolean;\n selected?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n value?: V;\n onChange?: (newValue: V) => void;\n onFocus?: (e?: any) => void;\n onBlur?: (e?: any) => void;\n}\n\nexport function RadioButtonGroup<V>({\n children,\n stretch,\n value,\n disabled,\n onFocus,\n onBlur,\n onChange,\n ...props\n}: RadioButtonGroupProps<V>): ReactNode {\n const [currentValue, setCurrentValue] = useState(value);\n\n const handleChange = (newValue: V): void => {\n if (disabled) return;\n\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const childrenArray = Children.toArray(children) as ReactElement<RadioButtonProps<V>, typeof RadioButton>[];\n\n return (\n <View flexDirection=\"row\" flexWrap=\"wrap\" {...props}>\n {childrenArray.map((child, index) => {\n const clone = cloneElement<RadioButtonProps<V>>(child, {\n stretch,\n disabled,\n selected: child.props.value === currentValue,\n isFirst: index === 0,\n isLast: index === childrenArray.length - 1,\n onChange: handleChange,\n onFocus,\n onBlur,\n } as any);\n\n return clone;\n })}\n </View>\n );\n}\n\nRadioButtonGroup.RadioButton = RadioButtonGroupItem;\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {}\n\nexport const TextArea = forwardRef<RNTextInput, TextAreaProps>(({ ...props }: TextAreaProps, ref): ReactElement => {\n return <InputText ref={ref} multiline textAlignVertical=\"top\" minHeight=\"kitt.forms.textArea.minHeight\" {...props} />;\n});\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalBodyProps extends ViewProps {\n children: NonNullable<ReactNode>;\n shouldHandleBottomNotch?: boolean;\n shouldHandleTopNotch?: boolean;\n}\n\nexport function FullscreenModalBody({\n children,\n shouldHandleBottomNotch,\n style,\n shouldHandleTopNotch,\n ...props\n}: FullscreenModalBodyProps): ReactNode {\n const { bottom, top } = useSafeAreaInsets();\n const {\n kitt: {\n fullscreenModal: {\n body: { verticalPadding },\n },\n },\n } = useTheme();\n const paddingBottom = shouldHandleBottomNotch ? Math.max(bottom, verticalPadding) : verticalPadding;\n const paddingTop = shouldHandleTopNotch ? Math.max(top, verticalPadding) : verticalPadding;\n\n return (\n <View\n {...props}\n paddingX=\"kitt.fullscreenModal.horizontalPadding\"\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n style={style}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n shouldHandleBottomNotch?: boolean;\n}\n\nexport function FullscreenModalFooter({\n shouldHandleBottomNotch = true,\n hasSeparator = true,\n children,\n ...props\n}: FullscreenModalFooterProps): ReactNode {\n const { bottom } = useSafeAreaInsets();\n\n return (\n <View\n borderTopColor=\"kitt.separator\"\n borderTopWidth={hasSeparator ? 1 : undefined}\n paddingTop=\"kitt.fullscreenModal.footer.verticalPadding\"\n paddingBottom={shouldHandleBottomNotch ? bottom : undefined}\n paddingX=\"kitt.fullscreenModal.horizontalPadding\"\n {...props}\n >\n <View paddingBottom=\"kitt.fullscreenModal.footer.verticalPadding\">{children}</View>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function NativeOpacityAnimation({ visible, children }: NativeOpacityAnimationProps): ReactNode {\n const theme = useTheme();\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.fullscreenModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { FullscreenModalAnimationProps } from '../FullscreenModalAnimation';\n\nexport interface NativeSlideInAnimationProps {\n children: ReactNode;\n visible?: FullscreenModalAnimationProps['visible'];\n onEntered?: FullscreenModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeSlideInAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeSlideInAnimationProps): ReactNode {\n const theme = useTheme();\n const { height: wHeight } = useWindowDimensions();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n // Since animation callback is called on component mount, we must make sure that the animation has been runed once to call it an exit\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const translateStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.fullscreenModal.animation.content;\n const [x1, y1, x2, y2] = easing;\n\n return {\n transform: [\n {\n translateY: withTiming(\n visible ? 0 : wHeight,\n { duration, easing: Easing.bezier(x1, y1, x2, y2) },\n (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n },\n ),\n },\n ],\n };\n });\n\n return (\n <Animated.View style={[{ transform: [{ translateY: wHeight }] }, translateStyle, { width: '100%', flex: 1 }]}>\n {children}\n </Animated.View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport type { ModalAnimationComponentProps } from '../ModalBehaviour/type';\nimport { Overlay } from '../Overlay/Overlay';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { NativeOpacityAnimation } from './components/NativeOpacityAnimation';\nimport { NativeSlideInAnimation } from './components/NativeSlideInAnimation';\n\nexport interface FullscreenModalAnimationProps extends ViewProps, ModalAnimationComponentProps {\n children: ReactNode;\n}\n\nexport function FullscreenModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n}: FullscreenModalAnimationProps): ReactNode {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n // When parent visibility is set to false, in order to have our exit animation we must in this order :\n // 1 - run the exit animation\n // 2 - once it is done, unmount the Modal\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible}>\n <Overlay onPress={handleAnimationExited} />\n </NativeOpacityAnimation>\n <NativeSlideInAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View flexGrow={1}>{children}</View>\n </NativeSlideInAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { FullscreenModalAnimationProps } from './FullscreenModalAnimation';\nimport { FullscreenModalAnimation } from './FullscreenModalAnimation';\n\nexport interface FullscreenModalBehaviourProps extends FullscreenModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function FullscreenModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: FullscreenModalBehaviourProps): ReactNode {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <FullscreenModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone}>\n {children}\n </FullscreenModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalContainerProps {\n backgroundColor?: ViewProps['backgroundColor'];\n children?: ReactNode;\n}\n\nexport function FullscreenModalContainer({ children, backgroundColor }: FullscreenModalContainerProps): ReactNode {\n return (\n <View\n position=\"relative\"\n flexGrow={1}\n flexShrink={1}\n flexBasis=\"100%\"\n /*\n Here we are setting the same min and max height because on web the content was overflowing and not scrolling\n minHeight is needed to make the modal fullscreen\n maxHeight limits the height to the viewport when the content is too long, this allows us to scroll inside\n We use svh instead of vh because vh is the total height of the viewport, including the address bar in mobile web browsers\n */\n _web={{ minHeight: '100svh', maxHeight: '100svh' }}\n backgroundColor={backgroundColor ?? 'kitt.uiBackgroundLight'}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface BaseHeaderProps extends Except<ViewProps, 'left' | 'right'> {\n left?: ReactNode;\n right?: ReactNode;\n hasSeparator?: boolean;\n isTransparent?: boolean;\n shouldHandleTopNotch?: boolean;\n}\n\ninterface TitledHeaderProps extends BaseHeaderProps {\n title?: ReactNode;\n children?: never;\n}\n\ninterface ComponentHeaderProps extends BaseHeaderProps {\n title?: never;\n children?: ReactNode;\n}\n\nexport type FullscreenModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function FullscreenModalHeader({\n hasSeparator = true,\n isTransparent,\n title,\n children,\n right,\n left,\n shouldHandleTopNotch = true,\n ...props\n}: FullscreenModalHeaderProps): ReactNode {\n const { top } = useSafeAreaInsets();\n const hasRight = Boolean(right);\n const hasLeft = Boolean(left);\n const hasContent = Boolean(title || children);\n\n return (\n <View\n backgroundColor={isTransparent ? 'kitt.transparent' : 'kitt.uiBackgroundLight'}\n minHeight=\"kitt.fullscreenModal.header.height\"\n width=\"100%\"\n justifyContent=\"center\"\n paddingTop={shouldHandleTopNotch ? top : undefined}\n paddingRight={hasRight ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding'}\n paddingLeft={hasLeft ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding'}\n borderBottomColor=\"kitt.separator\"\n borderBottomWidth={hasSeparator ? 1 : undefined}\n {...props}\n >\n <View\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={!hasContent && !hasLeft ? 'flex-end' : 'space-between'}\n >\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n {title ? (\n <View\n flexGrow={1}\n flexShrink={1}\n paddingLeft={hasLeft ? 'kitt.2' : undefined}\n paddingRight={hasRight ? 'kitt.2' : 0}\n >\n <Typography.Text variant=\"bold\" textAlign={!hasLeft && hasRight ? 'left' : 'center'}>\n {title}\n </Typography.Text>\n </View>\n ) : null}\n\n {children ? (\n <View\n flexGrow={1}\n flexShrink={1}\n alignItems=\"center\"\n paddingLeft={hasLeft ? 'kitt.2' : undefined}\n paddingRight={hasRight ? 'kitt.2' : undefined}\n >\n {children}\n </View>\n ) : null}\n\n {right || left ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport type { ViewProps } from '..';\nimport { View } from '../native-base/primitives';\nimport { FullscreenModalBody } from './Body';\nimport { FullscreenModalFooter } from './Footer';\nimport { FullscreenModalBehaviour } from './FullscreenModalBehaviour';\nimport { FullscreenModalContainer } from './FullscreenModalContainer';\nimport { FullscreenModalHeader } from './Header';\n\nexport interface FullscreenModalProps {\n header?: ReactNode;\n footer?: ReactNode;\n body: ReactNode;\n backgroundColor?: ViewProps['backgroundColor'];\n}\n\nexport function FullscreenModal({ body, header, footer, backgroundColor }: FullscreenModalProps): ReactNode {\n return (\n <FullscreenModalContainer backgroundColor={backgroundColor}>\n {header ? <View>{header}</View> : null}\n <View flexGrow={1} flexShrink={1} justifyContent=\"space-between\">\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1, position: 'relative' }}>\n {body}\n </ScrollView>\n {footer || null}\n </View>\n </FullscreenModalContainer>\n );\n}\n\nFullscreenModal.Header = FullscreenModalHeader;\nFullscreenModal.Footer = FullscreenModalFooter;\nFullscreenModal.Body = FullscreenModalBody;\nFullscreenModal.ModalBehaviour = FullscreenModalBehaviour;\n","import type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { AnimateStyle } from 'react-native-reanimated';\nimport Animated from 'react-native-reanimated';\n\nexport interface AnimatedCaretProps {\n children: ReactNode;\n isHovered: boolean;\n isExpanded: boolean;\n animatedStyles?: AnimateStyle<ViewStyle>;\n}\n\nexport function AnimatedCaret({ children, animatedStyles }: AnimatedCaretProps): ReactNode {\n return <Animated.View style={[animatedStyles]}>{children}</Animated.View>;\n}\n","import { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { AnimateStyle } from 'react-native-reanimated';\nimport Animated from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { HighlightSize, HighlightVariant } from '../Highlight';\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n size: HighlightSize;\n animatedStyles?: AnimateStyle<ViewStyle>;\n isHovered: boolean;\n variant: HighlightVariant;\n}\n\nexport function AnimatedContainer({ children, size, animatedStyles }: AnimatedContainerProps): ReactNode {\n const sx = useSx();\n const theme = useTheme();\n\n const styles = sx({\n borderRadius: theme.kitt.highlight.borderRadius,\n padding: theme.kitt.highlight.padding[size],\n });\n\n return <Animated.View style={[styles, animatedStyles]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { AnimateStyle } from 'react-native-reanimated';\nimport Animated from 'react-native-reanimated';\n\nexport interface AnimatedContentProps {\n children: ReactNode;\n isExpanded: boolean;\n isInitialRender: boolean;\n contentHeight: number;\n animatedStyles?: AnimateStyle<ViewStyle>;\n}\n\nexport function AnimatedContent({ children, animatedStyles }: AnimatedContentProps): ReactNode {\n return <Animated.View style={[{ overflow: 'hidden' }, animatedStyles]}>{children}</Animated.View>;\n}\n","import type { ViewStyle } from 'react-native';\nimport type { AnimateStyle } from 'react-native-reanimated';\nimport { Easing, interpolateColor, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { HighlightVariant } from '../Highlight';\n\nexport interface UseNativeAnimationOptions {\n variant: HighlightVariant;\n isExpanded: boolean;\n isInitialRender: boolean;\n contentHeight: number;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n containerAnimatedStyles: AnimateStyle<ViewStyle>;\n caretAnimatedStyles: AnimateStyle<ViewStyle>;\n contentAnimatedStyles: AnimateStyle<ViewStyle>;\n}\n\nconst withTimingConfig = {\n duration: 100,\n easing: Easing.ease,\n};\n\nexport const useNativeAnimation = ({\n variant,\n isExpanded,\n isInitialRender,\n contentHeight,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const color = useSharedValue(0);\n const rotation = useSharedValue(0);\n const translate = useSharedValue(0);\n\n const containerAnimatedStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(\n color.value,\n [0, 1],\n [theme.kitt.highlight[variant].default.backgroundColor, theme.kitt.highlight[variant].hover.backgroundColor],\n ),\n };\n });\n\n const caretAnimatedStyles = useAnimatedStyle(() => {\n rotation.value = withTiming(isExpanded ? 180 : 0, {\n duration: 300,\n easing: Easing.ease,\n });\n\n return {\n transform: [\n {\n rotate: `${rotation.value}deg`,\n },\n {\n translateY: translate.value,\n },\n ],\n };\n });\n\n const contentAnimatedStyles = useAnimatedStyle(() => {\n return {\n height: withTiming(isExpanded ? contentHeight : 0, {\n duration: isInitialRender ? 0 : 300,\n easing: Easing.ease,\n }),\n };\n });\n\n const handleHoverIn = (): void => {\n color.value = withTiming(1, withTimingConfig);\n translate.value = withTiming(2, withTimingConfig);\n };\n\n const handleHoverOut = (): void => {\n color.value = withTiming(0, withTimingConfig);\n translate.value = withTiming(0, withTimingConfig);\n };\n\n return {\n onPressIn: handleHoverIn,\n onPressOut: handleHoverOut,\n containerAnimatedStyles,\n caretAnimatedStyles,\n contentAnimatedStyles,\n };\n};\n","import { CaretDownRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport { type ReactNode, useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport { useTheme } from '../KittThemeContext';\nimport { HStack } from '../native-base/layout';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { AnimatedCaret } from './AnimatedCaret/AnimatedCaret';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { AnimatedContent } from './AnimatedContent/AnimatedContent';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\ntype DeprecatedHighlightVariant = 'regular';\n\nexport type HighlightSize = 'medium' | 'large';\nexport type HighlightVariant = 'primary' | 'secondary' | 'dark' | DeprecatedHighlightVariant | 'ghost';\n\nexport interface HighlightProps {\n variant?: HighlightVariant;\n canCollapse?: boolean;\n isInitialCollapsed?: boolean;\n title?: string;\n icon?: ReactNode;\n size?: HighlightSize;\n children?: ReactNode;\n}\n\nexport function Highlight({\n variant = 'primary',\n canCollapse = false,\n isInitialCollapsed = true,\n title,\n icon = null,\n size = 'medium',\n children,\n}: HighlightProps): ReactNode {\n const theme = useTheme();\n\n const [isExpanded, setIsExpanded] = useState(!isInitialCollapsed);\n const [contentHeight, setContentHeight] = useState(0);\n const [isInitialRender, setIsInitialRender] = useState(true);\n\n const highlightStyle = {\n medium: {\n marginBottom: 'kitt.1',\n spaceBetween: 'kitt.2',\n contentMarginY: 8,\n },\n large: {\n marginBottom: 'kitt.2',\n spaceBetween: 'kitt.4',\n contentMarginY: 16,\n },\n };\n\n const { containerAnimatedStyles, caretAnimatedStyles, contentAnimatedStyles, onPressIn, onPressOut } =\n useNativeAnimation({\n variant,\n isExpanded,\n isInitialRender,\n contentHeight,\n });\n\n const handlePress = (): void => {\n setIsExpanded(!isExpanded);\n setIsInitialRender(false);\n };\n\n const handleLayout = (event: LayoutChangeEvent): void => {\n const layoutHeight = event.nativeEvent.layout.height;\n const newContentHeight = layoutHeight + highlightStyle[size].contentMarginY;\n\n if (layoutHeight > 0 && newContentHeight !== contentHeight) {\n setContentHeight(newContentHeight);\n }\n };\n\n if (!canCollapse) {\n return (\n <View\n borderRadius=\"kitt.highlight.borderRadius\"\n padding={theme.kitt.highlight.padding[size]}\n backgroundColor={`kitt.highlight.${variant}.default.backgroundColor`}\n >\n <HStack space={highlightStyle[size].spaceBetween}>\n {icon && <View>{icon}</View>}\n <View flexGrow={1} flexShrink={1}>\n {title && (\n <View marginBottom={highlightStyle[size].marginBottom}>\n <Typography.Text variant=\"bold\" base=\"body\" ellipsizeMode=\"clip\">\n {title}\n </Typography.Text>\n </View>\n )}\n {children}\n </View>\n </HStack>\n </View>\n );\n }\n\n return (\n <Pressable onPress={handlePress} onPressIn={onPressIn} onPressOut={onPressOut}>\n {({ isHovered }) => {\n return (\n <AnimatedContainer\n isHovered={isHovered}\n size={size}\n variant={variant}\n animatedStyles={containerAnimatedStyles}\n >\n {title && (\n <HStack space={highlightStyle[size].spaceBetween} alignItems=\"center\">\n {icon && <View flexGrow={1}>{icon}</View>}\n <View flexGrow={1} flexShrink={1} width=\"100%\">\n <Typography.Text variant=\"bold\" base=\"body\" ellipsizeMode=\"clip\">\n {title}\n </Typography.Text>\n </View>\n <View flexGrow={2} flexShrink={2} alignItems=\"center\" justifyContent=\"center\">\n <AnimatedCaret isHovered={isHovered} isExpanded={isExpanded} animatedStyles={caretAnimatedStyles}>\n <TypographyIcon icon={<CaretDownRegularIcon />} />\n </AnimatedCaret>\n </View>\n </HStack>\n )}\n <AnimatedContent\n isExpanded={isExpanded}\n isInitialRender={isInitialRender}\n contentHeight={contentHeight}\n animatedStyles={contentAnimatedStyles}\n >\n <View marginTop={highlightStyle[size].contentMarginY} position=\"absolute\" onLayout={handleLayout}>\n {children}\n </View>\n </AnimatedContent>\n </AnimatedContainer>\n );\n }}\n </Pressable>\n );\n}\n","// eslint-disable-next-line no-restricted-imports\nimport { useBreakpointValue as useBreakpointValueNativeBaseBadlyTyped } from 'native-base';\nimport type { ITheme } from 'native-base';\nimport type { SetRequired } from 'type-fest';\n\nexport type { StyledProps } from 'native-base';\nexport { useClipboard, useSx, useToken } from 'native-base';\n\ntype UseBreakpointValueParam<T> = {\n [key in keyof ITheme['breakpoints']]?: T;\n};\n\nexport type BreakpointValueHookValues<T> = SetRequired<UseBreakpointValueParam<T>, 'base'>;\n\nexport const useBreakpointValue = useBreakpointValueNativeBaseBadlyTyped as <T>(\n values: BreakpointValueHookValues<T>,\n) => T;\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { IconButtonColor } from './IconButton';\n\nfunction getBackgroundColor(color: IconButtonColor, isDisabled?: boolean): string {\n if (isDisabled) {\n return 'kitt.iconButton.disabled.backgroundColor';\n }\n\n switch (color) {\n case 'primary':\n return 'kitt.iconButton.primary.pressed.backgroundColor';\n case 'ghost':\n return 'kitt.iconButton.ghost.pressed.backgroundColor';\n case 'black':\n default:\n return 'kitt.iconButton.black.pressed.backgroundColor';\n }\n}\n\ninterface BackgroundProps extends ViewProps {\n color: IconButtonColor;\n isDisabled?: boolean;\n _web?: Partial<ViewProps>;\n}\n\nexport function Background({ color, isDisabled, ...props }: BackgroundProps): ReactNode {\n return (\n <View\n {...props}\n width=\"100%\"\n height=\"100%\"\n borderRadius=\"kitt.iconButton.borderRadius\"\n backgroundColor={getBackgroundColor(color, isDisabled)}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { useSx } from '../native-base/utils';\nimport { Background } from './Background';\nimport type { IconButtonColor } from './IconButton';\nimport type { UseNativeAnimation } from './hooks/useNativeAnimation';\n\nexport interface AnimatedBackgroundProps {\n color: IconButtonColor;\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n isDisabled?: boolean;\n opacityStyles?: UseNativeAnimation['opacityStyles'];\n}\n\nexport function AnimatedBackground({ color, isDisabled, opacityStyles }: AnimatedBackgroundProps): ReactNode {\n const sx = useSx();\n\n const currentOpacityStyles = isDisabled ? { opacity: 1 } : opacityStyles;\n\n const styles = sx({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n });\n\n return (\n <Animated.View style={[styles, currentOpacityStyles]}>\n <Background color={color} isDisabled={isDisabled} />\n </Animated.View>\n );\n}\n","import type { ReactNode } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { useSx } from '../native-base/utils';\nimport type { UseNativeAnimation } from './hooks/useNativeAnimation';\n\nexport interface AnimatedScaleProps {\n children: ReactNode;\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n isDisabled?: boolean;\n scaleStyles?: UseNativeAnimation['scaleStyles'];\n}\n\nexport function AnimatedScale({ isDisabled, scaleStyles, children }: AnimatedScaleProps): ReactNode {\n const sx = useSx();\n\n const currentOpacityStyles = isDisabled ? { transform: [{ scale: 1 }] } : scaleStyles;\n\n const styles = sx({\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: '100%',\n });\n\n return <Animated.View style={[styles, currentOpacityStyles]}>{children}</Animated.View>;\n}\n","import { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface UseNativeAnimationParams {\n isDisabled?: boolean;\n isPressed?: boolean;\n}\n\nexport interface UseNativeAnimation {\n opacityStyles?: { opacity: number };\n scaleStyles?: {\n transform: {\n scale: number;\n }[];\n };\n onPressIn: () => void;\n onPressOut: () => void;\n}\n\nexport function useNativeAnimation({ isPressed }: UseNativeAnimationParams): UseNativeAnimation {\n const theme = useTheme();\n const pressed = useSharedValue(!!isPressed);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? 1 : 0),\n };\n });\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scale: withSpring(\n pressed.value ? theme.kitt.iconButton.scale.base.active : theme.kitt.iconButton.scale.base.default,\n ),\n },\n ],\n };\n });\n\n const handlePressIn = (): void => {\n pressed.value = true;\n };\n\n const handlePressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n opacityStyles,\n scaleStyles,\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n };\n}\n","import type { TypographyColor } from '../../typography/Typography';\nimport type { IconButtonColor } from '../IconButton';\n\nexport const getIconButtonTextColorByColor = (color: IconButtonColor, disabled?: boolean): TypographyColor => {\n if (disabled) {\n return 'black-light';\n }\n\n switch (color) {\n case 'ghost':\n return 'white';\n default:\n return color;\n }\n};\n","import { XRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { AnimatedBackground } from './AnimatedBackground';\nimport { AnimatedScale } from './AnimatedScale';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getIconButtonTextColorByColor } from './utils/getIconButtonTextColorByColor';\n\nexport type IconButtonColor = 'black' | 'ghost' | 'primary';\n\nexport interface IconButtonProps {\n icon: NonNullable<ReactElement>;\n color?: IconButtonColor;\n disabled?: boolean;\n testID?: string;\n ariaLabel?: PressableProps['aria-label'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onPress?: () => void;\n}\n\nexport function IconButton({\n icon,\n color = 'black',\n disabled,\n testID,\n ariaLabel,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n}: IconButtonProps): ReactNode {\n const { onPressIn, onPressOut, opacityStyles, scaleStyles } = useNativeAnimation({\n isDisabled: disabled,\n isPressed: isPressedInternal,\n });\n\n return (\n <Pressable\n testID={testID}\n disabled={disabled}\n width=\"kitt.iconButton.width\"\n height=\"kitt.iconButton.height\"\n aria-label={ariaLabel}\n accessibilityRole={accessibilityRole}\n _web={{\n style: {\n backfaceVisibility: 'hidden',\n transform: 'translate3d(0px)',\n },\n }}\n borderRadius=\"kitt.iconButton.borderRadius\"\n borderColor={disabled ? 'kitt.iconButton.disabled.borderColor' : 'kitt.iconButton.borderColor'}\n borderWidth={disabled ? 'kitt.iconButton.borderWidth' : 0}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed, isFocused }) => {\n const isCurrentHovered = isHovered || isHoveredInternal;\n const isCurrentPressed = isPressed || isPressedInternal;\n const isCurrentFocused = isFocused || isFocusedInternal;\n\n return (\n <AnimatedScale\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n scaleStyles={scaleStyles}\n >\n <AnimatedBackground\n color={color}\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n isFocused={isCurrentFocused}\n opacityStyles={opacityStyles}\n />\n <View alignItems=\"center\" justifyContent=\"center\">\n <TypographyIcon color={getIconButtonTextColorByColor(color, disabled)} icon={icon} />\n </View>\n </AnimatedScale>\n );\n }}\n </Pressable>\n );\n}\n\nexport function CloseIconButton(props: Except<IconButtonProps, 'icon'>): ReactNode {\n return <IconButton icon={<XRegularIcon />} {...props} />;\n}\n","import type { ReactNode } from 'react';\nimport { createContext, useMemo } from 'react';\n\nexport interface KittMapConfigProviderConfig {\n mapId: string;\n apiToken: string;\n}\n\nexport const KittMapConfigProviderContext = createContext<KittMapConfigProviderConfig | undefined>(undefined);\n\nexport interface KittMapProviderProps {\n mapId: string;\n apiToken: string;\n children: ReactNode;\n}\n\nexport function KittMapConfigProvider({ children, mapId, apiToken }: KittMapProviderProps): ReactNode {\n const providerValue = useMemo(\n () => ({\n mapId,\n apiToken,\n }),\n [mapId, apiToken],\n );\n\n return (\n <KittMapConfigProviderContext.Provider value={providerValue}>{children}</KittMapConfigProviderContext.Provider>\n );\n}\n","import { useContext } from 'react';\nimport type { KittMapConfigProviderConfig } from '../KittMapConfigProvider';\nimport { KittMapConfigProviderContext } from '../KittMapConfigProvider';\n\nexport function useKittMapConfig(): KittMapConfigProviderConfig {\n const context = useContext(KittMapConfigProviderContext);\n\n if (!context) {\n throw new Error('<KittMapConfigProvider> missing in the react tree');\n }\n\n return context;\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from '../native-base/primitives';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactNode {\n return (\n <View alignSelf=\"center\" flexBasis=\"0%\" flexGrow={1} flexShrink={0} {...rest}>\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps, ViewStyle } from 'react-native';\nimport { View } from '../native-base/primitives';\n\nexport interface ListItemSideContainerProps extends ViewProps {\n children: NonNullable<ReactNode>;\n side?: 'left' | 'right';\n}\n\n// Handles the vertical alignment of the side elements of the list item\nexport function ListItemSideContainer({ children, side = 'left', ...rest }: ListItemSideContainerProps): ReactNode {\n return (\n <View\n flexDirection=\"row\"\n marginLeft={side === 'right' ? 'kitt.2' : undefined}\n marginRight={side === 'left' ? 'kitt.2' : undefined}\n {...rest}\n >\n {children}\n </View>\n );\n}\n\nexport interface ListItemSideContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n align?: ViewStyle['alignSelf'];\n}\n\nexport function ListItemSideContent({ children, align = 'auto', ...rest }: ListItemSideContentProps): ReactNode {\n return (\n <View alignSelf={align} {...rest}>\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport { View } from '../native-base/primitives';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemSideContainer, ListItemSideContent } from './ListItemSideContent';\n\ntype Borders = 'top' | 'bottom' | 'both';\n\nexport interface ListItemProps extends ViewProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n borders?: Borders;\n withPadding?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\nexport function ListItem({ children, withPadding, borders, left, right, onPress, ...rest }: ListItemProps): ReactNode {\n const Wrapper = onPress ? Pressable : Fragment;\n const wrapperProps = onPress ? { accessibilityRole: 'button', onPress, ...rest } : undefined;\n const containerProps = onPress ? undefined : rest;\n\n return (\n <Wrapper {...(wrapperProps as any)}>\n <View\n flexDirection=\"row\"\n paddingX={withPadding ? 'kitt.listItem.horizontalPadding' : undefined}\n paddingY={withPadding ? 'kitt.listItem.verticalPadding' : undefined}\n borderColor=\"kitt.listItem.borderColor\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderTopWidth={borders === 'top' || borders === 'both' ? 'kitt.listItem.borderWidth' : undefined}\n borderBottomWidth={borders === 'bottom' || borders === 'both' ? 'kitt.listItem.borderWidth' : undefined}\n {...containerProps}\n >\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </View>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","<svg fill=\"currentColor\" viewBox=\"0 0 54 56\" width=\"54\" xmlns=\"http://www.w3.org/2000/svg\"><linearGradient id=\"marker-large_inline_svg__b\" gradientUnits=\"userSpaceOnUse\" x1=\"26.828\" x2=\"7.181\" y1=\"5.072\" y2=\"39.102\"><stop offset=\"0\" stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker-large_inline_svg__a\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"48.706\" width=\"42.761\" x=\"10.437\" y=\"5.167\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_257_3018\" stdDeviation=\"2.718\"/></filter><mask id=\"marker-large_inline_svg__c\" height=\"43\" maskUnits=\"userSpaceOnUse\" width=\"31\" x=\"3\" y=\"3\"><path d=\"M16.303 44.99a3.002 3.002 0 0 0 4.394 0C29.631 35.38 34 26.678 34 18.938 34 10.12 27.04 3 18.5 3S3 10.12 3 18.938c0 7.74 4.369 16.442 13.303 26.052z\" fill=\"#fff\"/></mask><g filter=\"url(#marker-large_inline_svg__a)\" opacity=\".25\"><path d=\"M24.022 48.149c-3.018 1.02-6.128-.775-6.753-3.899-1.372-6.862-2.799-18.548 1.348-25.73C22.966 10.985 32.545 8.374 40 12.678c7.454 4.303 9.982 13.903 5.63 21.44-4.146 7.182-14.98 11.79-21.608 14.032z\" fill=\"url(#marker-large_inline_svg__b)\"/></g><g mask=\"url(#marker-large_inline_svg__c)\"><path d=\"M3 3h31v43H3z\"/></g><path d=\"M15.677 46.315c-2.682-3.029-6.253-7.443-9.145-12.356C3.622 29.015 1.5 23.735 1.5 18.938 1.5 9.27 9.152 1.5 18.5 1.5c9.349 0 17 7.771 17 17.438 0 4.797-2.122 10.077-5.032 15.02-2.892 4.914-6.463 9.328-9.145 12.357-1.536 1.735-4.11 1.735-5.646 0z\" stroke=\"#fff\" stroke-width=\"3\"/></svg>","<svg viewBox=\"0 0 40 39\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.417 33.38c-2.3.776-4.668-.592-5.146-2.971-1.059-5.274-2.171-14.297 1.027-19.837 3.348-5.798 10.717-7.806 16.452-4.495 5.735 3.31 7.68 10.697 4.333 16.495-3.198 5.54-11.57 9.088-16.666 10.808z\" fill=\"url(#marker_inline_svg__a)\" opacity=\".25\" filter=\"url(#marker_inline_svg__b)\"/><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\"/><mask id=\"marker_inline_svg__c\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"20\" height=\"28\"><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#fff\"/></mask><g mask=\"url(#marker_inline_svg__c)\"><path d=\"M3 3h20v27H3z\"/></g><path d=\"M10.374 31c-1.884-2.216-4.125-5.144-5.888-8.307C2.71 19.505 1.5 16.22 1.5 13.256 1.5 6.734 6.681 1.5 13 1.5s11.5 5.234 11.5 11.756c0 2.964-1.21 6.249-2.986 9.437-1.763 3.163-4.004 6.091-5.888 8.307-1.414 1.662-3.838 1.662-5.252 0z\" stroke=\"#fff\" stroke-width=\"3\"/><defs><linearGradient id=\"marker_inline_svg__a\" x1=\"18.616\" y1=\".226\" x2=\"3.501\" y2=\"26.405\" gradientUnits=\"userSpaceOnUse\"><stop stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker_inline_svg__b\" x=\"6.046\" y=\".339\" width=\"32.817\" height=\"37.4\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"2.071\" result=\"effect1_foregroundBlur_257_3020\"/></filter></defs></svg>","<svg viewBox=\"0 0 47 47\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.5 36C30.404 36 36 30.404 36 23.5S30.404 11 23.5 11 11 16.596 11 23.5 16.596 36 23.5 36z\" fill=\"currentColor\" opacity=\".8\" filter=\"url(#position-marker_inline_svg__a)\"/><path d=\"M31 18.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0z\" fill=\"#fff\" stroke=\"currentColor\" stroke-width=\"10\"/><circle cx=\"23.5\" cy=\"18.5\" r=\"2.5\" fill=\"#fff\"/><defs><filter id=\"position-marker_inline_svg__a\" x=\".127\" y=\".127\" width=\"46.746\" height=\"46.746\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"5.437\" result=\"effect1_foregroundBlur_257_3019\"/></filter></defs></svg>","import { useSx } from 'native-base';\nimport type { ColorType } from 'native-base/lib/typescript/components/types';\nimport type { ReactNode } from 'react';\nimport LargeMarkerSvg from './assets/marker-large.inline.svg';\nimport DefaultMarkerSvg from './assets/marker.inline.svg';\nimport PositionMarkerSvg from './assets/position-marker.inline.svg';\n\ninterface BaseMarkerWithSizeProps extends BaseMarkerWithColorProp {\n width: number;\n height: number;\n}\n\ninterface BaseMarkerWithoutSizeProps extends BaseMarkerWithColorProp {\n width?: never;\n height?: never;\n}\n\ninterface BaseMarkerWithColorProp {\n color?: ColorType;\n}\n\nexport type MapMarkerProps = BaseMarkerWithSizeProps | BaseMarkerWithoutSizeProps;\n\nexport function MapMarkerSimple({\n width = 40,\n height = 39,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactNode {\n const sx = useSx();\n const styles = sx({ color });\n\n return <DefaultMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerLarge({\n width = 54,\n height = 56,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactNode {\n const sx = useSx();\n const styles = sx({ color });\n\n return <LargeMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerPosition({ width = 47, height = 47, color = 'kitt.success' }: MapMarkerProps): ReactNode {\n const sx = useSx();\n const styles = sx({ color });\n\n return <PositionMarkerSvg width={width} height={height} color={styles.color} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\ninterface IconContentProps {\n type: MessageType;\n color: TypographyColor;\n}\n\nexport function IconContent({ type, color }: IconContentProps): ReactNode {\n switch (type) {\n case 'warning':\n return <AlertCircleIcon color={color} />;\n case 'success':\n return <CheckIcon color={color} />;\n case 'danger':\n return <AlertTriangleIcon color={color} />;\n default:\n return <InfoIcon color={color} />;\n }\n}\n","import type { IconButtonProps } from '../IconButton/IconButton';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\nexport const getColorByType = (type: MessageType): TypographyColor => {\n switch (type) {\n case 'success':\n case 'danger':\n case 'warning':\n default:\n return 'black';\n }\n};\n\nexport const getIconButtonColor = (messageType: MessageType): IconButtonProps['color'] => {\n switch (messageType) {\n case 'success':\n case 'danger':\n case 'warning':\n default:\n return 'black';\n }\n};\n","import type { ReactNode } from 'react';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\nimport { Icon } from '../Icon/Icon';\nimport { CloseIconButton } from '../IconButton/IconButton';\nimport { HStack } from '../native-base/layout';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { IconContent } from './IconContent';\nimport { getColorByType, getIconButtonColor } from './helper';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\n\nexport interface BaseMessageProps {\n type?: MessageType;\n children: NonNullable<ReactNode>;\n /**\n * @internal for styling between Message and Notification\n */\n hasNoRadius?: boolean;\n centeredText?: boolean;\n insets?: EdgeInsets;\n onDismiss?: () => void;\n}\n\nexport function BaseMessage({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: BaseMessageProps): ReactNode {\n const color = getColorByType(type);\n\n return (\n <HStack\n alignItems=\"flex-start\"\n justifyContent=\"space-between\"\n minHeight=\"kitt.feedbackMessage.minHeight\"\n paddingTop={insets?.top}\n borderRadius={hasNoRadius ? undefined : 'kitt.5'}\n backgroundColor={`kitt.feedbackMessage.${type}.backgroundColor`}\n >\n <HStack\n flexGrow={1}\n flexShrink={1}\n alignSelf=\"center\"\n alignItems=\"flex-start\"\n paddingY=\"kitt.4\"\n paddingX=\"kitt.5\"\n >\n {centeredText ? null : (\n <View marginRight=\"kitt.5\">\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </View>\n )}\n <Typography.Text\n flexGrow={1}\n flexShrink={1}\n textAlign={centeredText ? 'center' : 'left'}\n base=\"body\"\n color={color}\n >\n {children}\n </Typography.Text>\n </HStack>\n\n {onDismiss ? (\n <View alignItems=\"center\" marginTop={10} marginRight=\"kitt.2\" marginLeft=\"kitt.5\">\n <CloseIconButton color={getIconButtonColor(type)} onPress={onDismiss} />\n </View>\n ) : null}\n </HStack>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\n\nexport interface MessageProps extends BaseMessageProps {}\n\nexport function Message({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: MessageProps): ReactNode {\n return (\n <BaseMessage\n insets={insets}\n hasNoRadius={hasNoRadius}\n type={type}\n centeredText={centeredText}\n onDismiss={onDismiss}\n >\n {children}\n </BaseMessage>\n );\n}\n","import type { NativeBaseProviderProps } from 'native-base';\nimport { NativeBaseProvider, extendTheme } from 'native-base';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { Platform } from 'react-native';\nimport type { KittTheme } from '..';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { KittThemeContext } from '../KittThemeContext';\nimport type { Theme } from '../themes/default';\n\nexport type Enumerate<N, A extends number[] = []> = A['length'] extends N\n ? A[number]\n : Enumerate<N, [...A, A['length']]>;\n\ntype KittSize = `kitt.${Exclude<Enumerate<65>, 0>}`;\ntype KittNegativeSize = `-kitt.${Exclude<Enumerate<65>, 0>}`;\n\ntype KittScaleRecord = Record<KittSize, number>;\ntype KittNegativeScaleRecord = Record<KittNegativeSize, number>;\ninterface KittSizeRecord {\n positive: Partial<KittScaleRecord>;\n negative: Partial<KittNegativeScaleRecord>;\n}\n\nconst createKittSpaces = (theme: Theme): KittSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: KittSizeRecord = {\n positive: {},\n negative: {},\n };\n for (let size = 1; size <= MAX_SIZE; size++) {\n sizes.positive[`kitt.${size}` as KittSize] = theme.getSpacing(size);\n sizes.negative[`-kitt.${size}` as KittNegativeSize] = -theme.getSpacing(size);\n }\n return sizes;\n};\n\n// reset native-base to be able to set size / space as a number\n// https://docs.nativebase.io/next/default-theme#h2-size\nconst overridenNativeBaseSizeandSpaceScale = Object.fromEntries(\n [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 16, 20, 24, 32, 40, 48, 56, 64, 72, 80, 96, 0.5, 1.5, 2.5, 3.5].map((value) => [\n value,\n value,\n ]),\n);\n\nexport interface AppKittThemeExtensionsBreakpoints {}\nexport interface AppKittThemeExtensionsColors {}\nexport interface AppKittThemeExtensionsSizes {}\nexport interface AppKittThemeExtensionsSpace {}\nexport interface AppKittThemeExtensionsShadows {}\nexport interface AppKittThemeExtensionsOpacity {}\nexport interface AppKittThemeExtensionsBorderWidths {}\nexport interface AppKittThemeExtensionsRadii {}\n\nexport interface AppKittThemeExtensions {\n sizes: AppKittThemeExtensionsSpace;\n space: AppKittThemeExtensionsSpace;\n shadows: AppKittThemeExtensionsShadows;\n opacity: AppKittThemeExtensionsOpacity;\n borderWidths: AppKittThemeExtensionsBorderWidths;\n colors: AppKittThemeExtensionsColors;\n radii: AppKittThemeExtensionsRadii;\n breakpoints: AppKittThemeExtensionsBreakpoints;\n}\n\nexport type ExtensibleNativeBaseThemeKey =\n | 'sizes'\n | 'space'\n | 'shadows'\n | 'opacity'\n | 'borderWidths'\n | 'colors'\n | 'radii'\n | 'breakpoints';\n\nexport type ExtensibleNativeBaseAppThemeConfig = Partial<Record<ExtensibleNativeBaseThemeKey, Record<string, any>>>;\n\ntype ValidAppTheme<T> = T extends ExtensibleNativeBaseAppThemeConfig ? T : never;\n\nexport type AppTheme = Partial<ValidAppTheme<AppKittThemeExtensions>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type -- let typescript infer types\nexport function createKittNativeBaseCustomTheme(theme: Theme, appTheme?: AppTheme) {\n const spaces = createKittSpaces(theme);\n\n const appBreakpoints: AppKittThemeExtensionsBreakpoints =\n appTheme?.breakpoints || ({} as AppKittThemeExtensionsBreakpoints);\n\n const extendedTheme = extendTheme({\n colors: {\n kitt: {\n ...theme.colors,\n actionCard: {\n secondary: {\n default: {\n backgroundColor: theme.actionCard.secondary.default.backgroundColor,\n borderColor: theme.actionCard.secondary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.secondary.disabled.backgroundColor,\n borderColor: theme.actionCard.secondary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.secondary.hovered.backgroundColor,\n borderColor: theme.actionCard.secondary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.secondary.focused.backgroundColor,\n borderColor: theme.actionCard.secondary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.secondary.pressed.backgroundColor,\n borderColor: theme.actionCard.secondary.pressed.borderColor,\n },\n },\n primary: {\n default: {\n backgroundColor: theme.actionCard.primary.default.backgroundColor,\n borderColor: theme.actionCard.primary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.primary.disabled.backgroundColor,\n borderColor: theme.actionCard.primary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.primary.hovered.backgroundColor,\n borderColor: theme.actionCard.primary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.primary.focused.backgroundColor,\n borderColor: theme.actionCard.primary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.primary.pressed.backgroundColor,\n borderColor: theme.actionCard.primary.pressed.borderColor,\n },\n },\n 'primary-border-soft': {\n default: {\n backgroundColor: theme.actionCard['primary-border-soft'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-soft'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-soft'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-soft'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-soft'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].pressed.borderColor,\n },\n },\n 'primary-border-hard': {\n default: {\n backgroundColor: theme.actionCard['primary-border-hard'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-hard'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-hard'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-hard'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-hard'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].pressed.borderColor,\n },\n },\n highlight: {\n default: {\n backgroundColor: theme.actionCard.highlight.default.backgroundColor,\n borderColor: theme.actionCard.highlight.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.highlight.disabled.backgroundColor,\n borderColor: theme.actionCard.highlight.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.highlight.hovered.backgroundColor,\n borderColor: theme.actionCard.highlight.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.highlight.focused.backgroundColor,\n borderColor: theme.actionCard.highlight.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.highlight.pressed.backgroundColor,\n borderColor: theme.actionCard.highlight.pressed.borderColor,\n },\n },\n },\n avatar: {\n default: {\n backgroundColor: theme.colors.primary,\n },\n light: {\n backgroundColor: theme.palettes.lateOcean.black100,\n },\n },\n button: {\n default: theme.button.default,\n primary: theme.button.primary,\n danger: theme.button.danger,\n subtle: theme.button.subtle,\n 'subtle-dark': theme.button['subtle-dark'],\n disabled: theme.button.disabled,\n },\n choices: {\n item: {\n default: {\n backgroundColor: theme.choices.item.backgroundColor.default,\n },\n disabled: {\n backgroundColor: theme.choices.item.backgroundColor.disabled,\n borderColor: theme.choices.item.disabled.border.color,\n },\n selected: {\n backgroundColor: theme.choices.item.backgroundColor.selected,\n },\n pressed: {\n backgroundColor: theme.choices.item.backgroundColor.pressed,\n },\n hover: {\n backgroundColor: theme.choices.item.backgroundColor.hover,\n },\n hoverWhenSelected: {\n backgroundColor: theme.choices.item.backgroundColor.hoverWhenSelected,\n },\n },\n },\n tag: {\n primary: {\n fill: {\n backgroundColor: theme.tag.primary.fill.backgroundColor,\n borderColor: theme.tag.primary.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.primary.outline.backgroundColor,\n borderColor: theme.tag.primary.outline.borderColor,\n },\n },\n default: {\n fill: {\n backgroundColor: theme.tag.default.fill.backgroundColor,\n borderColor: theme.tag.default.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.default.outline.backgroundColor,\n borderColor: theme.tag.default.outline.borderColor,\n },\n },\n danger: {\n fill: {\n backgroundColor: theme.tag.danger.fill.backgroundColor,\n borderColor: theme.tag.danger.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.danger.outline.backgroundColor,\n borderColor: theme.tag.danger.outline.borderColor,\n },\n },\n warn: {\n fill: {\n backgroundColor: theme.tag.warn.fill.backgroundColor,\n borderColor: theme.tag.warn.fill.borderColor,\n },\n outline: {\n backgroundColor: theme.tag.warn.outline.backgroundColor,\n borderColor: theme.tag.warn.outline.borderColor,\n },\n },\n },\n tooltip: {\n backgroundColor: theme.tooltip.backgroundColor,\n },\n typography: theme.typography.colors,\n palettes: theme.palettes,\n feedbackMessage: {\n danger: { backgroundColor: theme.feedbackMessage.danger.backgroundColor },\n info: { backgroundColor: theme.feedbackMessage.info.backgroundColor },\n success: { backgroundColor: theme.feedbackMessage.success.backgroundColor },\n warning: { backgroundColor: theme.feedbackMessage.warning.backgroundColor },\n },\n forms: {\n autocomplete: {\n option: {\n default: { backgroundColor: theme.forms.autocomplete.option.default.backgroundColor },\n hovered: { backgroundColor: theme.forms.autocomplete.option.hovered.backgroundColor },\n focused: { backgroundColor: theme.forms.autocomplete.option.focused.backgroundColor },\n selected: { backgroundColor: theme.forms.autocomplete.option.selected.backgroundColor },\n highlighted: { backgroundColor: theme.forms.autocomplete.option.highlighted.backgroundColor },\n pressed: { backgroundColor: theme.forms.autocomplete.option.pressed.backgroundColor },\n },\n optionsContainer: {\n backgroundColor: theme.forms.autocomplete.optionsContainer.backgroundColor,\n },\n },\n input: {\n states: theme.forms.input.states,\n },\n inputTag: {\n danger: {\n backgroundColor: theme.forms.inputTag.danger.backgroundColor,\n },\n default: {\n backgroundColor: theme.forms.inputTag.default.backgroundColor,\n },\n success: {\n backgroundColor: theme.forms.inputTag.success.backgroundColor,\n },\n },\n radioButtonGroup: {\n item: {\n borderColor: theme.forms.radioButtonGroup.item.borderColor,\n backgroundColor: theme.forms.radioButtonGroup.item.backgroundColor,\n },\n },\n checkbox: {\n markColor: theme.forms.checkbox.markColor,\n checked: {\n backgroundColor: theme.forms.checkbox.checked.backgroundColor,\n borderColor: theme.forms.checkbox.checked.borderColor,\n },\n hover: {\n backgroundColor: theme.forms.checkbox.hover.backgroundColor,\n borderColor: theme.forms.checkbox.hover.borderColor,\n },\n pressed: {\n backgroundColor: theme.forms.checkbox.pressed.backgroundColor,\n borderColor: theme.forms.checkbox.pressed.borderColor,\n },\n focus: {\n backgroundColor: theme.forms.checkbox.focus.backgroundColor,\n borderColor: theme.forms.checkbox.focus.borderColor,\n },\n default: {\n backgroundColor: theme.forms.checkbox.default.backgroundColor,\n borderColor: theme.forms.checkbox.default.borderColor,\n },\n },\n radio: {\n checked: {\n backgroundColor: theme.forms.radio.checked.backgroundColor,\n borderColor: theme.forms.radio.checked.borderColor,\n },\n hover: {\n backgroundColor: theme.forms.radio.hover.backgroundColor,\n borderColor: theme.forms.radio.hover.borderColor,\n },\n pressed: {\n backgroundColor: theme.forms.radio.pressed.backgroundColor,\n borderColor: theme.forms.radio.pressed.borderColor,\n },\n focus: {\n backgroundColor: theme.forms.radio.pressed.backgroundColor,\n borderColor: theme.forms.radio.pressed.borderColor,\n },\n disabled: {\n backgroundColor: theme.forms.radio.disabled.backgroundColor,\n borderColor: theme.forms.radio.disabled.borderColor,\n },\n default: {\n backgroundColor: theme.forms.radio.unchecked.backgroundColor,\n borderColor: theme.forms.radio.unchecked.borderColor,\n },\n innerCircle: {\n backgroundColor: theme.forms.radio.checked.innerBackgroundColor,\n },\n },\n },\n skeleton: {\n backgroundColor: theme.skeleton.backgroundColor,\n flareColor: theme.skeleton.flareColor,\n },\n iconButton: {\n borderColor: theme.iconButton.borderColor,\n disabled: {\n borderColor: theme.iconButton.disabled.borderColor,\n backgroundColor: theme.iconButton.disabled.backgroundColor,\n },\n black: {\n pressed: {\n backgroundColor: theme.iconButton.default.pressedBackgroundColor,\n },\n },\n ghost: {\n pressed: {\n backgroundColor: theme.iconButton.ghost.pressedBackgroundColor,\n },\n },\n primary: {\n pressed: {\n backgroundColor: theme.iconButton.primary.pressedBackgroundColor,\n },\n },\n },\n highlight: {\n regular: {\n default: {\n backgroundColor: theme.highlight.regular.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.regular.hover.backgroundColor,\n },\n },\n primary: {\n default: {\n backgroundColor: theme.highlight.primary.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.primary.hover.backgroundColor,\n },\n },\n secondary: {\n default: {\n backgroundColor: theme.highlight.secondary.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.secondary.hover.backgroundColor,\n },\n },\n dark: {\n default: {\n backgroundColor: theme.highlight.dark.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.dark.hover.backgroundColor,\n },\n },\n ghost: {\n default: {\n backgroundColor: theme.highlight.ghost.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.ghost.hover.backgroundColor,\n },\n },\n },\n verticalSteps: {\n active: {\n icon: {\n backgroundColor: theme.verticalSteps.active.icon.backgroundColor,\n textColor: theme.verticalSteps.active.icon.textColor,\n },\n },\n done: {\n icon: {\n backgroundColor: theme.verticalSteps.done.icon.backgroundColor,\n textColor: theme.verticalSteps.done.icon.textColor,\n },\n },\n default: {\n icon: {\n backgroundColor: theme.verticalSteps.default.icon.backgroundColor,\n textColor: theme.verticalSteps.default.icon.textColor,\n },\n },\n },\n listItem: {\n borderColor: theme.listItem.borderColor,\n },\n picker: {\n ios: {\n option: {\n selected: {\n color: theme.picker.ios.selected.color,\n },\n },\n },\n android: {\n option: {\n default: {\n backgroundColor: theme.picker.android.option.default.backgroundColor,\n },\n selected: {\n color: theme.picker.android.option.selected.color,\n backgroundColor: theme.picker.android.option.selected.backgroundColor,\n },\n },\n },\n web: {\n option: {\n default: { backgroundColor: theme.picker.web.option.default.backgroundColor },\n hovered: { backgroundColor: theme.picker.web.option.hovered.backgroundColor },\n focused: { backgroundColor: theme.picker.web.option.focused.backgroundColor },\n selected: { backgroundColor: theme.picker.web.option.selected.backgroundColor },\n highlighted: { backgroundColor: theme.picker.web.option.highlighted.backgroundColor },\n pressed: { backgroundColor: theme.picker.web.option.pressed.backgroundColor },\n },\n optionsContainer: {\n backgroundColor: theme.picker.web.optionsContainer.backgroundColor,\n },\n },\n },\n },\n app: appTheme?.colors,\n },\n radii: {\n // Make original native base values unusable\n lg: Number.MAX_SAFE_INTEGER,\n md: Number.MAX_SAFE_INTEGER,\n sm: Number.MAX_SAFE_INTEGER,\n xl: Number.MAX_SAFE_INTEGER,\n '2xl': Number.MAX_SAFE_INTEGER,\n '3xl': Number.MAX_SAFE_INTEGER,\n xs: Number.MAX_SAFE_INTEGER,\n\n // Allow values like kitt.X\n ...spaces.positive,\n\n kitt: {\n actionCard: {\n borderRadius: theme.actionCard.borderRadius,\n },\n avatar: {\n borderRadius: theme.avatar.borderRadius,\n large: {\n borderRadius: theme.avatar.large.borderRadius,\n },\n },\n borderRadius: theme.card.borderRadius,\n button: {\n borderRadius: theme.button.borderRadius,\n },\n card: {\n borderRadius: theme.card.borderRadius,\n },\n cardModal: {\n borderRadius: theme.cardModal.borderRadius,\n },\n choices: {\n item: {\n borderRadius: theme.choices.item.borderRadius,\n },\n },\n dialogModal: {\n borderRadius: theme.dialogModal.borderRadius,\n },\n forms: {\n autocomplete: {\n optionsContainer: {\n borderRadius: theme.forms.autocomplete.optionsContainer.borderRadius,\n },\n },\n input: {\n borderRadius: theme.forms.input.borderRadius,\n },\n inputTag: {\n borderRadius: theme.forms.inputTag.borderRadius,\n },\n radioButtonGroup: {\n item: {\n borderRadius: theme.forms.radioButtonGroup.item.borderRadius,\n },\n },\n checkbox: {\n borderRadius: theme.forms.checkbox.borderRadius,\n },\n radio: {\n borderRadius: theme.forms.radio.size * 0.5,\n innerCircle: {\n borderRadius: theme.forms.radio.checked.innerSize * 0.5,\n },\n },\n },\n highlight: {\n borderRadius: theme.highlight.borderRadius,\n },\n iconButton: {\n borderRadius: theme.iconButton.borderRadius,\n },\n tag: {\n borderRadius: theme.tag.borderRadius,\n },\n tooltip: {\n borderRadius: theme.tooltip.borderRadius,\n },\n skeleton: {\n shape: {\n bar: {\n borderRadius: theme.skeleton.shape.bar.borderRadius,\n },\n circle: {\n borderRadius: theme.skeleton.shape.circle.borderRadius,\n },\n square: {\n borderRadius: theme.skeleton.shape.square.borderRadius,\n },\n },\n },\n picker: {\n web: {\n optionsContainer: {\n borderRadius: theme.picker.web.optionsContainer.borderRadius,\n },\n },\n },\n },\n app: appTheme?.radii,\n },\n borderWidths: {\n kitt: {\n actionCard: {\n secondary: {\n default: {\n borderWidth: theme.actionCard.secondary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.secondary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.secondary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.secondary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.secondary.pressed.borderWidth,\n },\n },\n primary: {\n default: {\n borderWidth: theme.actionCard.primary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.primary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.primary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.primary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.primary.pressed.borderWidth,\n },\n },\n 'primary-border-soft': {\n default: {\n borderWidth: theme.actionCard['primary-border-soft'].default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard['primary-border-soft'].disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard['primary-border-soft'].hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard['primary-border-soft'].focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard['primary-border-soft'].pressed.borderWidth,\n },\n },\n 'primary-border-hard': {\n default: {\n borderWidth: theme.actionCard['primary-border-hard'].default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard['primary-border-hard'].disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard['primary-border-hard'].hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard['primary-border-hard'].focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard['primary-border-hard'].pressed.borderWidth,\n },\n },\n highlight: {\n default: {\n borderWidth: theme.actionCard.highlight.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.highlight.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.highlight.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.highlight.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.highlight.pressed.borderWidth,\n },\n },\n },\n button: {\n borderWidth: theme.button.borderWidth,\n },\n choices: {\n item: {\n disabled: {\n borderWidth: theme.choices.item.disabled.border.width,\n },\n },\n },\n iconButton: {\n borderWidth: theme.iconButton.borderWidth,\n },\n forms: {\n input: {\n borderWidth: theme.forms.input.borderWidth,\n },\n radioButtonGroup: {\n item: {\n borderWidth: theme.forms.radioButtonGroup.item.borderWidth,\n },\n },\n checkbox: {\n borderWidth: theme.forms.checkbox.borderWidth,\n },\n radio: {\n borderWidth: theme.forms.radio.unchecked.borderWidth,\n },\n },\n cardModal: {\n header: {\n borderWidth: theme.cardModal.header.borderWidth,\n },\n footer: {\n borderWidth: theme.cardModal.footer.borderWidth,\n },\n },\n listItem: {\n borderWidth: theme.listItem.borderWidth,\n },\n tag: {\n primary: {\n fill: {\n borderWidth: theme.tag.primary.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.primary.outline.borderWidth,\n },\n },\n default: {\n fill: {\n borderWidth: theme.tag.default.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.default.outline.borderWidth,\n },\n },\n danger: {\n fill: {\n borderWidth: theme.tag.danger.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.danger.outline.borderWidth,\n },\n },\n warn: {\n fill: {\n borderWidth: theme.tag.warn.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.warn.outline.borderWidth,\n },\n },\n },\n },\n app: appTheme?.borderWidths,\n },\n sizes: {\n ...spaces.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n avatar: {\n size: theme.avatar.size,\n iconSize: theme.avatar.iconSize,\n large: {\n size: theme.avatar.large.size,\n iconSize: theme.avatar.large.iconSize,\n },\n },\n button: {\n minWidth: theme.button.minWidth,\n maxWidth: theme.button.maxWidth,\n minHeight: theme.button.minHeight,\n },\n icon: theme.icon,\n cardModal: {\n header: {\n height: theme.cardModal.header.height,\n },\n maxWidth: theme.cardModal.maxWidth,\n maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,\n minHeight: theme.cardModal.minHeight,\n },\n dialogModal: {\n maxWidth: theme.dialogModal.maxWidth,\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n feedbackMessage: {\n minHeight: theme.feedbackMessage.minHeight,\n },\n forms: {\n autocomplete: {\n option: {\n minHeight: theme.forms.autocomplete.option.minHeight,\n },\n },\n datePicker: {\n minHeight: theme.forms.input.minHeight,\n day: {\n minWidth: theme.forms.datePicker.day.minWidth,\n },\n month: {\n minWidth: theme.forms.datePicker.month.minWidth,\n },\n year: {\n minWidth: theme.forms.datePicker.year.minWidth,\n },\n },\n input: {\n minHeight: theme.forms.input.minHeight,\n },\n radioButtonGroup: {\n item: {\n minHeight: theme.forms.radioButtonGroup.item.minHeight,\n },\n },\n checkbox: {\n height: theme.forms.checkbox.height,\n width: theme.forms.checkbox.width,\n iconSize: theme.forms.checkbox.iconSize,\n textSpacing: theme.forms.checkbox.textSpacing,\n },\n radio: {\n size: theme.forms.radio.size,\n innerCircle: {\n size: theme.forms.radio.checked.innerSize,\n },\n },\n textArea: {\n minHeight: theme.forms.textArea.minHeight,\n },\n timePicker: {\n minWidth: theme.forms.timePicker.minWidth,\n },\n },\n\n iconButton: {\n size: theme.iconButton.width - theme.iconButton.borderWidth,\n width: theme.iconButton.width,\n height: theme.iconButton.height,\n },\n fullscreenModal: {\n header: {\n height: theme.fullscreenModal.header.height,\n },\n },\n pageLoader: {\n size: theme.pageLoader.size,\n },\n tooltip: {\n maxWidth: theme.tooltip.maxWidth,\n arrow: {\n width: theme.tooltip.arrow.width,\n height: theme.tooltip.arrow.height,\n },\n },\n skeleton: {\n shape: {\n bar: {\n size: theme.skeleton.shape.bar.size,\n },\n circle: {\n size: theme.skeleton.shape.circle.size,\n },\n square: {\n size: theme.skeleton.shape.square.size,\n },\n },\n },\n picker: {\n ios: {\n default: {\n height: theme.picker.ios.default.height,\n },\n landscape: {\n height: theme.picker.ios.landscape.height,\n },\n },\n },\n },\n app: appTheme?.sizes,\n },\n space: {\n ...spaces.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n bottomSheet: {\n container: {\n padding: theme.bottomSheet.container.padding,\n },\n },\n button: {\n padding: theme.button.padding,\n },\n cardModal: {\n overlayPadding: theme.cardModal.overlayPadding,\n },\n dialogModal: {\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n forms: {\n autocomplete: {\n option: {\n verticalPadding: theme.forms.autocomplete.option.verticalPadding,\n },\n },\n datePicker: {\n padding: theme.forms.input.padding,\n },\n input: {\n padding: theme.forms.input.padding,\n },\n radioButtonGroup: {\n item: {\n padding: theme.forms.radioButtonGroup.item.padding,\n },\n },\n },\n fullscreenModal: {\n horizontalPadding: theme.fullscreenModal.sharedHorizontalPadding,\n body: {\n verticalPadding: theme.fullscreenModal.body.verticalPadding,\n },\n footer: {\n verticalPadding: theme.fullscreenModal.footer.verticalPadding,\n },\n },\n highlight: {\n medium: {\n padding: theme.highlight.padding.medium,\n },\n large: {\n padding: theme.highlight.padding.large,\n },\n },\n listItem: {\n verticalPadding: theme.listItem.verticalPadding,\n horizontalPadding: theme.listItem.horizontalPadding,\n },\n tag: {\n verticalPadding: theme.tag.verticalPadding,\n horizontalPadding: theme.tag.horizontalPadding,\n },\n tooltip: {\n horizontalPadding: theme.tooltip.horizontalPadding,\n verticalPadding: theme.tooltip.verticalPadding,\n floatingPadding: theme.tooltip.floatingPadding,\n },\n picker: {\n android: {\n option: {\n verticalPadding: theme.picker.android.option.verticalPadding,\n horizontalPadding: theme.picker.android.option.horizontalPadding,\n },\n },\n web: {\n option: {\n verticalPadding: theme.picker.web.option.verticalPadding,\n horizontalPadding: theme.picker.web.option.horizontalPadding,\n },\n },\n },\n },\n app: appTheme?.space,\n },\n breakpoints: {\n // kitt breakpoints\n base: KittBreakpoints.BASE,\n small: KittBreakpoints.SMALL,\n medium: KittBreakpoints.MEDIUM,\n large: KittBreakpoints.LARGE,\n wide: KittBreakpoints.WIDE,\n\n // native base default naming\n sm: Number.MAX_SAFE_INTEGER,\n md: Number.MAX_SAFE_INTEGER,\n lg: Number.MAX_SAFE_INTEGER,\n xl: Number.MAX_SAFE_INTEGER,\n '2xl': Number.MAX_SAFE_INTEGER,\n\n // Breakpoints can't be nested in objects\n ...appBreakpoints,\n },\n\n fontSizes: {\n baseAndSmall: {\n /* legacy */\n header1: `${theme.typography.types.headings.configs.header1.baseAndSmall.fontSize}px`,\n header2: `${theme.typography.types.headings.configs.header2.baseAndSmall.fontSize}px`,\n header3: `${theme.typography.types.headings.configs.header3.baseAndSmall.fontSize}px`,\n header4: `${theme.typography.types.headings.configs.header4.baseAndSmall.fontSize}px`,\n header5: `${theme.typography.types.headings.configs.header5.baseAndSmall.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].baseAndSmall.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].baseAndSmall.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.baseAndSmall.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].baseAndSmall.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.fontSize}px`,\n 'header-impact-xxl': `${theme.typography.types['headings-impact'].configs['header-impact-xxl'].baseAndSmall.fontSize}px`,\n 'header-impact-xl': `${theme.typography.types['headings-impact'].configs['header-impact-xl'].baseAndSmall.fontSize}px`,\n 'header-impact-l': `${theme.typography.types['headings-impact'].configs['header-impact-l'].baseAndSmall.fontSize}px`,\n 'header-impact-m': `${theme.typography.types['headings-impact'].configs['header-impact-m'].baseAndSmall.fontSize}px`,\n 'header-impact-s': `${theme.typography.types['headings-impact'].configs['header-impact-s'].baseAndSmall.fontSize}px`,\n 'header-impact-xs': `${theme.typography.types['headings-impact'].configs['header-impact-xs'].baseAndSmall.fontSize}px`,\n 'header-impact-xxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxs'].baseAndSmall.fontSize}px`,\n 'header-impact-xxxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxxs'].baseAndSmall.fontSize}px`,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].baseAndSmall.fontSize}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].baseAndSmall.fontSize}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].baseAndSmall.fontSize}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].baseAndSmall.fontSize}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].baseAndSmall.fontSize}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].baseAndSmall.fontSize}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].baseAndSmall.fontSize}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].baseAndSmall.fontSize}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].baseAndSmall.fontSize}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].baseAndSmall.fontSize}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].baseAndSmall.fontSize}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].baseAndSmall.fontSize}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].baseAndSmall.fontSize}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].baseAndSmall.fontSize}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].baseAndSmall.fontSize}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].baseAndSmall.fontSize}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].baseAndSmall.fontSize}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].baseAndSmall.fontSize}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].baseAndSmall.fontSize}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].baseAndSmall.fontSize}px`,\n },\n mediumAndWide: {\n /* legacy */\n header1: `${theme.typography.types.headings.configs.header1.mediumAndWide.fontSize}px`,\n header2: `${theme.typography.types.headings.configs.header2.mediumAndWide.fontSize}px`,\n header3: `${theme.typography.types.headings.configs.header3.mediumAndWide.fontSize}px`,\n header4: `${theme.typography.types.headings.configs.header4.mediumAndWide.fontSize}px`,\n header5: `${theme.typography.types.headings.configs.header5.mediumAndWide.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].mediumAndWide.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].mediumAndWide.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.mediumAndWide.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].mediumAndWide.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.fontSize}px`,\n 'header-impact-xxl': `${theme.typography.types['headings-impact'].configs['header-impact-xxl'].mediumAndWide.fontSize}px`,\n 'header-impact-xl': `${theme.typography.types['headings-impact'].configs['header-impact-xl'].mediumAndWide.fontSize}px`,\n 'header-impact-l': `${theme.typography.types['headings-impact'].configs['header-impact-l'].mediumAndWide.fontSize}px`,\n 'header-impact-m': `${theme.typography.types['headings-impact'].configs['header-impact-m'].mediumAndWide.fontSize}px`,\n 'header-impact-s': `${theme.typography.types['headings-impact'].configs['header-impact-s'].mediumAndWide.fontSize}px`,\n 'header-impact-xs': `${theme.typography.types['headings-impact'].configs['header-impact-xs'].mediumAndWide.fontSize}px`,\n 'header-impact-xxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxs'].mediumAndWide.fontSize}px`,\n 'header-impact-xxxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxxs'].mediumAndWide.fontSize}px`,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].mediumAndWide.fontSize}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].mediumAndWide.fontSize}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].mediumAndWide.fontSize}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].mediumAndWide.fontSize}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].mediumAndWide.fontSize}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].mediumAndWide.fontSize}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].mediumAndWide.fontSize}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].mediumAndWide.fontSize}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].mediumAndWide.fontSize}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].mediumAndWide.fontSize}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].mediumAndWide.fontSize}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].mediumAndWide.fontSize}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].mediumAndWide.fontSize}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].mediumAndWide.fontSize}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].mediumAndWide.fontSize}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].mediumAndWide.fontSize}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].mediumAndWide.fontSize}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].mediumAndWide.fontSize}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].mediumAndWide.fontSize}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].mediumAndWide.fontSize}px`,\n },\n },\n lineHeights: {\n baseAndSmall: {\n /* legacy */\n header1: theme.typography.types.headings.configs.header1.baseAndSmall.lineHeight,\n header2: theme.typography.types.headings.configs.header2.baseAndSmall.lineHeight,\n header3: theme.typography.types.headings.configs.header3.baseAndSmall.lineHeight,\n header4: theme.typography.types.headings.configs.header4.baseAndSmall.lineHeight,\n header5: theme.typography.types.headings.configs.header5.baseAndSmall.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].baseAndSmall.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].baseAndSmall.lineHeight,\n body: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].baseAndSmall.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.lineHeight,\n 'header-impact-xxl':\n theme.typography.types['headings-impact'].configs['header-impact-xxl'].baseAndSmall.lineHeight,\n 'header-impact-xl':\n theme.typography.types['headings-impact'].configs['header-impact-xl'].baseAndSmall.lineHeight,\n 'header-impact-l': theme.typography.types['headings-impact'].configs['header-impact-l'].baseAndSmall.lineHeight,\n 'header-impact-m': theme.typography.types['headings-impact'].configs['header-impact-m'].baseAndSmall.lineHeight,\n 'header-impact-s': theme.typography.types['headings-impact'].configs['header-impact-s'].baseAndSmall.lineHeight,\n 'header-impact-xs':\n theme.typography.types['headings-impact'].configs['header-impact-xs'].baseAndSmall.lineHeight,\n 'header-impact-xxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxs'].baseAndSmall.lineHeight,\n 'header-impact-xxxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxxs'].baseAndSmall.lineHeight,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].baseAndSmall.lineHeight}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].baseAndSmall.lineHeight}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].baseAndSmall.lineHeight}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].baseAndSmall.lineHeight}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].baseAndSmall.lineHeight}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].baseAndSmall.lineHeight}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].baseAndSmall.lineHeight}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].baseAndSmall.lineHeight}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].baseAndSmall.lineHeight}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].baseAndSmall.lineHeight}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].baseAndSmall.lineHeight}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].baseAndSmall.lineHeight}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].baseAndSmall.lineHeight}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].baseAndSmall.lineHeight}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].baseAndSmall.lineHeight}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].baseAndSmall.lineHeight}px`,\n },\n mediumAndWide: {\n /* legacy */\n header1: theme.typography.types.headings.configs.header1.mediumAndWide.lineHeight,\n header2: theme.typography.types.headings.configs.header2.mediumAndWide.lineHeight,\n header3: theme.typography.types.headings.configs.header3.mediumAndWide.lineHeight,\n header4: theme.typography.types.headings.configs.header4.mediumAndWide.lineHeight,\n header5: theme.typography.types.headings.configs.header5.mediumAndWide.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].mediumAndWide.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].mediumAndWide.lineHeight,\n body: theme.typography.types.bodies.configs.body.mediumAndWide.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].mediumAndWide.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.lineHeight,\n 'header-impact-xxl':\n theme.typography.types['headings-impact'].configs['header-impact-xxl'].mediumAndWide.lineHeight,\n 'header-impact-xl':\n theme.typography.types['headings-impact'].configs['header-impact-xl'].mediumAndWide.lineHeight,\n 'header-impact-l':\n theme.typography.types['headings-impact'].configs['header-impact-l'].mediumAndWide.lineHeight,\n 'header-impact-m':\n theme.typography.types['headings-impact'].configs['header-impact-m'].mediumAndWide.lineHeight,\n 'header-impact-s':\n theme.typography.types['headings-impact'].configs['header-impact-s'].mediumAndWide.lineHeight,\n 'header-impact-xs':\n theme.typography.types['headings-impact'].configs['header-impact-xs'].mediumAndWide.lineHeight,\n 'header-impact-xxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxs'].mediumAndWide.lineHeight,\n 'header-impact-xxxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxxs'].mediumAndWide.lineHeight,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].mediumAndWide.lineHeight}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].mediumAndWide.lineHeight}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].mediumAndWide.lineHeight}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].mediumAndWide.lineHeight}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].mediumAndWide.lineHeight}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].mediumAndWide.lineHeight}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].mediumAndWide.lineHeight}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].mediumAndWide.lineHeight}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].mediumAndWide.lineHeight}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].mediumAndWide.lineHeight}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].mediumAndWide.lineHeight}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].mediumAndWide.lineHeight}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].mediumAndWide.lineHeight}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].mediumAndWide.lineHeight}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].mediumAndWide.lineHeight}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].mediumAndWide.lineHeight}px`,\n },\n },\n fontWeights: {\n headings: {\n regular: theme.typography.types.headings.fontWeight.regular,\n bold: theme.typography.types.headings.fontWeight.bold,\n },\n 'headings-impact': {\n regular: theme.typography.types['headings-impact'].fontWeight,\n bold: theme.typography.types['headings-impact'].fontWeight,\n },\n bodies: {\n regular: theme.typography.types.bodies.fontWeight.regular,\n // TODO [https://ornikar.atlassian.net/browse/CME-767] This quick fix should be replaced by a 700 in every case, and native font weights should be handled by expo-fonts\n bold: Platform.OS === 'android' ? 400 : theme.typography.types.bodies.fontWeight.bold,\n },\n },\n fonts: {\n headings:\n Platform.OS === 'web'\n ? theme.typography.types.headings.fontFamily.web\n : theme.typography.types.headings.fontFamily.native,\n 'headings-impact':\n Platform.OS === 'web'\n ? theme.typography.types['headings-impact'].fontFamily.web\n : theme.typography.types['headings-impact'].fontFamily.native,\n bodies:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web\n : theme.typography.types.bodies.fontFamily.native,\n },\n\n shadows: {\n kitt: {\n shadows: {\n cards: {\n low: {\n shadowColor: theme.shadows.cards.low.color,\n shadowOffset: { width: theme.shadows.cards.low.offsetX, height: theme.shadows.cards.low.offsetY },\n shadowOpacity: theme.shadows.cards.low.opacity,\n shadowRadius: theme.shadows.cards.low.radius,\n },\n medium: {\n shadowColor: theme.shadows.cards.medium.color,\n shadowOffset: { width: theme.shadows.cards.medium.offsetX, height: theme.shadows.cards.medium.offsetY },\n shadowOpacity: theme.shadows.cards.medium.opacity,\n shadowRadius: theme.shadows.cards.medium.radius,\n },\n highBase: {\n shadowColor: theme.shadows.cards.highBase.color,\n shadowOffset: {\n width: theme.shadows.cards.highBase.offsetX,\n height: theme.shadows.cards.highBase.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highBase.opacity,\n shadowRadius: theme.shadows.cards.highBase.radius,\n },\n highMedium: {\n shadowColor: theme.shadows.cards.highMedium.color,\n shadowOffset: {\n width: theme.shadows.cards.highMedium.offsetX,\n height: theme.shadows.cards.highMedium.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highMedium.opacity,\n shadowRadius: theme.shadows.cards.highMedium.radius,\n },\n highLarge: {\n shadowColor: theme.shadows.cards.highLarge.color,\n shadowOffset: {\n width: theme.shadows.cards.highLarge.offsetX,\n height: theme.shadows.cards.highLarge.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highLarge.opacity,\n shadowRadius: theme.shadows.cards.highLarge.radius,\n },\n },\n navigation: {\n left: {\n shadowColor: theme.shadows.navigation.left.color,\n shadowOffset: {\n width: theme.shadows.navigation.left.offsetX,\n height: theme.shadows.navigation.left.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.left.opacity,\n shadowRadius: theme.shadows.navigation.left.radius,\n },\n right: {\n shadowColor: theme.shadows.navigation.right.color,\n shadowOffset: {\n width: theme.shadows.navigation.right.offsetX,\n height: theme.shadows.navigation.right.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.right.opacity,\n shadowRadius: theme.shadows.navigation.right.radius,\n },\n },\n panel: {\n shadowColor: theme.shadows.panel.color,\n shadowOffset: { width: theme.shadows.panel.offsetX, height: theme.shadows.panel.offsetY },\n shadowOpacity: theme.shadows.panel.opacity,\n shadowRadius: theme.shadows.panel.radius,\n },\n },\n actionCard: {\n secondary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.secondary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.default.shadow.offsetX,\n height: theme.actionCard.secondary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.default.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.secondary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.hovered.shadow.offsetX,\n height: theme.actionCard.secondary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.secondary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.focused.shadow.offsetX,\n height: theme.actionCard.secondary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.secondary.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.pressed.shadow.offsetX,\n height: theme.actionCard.secondary.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard.secondary.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.disabled.shadow.offsetX,\n height: theme.actionCard.secondary.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.disabled.shadow.radius,\n },\n },\n },\n primary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.primary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.default.shadow.offsetX,\n height: theme.actionCard.primary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.default.shadow.opacity,\n shadowRadius: theme.actionCard.primary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.primary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.hovered.shadow.offsetX,\n height: theme.actionCard.primary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.primary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.primary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.focused.shadow.offsetX,\n height: theme.actionCard.primary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.primary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.primary.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.pressed.shadow.offsetX,\n height: theme.actionCard.primary.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.primary.pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard.primary.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.disabled.shadow.offsetX,\n height: theme.actionCard.primary.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.primary.disabled.shadow.radius,\n },\n },\n },\n 'primary-border-soft': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].disabled.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].disabled.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].disabled.shadow.radius,\n },\n },\n },\n 'primary-border-hard': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].disabled.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].disabled.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].disabled.shadow.radius,\n },\n },\n },\n highlight: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.highlight.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.default.shadow.offsetX,\n height: theme.actionCard.highlight.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.default.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.highlight.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.hovered.shadow.offsetX,\n height: theme.actionCard.highlight.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.highlight.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.focused.shadow.offsetX,\n height: theme.actionCard.highlight.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.focused.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.highlight.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.pressed.shadow.offsetX,\n height: theme.actionCard.highlight.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard.highlight.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.disabled.shadow.offsetX,\n height: theme.actionCard.highlight.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.disabled.shadow.radius,\n },\n },\n },\n },\n cardModal: {\n shadow: {\n shadowColor: theme.cardModal.shadow.color,\n shadowOffset: { width: theme.cardModal.shadow.offsetX, height: theme.cardModal.shadow.offsetY },\n shadowOpacity: theme.cardModal.shadow.opacity,\n shadowRadius: theme.cardModal.shadow.radius,\n },\n },\n dialogModal: {\n shadow: {\n shadowColor: theme.dialogModal.shadow.color,\n shadowOffset: { width: theme.dialogModal.shadow.offsetX, height: theme.dialogModal.shadow.offsetY },\n shadowOpacity: theme.dialogModal.shadow.opacity,\n shadowRadius: theme.dialogModal.shadow.radius,\n },\n },\n picker: {\n web: {\n optionsContainer: {\n shadow: {\n shadowColor: theme.picker.web.optionsContainer.shadow.color,\n shadowOffset: {\n width: theme.picker.web.optionsContainer.shadow.offsetX,\n height: theme.picker.web.optionsContainer.shadow.offsetY,\n },\n shadowOpacity: theme.picker.web.optionsContainer.shadow.opacity,\n shadowRadius: theme.picker.web.optionsContainer.shadow.radius,\n },\n },\n },\n },\n forms: {\n autocomplete: {\n optionsContainer: {\n shadow: {\n shadowColor: theme.forms.autocomplete.optionsContainer.shadow.color,\n shadowOffset: {\n width: theme.forms.autocomplete.optionsContainer.shadow.offsetX,\n height: theme.forms.autocomplete.optionsContainer.shadow.offsetY,\n },\n shadowOpacity: theme.forms.autocomplete.optionsContainer.shadow.opacity,\n shadowRadius: theme.forms.autocomplete.optionsContainer.shadow.radius,\n },\n },\n },\n },\n },\n app: appTheme?.shadows,\n },\n\n opacity: {\n app: appTheme?.opacity,\n kitt: {\n tooltip: {\n opacity: theme.tooltip.opacity,\n },\n },\n },\n\n components: {\n Input: {\n baseStyle: {\n width: '100%',\n minHeight: theme.forms.input.minHeight,\n py: theme.forms.input.padding.vertical,\n px: theme.forms.input.padding.horizontal,\n borderRadius: theme.forms.input.borderRadius,\n _disabled: {\n opacity: 1, // override default native-base opacity\n },\n _light: {\n color: theme.forms.input.states.default.color,\n placeholderTextColor: theme.forms.input.color.placeholder,\n borderColor: theme.forms.input.states.default.borderColor,\n bg: theme.forms.input.states.default.backgroundColor,\n _hover: {\n bg: theme.forms.input.states.hover.backgroundColor,\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n _focus: {\n bg: theme.forms.input.states.default.backgroundColor,\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n },\n _focus: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n _hover: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n _stack: {\n style: {\n outlineWidth: 0,\n boxShadow: 'none',\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\n },\n },\n _invalid: {\n borderColor: theme.forms.input.states.invalid.borderColor,\n color: theme.forms.input.states.invalid.color,\n _hover: {\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\n },\n _disabled: {\n placeholderTextColor: theme.forms.input.states.disabled.color,\n color: theme.forms.input.states.disabled.color,\n borderColor: theme.forms.input.states.disabled.borderColor,\n bg: theme.forms.input.states.disabled.backgroundColor,\n },\n },\n },\n variants: {\n outline: {\n borderWidth: theme.forms.input.borderWidth,\n _focus: {\n bg: theme.forms.input.states.default.backgroundColor,\n },\n },\n underlined: {},\n rounded: {},\n filled: {},\n unstyled: {},\n },\n },\n Text: {\n baseStyle: {\n _light: {\n color: 'kitt.typography.black',\n },\n _dark: {\n color: 'kitt.typography.white',\n },\n fontFamily:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web.regular\n : theme.typography.types.bodies.fontFamily.native.regular,\n fontStyle: theme.typography.types.bodies.fontStyle.regular,\n fontWeight: theme.typography.types.bodies.fontWeight.regular,\n fontSize: undefined,\n lineHeight: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n },\n },\n },\n });\n\n return { ...extendedTheme, space: extendedTheme.space as typeof spaces.positive & typeof spaces.negative };\n}\n\ntype KittNativeBaseCustomTheme = ReturnType<typeof createKittNativeBaseCustomTheme>;\n\ndeclare module 'native-base' {\n interface ICustomTheme extends KittNativeBaseCustomTheme {}\n}\n\nexport interface KittNativeBaseProviderProps {\n /**\n * `theme` should come from `useKittTheme`\n */\n theme: KittTheme;\n isSSR: NativeBaseProviderProps['isSSR'];\n /**\n * `appTheme` is optional and provides extended theme configuration. It's a native-base representation of your application theme.\n * This variable must not change at each render\n */\n appTheme?: AppTheme;\n children: ReactNode;\n}\n\n/**\n * Provide theme to native-base\n *\n * `appTheme` is optional and provides extended theme configuration. This variable must not change at each render\n *\n * @exemple\n * ```tsx\n * const appTheme = {};\n * export function MyAppThemeProvider({ children }) {\n * const theme = useKittTheme();\n * return <KittNativeBaseProvider theme={theme} appTheme={appTheme}>{children}</KittNativeBaseProvider>\n * }\n * ```\n */\nexport function KittNativeBaseProvider({ theme, isSSR, appTheme, children }: KittNativeBaseProviderProps): ReactNode {\n const kittTheme = theme.kitt;\n\n const nativeBaseCustomTheme = useMemo(\n () => createKittNativeBaseCustomTheme(kittTheme, appTheme),\n [kittTheme, appTheme],\n );\n\n const kittInternalTheme = useMemo(() => ({ kitt: kittTheme }), [kittTheme]);\n\n return (\n <NativeBaseProvider theme={nativeBaseCustomTheme} isSSR={isSSR}>\n <KittThemeContext.Provider value={kittInternalTheme}>{children}</KittThemeContext.Provider>\n </NativeBaseProvider>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { CardModalAnimation } from '../CardModal/CardModalAnimation/CardModalAnimation';\nimport { FullscreenModalAnimation } from '../FullscreenModal/FullscreenModalAnimation';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { ModalAnimationComponentProps } from '../ModalBehaviour/type';\nimport { useBreakpointValue } from '../native-base/utils';\n\ntype AnimationComponentType = typeof CardModalAnimation | typeof FullscreenModalAnimation;\n\nexport interface NavigationModalBehaviourProps extends ModalBehaviourProps, ModalAnimationComponentProps {\n onClose: () => void;\n}\n\nexport function NavigationModalBehaviour({\n children,\n visible,\n appear = true,\n onExited,\n onEnter,\n onExit,\n onClose,\n ...props\n}: NavigationModalBehaviourProps): ReactNode {\n const AnimationComponent = useBreakpointValue<AnimationComponentType>({\n base: FullscreenModalAnimation,\n small: CardModalAnimation,\n });\n\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n const [shouldAppear, setShouldAppear] = useState(appear);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n const handleEnter = (): void => {\n if (onEnter) onEnter();\n\n // Once a children as been displayed, we force appear to false in order to avoid replaying animation on breakpoint change\n setShouldAppear(false);\n };\n\n const handleExit = (): void => {\n if (onExit) onExit();\n\n // Reset appear value to its original value for future modal display\n setShouldAppear(appear);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <AnimationComponent\n {...props}\n appear={shouldAppear}\n visible={visible}\n onEnter={handleEnter}\n onExit={handleExit}\n onExited={handleExitAnimationDone}\n onClose={onClose}\n >\n {children}\n </AnimationComponent>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport { CardModal } from '../CardModal/CardModal';\nimport type { CardModalBodyProps } from '../CardModal/CardModalBody';\nimport type { CardModalFooterProps } from '../CardModal/CardModalFooter';\nimport type { CardModalHeaderProps } from '../CardModal/CardModalHeader';\nimport type { FullscreenModalBodyProps } from '../FullscreenModal/Body';\nimport type { FullscreenModalFooterProps } from '../FullscreenModal/Footer';\nimport { FullscreenModal } from '../FullscreenModal/FullscreenModal';\nimport type { FullscreenModalProps } from '../FullscreenModal/FullscreenModal';\nimport type { FullscreenModalHeaderProps } from '../FullscreenModal/Header';\nimport { useBreakpointValue } from '../native-base/utils';\nimport { NavigationModalBehaviour } from './NavigationModalBehaviour';\n\nexport interface NavigationModalProps extends FullscreenModalProps {}\n\nexport function NavigationModal({ body, backgroundColor, footer, header }: NavigationModalProps): ReactNode {\n const Component = useBreakpointValue<typeof FullscreenModal | typeof CardModal>({\n base: FullscreenModal,\n small: CardModal,\n });\n\n return <Component body={body} backgroundColor={backgroundColor} footer={footer} header={header} />;\n}\n\ntype HeaderProps = CardModalHeaderProps | FullscreenModalHeaderProps;\n\nfunction Header(props: HeaderProps): ReactNode {\n const Component: typeof FullscreenModal.Header | typeof CardModal.Header = useBreakpointValue({\n base: FullscreenModal.Header,\n small: CardModal.Header,\n });\n return <Component {...props} />;\n}\n\ntype BodyProps = CardModalBodyProps | FullscreenModalBodyProps;\n\nfunction Body(props: BodyProps): ReactNode {\n const Component: typeof FullscreenModal.Body | typeof CardModal.Body = useBreakpointValue({\n base: FullscreenModal.Body,\n small: CardModal.Body,\n });\n return <Component {...props} />;\n}\n\ntype FooterProps = CardModalFooterProps | FullscreenModalFooterProps;\n\nfunction Footer(props: FooterProps): ReactNode {\n const Component: typeof FullscreenModal.Footer | typeof CardModal.Footer = useBreakpointValue({\n base: FullscreenModal.Footer,\n small: CardModal.Footer,\n });\n return <Component {...props} />;\n}\n\nNavigationModal.Header = Header;\nNavigationModal.Body = Body;\nNavigationModal.Footer = Footer;\nNavigationModal.ModalBehaviour = NavigationModalBehaviour;\n","import type { ReactNode } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {}\n\nexport function Notification({ type, children, centeredText, insets, onDismiss }: NotificationProps): ReactNode {\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactNode } from 'react';\nimport Animated, { useAnimatedProps } from 'react-native-reanimated';\nimport type { CircleProps } from 'react-native-svg';\nimport { Circle } from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\n\nconst AnimatedCircle = Animated.createAnimatedComponent(Circle);\n\ninterface PageLoaderCircleProps {\n color: CircleProps['stroke'];\n progress: Animated.SharedValue<number>;\n}\n\nexport function AnimatedLoaderCircle({ color, progress }: PageLoaderCircleProps): ReactNode {\n const theme = useTheme();\n\n const { strokeWidth, size } = theme.kitt.pageLoader;\n\n const centerCoord = size * 0.5;\n const radius = centerCoord - strokeWidth;\n const circlePerimeter = 2 * Math.PI * (size * 0.5 - strokeWidth);\n\n const strokeAnimation = useAnimatedProps(() => {\n return {\n strokeDashoffset: circlePerimeter - circlePerimeter * progress.value,\n };\n });\n\n return (\n <AnimatedCircle\n transform-origin=\"center center\"\n strokeWidth={strokeWidth}\n stroke={color}\n strokeLinecap=\"round\"\n cx={centerCoord}\n cy={centerCoord}\n r={radius}\n fill=\"none\"\n strokeDasharray={circlePerimeter}\n animatedProps={strokeAnimation}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nexport function AnimatedBackgroundCircle(): ReactNode {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation, colors, size } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, circleBackgroundFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withTiming(1, { duration: circleBackgroundFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n );\n }, [progress, animation]);\n\n return (\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.base} progress={progress} />\n </Svg>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../KittThemeContext';\n\nconst isInfinitAnimation = -1;\n\ninterface AnimatedFillCircleContainerProps {\n children: NonNullable<ReactNode>;\n duration: number;\n}\n\nexport function AnimatedFillCircleContainer({ children, duration }: AnimatedFillCircleContainerProps): ReactNode {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay } = animation;\n\n progress.value = withDelay(\n delay,\n withRepeat(withTiming(1, { duration, easing: Easing.linear }), isInfinitAnimation),\n );\n }, [progress, animation, duration]);\n\n const rotationStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotate: `${360 * progress.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFill, rotationStyles]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withRepeat, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\nimport { AnimatedFillCircleContainer } from './AnimatedFillCircleContainer';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nconst isInfinitAnimation = -1;\nconst shouldReverse = true;\n\nexport function AnimatedFilledCircle(): ReactNode {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { size, animation, colors } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, filledCircleFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withRepeat(\n withTiming(0.8, { duration: filledCircleFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n isInfinitAnimation,\n shouldReverse,\n ),\n );\n }, [progress, animation]);\n\n return (\n <AnimatedFillCircleContainer duration={animation.groupFilledCircleRotationDuration}>\n <AnimatedFillCircleContainer duration={animation.filledCircleRotationDuration}>\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.fill} progress={progress} />\n </Svg>\n </AnimatedFillCircleContainer>\n </AnimatedFillCircleContainer>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { AnimatedBackgroundCircle } from './AnimatedBackgroundCircle';\nimport { AnimatedFilledCircle } from './AnimatedFillCircle';\n\nexport type PageLoaderProps = Record<string, never>;\n\nexport function PageLoader(props: PageLoaderProps): ReactNode {\n const sharedTransformStyle = {\n style: {\n /* Needed to make the animation starting from the top of the circles */\n transform: [{ rotate: '90deg' }, { scale: -1 }],\n },\n };\n\n return (\n <View\n position=\"relative\"\n height=\"kitt.pageLoader.size\"\n width=\"kitt.pageLoader.size\"\n _ios={sharedTransformStyle}\n _android={sharedTransformStyle}\n >\n <AnimatedBackgroundCircle />\n <AnimatedFilledCircle />\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\nexport interface PickerItemProps {\n children: ReactNode;\n isSelected?: boolean;\n isHighlighted?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerItem({ children, isSelected }: PickerItemProps): ReactNode {\n return (\n <View\n backgroundColor={\n isSelected\n ? 'kitt.picker.android.option.selected.backgroundColor'\n : 'kitt.picker.android.option.default.backgroundColor'\n }\n paddingX=\"kitt.picker.android.option.horizontalPadding\"\n paddingY=\"kitt.picker.android.option.verticalPadding\"\n >\n <Typography.SetDefaultColor value={isSelected ? 'white' : undefined}>{children}</Typography.SetDefaultColor>\n </View>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport type { ReactNode } from 'react';\nimport { Typography } from '../typography/Typography';\n\ninterface PickerOptionChildrenProps {\n isHighlighted?: boolean;\n isSelected?: boolean;\n}\n\nexport interface PickerOptionProps<T> extends Pick<NativePickerItemProps<T>, 'label'>, PickerOptionChildrenProps {\n children: ReactNode | ((props: PickerOptionChildrenProps) => ReactNode);\n value: T;\n testID?: string;\n}\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerOption<T>({ children, testID, isHighlighted, isSelected }: PickerOptionProps<T>): ReactNode {\n return (\n <Typography.Text testID={testID} base=\"body\">\n {typeof children === 'function' ? children({ isHighlighted, isSelected }) : children}\n </Typography.Text>\n );\n}\n","import type { Reducer } from 'react';\n\nexport interface State {\n isOpen?: boolean;\n currentValue?: any;\n internalValue?: any;\n}\n\ninterface ChangeInternalValueAction {\n type: 'change-internal-value';\n payload: {\n nextInternalValue?: any;\n };\n}\n\ninterface OpenModalAction {\n type: 'open-modal';\n}\n\ninterface CloseModalAction {\n type: 'close-modal';\n}\n\ninterface ChangeValueAction {\n type: 'change-value';\n}\n\ntype Actions = ChangeInternalValueAction | CloseModalAction | ChangeValueAction | OpenModalAction;\n\nexport const nativePickerReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'change-internal-value': {\n return {\n ...state,\n internalValue: action.payload.nextInternalValue,\n };\n }\n\n case 'close-modal': {\n return {\n ...state,\n isOpen: false,\n internalValue: state.currentValue ? state.internalValue : undefined,\n };\n }\n\n case 'open-modal': {\n return {\n ...state,\n isOpen: true,\n };\n }\n\n case 'change-value': {\n return {\n ...state,\n currentValue: state.internalValue,\n isOpen: false,\n };\n }\n\n default:\n return state;\n }\n};\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport { Picker as NativePicker } from '@react-native-picker/picker';\nimport { useSx } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport React, { cloneElement, useReducer } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, ScrollView } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { CardModal } from '../CardModal/CardModal';\nimport { IconButton } from '../IconButton/IconButton';\nimport type { ViewProps } from '../native-base/primitives';\nimport { Pressable } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { useMediaQuery } from '../utils/windowSize/useMediaQuery';\nimport { PickerItem } from './PickerItem';\nimport type { PickerOptionProps } from './PickerOption';\nimport { PickerOption } from './PickerOption';\nimport { nativePickerReducer } from './reducer/nativePickerReducer';\n\nexport interface PickerRenderTriggerProps<T> {\n isOpen?: boolean;\n selectedItem?: T;\n disabled?: boolean;\n // event is required for web implementation\n onPress: (event: unknown) => void;\n}\n\nexport interface PickerProps<T> {\n children: NonNullable<ReactNode>;\n renderTrigger: (props: PickerRenderTriggerProps<T>) => ReactElement;\n isInitialOpen?: boolean;\n initialValue?: T;\n /**\n * @description: Native only, used to display a custom title in the picker modal\n */\n title: ReactNode;\n /**\n * @description: Native only, used to display a custom label in the picker modal\n */\n validateButtonLabel?: ReactNode;\n /**\n * @description: Web only, used to add custom style on view element that wraps trigger element\n */\n triggerViewProps?: ViewProps;\n /**\n * @description: Web only, used to keep the options open when the value changes\n */\n keepOpenOnChange?: boolean;\n disabled?: boolean;\n testID?: string;\n /**\n * @description: iOS only, used to display a label based on the item in the native iOS element\n */\n itemToString: (item: T) => string;\n checkSelectedItem: (selectedItem: T | undefined, item: T) => boolean;\n onChange?: (value?: T) => void;\n onClose?: () => void;\n /**\n * @description: iOS only, used to display the native picker on iOS. Default to true.\n */\n shouldDisplayNativePickerOnIOS?: boolean;\n}\n\nexport function Picker<T>({\n children,\n renderTrigger,\n title,\n initialValue,\n validateButtonLabel,\n disabled,\n isInitialOpen,\n testID,\n itemToString,\n checkSelectedItem,\n onChange,\n onClose,\n shouldDisplayNativePickerOnIOS = true,\n}: PickerProps<T>): ReactNode {\n const [state, dispatch] = useReducer(nativePickerReducer, {\n isOpen: isInitialOpen,\n currentValue: initialValue,\n internalValue: initialValue,\n });\n\n const sx = useSx();\n const iosTextStyle = sx({\n color: 'kitt.picker.ios.option.selected.color',\n });\n\n // Max height is based on base Modal sizes (which are not themified): padding (4*20*2) + footer (58) + header (58) + default iOS picker height (216)\n const [isMatchingMaxHeight] = useMediaQuery({\n maxHeight: 492,\n });\n\n const iosItemStyle = sx({\n fontSize: 'baseAndSmall.body',\n lineHeight: 'baseAndSmall.body',\n fontFamily: 'bodies.regular',\n color: 'kitt.typography.black-light',\n\n // As it is displayed in a modal, we must hard code an height to ensure that the picker doesn't bleed out of it\n // We can't set a percentage as it will be computed based on the page height\n height: isMatchingMaxHeight ? 'kitt.picker.ios.landscape.height' : 'kitt.picker.ios.default.height',\n });\n\n const handleClose = (): void => {\n dispatch({ type: 'close-modal' });\n\n if (onClose) onClose();\n };\n\n const handleChange = (): void => {\n if (onChange) onChange(state.internalValue);\n\n dispatch({ type: 'change-value' });\n\n if (onClose) onClose();\n };\n\n const handleInternalChange = (itemValue: T): void => {\n dispatch({\n type: 'change-internal-value',\n payload: {\n nextInternalValue: itemValue,\n },\n });\n };\n\n const handlePressTrigger = (): void => {\n dispatch({ type: 'open-modal' });\n };\n\n return (\n <>\n {renderTrigger({ isOpen: state.isOpen, selectedItem: state.currentValue, disabled, onPress: handlePressTrigger })}\n\n <CardModal.ModalBehaviour visible={state.isOpen} onClose={handleClose}>\n <CardModal>\n <CardModal.Header right={<IconButton icon={<XIcon />} onPress={handleClose} />}>\n <Typography.Text base=\"body\" variant=\"bold\">\n {title}\n </Typography.Text>\n </CardModal.Header>\n\n {Platform.OS === 'ios' && shouldDisplayNativePickerOnIOS ? (\n <NativePicker<T>\n testID={testID}\n selectedValue={state.internalValue}\n itemStyle={iosItemStyle}\n onValueChange={handleInternalChange}\n >\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<NativePickerItemProps<T>>;\n\n // iOS Picker doesn't support a custom Item component, we need to override its props manually for the selected one\n return cloneElement(item, {\n color: item.props.value === state.currentValue ? iosTextStyle.color : undefined,\n label: itemToString(item.props.value as T),\n });\n })}\n </NativePicker>\n ) : (\n <ScrollView testID={testID}>\n {React.Children.map(children, (child, index) => {\n const item = child as ReactElement<PickerOptionProps<T>>;\n\n const isSelected = checkSelectedItem(state.internalValue, item.props.value);\n\n return (\n <Pressable\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n accessibilityRole=\"button\"\n accessibilityState={{\n selected: isSelected,\n }}\n onPress={() => {\n handleInternalChange(item.props.value);\n }}\n >\n {({ isHovered, isFocused, isPressed }) => (\n <PickerItem\n isSelected={isSelected}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n {child}\n </PickerItem>\n )}\n </Pressable>\n );\n })}\n </ScrollView>\n )}\n\n <CardModal.Footer>\n <Button stretch type=\"primary\" onPress={handleChange}>\n {validateButtonLabel || <FormattedMessage defaultMessage=\"Valider\" id=\"kitt-universal.Picker.validate\" />}\n </Button>\n </CardModal.Footer>\n </CardModal>\n </CardModal.ModalBehaviour>\n </>\n );\n}\n\nPicker.Option = PickerOption;\n\n/**\n * @description: This is exported for testing purposes only\n */\nPicker.UnsafeInternalItem = PickerItem;\n","<svg viewBox=\"0 0 453 71\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#fff\" d=\"m40 0 2.598 1.5-40 69.282L0 69.282zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5z\"/></svg>","import { HStack, View } from 'native-base';\nimport type { ReactNode } from 'react';\nimport Stripes from './assets/stripes.inline.svg';\n\nexport type SegmentedProgressBarSizes = 'small' | 'default';\nexport type SegmentedProgressBarColors = 'primary' | 'validated';\n\ninterface SegmentedProgressBarProps {\n currentStep?: number;\n stepsCount: number;\n size?: SegmentedProgressBarSizes;\n colorVariant?: SegmentedProgressBarColors;\n withCurrentInProgress?: boolean;\n}\n\nexport function SegmentedProgressBar({\n currentStep = 0,\n stepsCount,\n size = 'default',\n colorVariant = 'primary',\n withCurrentInProgress,\n}: SegmentedProgressBarProps): ReactNode {\n const height = size === 'small' ? 'kitt.2' : 'kitt.4';\n const fillColor =\n colorVariant === 'validated' ? 'kitt.palettes.lateOcean.viride' : 'kitt.palettes.lateOcean.lateOceanLight1';\n\n const steps = [...Array.from({ length: stepsCount }).keys()];\n\n return (\n <HStack height={height} space={2} borderRadius={height} overflow=\"hidden\">\n {steps.map((stepNumber) => {\n const isSegmentCurrentInProgress = withCurrentInProgress && stepNumber === currentStep - 1;\n const color = stepNumber < currentStep ? fillColor : 'kitt.palettes.lateOcean.black50';\n\n return (\n <View\n key={stepNumber}\n height=\"100%\"\n flexGrow={1}\n flexShrink={1}\n flexBasis={0}\n backgroundColor={isSegmentCurrentInProgress ? 'kitt.palettes.lateOcean.lateOceanLight3' : color}\n borderRadius={2}\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n {isSegmentCurrentInProgress ? (\n <View width=\"453\" height=\"71\">\n <Stripes />\n </View>\n ) : null}\n </View>\n );\n })}\n </HStack>\n );\n}\n","import { LinearGradient } from 'expo-linear-gradient';\nimport type { ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n interpolate,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\n\ninterface SkeletonProps {\n isLoading?: boolean;\n width: number;\n}\n\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport function SkeletonContent({ isLoading, width }: SkeletonProps): ReactNode {\n const theme = useTheme();\n const sharedX = useSharedValue(0);\n\n useEffect(() => {\n if (isLoading) {\n sharedX.value = withRepeat(\n withTiming(1, { duration: theme.kitt.skeleton.animationDuration, easing: Easing.inOut(Easing.ease) }),\n -1,\n );\n }\n }, [sharedX, width, isLoading, theme]);\n\n const linearGradientStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateX: interpolate(sharedX.value, [0, 1], [-width, width]) }],\n };\n });\n\n return (\n <View\n height=\"100%\"\n width=\"100%\"\n backgroundColor=\"kitt.skeleton.backgroundColor\"\n borderColor=\"kitt.skeleton.flareColor\"\n >\n <AnimatedLinearGradient\n colors={[\n theme.kitt.skeleton.backgroundColor,\n theme.kitt.skeleton.flareColor,\n theme.kitt.skeleton.backgroundColor,\n ]}\n locations={[0.1, 0.5, 0.9]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={[StyleSheet.absoluteFill, linearGradientStyle]}\n />\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { SkeletonContent } from './SkeletonContent';\n\nexport interface SkeletonProps extends Omit<ViewProps, 'onLayout'> {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading = false, style, ...props }: SkeletonProps): ReactNode {\n const [width, setWidth] = useState(0);\n\n return (\n <View {...props} overflow=\"hidden\" style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </View>\n );\n}\n\nexport interface BarSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Bar({ size, ...props }: BarSkeletonProps): ReactNode {\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.bar.borderRadius';\n\n return (\n <Skeleton\n {...props}\n width=\"100%\"\n height={size || 'kitt.skeleton.shape.bar.size'}\n borderRadius={currentBorderRadius}\n />\n );\n}\n\nexport interface CircleSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Circle({ size, ...props }: CircleSkeletonProps): ReactNode {\n const currentSize = size || 'kitt.skeleton.shape.circle.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.circle.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nexport interface SquareSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Square({ size, ...props }: SquareSkeletonProps): ReactNode {\n const currentSize = size || 'kitt.skeleton.shape.square.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.square.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","export interface MapCenter {\n long: number;\n lat: number;\n zoom: number;\n}\n\nexport interface GetStaticMapImageUrlParams {\n mapId: string;\n apiToken: string;\n mapWidth: number;\n mapHeight: number;\n center: MapCenter;\n is2x?: boolean;\n}\n\nexport function getStaticMapImageUrl({\n mapId,\n apiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: GetStaticMapImageUrlParams): string {\n const width = Math.round(mapWidth);\n const height = Math.round(mapHeight);\n\n const centerPart = `${center.long},${center.lat},${center.zoom}/`;\n\n const sizePart = `${width}x${height}`;\n\n const urlParts = [\n `https://api.mapbox.com/styles/v1/ornikar/${mapId}/static/`,\n centerPart,\n sizePart,\n is2x ? '@2x' : '',\n ];\n\n const mapImageUrl = new URL(urlParts.join(''));\n mapImageUrl.searchParams.append('access_token', apiToken);\n\n return mapImageUrl.toString();\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { useKittMapConfig } from '../../KittMapConfigProvider/hooks/useKittMapConfig';\nimport type { GetStaticMapImageUrlParams } from '../utils/getStaticMapImageUrl';\nimport { getStaticMapImageUrl } from '../utils/getStaticMapImageUrl';\n\ninterface UseGetStaticMapImageUrlParams extends Omit<GetStaticMapImageUrlParams, 'mapId' | 'apiToken'> {\n forceMapId?: string;\n forceApiToken?: string;\n}\n\nexport function useGetStaticMapImageUrl({\n forceMapId,\n forceApiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: UseGetStaticMapImageUrlParams): string {\n const { mapId, apiToken } = useKittMapConfig();\n const [currentUrl, setCurrentUrl] = useState<string>('');\n\n const currentMapIdRef = useRef(forceMapId || mapId);\n const currentApiTokenRef = useRef(forceApiToken || apiToken);\n\n useEffect(() => {\n const newUrl = getStaticMapImageUrl({\n center,\n is2x,\n mapHeight,\n mapWidth,\n mapId: currentMapIdRef.current,\n apiToken: currentApiTokenRef.current,\n });\n\n setCurrentUrl(newUrl);\n }, [mapHeight, mapWidth, center, is2x]);\n\n return currentUrl;\n}\n","import { RotateCCWIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport { IconButton } from '../IconButton/IconButton';\nimport { View } from '../native-base/primitives';\n\ninterface StaticMapErrorProps {\n onReload?: () => void;\n}\n\nexport function StaticMapError({ onReload }: StaticMapErrorProps): ReactNode {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\" backgroundColor=\"kitt.separator\">\n <IconButton icon={<RotateCCWIcon />} onPress={onReload} />\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Image } from '../native-base/primitives';\n\ninterface StaticMapImageProps {\n url: string;\n alt?: string;\n width: number;\n height: number;\n onLoadEnd?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMapImage({ url, alt, width, height, onLoadEnd, onError }: StaticMapImageProps): ReactNode {\n return (\n <Image source={{ uri: url }} width={width} height={height} alt={alt} onError={onError} onLoadEnd={onLoadEnd} />\n );\n}\n","import type { ReactNode } from 'react';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport { View } from '../native-base/primitives';\n\nexport function StaticMapLoader(): ReactNode {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\">\n <Skeleton isLoading width=\"100%\" height=\"100%\" />\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { MapMarkerLarge, MapMarkerPosition, MapMarkerSimple } from '../MapMarker/MapMarker';\nimport { View } from '../native-base/primitives';\n\ntype MarkerVariant = 'large' | 'position' | 'simple';\n\ninterface MarkerProps {\n variant?: MarkerVariant;\n}\n\nfunction getMarkerPosition(variant: MarkerVariant): [{ translateX: number }, { translateY: number }] {\n if (variant === 'position') return [{ translateX: -2 }, { translateY: 8 }];\n\n if (variant === 'large') return [{ translateX: 8 }, { translateY: -20 }];\n\n return [{ translateX: 6 }, { translateY: -15 }];\n}\n\nexport function StaticMapMarker({ variant = 'simple' }: MarkerProps): ReactNode {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"100%\"\n style={{\n transform: getMarkerPosition(variant),\n }}\n >\n {variant === 'position' ? <MapMarkerPosition /> : null}\n {variant === 'large' ? <MapMarkerLarge /> : null}\n {variant === 'simple' ? <MapMarkerSimple /> : null}\n </View>\n </View>\n );\n}\n","export function getRangedWidthValue(nextWidth: number, maxValue: number): number {\n const rangedMapWidth = Math.max(1, Math.min(nextWidth, maxValue));\n\n return rangedMapWidth;\n}\n","import { PixelRatio } from 'react-native';\n\nexport function getShouldDisplay2x(): boolean {\n const currentDevicePixelRatio = PixelRatio.get();\n\n return currentDevicePixelRatio > 1;\n}\n","import type { ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StaticMapError } from './StaticMapError';\nimport { StaticMapImage } from './StaticMapImage';\nimport { StaticMapLoader } from './StaticMapLoader';\nimport { StaticMapMarker } from './StaticMapMarker';\nimport { useGetStaticMapImageUrl } from './hooks/useGetStaticMapImageUrl';\nimport { getRangedWidthValue } from './utils/getRangedWidthValue';\nimport { getShouldDisplay2x } from './utils/getShouldDisplay2x';\nimport type { MapCenter } from './utils/getStaticMapImageUrl';\n\nconst mapBoxMaxPictureWidth = 1280;\n\n// Mapbox requestable width for image is between 1 - 1280px\nfunction getPictureWidth(nextWidth: number): number {\n return getRangedWidthValue(nextWidth, mapBoxMaxPictureWidth);\n}\n\nexport interface StaticMapProps extends Omit<ViewProps, 'onLayout'> {\n width?: number;\n height: number;\n alt?: string;\n center: MapCenter;\n marker?: ReactNode;\n /**\n * Mapbox map id.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n mapId?: string;\n /**\n * Mapbox api access token.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n apiToken?: string;\n\n onLoaded?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMap({\n width = 0,\n height,\n alt,\n apiToken,\n mapId,\n marker,\n center,\n onLoaded,\n onError,\n ...props\n}: StaticMapProps): ReactNode {\n const [currentWidth, setCurrentWidth] = useState(getPictureWidth(width));\n const [isLoading, setIsLoading] = useState(true);\n const [hasError, setHasError] = useState(false);\n const [currentMapKey, setCurrentMapKey] = useState(0);\n\n const shouldDisplay2xImage = getShouldDisplay2x();\n\n const mapUrl = useGetStaticMapImageUrl({\n forceApiToken: apiToken,\n forceMapId: mapId,\n mapWidth: currentWidth,\n mapHeight: height,\n center,\n is2x: shouldDisplay2xImage,\n });\n\n const handleParentLayout = (event: LayoutChangeEvent): void => {\n const { nativeEvent } = event;\n const rangedMapWidth = getPictureWidth(nativeEvent.layout.width);\n\n setCurrentWidth(rangedMapWidth);\n };\n\n const handleImageLoadEnd = (): void => {\n setIsLoading(false);\n\n if (onLoaded) onLoaded();\n };\n\n const handleError = (): void => {\n setHasError(true);\n\n if (onError) onError();\n };\n\n const handleReload = (): void => {\n setHasError(false);\n setIsLoading(true);\n setCurrentMapKey((prev) => prev + 1);\n };\n\n const shouldDisplayMarker = marker && !isLoading && !hasError;\n\n // Prevents requesting unusable image\n const shouldDisplayPicture = currentWidth > 1 && mapUrl;\n\n return (\n <View\n position=\"relative\"\n maxWidth={mapBoxMaxPictureWidth}\n height={height}\n onLayout={handleParentLayout}\n {...props}\n data-chromatic={process.env.KITT_MAP_CHROMATIC_IGNORE === 'true' ? 'ignore' : undefined}\n >\n {shouldDisplayPicture ? (\n <StaticMapImage\n key={`map-key-${currentMapKey}`}\n url={mapUrl}\n width={currentWidth}\n height={height}\n alt={alt}\n onLoadEnd={handleImageLoadEnd}\n onError={handleError}\n />\n ) : null}\n\n {shouldDisplayMarker ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n {marker}\n </View>\n ) : null}\n\n {isLoading ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapLoader />\n </View>\n ) : null}\n\n {hasError ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapError onReload={handleReload} />\n </View>\n ) : null}\n </View>\n );\n}\n\nStaticMap.Image = StaticMapImage;\nStaticMap.Loader = StaticMapLoader;\nStaticMap.Error = StaticMapError;\nStaticMap.Marker = StaticMapMarker;\n","import type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\ninterface FlexProps extends Except<ViewProps, 'display' | 'flexDirection' | 'flexWrap'> {\n direction: ViewStyle['flexDirection'];\n wrap?: ViewStyle['flexWrap'];\n}\n\nexport function Flex({ direction, wrap = 'wrap', ...props }: FlexProps): ReactNode {\n return <View {...props} flexDirection={direction} flexWrap={wrap} />;\n}\n","export const storyPadding = 'kitt.4';\n","import type { ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { KittThemeContextValue } from '../KittThemeContext';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ExtendedTypographyColor } from '../typography/Typography';\nimport { storyPadding } from './theme';\n\nexport interface StoryBlockProps {\n background?: 'dark' | 'light' | 'primary' | 'transparent';\n children: ReactNode;\n}\n\nconst getBackgroundColorFromBlockColor = (\n theme: KittThemeContextValue,\n color: StoryBlockProps['background'] = 'transparent',\n): string => {\n switch (color) {\n case 'dark':\n return '#293033';\n case 'light':\n return '#ffffff';\n case 'primary':\n return theme.kitt.palettes.lateOcean.lateOcean;\n default:\n return 'transparent';\n }\n};\n\nconst getTypographyColorFromBlockColor = (\n color: StoryBlockProps['background'] = 'transparent',\n): ExtendedTypographyColor => {\n switch (color) {\n case 'dark':\n case 'primary':\n return 'white';\n case 'light':\n default:\n return 'black';\n }\n};\n\nexport const StoryBlockBackgroundContext = createContext<StoryBlockProps['background']>('transparent');\nconst StoryBlockColorContext = createContext<ExtendedTypographyColor>('black');\n\nexport const useStoryBlockColor = (color?: ExtendedTypographyColor | undefined): ExtendedTypographyColor => {\n const storyBlockColor = useContext(StoryBlockColorContext);\n return color || storyBlockColor;\n};\n\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactNode {\n const theme = useTheme();\n return (\n <View\n paddingTop=\"kitt.4\"\n paddingX={storyPadding}\n marginX={`-${storyPadding}`}\n background={getBackgroundColorFromBlockColor(theme, background)}\n >\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyProps } from '../typography/Typography';\nimport { useStoryBlockColor } from './StoryBlock';\n\ninterface StoryTitleProps {\n color?: TypographyProps['color'];\n numberOfLines?: TypographyProps['numberOfLines'];\n children: ReactNode;\n}\n\nexport function StoryTitle({ color, children, numberOfLines }: StoryTitleProps): ReactNode {\n return (\n <View marginBottom={30}>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </View>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactNode {\n return (\n <View marginBottom={30}>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </View>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactNode {\n return (\n <View marginBottom={10}>\n <Typography.Header3\n variant=\"bold\"\n base=\"header3\"\n medium=\"header4\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header3>\n </View>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactNode {\n return (\n <View marginBottom={10}>\n <Typography.Header4\n variant=\"bold\"\n base=\"header4\"\n medium=\"header5\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header4>\n </View>\n );\n}\n\nStoryTitleLevel4.displayName = 'StoryTitle.Level3';\n\nStoryTitle.Level2 = StoryTitleLevel2;\nStoryTitle.Level3 = StoryTitleLevel3;\nStoryTitle.Level4 = StoryTitleLevel4;\n","import type { ReactNode } from 'react';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport { ScrollView } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactNode {\n return (\n <ScrollView background=\"#fff\" padding={storyPadding} contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </ScrollView>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\n\nexport interface StorySectionProps extends Except<ViewProps, 'marginBottom'> {\n title: ReactNode;\n children: ReactNode;\n /** @private */\n internalIsDemoSection?: boolean;\n}\n\nexport function StorySection({ title, children, internalIsDemoSection, ...props }: StorySectionProps): ReactNode {\n if (title === 'Demo' && !internalIsDemoSection) throw new Error('Use StorySection.Demo instead');\n return (\n <View marginBottom=\"kitt.8\" {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </View>\n );\n}\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactNode {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </View>\n );\n}\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactNode {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </View>\n );\n}\n\nexport interface DemoSectionProps extends ViewProps {\n children: ReactNode;\n}\n\nfunction DemoSection({ children, ...props }: DemoSectionProps): ReactNode {\n return (\n <View marginBottom=\"kitt.16\" {...props}>\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </View>\n );\n}\n\nStorySection.SubSection = SubSection;\nStorySection.BlockSection = BlockSection;\n/** @deprecated use StorySection.Demo instead */\nStorySection.DemoSection = DemoSection;\nStorySection.Demo = DemoSection;\n\n/** @deprecated use StorySection instead */\nexport const DeprecatedSection = StorySection;\n","import type { ReactNode } from 'react';\nimport { StorySection } from './StorySection';\n\nexport interface StoryContainerProps {\n children: NonNullable<ReactNode>;\n state?: 'none' | 'active' | 'hover' | 'focus';\n platform?: 'all' | 'native' | 'web';\n title?: ReactNode;\n}\n\nexport function StoryContainer({ children, title, state = 'none', platform = 'all' }: StoryContainerProps): ReactNode {\n if (platform === 'web') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n {children}\n </StorySection.BlockSection>\n );\n}\n","import type { DecoratorFunction } from '@storybook/addons';\nimport type { ReactNode } from 'react';\nimport { Story as StoryContainer } from './Story';\n\n// eslint-disable-next-line react/function-component-definition -- this is not a component, it's a decorator for storybook.\nexport const StoryDecorator: DecoratorFunction<ReactNode> = (storyFn, context) => {\n if (context.parameters.disableStoryContainer) {\n return storyFn();\n }\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n};\n","import type { ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Platform } from 'react-native';\nimport type { TypographyProps } from '..';\nimport { View } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n flexWrap?: boolean;\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small', flexWrap }: StoryGridRowProps): ReactNode {\n return (\n <View\n flexDirection={{ base: 'column', [breakpoint]: 'row' }}\n flexWrap={flexWrap ? 'wrap' : undefined}\n marginX={{ [breakpoint]: '-kitt.1' }}\n marginBottom={{ [breakpoint]: 'kitt.4' }}\n >\n {Children.map(children, (child) => (\n <View\n flexGrow={{ [breakpoint]: 1 }}\n flexBasis={flexWrap ? undefined : { [breakpoint]: 0 }}\n paddingTop={{ base: 'kitt.2', [breakpoint]: 0 }}\n paddingBottom={{ base: 'kitt.4', [breakpoint]: 0 }}\n marginX={{ [breakpoint]: 'kitt.2' }}\n >\n {child}\n </View>\n ))}\n </View>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n titleColor?: TypographyProps['color'];\n platform?: 'all' | 'native' | 'web';\n}\n\nfunction StoryGridCol({ title, titleColor, children, platform = 'all' }: StoryGridColProps): ReactNode {\n const isNative = Platform.OS === 'ios' || Platform.OS === 'android';\n\n if (Platform.OS === 'web' && platform === 'native') {\n return null;\n }\n\n if (isNative && platform === 'web') {\n return null;\n }\n\n return (\n <>\n {title ? (\n <StoryTitle.Level4 numberOfLines={1} color={titleColor}>\n {title}\n </StoryTitle.Level4>\n ) : null}\n {children}\n </>\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyColor } from '../typography/Typography';\n\nexport type TagType = 'primary' | 'default' | 'danger' | 'warn';\n\nexport type TagVariant = 'outline' | 'fill';\n\nexport interface TagProps {\n label: ReactNode;\n type?: TagType;\n variant?: TagVariant;\n}\n\nexport const getLabelColor = (type: TagType, variant: TagVariant): TypographyColor => {\n switch (type) {\n case 'danger': {\n return variant === 'outline' ? 'danger' : 'black';\n }\n case 'warn': {\n return variant === 'outline' ? 'warning' : 'black';\n }\n case 'primary': {\n return 'primary';\n }\n case 'default': {\n return 'black';\n }\n default: {\n return 'black';\n }\n }\n};\n\nexport function Tag({ label, type = 'default', variant = 'fill' }: TagProps): ReactNode {\n return (\n <View\n alignSelf=\"flex-start\"\n borderRadius=\"kitt.tag.borderRadius\"\n paddingX=\"kitt.tag.horizontalPadding\"\n paddingY=\"kitt.tag.verticalPadding\"\n backgroundColor={`kitt.tag.${type}.${variant}.backgroundColor`}\n borderColor={`kitt.tag.${type}.${variant}.borderColor`}\n borderWidth={`kitt.tag.${type}.${variant}.borderWidth`}\n >\n <Typography.Text base=\"body-xsmall\" color={getLabelColor(type, variant)}>\n {label}\n </Typography.Text>\n </View>\n );\n}\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { AndroidNativeProps, DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform } from 'react-native';\nimport type { ButtonProps } from '../Button/Button';\nimport { Button } from '../Button/Button';\nimport type { CardModalProps } from '../CardModal/CardModal';\nimport { CardModal } from '../CardModal/CardModal';\nimport { IconButton } from '../IconButton/IconButton';\n\ninterface ModalDateTimePickerProps {\n title?: ReactNode;\n visible?: boolean;\n /** @description Native only props - iOSNativeProps['minuteInterval'] has same type */\n minuteInterval?: AndroidNativeProps['minuteInterval'];\n value: Date;\n validateButtonLabel?: ButtonProps['children'];\n testID?: CardModalProps['testID'];\n pickerTestID?: string;\n onChange: (newDate: Date) => void;\n onClose: () => void;\n}\n\nexport function ModalDateTimePicker({\n title,\n visible,\n value,\n minuteInterval,\n validateButtonLabel,\n testID,\n pickerTestID,\n onChange,\n onClose,\n}: ModalDateTimePickerProps): ReactNode {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (nextDate?: Date): void => {\n if (nextDate) setCurrentValue(nextDate);\n };\n\n const buttonContent = validateButtonLabel || (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n );\n\n return (\n <CardModal.ModalBehaviour visible={Boolean(visible)} onClose={handleClose}>\n <CardModal testID={testID}>\n {title ? (\n <CardModal.Header\n title={title}\n right={\n <IconButton testID=\"timePicker.ModalDateTimePicker.closeButton\" icon={<XIcon />} onPress={handleClose} />\n }\n />\n ) : null}\n\n <CardModal.Body>\n <DateTimePicker\n is24Hour\n minuteInterval={minuteInterval}\n testID={pickerTestID}\n value={currentValue}\n mode=\"time\"\n display={Platform.OS === 'ios' ? 'spinner' : 'default'}\n onChange={(event: DateTimePickerEvent, date?: Date) => handleChange(date)}\n />\n </CardModal.Body>\n <CardModal.Footer>\n <Button stretch testID=\"timePicker.ModalDateTimePicker.submitButton\" type=\"primary\" onPress={handleSubmit}>\n {buttonContent}\n </Button>\n </CardModal.Footer>\n </CardModal>\n </CardModal.ModalBehaviour>\n );\n}\n","function formatNumberToTimeString(time: number): string {\n return `${String(time).padStart(2, '0')}`;\n}\n\nexport function formatDateToTimeString(date: Date): string {\n return `${formatNumberToTimeString(date.getHours())}:${formatNumberToTimeString(date.getMinutes())}`;\n}\n","import type { InputUIState } from '../../forms/utils';\n\ninterface GetCurrentInternalForcedStateParams {\n isDisabled?: boolean;\n isFocusedInternal?: boolean;\n isPressedInternal?: boolean;\n isHoveredInternal?: boolean;\n}\n\nexport function getCurrentInternalForcedState({\n isDisabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n}: GetCurrentInternalForcedStateParams): InputUIState | 'disabled' {\n if (isDisabled) return 'disabled';\n\n if (isHoveredInternal) return 'hover';\n\n if (isFocusedInternal) return 'focus';\n\n if (isPressedInternal) return 'hover';\n\n return 'default';\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport { InputText } from '../forms/InputText/InputText';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { formatDateToTimeString } from './utils/formatDateToTimeString';\nimport { getCurrentInternalForcedState } from './utils/getCurrentInternalForcedState';\n\ninterface TimePickerPressableProps {\n testID?: PressableProps['testID'];\n disabled?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n value?: Date;\n placeholder?: string;\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n onPress?: () => void;\n}\n\nexport const TimePickerPressable = forwardRef<PressableProps, TimePickerPressableProps>(\n (\n {\n testID,\n disabled,\n stretch,\n value,\n placeholder,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n onPress,\n }: TimePickerPressableProps,\n ref,\n ): ReactElement => {\n return (\n <Pressable\n ref={ref}\n testID={testID}\n disabled={disabled}\n accessibilityRole=\"button\"\n width={createResponsiveStyleFromProp(stretch, '100%', 'kitt.forms.timePicker.minWidth')}\n pointerEvents=\"box-only\"\n onPress={onPress}\n >\n {({ isHovered, isFocused, isPressed }) => (\n <View position=\"relative\">\n <InputText\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal: isHovered || isHoveredInternal,\n isFocusedInternal: isFocused || isFocusedInternal,\n isPressedInternal: isPressed || isPressedInternal,\n })}\n value={value ? formatDateToTimeString(value) : undefined}\n placeholder={placeholder}\n disabled={disabled}\n textAlign=\"center\"\n />\n <View position=\"absolute\" top=\"0\" left=\"0\" height=\"100%\" width=\"100%\" />\n </View>\n )}\n </Pressable>\n );\n },\n);\n","import type { AndroidNativeProps, DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { CardModalProps } from '../CardModal/CardModal';\nimport type { PressableProps } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { ModalDateTimePicker } from './ModalDateTimePicker';\nimport { TimePickerPressable } from './TimePickerPressable';\n\nexport interface TimePickerProps {\n value?: Date;\n disabled?: boolean;\n placeholder?: string;\n stretch?: ResponsiveValue<boolean | undefined>;\n testID?: PressableProps['testID'];\n // iOSNativeProps['minuteInterval'] has same type\n minuteInterval?: AndroidNativeProps['minuteInterval'];\n /** @descritpion Native only props - title displayed in the CardModal that shows the native picker */\n title?: ReactNode;\n /** @description Native only props */\n validateButtonLabel?: string;\n /** @description Native only props */\n isDefaultVisible?: boolean;\n /** @description Native only props */\n modalTestID?: CardModalProps['testID'];\n /** @description Native only props */\n pickerTestID?: string;\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n onChange?: (nextDate: Date | undefined) => void;\n onBlur?: () => void;\n}\n\nexport const TimePicker = forwardRef<PressableProps, TimePickerProps>(\n (\n {\n title,\n disabled = false,\n stretch,\n value,\n minuteInterval,\n validateButtonLabel,\n isDefaultVisible,\n placeholder = '--:--',\n testID,\n modalTestID,\n pickerTestID = 'timePicker.ModalDateTimePicker.dateTimeNativePicker',\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n onChange,\n onBlur,\n }: TimePickerProps,\n ref,\n ): ReactElement => {\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n const [isPickerVisible, setIsPickerVisible] = useState(isDefaultVisible);\n\n const handleClose = (): void => {\n setIsPickerVisible(false);\n };\n\n const handleChange = (nextDate?: Date | undefined): void => {\n setIsPickerVisible(false);\n\n setCurrentValue(nextDate);\n\n if (onChange) onChange(nextDate);\n\n if (onBlur) onBlur();\n };\n\n const handlePress = (): void => {\n setIsPickerVisible(true);\n };\n\n const pickerValue = currentValue || new Date();\n\n return (\n <>\n <TimePickerPressable\n ref={ref}\n testID={testID}\n disabled={disabled}\n stretch={stretch}\n value={currentValue}\n placeholder={placeholder}\n isHoveredInternal={isHoveredInternal}\n isFocusedInternal={isFocusedInternal}\n isPressedInternal={isPressedInternal}\n onPress={handlePress}\n />\n\n {Platform.OS === 'android' && isPickerVisible ? (\n <DateTimePicker\n is24Hour\n testID={pickerTestID}\n value={pickerValue}\n minuteInterval={minuteInterval}\n mode=\"time\"\n display=\"spinner\"\n onChange={(event: DateTimePickerEvent, date?: Date) => handleChange(date)}\n />\n ) : null}\n\n {Platform.OS !== 'android' ? (\n <ModalDateTimePicker\n visible={isPickerVisible}\n minuteInterval={minuteInterval}\n title={title}\n testID={modalTestID}\n pickerTestID={pickerTestID}\n value={pickerValue}\n validateButtonLabel={validateButtonLabel}\n onChange={handleChange}\n onClose={handleClose}\n />\n ) : null}\n </>\n );\n },\n);\n","<svg viewBox=\"0 0 36 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22.399 6.128C20.939 7.722 19.767 9 18 9s-2.938-1.278-4.399-2.872C11.187 3.494 7.984 0 0 0h36c-7.984 0-11.187 3.494-13.601 6.128z\"/></svg>","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { TooltipPosition } from './Tooltip';\nimport TooltipArrowImage from './arrow.inline.svg';\n\nexport interface ArrowProps {\n position: TooltipPosition;\n top?: number;\n left?: number;\n display?: ViewProps['display'];\n}\n\nexport const Arrow = forwardRef<typeof View, ArrowProps>(\n ({ position, top, left, display }: ArrowProps, ref): ReactElement => {\n const theme = useTheme();\n return (\n <View\n ref={ref}\n display={display || { base: 'none', small: 'flex' }}\n width=\"kitt.tooltip.arrow.width\"\n height=\"kitt.tooltip.arrow.height\"\n left={left}\n top={top}\n style={{\n transform: `rotate(${position === 'bottom' ? '180deg' : '0deg'})`,\n }}\n >\n <TooltipArrowImage color={theme.kitt.tooltip.backgroundColor} opacity={theme.kitt.tooltip.opacity} />\n </View>\n );\n },\n);\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface TooltipContentProps {\n children: ReactNode;\n}\n\nexport function TooltipContent({ children }: TooltipContentProps): ReactNode {\n return (\n <View\n backgroundColor=\"kitt.tooltip.backgroundColor\"\n borderRadius=\"kitt.tooltip.borderRadius\"\n opacity=\"kitt.tooltip.opacity\"\n paddingY=\"kitt.tooltip.verticalPadding\"\n paddingX=\"kitt.tooltip.horizontalPadding\"\n >\n <Typography.Text base=\"body-small\" color=\"white-light\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useWindowDimensions } from 'react-native';\n\ninterface CustomShiftParams {\n tooltipX: number;\n refPageX: number;\n refWidth: number;\n floatingWidth: number;\n wWidth: number;\n}\n// HG 08/11/2022\n// At the moment `shift` from `@floating-ui/react-native` does not work properly\nexport function customShift({ tooltipX, refPageX, refWidth, floatingWidth, wWidth }: CustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const refCenterOnScreen = refPageX + refWidth * 0.5;\n const halfFloatingWith = floatingWidth * 0.5;\n\n // Left collisions\n if (refCenterOnScreen - halfFloatingWith < 0) {\n return {\n left: 0,\n right: undefined,\n };\n }\n\n // Right collisions\n if (refCenterOnScreen + halfFloatingWith > wWidth) {\n return {\n left: undefined,\n right: 0,\n };\n }\n\n // No collisions\n return {\n left: tooltipX,\n right: undefined,\n };\n}\n\ninterface UseCustomShiftParams {\n tooltipX: number;\n pressableRect?: {\n pageX: number;\n width: number;\n };\n floatingWidth?: number;\n}\n\nexport function useCustomShift({ tooltipX, pressableRect, floatingWidth }: UseCustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const windowDimensions = useWindowDimensions();\n const [customShiftData, setCustomShiftData] = useState<{ left?: number; right?: number }>({\n left: undefined,\n right: undefined,\n });\n\n useEffect(() => {\n if (tooltipX === undefined || !pressableRect || floatingWidth === undefined) return;\n\n const res = customShift({\n tooltipX,\n refPageX: pressableRect.pageX,\n refWidth: pressableRect.width,\n wWidth: windowDimensions.width,\n floatingWidth,\n });\n\n setCustomShiftData(res);\n }, [floatingWidth, tooltipX, windowDimensions, pressableRect]);\n\n return customShiftData;\n}\n","import type { MiddlewareData, Placement } from '@floating-ui/react-native';\nimport { autoPlacement, offset, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode, Ref, RefObject } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport type { Pressable as NativePressable } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../KittThemeContext';\nimport type { PressableProps, ViewProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Arrow } from './Arrow';\nimport { TooltipContent } from './TooltipContent';\nimport { useCustomShift } from './hooks/useCustomShift';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\nexport interface UpdateCallbackParams {\n x: number;\n y: number;\n placement: Placement;\n strategy: string;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n offsetParent?: RefObject<any>;\n };\n middlewareData: MiddlewareData;\n update: () => void;\n}\n\ntype OnUpdateCallback = (params: UpdateCallbackParams) => void;\n\ntype RenderPressablePropsAndRef = Pick<\n PressableProps,\n // native-only\n | 'onPress'\n // web-only\n | 'onHoverIn'\n // web-only\n | 'onFocus'\n // web-only\n | 'onBlur'\n> & {\n // native-only\n ref?: Ref<typeof NativePressable>;\n};\n\nexport interface BaseTooltipProps {\n alignSelf?: ViewProps['alignSelf'];\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n zIndex?: number;\n fullWidth?: boolean;\n /**\n * @description\n * This value init the internal visibile state of the tooltip. This is mainly used for testing purpose.\n */\n defaultVisible?: boolean;\n /**\n * @default absolute\n * @description\n * Specific position strategy to apply to the tooltip.\n * Might be usefull when dealing with edge case (see https://floating-ui.com/docs/misc#z-index-stacking).\n */\n floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onToggle?: (isVisible: boolean) => void;\n onUpdate?: OnUpdateCallback;\n}\n\nexport interface TooltipPropsWithRenderPressable extends BaseTooltipProps {\n children?: never;\n renderPressable: (pressablePropsAndRef: RenderPressablePropsAndRef) => ReactElement;\n}\n\nexport interface TooltipPropsWithChildren extends BaseTooltipProps {\n renderPressable?: never;\n children: NonNullable<ReactNode>;\n}\n\nexport type TooltipProps = TooltipPropsWithRenderPressable | TooltipPropsWithChildren;\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : update position on scroll in future iteration\nexport function Tooltip({\n children,\n alignSelf,\n defaultVisible,\n position = 'top',\n content,\n floatingPadding,\n zIndex = 1000,\n fullWidth,\n renderPressable = (pressablePropsAndRef) => (\n <Pressable accessibilityRole=\"button\" {...pressablePropsAndRef}>\n {children}\n </Pressable>\n ),\n onUpdate,\n onToggle,\n}: TooltipProps): ReactNode {\n const theme = useTheme();\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const [floatingWidth, setFloatingWidth] = useState<number | undefined>(undefined);\n const pressableRectRef = useRef<{ width: number; pageX: number } | undefined>(undefined);\n\n const pressed = useSharedValue(defaultVisible);\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n transform: [\n {\n scale: withSpring(pressed.value ? 1 : 0.8),\n },\n ],\n };\n });\n\n const { x, y, reference, floating, update, refs, middlewareData, strategy, placement } = useFloating({\n placement: position,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n // shift() => shift is replaced by customShift\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n // arrow is not reliable enough for implementation\n // arrow({ element: arrowRef }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, placement, strategy, update, refs, middlewareData, onUpdate]);\n\n const getPressableRect = useCallback(\n (element: any) => {\n if (element) {\n element.measure((_x: number, _y: number, width: number, _h: number, pageX: number) => {\n pressableRectRef.current = { width, pageX };\n });\n }\n },\n [pressableRectRef],\n );\n\n const customShiftData = useCustomShift({ tooltipX, pressableRect: pressableRectRef.current, floatingWidth });\n\n const handlePress = (): void => {\n if (onToggle) onToggle(!!pressed.value);\n pressed.value = !pressed.value;\n };\n\n return (\n <View position=\"relative\" alignSelf={alignSelf}>\n <View ref={reference}>{renderPressable({ ref: getPressableRect, onPress: handlePress })}</View>\n\n <View\n ref={floating}\n accessibilityElementsHidden={!pressed.value}\n importantForAccessibility={pressed.value === true ? 'auto' : 'no-hide-descendants'}\n position=\"absolute\"\n maxWidth={fullWidth ? undefined : { base: '100%', small: 'kitt.tooltip.maxWidth' }}\n top={tooltipY}\n left={customShiftData.left}\n right={customShiftData.right}\n onLayout={({ nativeEvent }) => setFloatingWidth(nativeEvent.layout.width)}\n >\n <Animated.View style={[animatedStyles]}>\n <TooltipContent>{content}</TooltipContent>\n </Animated.View>\n </View>\n </View>\n );\n}\n\nTooltip.Arrow = Arrow;\nTooltip.Content = TooltipContent;\n","import type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { Entries } from 'type-fest';\nimport type { EmojiProps } from '../Emoji/Emoji';\nimport { Emoji } from '../Emoji/Emoji';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { KittThemeContextValue } from '../KittThemeContext';\nimport { useTheme } from '../KittThemeContext';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { TypographyBreakpointType, TypographyType } from './Typography';\nimport { getTypographyTypeConfigKeyFromTypeName } from './Typography';\nimport { getTypographyFamily } from './utils/getTypographyFamily';\n\nfunction getTypographyTypeConfig(type: TypographyType, theme: KittThemeContextValue): TypographyTypeConfig {\n const { configs } = theme.kitt.typography.types[getTypographyFamily(type)];\n return (configs as any)[type];\n}\n\ninterface Sizes {\n size: EmojiProps['size'];\n marginLeft: NonNullable<EmojiProps['_web']>['marginLeft'];\n marginRight: NonNullable<EmojiProps['_web']>['marginRight'];\n}\n\nfunction calcSizesFromType(type: TypographyBreakpointType, theme: KittThemeContextValue): Sizes {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const size: Sizes['size'] = {\n base: getTypographyTypeConfig(type.base ?? 'body', theme).baseAndSmall.fontSize,\n };\n\n [\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n size[typeName] = getTypographyTypeConfig(value, theme)[getTypographyTypeConfigKeyFromTypeName(typeName)].fontSize;\n }\n });\n\n const marginLeft: Sizes['marginLeft'] = {};\n const marginRight: Sizes['marginRight'] = {};\n\n (Object.entries(size) as Entries<typeof size>).forEach(([key, value]) => {\n if (value) {\n marginLeft[key] = value / 10;\n marginLeft[key] = value / 20;\n }\n });\n\n return { size, marginLeft, marginRight };\n}\n\nexport interface TypographyEmojiProps extends TypographyBreakpointType {\n type?: TypographyBreakpointType;\n emoji: string;\n}\n\nexport function TypographyEmoji({\n emoji,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n}: TypographyEmojiProps): ReactNode {\n const theme = useTheme();\n const { base, small, medium, large, wide } = type;\n const { size, marginLeft, marginRight } = useMemo(\n () => calcSizesFromType({ base, small, medium, large, wide }, theme),\n [base, small, medium, large, wide, theme],\n );\n\n return (\n <Emoji\n size={size}\n emoji={emoji}\n alignSelf=\"center\"\n _web={{\n style: {\n transform: 'translateY(20%)',\n },\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n marginLeft,\n marginRight,\n }}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\n\nexport interface TypographyLinkWebWrapperProps {\n children: ReactNode;\n hasNoUnderline?: boolean;\n}\n\nexport function TypographyLinkWebWrapper({ children, ...props }: TypographyLinkWebWrapperProps): ReactNode {\n return children as ReactElement;\n}\n","import type { ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { TypographyPropsWithoutAccessibilityRole } from './Typography';\nimport { Typography } from './Typography';\nimport { TypographyLinkWebWrapper } from './TypographyLinkWebWrapper';\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutAccessibilityRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutAccessibilityRole['variant']>;\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: TextProps['onPress'];\n}\n\nexport function TypographyLink({\n children,\n disabled,\n noUnderline,\n href,\n hrefAttrs,\n onPress,\n ...otherProps\n}: TypographyLinkProps): ReactNode {\n return (\n <TypographyLinkWebWrapper hasNoUnderline={noUnderline}>\n <Typography\n underline={!noUnderline}\n color={disabled ? 'black-disabled' : undefined}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n _web={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n transitionProperty: 'color',\n transitionDuration: '0.2s',\n transitionTimingFunction: 'ease-in-out',\n }}\n // TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n // _active={{\n // underline: !!noUnderline,\n // }}\n // _hover={{\n // underline: !!noUnderline,\n // }}\n onPress={disabled ? undefined : onPress}\n {...otherProps}\n >\n {children}\n </Typography>\n </TypographyLinkWebWrapper>\n );\n}\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\n\nexport interface KittTheme {\n kitt: Theme;\n}\n\nexport function useKittTheme(): KittTheme {\n return useMemo(() => {\n return { kitt: kittTheme };\n }, []);\n}\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactNode } from 'react';\nimport type { AppTheme, KittNativeBaseProviderProps } from '../../native-base/KittNativeBaseProvider';\nimport { KittNativeBaseProvider } from '../../native-base/KittNativeBaseProvider';\nimport { useKittTheme } from '../../useKittTheme';\n\ninterface KittThemeProviderProps {\n appTheme?: AppTheme;\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children, appTheme }: KittThemeProviderProps): ReactNode {\n const theme = useKittTheme();\n return (\n <KittNativeBaseProvider theme={theme} isSSR={isSSR} appTheme={appTheme}>\n {children}\n </KittNativeBaseProvider>\n );\n}\n\nexport const KittThemeDecorator = makeDecorator({\n name: 'ThemeDecorator',\n parameterName: 'theme',\n wrapper: (storyFn, context, { options = {}, parameters = {} }) => {\n return (\n <KittThemeProvider isSSR={parameters.isSSR ?? (options as any).isSSR}>\n {storyFn(context) as ReactNode}\n </KittThemeProvider>\n );\n },\n});\n","import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\n/**\n * @deprecated Use react-native Platform instead\n */\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactNode {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import { useWindowDimensions } from 'react-native';\n\nexport interface WindowDimensions {\n width?: number;\n height?: number;\n}\n\nexport interface MatchWindowSizeOptions {\n minWidth?: number;\n maxWidth?: number;\n minHeight?: number;\n maxHeight?: number;\n}\nexport function matchWindowSize(\n { width, height }: WindowDimensions,\n { minWidth, maxWidth, minHeight, maxHeight }: MatchWindowSizeOptions,\n): boolean {\n const hasWidthMatched = width ? (!minWidth || width >= minWidth) && (!maxWidth || width <= maxWidth) : true;\n const hasHeightMatched = height ? (!minHeight || height >= minHeight) && (!maxHeight || height <= maxHeight) : true;\n return hasWidthMatched && hasHeightMatched;\n}\n\n/**\n * Returns if a size matches based on dimensions passed as options.\n *\n * WARNING: Not SSR friendly.\n */\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { BreakpointValueHookValues } from '../../native-base/utils';\nimport { useBreakpointValue } from '../../native-base/utils';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { useMatchWindowSize } from './useMatchWindowSize';\n\ninterface MatchWindowSizeProps extends MatchWindowSizeOptions {\n children: ReactNode;\n}\n\n/**\n * Display children if match window size options\n *\n * WARNING: Currently not SSR friendly (but could be).\n */\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactNode {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return children as ReactElement;\n}\n\ntype SwitchBreakpointsProps = BreakpointValueHookValues<ReactNode>;\n\n/**\n * Display based on current breakpoint\n *\n * WARNING: Currently not SSR friendly (but could be).\n */\nexport function SwitchBreakpoints(breakpoints: SwitchBreakpointsProps): ReactNode {\n return useBreakpointValue(breakpoints);\n}\n","import { KittBreakpointNameEnum } from '../../KittBreakpoints';\nimport { useBreakpointValue } from '../../native-base/utils';\n\nexport function useCurrentBreakpointName(): KittBreakpointNameEnum {\n return useBreakpointValue({\n base: KittBreakpointNameEnum.BASE,\n small: KittBreakpointNameEnum.SMALL,\n medium: KittBreakpointNameEnum.MEDIUM,\n large: KittBreakpointNameEnum.LARGE,\n wide: KittBreakpointNameEnum.WIDE,\n });\n}\n","import { CheckIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { StepState } from './Step';\n\nconst backgroundColors = {\n done: 'kitt.verticalSteps.done.icon.backgroundColor',\n active: 'kitt.verticalSteps.active.icon.backgroundColor',\n default: 'kitt.verticalSteps.default.icon.backgroundColor',\n};\n\nexport interface IconStatusProps {\n state: StepState;\n index: number;\n}\n\nfunction IconStatus({ state, index }: IconStatusProps): ReactNode {\n if (state === 'done') {\n return <TypographyIcon icon={<CheckIcon />} color=\"kitt.verticalSteps.done.icon.textColor\" />;\n }\n\n return (\n // padding aligns the text in the center\n <View paddingBottom={2}>\n <Typography.Text\n textAlign=\"center\"\n variant=\"bold\"\n color={\n state === 'active' ? 'kitt.verticalSteps.active.icon.textColor' : 'kitt.verticalSteps.default.icon.textColor'\n }\n >\n {index + 1}\n </Typography.Text>\n </View>\n );\n}\n\ninterface StepIconProps {\n index: number;\n state?: StepState;\n}\n\nexport function StepIcon({ index, state = 'default' }: StepIconProps): ReactNode {\n return (\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n width={30}\n height={30}\n borderRadius={15}\n backgroundColor={backgroundColors[state]}\n >\n <IconStatus state={state} index={index} />\n </View>\n );\n}\n","import { HStack } from 'native-base';\nimport type { ReactNode } from 'react';\nimport { ActionCard } from '../ActionCard/ActionCard';\nimport { View } from '../native-base/primitives';\nimport { StepIcon } from './StepIcon';\n\nexport type StepState = 'active' | 'done' | 'default';\n\nexport interface ExternalStepProps {\n children: ReactNode;\n shouldDisableNextLink?: boolean;\n}\n\nexport function ExternalStep(props: ExternalStepProps): ReactNode {\n return null;\n}\n\nexport interface StepProps {\n index?: number;\n children: ReactNode;\n state?: StepState;\n isLast?: boolean;\n shouldDisableNextLink?: boolean;\n}\n\nexport function Step({\n index = 0,\n children,\n state = 'default',\n isLast = false,\n shouldDisableNextLink = false,\n}: StepProps): ReactNode {\n return (\n <HStack space=\"kitt.2\" flexGrow={1}>\n <View marginTop=\"kitt.2\" paddingY=\"kitt.2\" backgroundColor=\"kitt.white\">\n <StepIcon state={state} index={index} />\n {!isLast ? (\n <View\n backgroundColor={\n shouldDisableNextLink ? 'kitt.palettes.lateOcean.black100' : 'kitt.palettes.lateOcean.moonPurple'\n }\n width={1}\n position=\"absolute\"\n top={46}\n left={15}\n zIndex={-1}\n height=\"100%\"\n />\n ) : null}\n </View>\n <View flexGrow={1} flexShrink={1}>\n <ActionCard variant=\"primary\">{children}</ActionCard>\n </View>\n </HStack>\n );\n}\n","import type { StepState } from '../Step';\n\nexport function getStepState(index: number, activeIndex: number): StepState {\n if (index === activeIndex) {\n return 'active';\n }\n if (index < activeIndex) {\n return 'done';\n }\n return 'default';\n}\n","import type { ViewProps } from '@ornikar/kitt-universal';\nimport { VStack } from 'native-base';\nimport type { ReactComponentElement, ReactNode } from 'react';\nimport { Children, createElement } from 'react';\nimport type { StepProps } from './Step';\nimport { ExternalStep, Step } from './Step';\nimport { getStepState } from './utils/getStepState';\n\nexport interface VerticalStepsProps extends ViewProps {\n children: ReactComponentElement<typeof ExternalStep> | ReactComponentElement<typeof ExternalStep>[];\n activeIndex: number;\n}\n\nexport function VerticalSteps({ children, activeIndex, ...props }: VerticalStepsProps): ReactNode {\n return (\n <VStack space=\"kitt.4\" width=\"100%\" {...props}>\n {Children.map(children, (child: ReactComponentElement<typeof ExternalStep>, index) => {\n if (__DEV__ && child.type !== ExternalStep) {\n throw new Error('VerticalSteps only accepts VerticalSteps.Step as children');\n }\n\n const isLast = index === Children.count(children) - 1;\n return createElement<StepProps>(\n Step,\n {\n ...child.props,\n index,\n isLast,\n state: getStepState(index, activeIndex),\n },\n child.props.children,\n );\n })}\n </VStack>\n );\n}\n\nVerticalSteps.Step = ExternalStep;\n"],"names":["View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","hex2rgba","hex","alpha","arguments","length","undefined","r","parseInt","slice","g","b","concat","createColorScale","colorScale","colorScales","eggshell","violine","lavender","blue","raspberry","coral","sun","green","transformColorScalesToTokens","Object","fromEntries","entries","flatMap","_ref","_ref2","_slicedToArray","colorName","map","_ref3","_ref4","scaleNumber","colorValue","lateOceanColorPalette","_objectSpread","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","lateOceanDark1","warmEmbrace","warmEmbraceLight1","white","black","black1000","black800","black555","black400","black200","black100","black50","black25","viride","englishVermillon","goldCrayola","aero","seaShell","transparent","moonPurple","moonPurpleLight1","colors","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","disabled","overlay","dark","light","actionCard","borderRadius","backgroundColor","borderColor","borderWidth","shadow","color","offsetX","offsetY","opacity","radius","translateY","hovered","focused","pressed","secondary","highlight","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","size","iconSize","large","spacing","bottomSheet","container","padding","handle","button","focus","minHeight","minWidth","maxWidth","scale","base","active","medium","contentPadding","xLarge","horizontal","vertical","transition","duration","timingFunction","pressedBackgroundColor","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","card","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","cardModal","maxWidthWithPadding","header","height","footer","overlayPadding","animation","easing","content","choices","row","column","item","small","selected","hoverWhenSelected","border","width","property","dialogModal","feedbackMessage","autocomplete","option","verticalPadding","highlighted","optionsContainer","checkbox","markColor","textSpacing","checked","datePicker","day","month","year","inputStatesStyle","pending","valid","invalid","webAnimationDuration","webAnimationTimingFunction","webAnimationProperties","input","selection","placeholder","icon","rightContainer","properties","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","timePicker","forms","fullscreenModal","sharedHorizontalPadding","body","regular","getIconSizeFromFontSize","fontSize","createTypographyIconSizeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmallIconSize","mediumAndWideIconSize","baseAndSmall","mediumAndWide","defaultSize","typographySize","header1","header2","header3","header4","header5","iconButton","listItem","horizontalPadding","innerMargin","pageLoaderSize","pageLoaderStrokeWidth","webAnimationDelay","webAnimationCircleBackgroundFillDuration","webAnimationFilledCircleFillDuration","webAnimationFilledCircleRotationDuration","fillEasingFunction","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","calcLineHeight","lineHeightMultiplier","Math","round","createLegacyTypographyTypeConfig","lineHeightMultiplierBaseAndSmall","lineHeightMultiplierMediumAndWide","lineHeight","createTypographyConfig","config","typography","kittColors","types","headings","fontFamily","bold","web","fontWeight","fontStyle","configs","bodies","link","disabledColor","picker","ios","landscape","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","left","right","panel","skeletonBackgroundColor","skeletonFlareColor","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","outline","warn","tooltip","floatingPadding","out","arrow","verticalSteps","textColor","done","breakpoints","values","wide","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","theme","getSpacing","multiplier","palettes","KittThemeContext","createContext","kitt","kittTheme","useTheme","useContext","getStateKey","isHovered","isPressed","isFocused","getThemeName","variant","borderVariant","ActionCardContentWrapper","_ref$borderVariant","children","state","__DEV__","Error","sharedTransform","transform","themeName","_jsx","_ios","style","_android","_web","flexGrow","ActionCardDisabled","borderStyle","ActionCard","_ref$variant","props","_objectWithoutProperties","_excluded","ActionCardPressable","forwardRef","ref","_ref2$variant","_ref2$borderVariant","testID","href","hrefAttrs","_ref2$accessibilityRo","accessibilityRole","isHoveredInternal","isPressedInternal","isFocusedInternal","onPress","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","createResponsiveStyleFromProp","responsiveBooleanValue","valueIfTrue","valueIfFalse","keys","responsiveValue","forEach","breakpointName","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","deprecatedInComponent","component","getCurrentBackgroundColorForNativeBaseTheme","type","isDisabled","baseKey","AnimatedContainer","animatedStyles","currentBackgroundColor","sx","useSx","styles","Animated","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","typographyColors","getNBThemeColorFromColorProps","isColorTypographyColor","includes","getTypographyColorValue","_typeof","value","isTypeHeadings","startsWith","isTypeHeadingsImpact","getTypographyFamily","getTypographyFamilyWithAncestorValue","typographyFamilyInContext","TypographyFamilyContext","TypographyTypeContext","TypographyColorContext","useTypographyColor","useTypographyAncestorType","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKeyFromTypeName","createNativeBaseFontSize","typeWithMediumForced","fontSizeForNativeBase","typeName","Typography","_type$base","legacyBase","legacySmall","legacyMedium","legacyLarge","legacyWide","_ref$type","otherProps","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","typographyFamily","nonNullableVariant","currentColor","currentColorValue","colorStyles","textDecorationColor","key","text","NBText","Provider","TypographyText","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","displayName","SetDefaultColor","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","Icon","_ref$size","_ref$align","align","clonedIcon","cloneElement","alignSelf","getIconSizeConfigKeyFromTypeName","createNativeBaseIconSize","iconSizeForNativeBase","TypographyIconSpecifiedColor","ancestorType","_sx","colorStyleValue","TypographyIconInheritColor","TypographyIcon","_excluded2","getButtonTextColorByType","isButtonInteractedWith","ButtonIcon","iconPosition","marginRight","marginLeft","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","alignItems","justifyContent","flexDirection","textAlign","ButtonContent","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","position","paddingX","paddingY","DisabledBorder","top","bottom","FocusBorder","_useTheme","buttonTheme","transitionProperty","transitionDuration","transitionTimingFunction","hasVariant","getVariantValuesIfExist","useNativeAnimation","useSharedValue","_getVariantValuesIfEx","useAnimatedStyle","interpolateColor","withSpring","onPressIn","handlePressIn","onPressOut","handlePressOut","getButtonSize","allowedGhostTypes","Button","stretch","sizeProp","_ref$iconPosition","_ref$accessibilityRol","onHoverIn","onHoverOut","onFocus","onBlur","_useNativeAnimation","deprecatedProp","isStretch","SpinningIcon","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","useEffect","loop","timing","toValue","Easing","linear","useNativeDriver","start","stop","rotate","LoaderIcon","ArcIcon","ActionsItem","as","_ref$stretch","_useState","useState","_useState2","isLoading","setIsLoading","mountedRef","handlePress","e","callPressAndUpdateLoadingState","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","t0","apply","ActionsButton","_extends","_objectDestructuringEmpty","getCurrentLayout","layout","getCurrentDirection","getCurrentAlignSelf","Actions","reversed","currentAlignItems","currentDirection","currentAlignSelf","direction","space","Item","getCurrentRadius","sizeVariant","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","source","uri","UserIcon","Avatar","currentSize","currentBorderRadius","overflow","BottomSheetComp","Content","_ref$hasScrollView","hasScrollView","_ref$hasBackdrop","hasBackdrop","_ref$hasHandle","hasHandle","onDismiss","Wrapper","useMemo","BottomSheetScrollView","BottomSheetView","initialSnapPoints","_useBottomSheetDynami","useBottomSheetDynamicSnapPoints","animatedHandleHeight","animatedSnapPoints","animatedContentHeight","handleContentLayout","BottomSheetModal","enablePanDownToClose","snapPoints","index","handleHeight","handleIndicatorStyle","handleComponent","BottomSheetHandle","backdropComponent","BottomSheetBackdrop","appearsOnIndex","disappearsOnIndex","contentHeight","data","SafeAreaView","edges","onLayout","BottomSheetContainerView","BottomSheet","useBottomSheet","useStaticBottomSheet","bottomSheetRef","BottomSheetMemoized","ModalBehaviourPortal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","handleClose","ModalBehaviour","visible","Overlay","CardModalRotationContainer","maxHeight","NativeOpacityAnimation","onExited","hasRunAnimationRef","handleAnimationFinished","opacityStyle","_theme$kitt$cardModal","_easing","x1","y1","x2","y2","withTiming","bezier","isFinished","runOnJS","StyleSheet","absoluteFillObject","NativeRotationAnimation","onEntered","animatedStyle","rotateZ","CardModalAnimation","onEnter","onExit","isModalVisible","setIsModalVisible","_useState3","_useState4","isContentVisible","setIsContentVisible","handleAnimationExited","Modal","supportedOrientations","onShow","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","handleExitAnimationDone","CardModalBody","_ref$paddingX","_ref$paddingY","showsVerticalScrollIndicator","_contentContainerStyle","CardModalFooter","_ref$padding","_ref$hasSeparator","hasSeparator","marginTop","borderTopWidth","CardModalHeader","title","_ref$paddingBottom","paddingBottom","defaultContainerPadding","borderBottomWidth","paddingRight","paddingLeft","CardModal","_ref$backgroundColor","_ref$maxWidth","withoutShadow","Body","Header","Footer","getBackgroundColor","isSelected","getBorderRadius","Number","MAX_SAFE_INTEGER","AnimatedChoiceItemView","Boolean","progress","useDerivedValue","backgroundStyles","_theme$kitt$choices$i","defaultBg","pressedBg","selectedBg","disabledBg","getCurrentTextColor","ChoiceItem","onChange","handleChange","accessibilityState","ChoiceItemContainer","isLast","currentItemMarginValue","marginBottom","ChoicesContainer","Choices","id","_ref2$direction","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","sharedProps","newValue","child","element","createChoicesComponent","ButtonChoices","ChoicesElements","_theme$kitt$dialogMod","DialogModalAnimation","DialogModalBehaviour","bounces","contentContainerStyle","DialogModal","illustration","actions","paddingTop","DialogModalButton","_ref2$stretch","Emoji","emoji","_useMemo","parse","assetType","_useMemo2","emojiData","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","handleOnPress","canOpen","Linking","canOpenURL","sent","defaultPrevented","openURL","error","Sms","phoneNumber","Tel","_excluded3","Mail","_ref5","emailAddress","_excluded4","defaultOpenLinkBehavior","useOpenExternalLink","_ref$behavior","behavior","WebBrowser","openBrowserAsync","ExternalLink","_ref$openLinkBehavior","openLinkBehavior","_ref$onOpenLinkError","onOpenLinkError","openExternalLink","getIconColor","InputIcon","InputPressable","InputTextContainer","InputText","internalForceState","_ref$disabled","_ref$autoCorrect","autoCorrect","_ref$textContentType","textContentType","_ref$autoComplete","autoComplete","_ref$inputMode","inputMode","multiline","onSubmitEditing","shouldHandleSingleLineOnIOS","Input","py","isHighlighted","AutocompleteItem","AutocompleteItemsListContainer","_ref$zIndex","zIndex","elevation","AutocompleteOption","patchNativeEvent","event","preventDownshiftDefault","preventDefault","isReactElement","Autocomplete","name","isInitialOpen","initialValue","containerProps","filterItemBasedOnCurrentInputValue","checkSelectedItem","itemToString","onInputChange","onSelectItem","onOuterPress","errorElement","emptyResultsElement","_ref$inputTestID","inputTestID","_ref$listContainerTes","listContainerTestID","items","filter","Downshift","defaultIsOpen","initialSelectedItem","initialInputValue","handleItemToString","stateReducer","changes","stateChangeTypes","changeInput","selectedItem","stateAndHelpers","onSelect","onOuterClick","onInputValueChange","getRootProps","getInputProps","getMenuProps","getItemProps","getToggleButtonProps","isOpen","inputValue","highlightedIndex","openMenu","shouldSuppressRefError","rootProps","suppressRefError","menuProps","_getToggleButtonProps","onClickToggle","onClick","onPressToggle","toggleProps","_getInputProps","onKeyDown","onSearchInputFocus","onSearchInputBlur","onSearchInputChange","inputProps","hasCurrentSearch","currentItems","isCurrentlyOpen","canDisplayCollapseButton","hitSlop","handleTogglePress","CaretUpFillIcon","CaretDownFillIcon","onKeyPress","_getItemProps","role","ariaSelected","itemProps","Option","UnsafeInternalItem","isChecked","getBorderColor","Checkbox","_ref$hitSlop","display","CheckboxMarkIcon","getEnterKeyHintForNumericInput","enterKeyHint","prefixWithZero","maxLength","padStart","dayFormatter","monthFormatter","yearFormatter","getDayInInterval","getMonthInInterval","minDate","maxDate","minValue","getMonth","maxValue","getYearInInterval","getFullYear","getValueToDisplayedString","toString","keyboardDatePickerReducer","action","nextDay","currentDay","displayedDay","nextMonth","currentMonth","displayedMonth","nextYear","currentYear","displayedYear","nextCurrentDay","nextCurrentMonth","nextCurrentYear","isNumber","isNaN","onDatePartChange","_ref$validYearMinLeng","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","parsedText","getCurrentInternalForcedState","InputPart","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","_useReducer","useReducer","_useReducer2","dispatch","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","_monthRef$current","_yearRef$current","PressableDateInputs","pointerEvents","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","handleModalOpen","DateTimePickerAndroid","open","now","timestamp","date","onTouchCancel","getDatePickerDisplayMode","PlatformDateTimePicker","_ref$defaultDate","defaultDate","maximumDate","minimuDate","displayMode","iosProps","DateTimePicker","is24Hour","mode","minimumDate","_event","ModalTitle","ModalPlatformDateTimePicker","isVisible","validateButtonLabel","newDate","handleSubmit","FormattedMessage","DefaultNativeUIDatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","_useState5","_useState6","handleModalClose","NativeUIDatePicker","DatePicker","_ref$fillMode","fillMode","GoogleMapsApiKeyContext","GoogleMapsApiKeyProvider","apiKey","useGoogleMapApiKey","context","makeMapsApiUrl","resource","paramName","encodeURIComponent","useGoogleMapsApi","makeApiUrl","sharedFetchOptions","method","headers","googlePlacesServices","getPlacePredictions","_getPlacePredictions","response","fetch","json","status","results","predictions","google","maps","places","PlacesServiceStatus","UNKNOWN_ERROR","placesService","getDetails","_getDetails","_callee2","placeId","_context2","result","googleMapsAutocompleteReducer","hasSearchError","isLoadingSearch","payload","hasSelectResultError","isLoadingResultDetails","currentSelectedValue","findComponentByType","components","find","matchStreetNumberWithOriginalAddress","streetNumber","address","exec","_ref2$","number","_ref2$2","extension","formatAddressFromGoogle","placeResult","originalAddress","_placeResult$geometry","_placeResult$geometry2","_findComponentByType","_findComponentByType2","_findComponentByType3","_findComponentByType4","_findComponentByType5","_findComponentByType6","_findComponentByType7","_findComponentByType8","_placeResult$address_","address_components","addressComponents","lat","geometry","location","lng","locality","long_name","subLocality","zipcode","streetName","country","administrativeAreaLevel1","administrativeAreaLevel2","GoogleMapsAutocompleteContext","shouldDisplayEmptyStateWhenNoResults","Promise","resolve","GoogleMapsAutocompleteProvider","_ref$minCharsToSearch","minCharsToSearch","_ref$debounceTimeout","debounceTimeout","mapsApi","searchResultsCache","resultDetailsCache","handleInputChange","useDebouncedCallback","useCallback","predictionsPromise","_yield$predictionsPro","handleSelectItem","placePromise","place","formattedAddress","place_id","then","description","api","useGoogleMapsAutocomplete","InputAddressOption","MapPinIcon","structured_formatting","main_text","secondary_text","defaultItemToString","formatInitialValueToAutocompletePrediction","reference","terms","matched_substrings","join","main_text_matched_substrings","InputAddress","_ref$itemToString","_useGoogleMapsAutocom","formattedInitialValue","InputEmail","autoCapitalize","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","InputNumber","parseFloat","InputPassword","isPasswordDefaultVisible","setIsVisible","secureTextEntry","EyeClosedRegularIcon","EyeRegularIcon","isPhoneNumberValid","isValidNumber","phoneNumberLength","InputPhone","_ref$phoneNumberLengt","currentEnterKeyHint","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","originalNativeEventText","InputTag","Label","htmlFor","isWeb","InnerCircle","OuterCircle","Radio","focusable","isFirst","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderLeftWidth","HoverBorder","shouldDisplayBorder","margin","_theme$kitt$forms$rad","_theme$kitt$forms$rad2","pressedBorderColor","RadioButton","RadioButtonGroupItem","RadioButtonGroup","flexWrap","clone","TextArea","textAlignVertical","FullscreenModalBody","shouldHandleBottomNotch","shouldHandleTopNotch","_useSafeAreaInsets","useSafeAreaInsets","FullscreenModalFooter","_ref$shouldHandleBott","borderTopColor","_theme$kitt$fullscree","NativeSlideInAnimation","_useWindowDimensions","useWindowDimensions","wHeight","translateStyle","flex","FullscreenModalAnimation","FullscreenModalBehaviour","FullscreenModalContainer","FullscreenModalHeader","isTransparent","_ref$shouldHandleTopN","hasRight","hasLeft","hasContent","borderBottomColor","FullscreenModal","AnimatedCaret","AnimatedContent","withTimingConfig","ease","isExpanded","isInitialRender","translate","containerAnimatedStyles","caretAnimatedStyles","contentAnimatedStyles","handleHoverIn","handleHoverOut","Highlight","_ref$canCollapse","canCollapse","_ref$isInitialCollaps","isInitialCollapsed","_ref$icon","setIsExpanded","setContentHeight","setIsInitialRender","highlightStyle","spaceBetween","contentMarginY","handleLayout","layoutHeight","newContentHeight","ellipsizeMode","CaretDownRegularIcon","useBreakpointValue","useBreakpointValueNativeBaseBadlyTyped","Background","AnimatedBackground","opacityStyles","currentOpacityStyles","AnimatedScale","scaleStyles","getIconButtonTextColorByColor","IconButton","_ref$color","ariaLabel","backfaceVisibility","isCurrentHovered","isCurrentPressed","CloseIconButton","XRegularIcon","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","ListItemContent","ListItemSideContainer","_ref$side","side","ListItemSideContent","_ref2$align","ListItem","withPadding","borders","Fragment","wrapperProps","SideContent","SideContainer","MapMarkerSimple","_ref$width","_ref$height","DefaultMarkerSvg","MapMarkerLarge","_ref2$width","_ref2$height","_ref2$color","LargeMarkerSvg","MapMarkerPosition","_ref3$width","_ref3$height","_ref3$color","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","BaseMessage","hasNoRadius","centeredText","insets","Message","createKittSpaces","sizes","positive","negative","overridenNativeBaseSizeandSpaceScale","createKittNativeBaseCustomTheme","appTheme","spaces","appBreakpoints","extendedTheme","extendTheme","innerCircle","app","radii","lg","md","sm","xl","xs","borderWidths","fontSizes","lineHeights","fontWeights","fonts","shadowColor","shadowOffset","shadowOpacity","shadowRadius","baseStyle","px","_disabled","_light","placeholderTextColor","bg","_hover","_focus","_stack","outlineWidth","boxShadow","selectionColor","_invalid","variants","underlined","rounded","filled","unstyled","_dark","KittNativeBaseProvider","isSSR","nativeBaseCustomTheme","kittInternalTheme","NativeBaseProvider","NavigationModalBehaviour","_ref$appear","appear","AnimationComponent","shouldAppear","setShouldAppear","handleEnter","handleExit","NavigationModal","Notification","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","_theme$kitt$pageLoade","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","stroke","strokeLinecap","cx","cy","strokeDasharray","animatedProps","AnimatedBackgroundCircle","_fillEasingFunction","withDelay","Svg","viewBox","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoader","sharedTransformStyle","PickerItem","PickerOption","nativePickerReducer","internalValue","nextInternalValue","Picker","renderTrigger","_ref$shouldDisplayNat","shouldDisplayNativePickerOnIOS","iosTextStyle","_useMediaQuery","useMediaQuery","_useMediaQuery2","isMatchingMaxHeight","iosItemStyle","handleInternalChange","itemValue","handlePressTrigger","XIcon","NativePicker","selectedValue","itemStyle","onValueChange","React","SegmentedProgressBar","_ref$currentStep","currentStep","stepsCount","_ref$colorVariant","colorVariant","withCurrentInProgress","fillColor","steps","_toConsumableArray","Array","from","stepNumber","isSegmentCurrentInProgress","Stripes","AnimatedLinearGradient","LinearGradient","SkeletonContent","sharedX","inOut","linearGradientStyle","translateX","locations","x","y","end","Skeleton","_ref$isLoading","setWidth","Bar","Square","getStaticMapImageUrl","mapWidth","mapHeight","center","is2x","centerPart","zoom","sizePart","urlParts","mapImageUrl","URL","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","_useKittMapConfig","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","currentDevicePixelRatio","PixelRatio","get","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","_useState7","_useState8","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","handleParentLayout","KITT_MAP_CHROMATIC_IGNORE","handleImageLoadEnd","handleError","handleReload","Loader","Marker","Flex","_ref$wrap","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StoryBlock","background","marginX","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","Story","StorySection","internalIsDemoSection","SubSection","BlockSection","DemoSection","Demo","DeprecatedSection","StoryContainer","_ref$state","_ref$platform","platform","StoryDecorator","storyFn","parameters","disableStoryContainer","StoryGridRow","_ref$breakpoint","breakpoint","_defineProperty","StoryGridCol","_ref10","titleColor","_ref10$platform","isNative","StoryGrid","Row","Col","getLabelColor","Tag","ModalDateTimePicker","minuteInterval","pickerTestID","nextDate","buttonContent","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","TimePickerPressable","TimePicker","_ref$placeholder","modalTestID","_ref$pickerTestID","isPickerVisible","setIsPickerVisible","pickerValue","Arrow","TooltipArrowImage","TooltipContent","customShift","tooltipX","refPageX","refWidth","floatingWidth","wWidth","refCenterOnScreen","halfFloatingWith","useCustomShift","pressableRect","windowDimensions","customShiftData","setCustomShiftData","res","pageX","Tooltip","defaultVisible","_ref$position","fullWidth","_ref$renderPressable","renderPressable","pressablePropsAndRef","onUpdate","onToggle","currentFloatingPadding","setFloatingWidth","pressableRectRef","_useFloating","useFloating","placement","middleware","offset","autoPlacement","allowedPlacements","floating","update","refs","middlewareData","strategy","tooltipY","getPressableRect","measure","_x","_y","_h","accessibilityElementsHidden","importantForAccessibility","getTypographyTypeConfig","calcSizesFromType","TypographyEmoji","_ref3$type","TypographyLinkWebWrapper","TypographyLink","noUnderline","hasNoUnderline","underline","dataSet","cursor","useKittTheme","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","_parameters$isSSR","_ref2$options","options","_ref2$parameters","StyleWebWrapper","matchWindowSize","hasWidthMatched","hasHeightMatched","useMatchWindowSize","MatchWindowSize","matchWindowSizeOptions","match","SwitchBreakpoints","useCurrentBreakpointName","backgroundColors","IconStatus","StepIcon","_ref2$state","ExternalStep","Step","_ref$index","_ref$isLast","_ref$shouldDisableNex","shouldDisableNextLink","getStepState","activeIndex","VerticalSteps","count","createElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DO,IAAMA,IAAI,GAAGC,OAAgD;AAoB7D,IAAMC,UAAU,GAAGC,aAA4D;AAmC/E,IAAMC,SAAS,GAAGC,YAA0D;AAE5E,IAAMC,KAAK,GAAGC,QAAmD;AAoBxE;AACO,IAAMC,QAAQ,GAAGC,WAEkB;AAoB1C;AACO,IAAMC,WAAW,GAAGC;;IC/JdC,QAAQ,GAAG,UAACC,GAAW,EAAwB;AAAA,EAAA,IAAtBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC,CAAA;AAC7C,EAAA,IAAMG,CAAC,GAAGC,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACvC,EAAA,IAAMC,CAAC,GAAGF,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AACvC,EAAA,IAAME,CAAC,GAAGH,QAAQ,CAACN,GAAG,CAACO,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;AAEvC,EAAA,OAAA,OAAA,CAAAG,MAAA,CAAeL,CAAC,EAAA,IAAA,CAAA,CAAAK,MAAA,CAAKF,CAAC,EAAAE,IAAAA,CAAAA,CAAAA,MAAA,CAAKD,CAAC,EAAAC,IAAAA,CAAAA,CAAAA,MAAA,CAAKT,KAAK,EAAA,GAAA,CAAA,CAAA;AACxC;;ACDA,IAAMU,gBAAgB,GAAG,UAAiCC,UAAa,EAAA;AAAA,EAAA,OAAQA,UAAU,CAAA;AAAA,CAAA,CAAA;AAElF,IAAMC,WAAW,GAAG;EACzBC,QAAQ,EAAEH,gBAAgB,CAAC;AACzB,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAA;AACN,GAAC,CAAC;EACFI,OAAO,EAAEJ,gBAAgB,CAAC;AACxB,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAA;AACN,GAAC,CAAC;EACFK,QAAQ,EAAEL,gBAAgB,CAAC;AACzB,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAA;AACN,GAAC,CAAC;EACFM,IAAI,EAAEN,gBAAgB,CAAC;AACrB,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAA;AACN,GAAC,CAAC;EACFO,SAAS,EAAEP,gBAAgB,CAAC;AAC1B,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAA;AACN,GAAC,CAAC;EACFQ,KAAK,EAAER,gBAAgB,CAAC;AACtB,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAA;AACN,GAAC,CAAC;EACFS,GAAG,EAAET,gBAAgB,CAAC;AACpB,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAA;AACN,GAAC,CAAC;EACFU,KAAK,EAAEV,gBAAgB,CAAC;AACtB,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,SAAA;GACL,CAAA;AACH,CAAU,CAAA;AAMV,IAAMW,4BAA4B,GAAG,YAAwB;AAC3D,EAAA,OAAOC,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACZ,WAAW,CAAC,CAACa,OAAO,CAAC,UAAAC,IAAA,EAA6B;AAAA,IAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA,EAAA,CAAA,CAAA;AAA3BG,MAAAA,SAAS,GAAAF,KAAA,CAAA,CAAA,CAAA;AAAEhB,MAAAA,UAAU,GAAAgB,KAAA,CAAA,CAAA,CAAA,CAAA;IACzD,OAAOL,MAAM,CAACE,OAAO,CAACb,UAAU,CAAC,CAACmB,GAAG,CAAC,UAAAC,KAAA,EAA+B;AAAA,MAAA,IAAAC,KAAA,GAAAJ,cAAA,CAAAG,KAAA,EAAA,CAAA,CAAA;AAA7BE,QAAAA,WAAW,GAAAD,KAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,UAAU,GAAAF,KAAA,CAAA,CAAA,CAAA,CAAA;MAC7D,OAAO,CAAA,EAAA,CAAAvB,MAAA,CAAIoB,SAAS,EAAA,GAAA,CAAA,CAAApB,MAAA,CAAIwB,WAAW,CAAIC,EAAAA,UAAU,CAAC,CAAA;AACpD,KAAC,CAAC,CAAA;AACJ,GAAC,CACH,CAAC,CAAA;AACH,CAAC,CAAA;AAEM,IAAMC,qBAAqB,GAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAC7Bf,4BAA4B,EAAE,CAAA,EAAA,EAAA,EAAA;AAEjC;AACAgB,EAAAA,SAAS,EAAEzB,WAAW,CAACE,OAAO,CAAC,CAAC,CAAC;AACjC;AACAwB,EAAAA,eAAe,EAAE1B,WAAW,CAACE,OAAO,CAAC,CAAC,CAAC;AACvC;AACAyB,EAAAA,eAAe,EAAE3B,WAAW,CAACE,OAAO,CAAC,CAAC,CAAC;AACvC;AACA0B,EAAAA,eAAe,EAAE5B,WAAW,CAACG,QAAQ,CAAC,CAAC,CAAC;AACxC;AACA0B,EAAAA,cAAc,EAAE7B,WAAW,CAACE,OAAO,CAAC,EAAE,CAAC;AAEvC;AACA4B,EAAAA,WAAW,EAAE9B,WAAW,CAACG,QAAQ,CAAC,CAAC,CAAC;AACpC;AACA4B,EAAAA,iBAAiB,EAAE/B,WAAW,CAACG,QAAQ,CAAC,CAAC,CAAC;AAE1C6B,EAAAA,KAAK,EAAE,SAAS;AAChBC,EAAAA,KAAK,EAAE,SAAS;AAEhB;AACAC,EAAAA,SAAS,EAAE,SAAS;AACpB;AACAC,EAAAA,QAAQ,EAAEnC,WAAW,CAACC,QAAQ,CAAC,EAAE,CAAC;AAClC;AACAmC,EAAAA,QAAQ,EAAEpC,WAAW,CAACC,QAAQ,CAAC,EAAE,CAAC;AAClC;AACAoC,EAAAA,QAAQ,EAAErC,WAAW,CAACC,QAAQ,CAAC,CAAC,CAAC;AACjC;AACAqC,EAAAA,QAAQ,EAAEtC,WAAW,CAACC,QAAQ,CAAC,CAAC,CAAC;AACjC;AACAsC,EAAAA,QAAQ,EAAEvC,WAAW,CAACC,QAAQ,CAAC,CAAC,CAAC;AACjC;AACAuC,EAAAA,OAAO,EAAExC,WAAW,CAACC,QAAQ,CAAC,CAAC,CAAC;AAChC;AACAwC,EAAAA,OAAO,EAAEzC,WAAW,CAACC,QAAQ,CAAC,CAAC,CAAC;AAEhC;AACAyC,EAAAA,MAAM,EAAE1C,WAAW,CAACQ,KAAK,CAAC,CAAC,CAAC;AAC5B;AACAmC,EAAAA,gBAAgB,EAAE3C,WAAW,CAACM,KAAK,CAAC,CAAC,CAAC;AACtC;AACAsC,EAAAA,WAAW,EAAE5C,WAAW,CAACO,GAAG,CAAC,CAAC,CAAC;AAC/B;AACAsC,EAAAA,IAAI,EAAE7C,WAAW,CAACI,IAAI,CAAC,CAAC,CAAC;AACzB;AACA0C,EAAAA,QAAQ,EAAE9C,WAAW,CAACC,QAAQ,CAAC,CAAC,CAAC;AAEjC8C,EAAAA,WAAW,EAAE,aAAa;AAE1B;AACAC,EAAAA,UAAU,EAAEhD,WAAW,CAACE,OAAO,CAAC,CAAC,CAAC;AAClC;AACA+C,EAAAA,gBAAgB,EAAEjD,WAAW,CAACE,OAAO,CAAC,CAAC,CAAA;AAAC,CACzC,CAAA;;AC9LM,IAAMgD,MAAM,GAAG;AACpBC,EAAAA,OAAO,EAAE5B,qBAAqB,CAAC,WAAW,CAAC;AAC3C6B,EAAAA,YAAY,EAAE7B,qBAAqB,CAAC,WAAW,CAAC;AAChD8B,EAAAA,MAAM,EAAE9B,qBAAqB,CAAC,YAAY,CAAC;AAC3C+B,EAAAA,WAAW,EAAE/B,qBAAqB,CAAC,YAAY,CAAC;AAChDgC,EAAAA,OAAO,EAAEhC,qBAAqB,CAAC,SAAS,CAAC;AACzCiC,EAAAA,OAAO,EAAEjC,qBAAqB,CAAC,SAAS,CAAC;AACzCkC,EAAAA,MAAM,EAAElC,qBAAqB,CAAC,SAAS,CAAC;AACxCmC,EAAAA,IAAI,EAAEnC,qBAAqB,CAAC,QAAQ,CAAC;AACrCoC,EAAAA,OAAO,EAAEpC,qBAAqB,CAAC,OAAO,CAAC;AACvCqC,EAAAA,SAAS,EAAErC,qBAAqB,CAAC,YAAY,CAAC;AAC9CsC,EAAAA,KAAK,EAAEtC,qBAAqB,CAAC,YAAY,CAAC;EAC1CS,KAAK,EAAET,qBAAqB,CAACS,KAAK;EAClCC,KAAK,EAAEV,qBAAqB,CAACU,KAAK;AAClC6B,EAAAA,aAAa,EAAEvC,qBAAqB,CAAC,YAAY,CAAC;AAClDwC,EAAAA,UAAU,EAAExC,qBAAqB,CAAC,aAAa,CAAC;AAChDyC,EAAAA,eAAe,EAAEzC,qBAAqB,CAAC,aAAa,CAAC;AACrD0C,EAAAA,YAAY,EAAE1C,qBAAqB,CAAC,YAAY,CAAC;EACjD2C,iBAAiB,EAAE3C,qBAAqB,CAACS,KAAK;EAC9Ce,WAAW,EAAExB,qBAAqB,CAACwB,WAAW;AAC9CoB,EAAAA,QAAQ,EAAE5C,qBAAqB,CAAC,YAAY,CAAC;AAC7C6C,EAAAA,OAAO,EAAE;AACPC,IAAAA,IAAI,EAAE,wBAAwB;AAC9BC,IAAAA,KAAK,EAAE,2BAAA;AACT,GAAA;AACF,CAAC;;ACQM,IAAMC,UAA2B,GAAG;AACzCC,EAAAA,YAAY,EAAE,EAAE;AAChBrB,EAAAA,OAAO,EAAE;IACP,SAAS,EAAA;MACPsB,eAAe,EAAEvB,MAAM,CAACgB,iBAAiB;MACzCQ,WAAW,EAAEnD,qBAAqB,CAACgB,QAAQ;AAC3CoC,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACgB,QAAQ;AACrCuC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDC,IAAAA,OAAO,EAAE;MACPV,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;MAC9CkC,WAAW,EAAEnD,qBAAqB,CAACgB,QAAQ;AAC3CoC,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACgB,QAAQ;AACrCuC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDf,IAAAA,QAAQ,EAAE;AACRM,MAAAA,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAC;AACpDmD,MAAAA,WAAW,EAAEnD,qBAAqB,CAAC,YAAY,CAAC;AAChDoD,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAEtD,qBAAqB,CAAC,YAAY,CAAC;AAC1CuD,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDE,IAAAA,OAAO,EAAE;MACPX,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;MAC9CkC,WAAW,EAAEnD,qBAAqB,CAACgB,QAAQ;AAC3CoC,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACgB,QAAQ;AACrCuC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDG,IAAAA,OAAO,EAAE;MACPZ,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;MAC9CkC,WAAW,EAAEnD,qBAAqB,CAACgB,QAAQ;AAC3CoC,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAE,EAAE;AACTC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;AACd,KAAA;GACD;AACD,EAAA,qBAAqB,EAAE;IACrB,SAAS,EAAA;MACPT,eAAe,EAAEvB,MAAM,CAACgB,iBAAiB;MACzCQ,WAAW,EAAEnD,qBAAqB,CAACyB,UAAU;AAC7C2B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACyB,UAAU;AACvC8B,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDC,IAAAA,OAAO,EAAE;MACPV,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;MAC9CkC,WAAW,EAAEnD,qBAAqB,CAACyB,UAAU;AAC7C2B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACyB,UAAU;AACvC8B,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDf,IAAAA,QAAQ,EAAE;AACRM,MAAAA,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAC;AACpDmD,MAAAA,WAAW,EAAEnD,qBAAqB,CAAC,YAAY,CAAC;AAChDoD,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACyB,UAAU;AACvC8B,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDE,IAAAA,OAAO,EAAE;MACPX,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;MAC9CkC,WAAW,EAAEnD,qBAAqB,CAACyB,UAAU;AAC7C2B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACyB,UAAU;AACvC8B,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDG,IAAAA,OAAO,EAAE;MACPZ,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;MAC9CkC,WAAW,EAAEnD,qBAAqB,CAACyB,UAAU;AAC7C2B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAE,EAAE;AACTC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;AACd,KAAA;GACD;AACD,EAAA,qBAAqB,EAAE;IACrB,SAAS,EAAA;MACPT,eAAe,EAAEvB,MAAM,CAACgB,iBAAiB;MACzCQ,WAAW,EAAEnD,qBAAqB,CAACE,SAAS;AAC5CkD,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACE,SAAS;AACtCqD,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDC,IAAAA,OAAO,EAAE;MACPV,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;MAC9CkC,WAAW,EAAEnD,qBAAqB,CAACE,SAAS;AAC5CkD,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACE,SAAS;AACtCqD,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDf,IAAAA,QAAQ,EAAE;AACRM,MAAAA,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAC;AACpDmD,MAAAA,WAAW,EAAEnD,qBAAqB,CAAC,YAAY,CAAC;AAChDoD,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACE,SAAS;AACtCqD,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDE,IAAAA,OAAO,EAAE;MACPX,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;MAC9CkC,WAAW,EAAEnD,qBAAqB,CAACE,SAAS;AAC5CkD,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACE,SAAS;AACtCqD,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDG,IAAAA,OAAO,EAAE;MACPZ,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;MAC9CkC,WAAW,EAAEnD,qBAAqB,CAACE,SAAS;AAC5CkD,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAE,EAAE;AACTC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;AACd,KAAA;GACD;AACDI,EAAAA,SAAS,EAAE;IACT,SAAS,EAAA;MACPb,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;MAC9CkC,WAAW,EAAEnD,qBAAqB,CAACwB,WAAW;AAC9C4B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAE,EAAE;AACTC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDf,IAAAA,QAAQ,EAAE;AACRM,MAAAA,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAC;AACpDmD,MAAAA,WAAW,EAAEnD,qBAAqB,CAAC,YAAY,CAAC;AAChDoD,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAEtD,qBAAqB,CAAC,YAAY,CAAC;AAC1CuD,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDC,IAAAA,OAAO,EAAE;MACPV,eAAe,EAAElD,qBAAqB,CAACgB,QAAQ;MAC/CmC,WAAW,EAAEnD,qBAAqB,CAACwB,WAAW;AAC9C4B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAE,EAAE;AACTC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDE,IAAAA,OAAO,EAAE;MACPX,eAAe,EAAElD,qBAAqB,CAACgB,QAAQ;MAC/CmC,WAAW,EAAEnD,qBAAqB,CAACwB,WAAW;AAC9C4B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAE,EAAE;AACTC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDG,IAAAA,OAAO,EAAE;MACPZ,eAAe,EAAElD,qBAAqB,CAACgB,QAAQ;MAC/CmC,WAAW,EAAEnD,qBAAqB,CAACwB,WAAW;AAC9C4B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAE,EAAE;AACTC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;AACd,KAAA;GACD;AACDK,EAAAA,SAAS,EAAE;IACT,SAAS,EAAA;MACPd,eAAe,EAAElD,qBAAqB,CAAC0B,gBAAgB;MACvDyB,WAAW,EAAEnD,qBAAqB,CAACyB,UAAU;AAC7C2B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACyB,UAAU;AACvC8B,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDf,IAAAA,QAAQ,EAAE;AACRM,MAAAA,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAC;AACpDmD,MAAAA,WAAW,EAAEnD,qBAAqB,CAAC,YAAY,CAAC;AAChDoD,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAEtD,qBAAqB,CAAC,YAAY,CAAC;AAC1CuD,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDC,IAAAA,OAAO,EAAE;MACPV,eAAe,EAAEvF,QAAQ,CAACqC,qBAAqB,CAAC0B,gBAAgB,EAAE,GAAG,CAAC;MACtEyB,WAAW,EAAEnD,qBAAqB,CAACyB,UAAU;AAC7C2B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACyB,UAAU;AACvC8B,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDE,IAAAA,OAAO,EAAE;MACPX,eAAe,EAAEvF,QAAQ,CAACqC,qBAAqB,CAAC0B,gBAAgB,EAAE,GAAG,CAAC;MACtEyB,WAAW,EAAEnD,qBAAqB,CAACyB,UAAU;AAC7C2B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;QACNC,KAAK,EAAEtD,qBAAqB,CAACyB,UAAU;AACvC8B,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;KACb;AACDG,IAAAA,OAAO,EAAE;MACPZ,eAAe,EAAEvF,QAAQ,CAACqC,qBAAqB,CAAC0B,gBAAgB,EAAE,GAAG,CAAC;MACtEyB,WAAW,EAAEnD,qBAAqB,CAACyB,UAAU;AAC7C2B,MAAAA,WAAW,EAAE,CAAC;AACdC,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAE,EAAE;AACTC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,OAAO,EAAE,CAAC;AACVC,QAAAA,MAAM,EAAE,CAAA;OACT;AACDC,MAAAA,UAAU,EAAE,CAAA;AACd,KAAA;AACF,GAAA;AACF,CAAC;;ACjXM,IAAMM,iBAAiB,GAAG,EAAE,CAAA;AAC5B,IAAMC,qBAAqB,GAAG,EAAE,CAAA;AAEhC,IAAMC,eAAe,GAAG,GAAG,CAAA;AAC3B,IAAMC,mBAAmB,GAAG,EAAE,CAAA;AAqB9B,IAAMC,MAAmB,GAAG;AACjCpB,EAAAA,YAAY,EAAE,EAAE;AAChBqB,EAAAA,IAAI,EAAEL,iBAAiB;AACvBM,EAAAA,QAAQ,EAAEL,qBAAqB;EAC/B,SAAS,EAAA;IACPhB,eAAe,EAAEvB,MAAM,CAACC,OAAAA;GACzB;AACDmB,EAAAA,KAAK,EAAE;IACLG,eAAe,EAAElD,qBAAqB,CAACgB,QAAAA;GACxC;AACDwD,EAAAA,KAAK,EAAE;AACLvB,IAAAA,YAAY,EAAE,EAAE;AAChBqB,IAAAA,IAAI,EAAEH,eAAe;AACrBI,IAAAA,QAAQ,EAAEH,mBAAAA;AACZ,GAAA;AACF,CAAC;;AC3CM,IAAMK,OAAO,GAAG,CAAC;;ACYjB,IAAMC,WAA6B,GAAG;AAC3CC,EAAAA,SAAS,EAAE;IACTC,OAAO,EAAEH,OAAO,GAAG,CAAA;GACpB;AACDI,EAAAA,MAAM,EAAE;IACN3B,eAAe,EAAElD,qBAAqB,CAACe,QAAAA;AACzC,GAAA;AACF,CAAC;;ACyEM,IAAM+D,MAAmB,GAAG;AACjC7B,EAAAA,YAAY,EAAE,EAAE;AAChBG,EAAAA,WAAW,EAAE;AACXR,IAAAA,QAAQ,EAAE,CAAC;AACXmC,IAAAA,KAAK,EAAE,CAAA;GACR;AACDC,EAAAA,SAAS,EAAE,EAAE;AACbC,EAAAA,QAAQ,EAAE,EAAE;AACZC,EAAAA,QAAQ,EAAE,GAAG;AACbC,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE;AACJ,MAAA,SAAA,EAAS,CAAC;AACV9C,MAAAA,KAAK,EAAE,IAAI;AACX+C,MAAAA,MAAM,EAAE,IAAA;KACT;AACDC,IAAAA,MAAM,EAAE;AACNhD,MAAAA,KAAK,EAAE,IAAA;AACT,KAAA;GACD;AACDiD,EAAAA,cAAc,EAAE;AACd,IAAA,SAAA,EAAS,cAAc;AACvBf,IAAAA,KAAK,EAAE,gBAAgB;AACvBgB,IAAAA,MAAM,EAAE,gBAAgB;AACxB5C,IAAAA,QAAQ,EAAE,cAAA;GACX;AACDgC,EAAAA,OAAO,EAAE;IACP,SAAS,EAAA;AACPa,MAAAA,UAAU,EAAE,EAAE;AACdC,MAAAA,QAAQ,EAAE,CAAA;KACX;AACDlB,IAAAA,KAAK,EAAE;AACLiB,MAAAA,UAAU,EAAE,EAAE;AACdC,MAAAA,QAAQ,EAAE,EAAA;KACX;AACDF,IAAAA,MAAM,EAAE;AACNC,MAAAA,UAAU,EAAE,EAAE;AACdC,MAAAA,QAAQ,EAAE,EAAA;KACX;AACD9C,IAAAA,QAAQ,EAAE;AACR6C,MAAAA,UAAU,EAAE,EAAE;AACdC,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAA;GACD;AACDC,EAAAA,UAAU,EAAE;AACVC,IAAAA,QAAQ,EAAE,OAAO;AACjBC,IAAAA,cAAc,EAAE,sCAAA;GACjB;EACD,SAAS,EAAA;IACP,SAAS,EAAA;AACP3C,MAAAA,eAAe,EAAE,qBAAqB;AACtC4C,MAAAA,sBAAsB,EAAE,oBAAoB;AAC5CC,MAAAA,oBAAoB,EAAE,oBAAoB;AAC1CC,MAAAA,gBAAgB,EAAE,oBAAA;KACnB;AACDC,IAAAA,KAAK,EAAE;AACL/C,MAAAA,eAAe,EAAE,0BAA0B;AAC3C4C,MAAAA,sBAAsB,EAAE,2BAA2B;AACnDC,MAAAA,oBAAoB,EAAE,2BAA2B;AACjDC,MAAAA,gBAAgB,EAAE,0BAA0B;MAC5C1C,KAAK,EAAEtD,qBAAqB,CAACS,KAAK;MAClCyF,UAAU,EAAElG,qBAAqB,CAACS,KAAK;MACvC0F,WAAW,EAAEnG,qBAAqB,CAACS,KAAAA;AACrC,KAAA;GACD;AACDmB,EAAAA,OAAO,EAAE;IACP,SAAS,EAAA;MACPsB,eAAe,EAAEvB,MAAM,CAACC,OAAO;MAC/BkE,sBAAsB,EAAEnE,MAAM,CAACE,YAAY;MAC3CkE,oBAAoB,EAAEpE,MAAM,CAACE,YAAY;AACzCmE,MAAAA,gBAAgB,EAAE,wBAAA;KACnB;AACDC,IAAAA,KAAK,EAAE;MACL/C,eAAe,EAAEvB,MAAM,CAACgB,iBAAiB;MACzCmD,sBAAsB,EAAEnE,MAAM,CAACe,YAAY;MAC3CqD,oBAAoB,EAAEpE,MAAM,CAACW,KAAK;AAClC0D,MAAAA,gBAAgB,EAAE,wBAAwB;MAC1C1C,KAAK,EAAE3B,MAAM,CAACC,OAAO;MACrBsE,UAAU,EAAEvE,MAAM,CAACW,KAAK;MACxB6D,WAAW,EAAExE,MAAM,CAACW,KAAAA;AACtB,KAAA;GACD;AACDJ,EAAAA,MAAM,EAAE;IACN,SAAS,EAAA;MACPgB,eAAe,EAAElD,qBAAqB,CAACQ,iBAAiB;MACxDsF,sBAAsB,EAAE9F,qBAAqB,CAACO,WAAW;MACzDwF,oBAAoB,EAAE/F,qBAAqB,CAACO,WAAW;MACvDyF,gBAAgB,EAAEhG,qBAAqB,CAACO,WAAAA;KACzC;AACD0F,IAAAA,KAAK,EAAE;MACL/C,eAAe,EAAEvB,MAAM,CAACgB,iBAAiB;AACzCmD,MAAAA,sBAAsB,EAAE,2BAA2B;AACnDC,MAAAA,oBAAoB,EAAE,2BAA2B;AACjDC,MAAAA,gBAAgB,EAAE,0BAA0B;MAC5C1C,KAAK,EAAEtD,qBAAqB,CAACoB,gBAAgB;MAC7C8E,UAAU,EAAElG,qBAAqB,CAACoB,gBAAgB;MAClD+E,WAAW,EAAEnG,qBAAqB,CAACoB,gBAAAA;AACrC,KAAA;GACD;AACDgF,EAAAA,MAAM,EAAE;IACN,SAAS,EAAA;MACPlD,eAAe,EAAEvB,MAAM,CAACH,WAAW;MACnCsE,sBAAsB,EAAEnE,MAAM,CAACH,WAAW;MAC1CuE,oBAAoB,EAAEpE,MAAM,CAACH,WAAW;AACxCwE,MAAAA,gBAAgB,EAAE,wBAAwB;MAC1C1C,KAAK,EAAE3B,MAAM,CAACC,OAAO;AACrBsE,MAAAA,UAAU,EAAE,wBAAwB;AACpCC,MAAAA,WAAW,EAAE,wBAAA;AACf,KAAA;GACD;AACD,EAAA,aAAa,EAAE;IACb,SAAS,EAAA;MACPjD,eAAe,EAAEvB,MAAM,CAACH,WAAW;MACnCsE,sBAAsB,EAAEnE,MAAM,CAACH,WAAW;MAC1CuE,oBAAoB,EAAEpE,MAAM,CAACH,WAAW;AACxCwE,MAAAA,gBAAgB,EAAE,oBAAoB;MACtC1C,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AACnBwF,MAAAA,UAAU,EAAE,oBAAoB;AAChCC,MAAAA,WAAW,EAAE,oBAAA;AACf,KAAA;GACD;AACDvD,EAAAA,QAAQ,EAAE;IACR,SAAS,EAAA;MACPM,eAAe,EAAEvB,MAAM,CAACiB,QAAQ;MAChCkD,sBAAsB,EAAEnE,MAAM,CAACiB,QAAQ;MACvCmD,oBAAoB,EAAEpE,MAAM,CAACiB,QAAQ;MACrCoD,gBAAgB,EAAEhG,qBAAqB,CAACgB,QAAQ;MAChDmC,WAAW,EAAEnD,qBAAqB,CAACgB,QAAAA;AACrC,KAAA;AACF,GAAA;AACF,CAAC;;AC9MM,IAAMqF,IAAe,GAAG;AAC7BpD,EAAAA,YAAY,EAAE,EAAE;AAChBG,EAAAA,WAAW,EAAE,CAAC;AACdxB,EAAAA,OAAO,EAAE;IACPsB,eAAe,EAAEvB,MAAM,CAACgB,iBAAiB;IACzCQ,WAAW,EAAExB,MAAM,CAACC,OAAAA;GACrB;AACDmC,EAAAA,SAAS,EAAE;IACTb,eAAe,EAAEvB,MAAM,CAACgB,iBAAiB;IACzCQ,WAAW,EAAExB,MAAM,CAACU,SAAAA;GACrB;AACD+D,EAAAA,MAAM,EAAE;IACNlD,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;IAC9CkC,WAAW,EAAExB,MAAM,CAACU,SAAAA;AACtB,GAAA;AACF,CAAC;;ACSM,IAAMiE,6BAA2B,GAAG,GAAG,CAAA;AACvC,IAAMC,2BAAyB,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AAErD,IAAMC,6BAA2B,GAAG,GAAG,CAAA;AACvC,IAAMC,2BAAyB,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAExD,IAAMvB,QAAQ,GAAG,GAAG,CAAA;AACpB,IAAMwB,wBAAwB,GAAG,EAAE,CAAA;AAE5B,IAAMC,SAAyB,GAAG;AACvC1D,EAAAA,YAAY,EAAE,EAAE;AAChBiC,EAAAA,QAAQ,EAARA,QAAQ;AACR0B,EAAAA,mBAAmB,EAAE1B,QAAQ,GAAGwB,wBAAwB,GAAG,CAAC;AAC5D1B,EAAAA,SAAS,EAAE,GAAG;AACd3B,EAAAA,MAAM,EAAE;IACNC,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AACnB6C,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,OAAO,EAAE,EAAE;AACXC,IAAAA,OAAO,EAAE,IAAI;AACbC,IAAAA,MAAM,EAAE,EAAA;GACT;AACDmD,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,EAAE;AACV1D,IAAAA,WAAW,EAAE,CAAC;IACdD,WAAW,EAAExB,MAAM,CAACU,SAAAA;GACrB;AACD0E,EAAAA,MAAM,EAAE;AACN3D,IAAAA,WAAW,EAAE,CAAC;IACdD,WAAW,EAAExB,MAAM,CAACU,SAAAA;GACrB;AACD2E,EAAAA,cAAc,EAAE;AACdvB,IAAAA,UAAU,EAAE,EAAE;AACdC,IAAAA,QAAQ,EAAE,EAAA;GACX;AACDuB,EAAAA,SAAS,EAAE;AACTpE,IAAAA,OAAO,EAAE;AACP+C,MAAAA,QAAQ,EAAEY,6BAA2B;AACrCU,MAAAA,MAAM,EAAET,2BAAAA;KACT;AACDU,IAAAA,OAAO,EAAE;AACPvB,MAAAA,QAAQ,EAAEU,6BAA2B;AACrCY,MAAAA,MAAM,EAAEX,2BAAAA;AACV,KAAA;AACF,GAAA;AACF,CAAC;;AC3CM,IAAMa,OAAqB,GAAG;AACnC3C,EAAAA,OAAO,EAAE;AACP4C,IAAAA,GAAG,EAAE,EAAE;AACPC,IAAAA,MAAM,EAAE,EAAA;GACT;AACDC,EAAAA,IAAI,EAAE;AACJtE,IAAAA,YAAY,EAAE,EAAE;AAChB2B,IAAAA,OAAO,EAAE;AACPQ,MAAAA,IAAI,EAAE,EAAE;AACRoC,MAAAA,KAAK,EAAE,EAAA;KACR;AACDtE,IAAAA,eAAe,EAAE;MACf,SAASlD,EAAAA,qBAAqB,CAACiB,OAAO;MACtC2B,QAAQ,EAAEjB,MAAM,CAACiB,QAAQ;MACzB6E,QAAQ,EAAE9F,MAAM,CAACC,OAAO;MACxBkC,OAAO,EAAE9D,qBAAqB,CAACG,eAAe;MAC9CmC,KAAK,EAAEtC,qBAAqB,CAACgB,QAAQ;MACrC0G,iBAAiB,EAAE1H,qBAAqB,CAACG,eAAAA;KAC1C;AACDyC,IAAAA,QAAQ,EAAE;AACR+E,MAAAA,MAAM,EAAE;AACNC,QAAAA,KAAK,EAAE,CAAC;QACRtE,KAAK,EAAEtD,qBAAqB,CAACgB,QAAAA;AAC/B,OAAA;KACD;AACD2E,IAAAA,UAAU,EAAE;AACVkC,MAAAA,QAAQ,EAAE,KAAK;AACfjC,MAAAA,QAAQ,EAAE,GAAG;AACbC,MAAAA,cAAc,EAAE,sCAAA;AAClB,KAAA;AACF,GAAA;AACF,CAAC;;AC3CM,IAAMS,6BAA2B,GAAG,GAAG,CAAA;AACvC,IAAMC,2BAAyB,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AAErD,IAAMC,6BAA2B,GAAG,GAAG,CAAA;AACvC,IAAMC,2BAAyB,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAEjD,IAAMqB,WAA6B,GAAG;AAC3C7E,EAAAA,YAAY,EAAE,EAAE;AAChBiC,EAAAA,QAAQ,EAAE,GAAG;AACb8B,EAAAA,cAAc,EAAE;AACdvB,IAAAA,UAAU,EAAE,EAAE;AACdC,IAAAA,QAAQ,EAAE,EAAA;GACX;AACDrC,EAAAA,MAAM,EAAE;IACNC,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AACnB6C,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,OAAO,EAAE,EAAE;AACXC,IAAAA,OAAO,EAAE,IAAI;AACbC,IAAAA,MAAM,EAAE,EAAA;GACT;AACDuD,EAAAA,SAAS,EAAE;AACTpE,IAAAA,OAAO,EAAE;AACP+C,MAAAA,QAAQ,EAAEY,6BAA2B;AACrCU,MAAAA,MAAM,EAAET,2BAAAA;KACT;AACDU,IAAAA,OAAO,EAAE;AACPvB,MAAAA,QAAQ,EAAEU,6BAA2B;AACrCY,MAAAA,MAAM,EAAEX,2BAAAA;AACV,KAAA;AACF,GAAA;AACF,CAAC;;AC5CM,IAAMwB,eAAqC,GAAG;AACnD/C,EAAAA,SAAS,EAAE,EAAE;AACb9C,EAAAA,MAAM,EAAE;IACNgB,eAAe,EAAEvB,MAAM,CAACO,MAAAA;GACzB;AACDF,EAAAA,OAAO,EAAE;IACPkB,eAAe,EAAEvB,MAAM,CAACK,OAAAA;GACzB;AACDG,EAAAA,IAAI,EAAE;IACJe,eAAe,EAAEvB,MAAM,CAACQ,IAAAA;GACzB;AACDC,EAAAA,OAAO,EAAE;IACPc,eAAe,EAAEvB,MAAM,CAACS,OAAAA;AAC1B,GAAA;AACF,CAAC;;ACDM,IAAM4F,YAA+B,GAAG;AAC7CC,EAAAA,MAAM,EAAE;AACNC,IAAAA,eAAe,EAAE,CAAC;AAClBlD,IAAAA,SAAS,EAAE,EAAE;IACb,SAAS,EAAA;MACP9B,eAAe,EAAEvB,MAAM,CAAClB,KAAAA;KACzB;AACDmD,IAAAA,OAAO,EAAE;MAAEV,eAAe,EAAElD,qBAAqB,CAACiB,OAAAA;KAAS;AAC3D4C,IAAAA,OAAO,EAAE;MAAEX,eAAe,EAAElD,qBAAqB,CAACiB,OAAAA;KAAS;AAC3DwG,IAAAA,QAAQ,EAAE;MAAEvE,eAAe,EAAElD,qBAAqB,CAACiB,OAAAA;KAAS;AAC5DkH,IAAAA,WAAW,EAAE;MAAEjF,eAAe,EAAElD,qBAAqB,CAACiB,OAAAA;KAAS;AAC/D6C,IAAAA,OAAO,EAAE;MAAEZ,eAAe,EAAElD,qBAAqB,CAACgB,QAAAA;AAAS,KAAA;GAC5D;AACDoH,EAAAA,gBAAgB,EAAE;AAChBnF,IAAAA,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAEvB,MAAM,CAAClB,KAAK;AAC7B4C,IAAAA,MAAM,EAAE;MAAEC,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AAAE6C,MAAAA,OAAO,EAAE,CAAC;AAAEC,MAAAA,OAAO,EAAE,EAAE;AAAEC,MAAAA,OAAO,EAAE,IAAI;AAAEC,MAAAA,MAAM,EAAE,EAAA;AAAG,KAAA;AACpF,GAAA;AACF,CAAC;;AC3CM,IAAM2E,QAAQ,GAAG;AACtBjF,EAAAA,WAAW,EAAE,CAAC;AACdH,EAAAA,YAAY,EAAE,CAAC;AACf6D,EAAAA,MAAM,EAAE,EAAE;AACVc,EAAAA,KAAK,EAAE,EAAE;AACTrD,EAAAA,QAAQ,EAAE,EAAE;EACZ+D,SAAS,EAAE3G,MAAM,CAACgB,iBAAiB;AACnC4F,EAAAA,WAAW,EAAE,EAAE;EACf,SAAS,EAAA;IACPpF,WAAW,EAAExB,MAAM,CAACU,SAAS;IAC7Ba,eAAe,EAAEvB,MAAM,CAACgB,iBAAAA;GACzB;AACD6F,EAAAA,OAAO,EAAE;IACPrF,WAAW,EAAExB,MAAM,CAACC,OAAO;IAC3BsB,eAAe,EAAEvB,MAAM,CAACC,OAAAA;GACzB;AACDmD,EAAAA,KAAK,EAAE;IACL5B,WAAW,EAAExB,MAAM,CAACC,OAAO;IAC3BsB,eAAe,EAAEvB,MAAM,CAACgB,iBAAAA;GACzB;AACDL,EAAAA,KAAK,EAAE;IACLa,WAAW,EAAExB,MAAM,CAACC,OAAO;IAC3BsB,eAAe,EAAEvB,MAAM,CAACgB,iBAAAA;GACzB;AACDmB,EAAAA,OAAO,EAAE;IACPX,WAAW,EAAExB,MAAM,CAACC,OAAO;IAC3BsB,eAAe,EAAEvB,MAAM,CAACgB,iBAAAA;GACzB;AACDC,EAAAA,QAAQ,EAAE;IACRO,WAAW,EAAExB,MAAM,CAACU,SAAS;IAC7Ba,eAAe,EAAEvB,MAAM,CAACiB,QAAAA;GACzB;AACD+C,EAAAA,UAAU,EAAE;AACVC,IAAAA,QAAQ,EAAE,OAAO;AACjBC,IAAAA,cAAc,EAAE,UAAA;AAClB,GAAA;AACF,CAAC;;AC5BM,IAAM4C,UAA2B,GAAG;AACzCC,EAAAA,GAAG,EAAE;AACHzD,IAAAA,QAAQ,EAAE,EAAA;GACX;AACD0D,EAAAA,KAAK,EAAE;AACL1D,IAAAA,QAAQ,EAAE,EAAA;GACX;AACD2D,EAAAA,IAAI,EAAE;AACJ3D,IAAAA,QAAQ,EAAE,EAAA;AACZ,GAAA;AACF,CAAC;;ACTD,IAAM4D,gBAAiC,GAAG;EACxC,SAAS,EAAA;IACP3F,eAAe,EAAElD,qBAAqB,CAACS,KAAK;AAC5C0C,IAAAA,WAAW,EAAEnD,qBAAqB,CAAC,YAAY,CAAC;IAChDsD,KAAK,EAAEtD,qBAAqB,CAACU,KAAAA;GAC9B;AACDoI,EAAAA,OAAO,EAAE;IACP5F,eAAe,EAAElD,qBAAqB,CAACS,KAAK;AAC5C0C,IAAAA,WAAW,EAAEnD,qBAAqB,CAAC,YAAY,CAAC;IAChDsD,KAAK,EAAEtD,qBAAqB,CAACU,KAAAA;GAC9B;AACDqI,EAAAA,KAAK,EAAE;IACL7F,eAAe,EAAElD,qBAAqB,CAACS,KAAK;AAC5C0C,IAAAA,WAAW,EAAEnD,qBAAqB,CAAC,YAAY,CAAC;IAChDsD,KAAK,EAAEtD,qBAAqB,CAACU,KAAAA;GAC9B;AACD4B,EAAAA,KAAK,EAAE;AACLY,IAAAA,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAC;AACpDmD,IAAAA,WAAW,EAAEnD,qBAAqB,CAAC,YAAY,CAAC;IAChDsD,KAAK,EAAEtD,qBAAqB,CAACU,KAAAA;GAC9B;AACDqE,EAAAA,KAAK,EAAE;AACL5B,IAAAA,WAAW,EAAEnD,qBAAqB,CAAC,WAAW,CAAC;IAC/CsD,KAAK,EAAEtD,qBAAqB,CAACU,KAAAA;GAC9B;AACDkC,EAAAA,QAAQ,EAAE;AACRM,IAAAA,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAC;AACpDmD,IAAAA,WAAW,EAAEnD,qBAAqB,CAAC,YAAY,CAAC;IAChDsD,KAAK,EAAEtD,qBAAqB,CAAC,YAAY,CAAA;GAC1C;AACDgJ,EAAAA,OAAO,EAAE;AACP7F,IAAAA,WAAW,EAAEnD,qBAAqB,CAAC,YAAY,CAAC;IAChDsD,KAAK,EAAEtD,qBAAqB,CAACU,KAAAA;AAC/B,GAAA;AACF,CAAC,CAAA;AA4BM,IAAMuI,oBAAoB,GAAG,OAAO,CAAA;AACpC,IAAMC,0BAA0B,GAAG,aAAa,CAAA;AAChD,IAAMC,sBAAsB,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAA;AAEnE,IAAMC,KAAiB,GAAG;AAC/BpE,EAAAA,SAAS,EAAE,EAAE;AACb1B,EAAAA,KAAK,EAAE;AACL+F,IAAAA,SAAS,EAAErJ,qBAAqB,CAAC,WAAW,CAAC;IAC7CsJ,WAAW,EAAEtJ,qBAAqB,CAAC,YAAY,CAAA;GAChD;AACDoD,EAAAA,WAAW,EAAE,CAAC;AACdH,EAAAA,YAAY,EAAE,CAAC;AACfsG,EAAAA,IAAI,EAAE;AACJjF,IAAAA,IAAI,EAAE,EAAA;GACP;AACDkF,EAAAA,cAAc,EAAE;AACd5E,IAAAA,OAAO,EAAE,EAAA;GACV;AACDA,EAAAA,OAAO,EAAE;AACPa,IAAAA,UAAU,EAAE,EAAE;AACdC,IAAAA,QAAQ,EAAE,CAAA;GACX;AACDC,EAAAA,UAAU,EAAE;AACV8D,IAAAA,UAAU,EAAEN,sBAAsB;AAClCvD,IAAAA,QAAQ,EAAEqD,oBAAoB;AAC9BpD,IAAAA,cAAc,EAAEqD,0BAAAA;GACjB;AACDQ,EAAAA,MAAM,EAAEb,gBAAAA;AACV,CAAC;;ACrGM,IAAMc,UAAU,GAAG;AACxBC,EAAAA,mBAAmB,EAAE,CAAC;AACtBC,EAAAA,sBAAsB,EAAE,EAAE;AAC1BC,EAAAA,kBAAkB,EAAE,CAAC;AACrBC,EAAAA,2BAA2B,EAAE,CAAC;AAC9BC,EAAAA,uBAAuB,EAAE,CAAA;AAC3B,CAAC;;ACSM,IAAMC,QAAuB,GAAG;AACrCjI,EAAAA,OAAO,EAAE;IACPkB,eAAe,EAAEvB,MAAM,CAACK,OAAO;IAC/BkI,UAAU,EAAEvI,MAAM,CAACgB,iBAAAA;GACpB;AACDT,EAAAA,MAAM,EAAE;IACNgB,eAAe,EAAEvB,MAAM,CAACO,MAAM;IAC9BgI,UAAU,EAAEvI,MAAM,CAACgB,iBAAAA;GACpB;EACD,SAAS,EAAA;IACPO,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;IAC9CiJ,UAAU,EAAEvI,MAAM,CAACjB,KAAAA;GACpB;AACDuC,EAAAA,YAAY,EAAE,EAAE;AAChBsB,EAAAA,QAAQ,EAAE,IAAA;AACZ,CAAC;;ACIM,IAAM4F,KAAiB,GAAG;AAC/B7F,EAAAA,IAAI,EAAE,EAAE;AACR8F,EAAAA,SAAS,EAAE;AACThH,IAAAA,WAAW,EAAE,CAAC;IACdF,eAAe,EAAEvB,MAAM,CAACgB,iBAAiB;IACzCQ,WAAW,EAAEnD,qBAAqB,CAACe,QAAAA;GACpC;AACDyH,EAAAA,OAAO,EAAE;IACPtF,eAAe,EAAEvB,MAAM,CAACC,OAAO;IAC/BuB,WAAW,EAAExB,MAAM,CAACH,WAAW;AAC/B6I,IAAAA,SAAS,EAAE,CAAC;IACZC,oBAAoB,EAAE3I,MAAM,CAACgB,iBAAAA;GAC9B;AACDL,EAAAA,KAAK,EAAE;IACLY,eAAe,EAAEvB,MAAM,CAACgB,iBAAiB;IACzCQ,WAAW,EAAExB,MAAM,CAACC,OAAAA;GACrB;AACDkC,EAAAA,OAAO,EAAE;IACPZ,eAAe,EAAEvB,MAAM,CAACgB,iBAAiB;IACzCQ,WAAW,EAAExB,MAAM,CAACC,OAAAA;GACrB;AACDgB,EAAAA,QAAQ,EAAE;IACRM,eAAe,EAAEvB,MAAM,CAACiB,QAAQ;IAChCO,WAAW,EAAExB,MAAM,CAACU,SAAAA;GACrB;AACDsD,EAAAA,UAAU,EAAE;AACVC,IAAAA,QAAQ,EAAE,OAAO;AACjBC,IAAAA,cAAc,EAAE,UAAA;AAClB,GAAA;AACF,CAAC;;AC7BM,IAAM0E,gBAAuC,GAAG;AACrDhD,EAAAA,IAAI,EAAE;AACJvC,IAAAA,SAAS,EAAE,EAAE;AACb5B,IAAAA,WAAW,EAAE,CAAC;AACdH,IAAAA,YAAY,EAAE,EAAE;AAChBE,IAAAA,WAAW,EAAE;MACX,SAASxB,EAAAA,MAAM,CAACU,SAAS;MACzBC,KAAK,EAAEX,MAAM,CAACC,OAAO;MACrBkC,OAAO,EAAEnC,MAAM,CAACC,OAAO;MACvByD,MAAM,EAAE1D,MAAM,CAACC,OAAO;MACtBgB,QAAQ,EAAEjB,MAAM,CAACU,SAAAA;KAClB;AACDa,IAAAA,eAAe,EAAE;MACf,SAASvB,EAAAA,MAAM,CAACgB,iBAAiB;MACjCL,KAAK,EAAEX,MAAM,CAAClB,KAAK;MACnBqD,OAAO,EAAEnC,MAAM,CAACC,OAAO;MACvByD,MAAM,EAAE1D,MAAM,CAACC,OAAO;MACtBgB,QAAQ,EAAEjB,MAAM,CAACiB,QAAAA;KAClB;AACDgC,IAAAA,OAAO,EAAE;AACPa,MAAAA,UAAU,EAAE,EAAE;AACdC,MAAAA,QAAQ,EAAE,CAAA;KACX;AACDC,IAAAA,UAAU,EAAE;AACVkC,MAAAA,QAAQ,EAAE,KAAK;AACfjC,MAAAA,QAAQ,EAAE,OAAO;AACjBC,MAAAA,cAAc,EAAE,aAAA;AAClB,KAAA;AACF,GAAA;AACF,CAAC;;AC3DM,IAAM2E,QAAuB,GAAG;AACrCxF,EAAAA,SAAS,EAAE,GAAA;AACb,CAAC;;ACFM,IAAMyF,UAA2B,GAAG;AACzCxF,EAAAA,QAAQ,EAAE,GAAA;AACZ,CAAC;;ACKM,IAAMyF,KAAK,GAAG;AACnB1C,EAAAA,YAAY,EAAZA,YAAY;AACZS,EAAAA,UAAU,EAAVA,UAAU;AACVW,EAAAA,KAAK,EAALA,KAAK;AACLe,EAAAA,KAAK,EAALA,KAAK;AACLR,EAAAA,UAAU,EAAVA,UAAU;AACVa,EAAAA,QAAQ,EAARA,QAAQ;AACRnC,EAAAA,QAAQ,EAARA,QAAQ;AACR4B,EAAAA,QAAQ,EAARA,QAAQ;AACRM,EAAAA,gBAAgB,EAAhBA,gBAAgB;AAChBE,EAAAA,UAAU,EAAVA,UAAAA;AACF,CAAC;;ACCM,IAAMnE,2BAA2B,GAAG,GAAG,CAAA;AACvC,IAAMC,yBAAyB,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AAErD,IAAMC,2BAA2B,GAAG,GAAG,CAAA;AACvC,IAAMC,yBAAyB,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAEjD,IAAMkE,eAAqC,GAAG;AACnD9D,EAAAA,MAAM,EAAE;AACNC,IAAAA,MAAM,EAAE,EAAA;GACT;AACD8D,EAAAA,uBAAuB,EAAE,EAAE;AAC3B7D,EAAAA,MAAM,EAAE;AACNmB,IAAAA,eAAe,EAAE,EAAA;GAClB;AACD2C,EAAAA,IAAI,EAAE;AACJ3C,IAAAA,eAAe,EAAE,EAAA;GAClB;AACDjB,EAAAA,SAAS,EAAE;AACTpE,IAAAA,OAAO,EAAE;AACP+C,MAAAA,QAAQ,EAAEY,2BAA2B;AACrCU,MAAAA,MAAM,EAAET,yBAAAA;KACT;AACDU,IAAAA,OAAO,EAAE;AACPvB,MAAAA,QAAQ,EAAEU,2BAA2B;AACrCY,MAAAA,MAAM,EAAEX,yBAAAA;AACV,KAAA;AACF,GAAA;AACF,CAAC;;ACxBM,IAAMvC,SAAyB,GAAG;EACvCf,YAAY,EAAEwB,OAAO,GAAG,CAAC;AACzB;AACAqG,EAAAA,OAAO,EAAE;IACP,SAAS,EAAA;MACP5H,eAAe,EAAEvB,MAAM,CAACI,WAAAA;KACzB;AACDO,IAAAA,KAAK,EAAE;MACLY,eAAe,EAAEvB,MAAM,CAACI,WAAAA;AAC1B,KAAA;GACD;AACDH,EAAAA,OAAO,EAAE;IACP,SAAS,EAAA;MACPsB,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAA;KACpD;AACDsC,IAAAA,KAAK,EAAE;MACLY,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAA;AACrD,KAAA;GACD;AACD+D,EAAAA,SAAS,EAAE;IACT,SAAS,EAAA;MACPb,eAAe,EAAElD,qBAAqB,CAAC,WAAW,CAAA;KACnD;AACDsC,IAAAA,KAAK,EAAE;MACLY,eAAe,EAAElD,qBAAqB,CAAC,WAAW,CAAA;AACpD,KAAA;GACD;AACDiG,EAAAA,KAAK,EAAE;IACL,SAAS,EAAA;MACP/C,eAAe,EAAElD,qBAAqB,CAACS,KAAAA;KACxC;AACD6B,IAAAA,KAAK,EAAE;MACLY,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAA;AACrD,KAAA;GACD;AACD8C,EAAAA,IAAI,EAAE;IACJ,SAAS,EAAA;MACPI,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAA;KACpD;AACDsC,IAAAA,KAAK,EAAE;MACLY,eAAe,EAAElD,qBAAqB,CAAC,YAAY,CAAA;AACrD,KAAA;GACD;AACD4E,EAAAA,OAAO,EAAE;IACPU,MAAM,EAAEb,OAAO,GAAG,CAAC;IACnBD,KAAK,EAAEC,OAAO,GAAG,CAAA;AACnB,GAAA;AACF,CAAC;;AChED,IAAMsG,uBAAuB,GAAG,UAACC,QAAgB,EAAa;AAC5D,EAAA,IAAIA,QAAQ,IAAI,EAAE,EAAE,OAAO,EAAE,CAAA;AAC7B,EAAA,IAAIA,QAAQ,IAAI,EAAE,EAAE,OAAO,EAAE,CAAA;AAC7B,EAAA,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAEM,IAAMC,8BAA8B,GAAG,UAC5CC,oBAA4B,EAC5BC,qBAA6B,EACJ;AACzB,EAAA,IAAMC,oBAAoB,GAAGL,uBAAuB,CAACG,oBAAoB,CAAC,CAAA;AAC1E,EAAA,IAAMG,qBAAqB,GAAGN,uBAAuB,CAACI,qBAAqB,CAAC,CAAA;EAC5E,OAAO;AACLG,IAAAA,YAAY,EAAE;AACZ/G,MAAAA,QAAQ,EAAE6G,oBAAAA;KACX;AACDG,IAAAA,aAAa,EAAE;AACbhH,MAAAA,QAAQ,EAAE8G,qBAAAA;AACZ,KAAA;GACD,CAAA;AACH,CAAC,CAAA;AAEM,IAAM9B,IAAI,GAAG;AAClBiC,EAAAA,WAAW,EAAE,EAAE;AACf;AACAC,EAAAA,cAAc,EAAE;AACd;AACAC,IAAAA,OAAO,EAAET,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AAC/C;AACAU,IAAAA,OAAO,EAAEV,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AAC/C;AACAW,IAAAA,OAAO,EAAEX,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AAC/C;AACAY,IAAAA,OAAO,EAAEZ,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AAC/C;AACAa,IAAAA,OAAO,EAAEb,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AAE/C,IAAA,mBAAmB,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AAC3D,IAAA,kBAAkB,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AAC1D,IAAA,iBAAiB,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AACzD,IAAA,iBAAiB,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AACzD,IAAA,iBAAiB,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AACzD,IAAA,kBAAkB,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AAC1D,IAAA,mBAAmB,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AAC3D,IAAA,oBAAoB,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AAE5D,IAAA,YAAY,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AACpD,IAAA,aAAa,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AACrDJ,IAAAA,IAAI,EAAEI,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AAC5C,IAAA,YAAY,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAC;AACpD,IAAA,aAAa,EAAEA,8BAA8B,CAAC,EAAE,EAAE,EAAE,CAAA;AACtD,GAAA;AACF,CAAU;;ACpBH,IAAMc,UAA2B,GAAG;AACzC7I,EAAAA,eAAe,EAAE,aAAa;AAC9B0E,EAAAA,KAAK,EAAE,EAAE;AACTd,EAAAA,MAAM,EAAE,EAAE;AACV7D,EAAAA,YAAY,EAAE,EAAE;AAChBG,EAAAA,WAAW,EAAE,CAAC;AACdD,EAAAA,WAAW,EAAE,aAAa;AAC1BwC,EAAAA,UAAU,EAAE;AACVkC,IAAAA,QAAQ,EAAE,KAAK;AACfjC,IAAAA,QAAQ,EAAE,OAAO;AACjBC,IAAAA,cAAc,EAAE,sCAAA;GACjB;AACDV,EAAAA,KAAK,EAAE;AACLC,IAAAA,IAAI,EAAE;AACJ,MAAA,SAAA,EAAS,CAAC;AACV9C,MAAAA,KAAK,EAAE,IAAI;AACX+C,MAAAA,MAAM,EAAE,IAAA;KACT;AACDC,IAAAA,MAAM,EAAE;AACN,MAAA,SAAA,EAAS,CAAC;AACVhD,MAAAA,KAAK,EAAE,IAAI;AACX+C,MAAAA,MAAM,EAAE,IAAA;AACV,KAAA;GACD;AACDzC,EAAAA,QAAQ,EAAE;AACRuC,IAAAA,KAAK,EAAE,CAAC;AACRjC,IAAAA,eAAe,EAAE4B,MAAM,CAAClC,QAAQ,CAAA,SAAA,CAAQ,CAACM,eAAe;AACxDC,IAAAA,WAAW,EAAE2B,MAAM,CAAClC,QAAQ,WAAQ,CAACO,WAAAA;GACtC;EACD,SAAS,EAAA;AACP2C,IAAAA,sBAAsB,EAAEhB,MAAM,CAAQ,SAAA,CAAA,CAAA,SAAA,CAAQ,CAACgB,sBAAAA;GAChD;AACDG,EAAAA,KAAK,EAAE;AACLH,IAAAA,sBAAsB,EAAEhB,MAAM,CAAQ,SAAA,CAAA,CAACmB,KAAK,CAACH,sBAAAA;GAC9C;AACDlE,EAAAA,OAAO,EAAE;IACPkE,sBAAsB,EAAE9F,qBAAqB,CAAC0B,gBAAAA;AAChD,GAAA;AACF,CAAC;;ACnEM,IAAMsK,QAAuB,GAAG;AACrCpH,EAAAA,OAAO,EAAE,WAAW;AACpBsD,EAAAA,eAAe,EAAE,EAAE;AACnB+D,EAAAA,iBAAiB,EAAE,EAAE;EACrB9I,WAAW,EAAExB,MAAM,CAACU,SAAS;AAC7Be,EAAAA,WAAW,EAAE,CAAC;AACd8I,EAAAA,WAAW,EAAE,CAAA;AACf,CAAC;;ACAM,IAAMC,cAAc,GAAG,EAAE,CAAA;AACzB,IAAMC,qBAAqB,GAAG,CAAC,CAAA;AAE/B,IAAMC,iBAAiB,GAAG,GAAG,CAAA;AAC7B,IAAMC,wCAAwC,GAAG,IAAI,CAAA;AACrD,IAAMC,oCAAoC,GAAG,IAAI,CAAA;AACjD,IAAMC,wCAAwC,GAAG,IAAI,CAAA;AACrD,IAAMC,kBAAoD,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;AAEpF,IAAMC,UAA2B,GAAG;AACzCpI,EAAAA,IAAI,EAAE6H,cAAc;AACpBQ,EAAAA,WAAW,EAAEP,qBAAqB;AAClCzK,EAAAA,MAAM,EAAE;IACNyD,IAAI,EAAEzD,MAAM,CAACU,SAAS;IACtBuK,IAAI,EAAEjL,MAAM,CAACC,OAAAA;GACd;AACDqF,EAAAA,SAAS,EAAE;AACT4F,IAAAA,KAAK,EAAER,iBAAiB;AACxBS,IAAAA,4BAA4B,EAAER,wCAAwC;AACtES,IAAAA,wBAAwB,EAAER,oCAAoC;AAC9DS,IAAAA,iCAAiC,EAAE,IAAI;AACvCC,IAAAA,4BAA4B,EAAET,wCAAwC;AACtEC,IAAAA,kBAAkB,EAAlBA,kBAAAA;AACF,GAAA;AACF,CAAC;;ACxCM,IAAMS,cAAc,GAAG,UAAClC,QAAgB,EAAEmC,oBAA4B,EAAA;AAAA,EAAA,OAC3EC,IAAI,CAACC,KAAK,CAACrC,QAAQ,GAAGmC,oBAAoB,CAAC,CAAA;AAAA,CAAA,CAAA;AAY7C;AACO,IAAMG,gCAAgC,GAAG,UAC9CC,gCAAwC,EACxCrC,oBAA4B,EAAA;AAAA,EAAA,IAC5BC,qBAA6B,GAAArN,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAGoN,oBAAoB,CAAA;AAAA,EAAA,IACpDsC,iCAAiC,GAAA1P,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAGyP,gCAAgC,CAAA;EAAA,OAC1C;AAC1BjC,IAAAA,YAAY,EAAE;AACZN,MAAAA,QAAQ,EAAEE,oBAAoB;AAC9BuC,MAAAA,UAAU,EAAEP,cAAc,CAAChC,oBAAoB,EAAEqC,gCAAgC,CAAA;KAClF;AACDhC,IAAAA,aAAa,EAAE;AACbP,MAAAA,QAAQ,EAAEG,qBAAqB;AAC/BsC,MAAAA,UAAU,EAAEP,cAAc,CAAC/B,qBAAqB,EAAEqC,iCAAiC,CAAA;AACrF,KAAA;GACD,CAAA;AAAA,CAAC,CAAA;AAEK,IAAME,sBAAsB,GAAG,UAAC1C,QAAgB,EAAEmC,oBAA4B,EAA2B;AAC9G,EAAA,IAAMQ,MAA2C,GAAG;AAClD3C,IAAAA,QAAQ,EAARA,QAAQ;AACRyC,IAAAA,UAAU,EAAEP,cAAc,CAAClC,QAAQ,EAAEmC,oBAAoB,CAAA;GAC1D,CAAA;EACD,OAAO;AAAE7B,IAAAA,YAAY,EAAEqC,MAAM;AAAEpC,IAAAA,aAAa,EAAEoC,MAAAA;GAAQ,CAAA;AACxD,CAAC,CAAA;AAEM,IAAMC,UAAU,GAAG;AACxBjM,EAAAA,MAAM,EAAE;IACNjB,KAAK,EAAEmN,MAAU,CAACnN,KAAK;IACvB,kBAAkB,EAAEmN,MAAU,CAACpL,eAAe;IAC9C,gBAAgB,EAAEzC,qBAAqB,CAACc,QAAQ;IAChD,aAAa,EAAEd,qBAAqB,CAACa,QAAQ;IAC7CJ,KAAK,EAAEoN,MAAU,CAACpN,KAAK;IACvB,aAAa,EAAEoN,MAAU,CAACpN,KAAK;IAC/BmB,OAAO,EAAEiM,MAAU,CAACjM,OAAO;IAC3B,eAAe,EAAEiM,MAAU,CAAChM,YAAY;IACxCC,MAAM,EAAE+L,MAAU,CAAC/L,MAAM;IACzBE,OAAO,EAAE6L,MAAU,CAAC7L,OAAO;IAC3BE,MAAM,EAAE2L,MAAU,CAAC3L,MAAM;IACzBE,OAAO,EAAEyL,MAAU,CAACzL,OAAAA;GACrB;AACD0L,EAAAA,KAAK,EAAE;AACLC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,UAAU,EAAE;QACV,QAAQ,EAAA;AACNlD,UAAAA,OAAO,EAAE,cAAc;AACvBmD,UAAAA,IAAI,EAAE,cAAA;SACP;AACDC,QAAAA,GAAG,EAAE;AACHpD,UAAAA,OAAO,EAAE,SAAS;AAClBmD,UAAAA,IAAI,EAAE,SAAA;AACR,SAAA;OACD;AACDE,MAAAA,UAAU,EAAE;AACVrD,QAAAA,OAAO,EAAE,GAAG;AACZmD,QAAAA,IAAI,EAAE,GAAA;OACP;AACDG,MAAAA,SAAS,EAAE,QAAQ;AACnBC,MAAAA,OAAO,EAAE;AACP;QACA3C,OAAO,EAAE4B,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QACtD3B,OAAO,EAAE2B,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;QAC3D1B,OAAO,EAAE0B,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;QAC3DzB,OAAO,EAAEyB,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC;QAC3DxB,OAAO,EAAEwB,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;AAEtD;AACA,QAAA,aAAa,EAAEI,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AAC9C,QAAA,YAAY,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AAC7C,QAAA,WAAW,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AAC5C,QAAA,WAAW,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AAC5C,QAAA,WAAW,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AAC5C,QAAA,YAAY,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AAC7C,QAAA,aAAa,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAA;AAC/C,OAAA;KACD;AACD,IAAA,iBAAiB,EAAE;AACjBM,MAAAA,UAAU,EAAE;QACV,QAAQ,EAAA;AACNlD,UAAAA,OAAO,EAAE,kBAAkB;AAC3BmD,UAAAA,IAAI,EAAE,kBAAA;SACP;AACDC,QAAAA,GAAG,EAAE;AACHpD,UAAAA,OAAO,EAAE,iBAAiB;AAC1BmD,UAAAA,IAAI,EAAE,iBAAA;AACR,SAAA;OACD;AACDE,MAAAA,UAAU,EAAE,GAAG;AACfC,MAAAA,SAAS,EAAE,QAAQ;AACnBC,MAAAA,OAAO,EAAE;AACP;QACA,mBAAmB,EAAEf,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QAClE,kBAAkB,EAAEA,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QACjE,iBAAiB,EAAEA,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QAChE,iBAAiB,EAAEA,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QAChE,iBAAiB,EAAEA,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QAChE,kBAAkB,EAAEA,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QACjE,mBAAmB,EAAEA,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QAClE,oBAAoB,EAAEA,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;AAEnE;AACA,QAAA,oBAAoB,EAAEI,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AACrD,QAAA,mBAAmB,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AACpD,QAAA,kBAAkB,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AACnD,QAAA,kBAAkB,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AACnD,QAAA,kBAAkB,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AACnD,QAAA,mBAAmB,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AACpD,QAAA,oBAAoB,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AACrD,QAAA,qBAAqB,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAA;AACvD,OAAA;KACD;AACDY,IAAAA,MAAM,EAAE;AACNN,MAAAA,UAAU,EAAE;AACVE,QAAAA,GAAG,EAAE;AACHpD,UAAAA,OAAO,EAAE,SAAS;AAClBmD,UAAAA,IAAI,EAAE,SAAA;SACP;QACD,QAAQ,EAAA;AACNnD,UAAAA,OAAO,EAAE,iBAAiB;AAC1BmD,UAAAA,IAAI,EAAE,cAAA;AACR,SAAA;OACD;AACDE,MAAAA,UAAU,EAAE;AACVrD,QAAAA,OAAO,EAAE,GAAG;AACZmD,QAAAA,IAAI,EAAE,GAAA;OACP;AACDG,MAAAA,SAAS,EAAE;AACTtD,QAAAA,OAAO,EAAE,QAAQ;AACjBmD,QAAAA,IAAI,EAAE,QAAA;OACP;AACDI,MAAAA,OAAO,EAAE;AACP;QACA,YAAY,EAAEf,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QAC3D,aAAa,EAAEA,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QAC5DzC,IAAI,EAAEyC,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QACnD,YAAY,EAAEA,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;QAC3D,aAAa,EAAEA,gCAAgC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC;AAE5D;AACA,QAAA,SAAS,EAAEI,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AAC1C,QAAA,QAAQ,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AACzC,QAAA,QAAQ,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AACzC,QAAA,QAAQ,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAC;AACzC,QAAA,SAAS,EAAEA,sBAAsB,CAAC,EAAE,EAAE,GAAG,CAAA;AAC3C,OAAA;AACF,KAAA;GACD;AACDa,EAAAA,IAAI,EAAE;AACJ;IACAC,aAAa,EAAEX,MAAU,CAACtL,aAAAA;AAC5B,GAAA;AACF,CAAC;;ACvGM,IAAMkM,MAAmB,GAAG;AACjCC,EAAAA,GAAG,EAAE;IACH,SAAAzO,EAAAA,aAAA,CAAAA,aAAA,CAAA;MACE+N,UAAU,EAAEJ,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACN,UAAU,CAAA,QAAA,CAAO,CAAClD,OAAAA;KACnD8C,EAAAA,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAACxD,IAAI,CAACS,YAAY,CAAA,EAAA,EAAA,EAAA;AACpDN,MAAAA,QAAQ,EAAE,EAAE;AACZ1H,MAAAA,KAAK,EAAEsK,UAAU,CAACjM,MAAM,CAAC,aAAa,CAAC;AACvC;AACAmF,MAAAA,MAAM,EAAE,GAAA;KACT,CAAA;AACD6H,IAAAA,SAAS,EAAE;AACT7H,MAAAA,MAAM,EAAE,GAAA;KACT;AACDW,IAAAA,QAAQ,EAAE;AACRnE,MAAAA,KAAK,EAAEsK,UAAU,CAACjM,MAAM,CAACC,OAAAA;AAC3B,KAAA;GACD;AACDsM,EAAAA,GAAG,EAAE;AACH9F,IAAAA,gBAAgB,EAAE;AAChBnF,MAAAA,YAAY,EAAE,EAAE;MAChBC,eAAe,EAAEvB,MAAM,CAAClB,KAAK;AAC7B4C,MAAAA,MAAM,EAAE;QAAEC,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AAAE6C,QAAAA,OAAO,EAAE,CAAC;AAAEC,QAAAA,OAAO,EAAE,EAAE;AAAEC,QAAAA,OAAO,EAAE,IAAI;AAAEC,QAAAA,MAAM,EAAE,EAAA;AAAG,OAAA;KACnF;AACDuE,IAAAA,MAAM,EAAE;AACNC,MAAAA,eAAe,EAAE,CAAC;AAClB+D,MAAAA,iBAAiB,EAAE,EAAE;MACrB,SAAS,EAAA;QACP/I,eAAe,EAAEvB,MAAM,CAACH,WAAAA;OACzB;AACDoC,MAAAA,OAAO,EAAE;QAAEV,eAAe,EAAElD,qBAAqB,CAACiB,OAAAA;OAAS;AAC3D4C,MAAAA,OAAO,EAAE;QAAEX,eAAe,EAAElD,qBAAqB,CAACiB,OAAAA;OAAS;AAC3DwG,MAAAA,QAAQ,EAAE;QAAEvE,eAAe,EAAElD,qBAAqB,CAACiB,OAAAA;OAAS;AAC5DkH,MAAAA,WAAW,EAAE;QAAEjF,eAAe,EAAElD,qBAAqB,CAACiB,OAAAA;OAAS;AAC/D6C,MAAAA,OAAO,EAAE;QAAEZ,eAAe,EAAElD,qBAAqB,CAACgB,QAAAA;AAAS,OAAA;AAC7D,KAAA;GACD;AACD4N,EAAAA,OAAO,EAAE;AACP3G,IAAAA,MAAM,EAAE;AACNC,MAAAA,eAAe,EAAE,EAAE;AACnB+D,MAAAA,iBAAiB,EAAE,EAAE;MACrB,SAAS,EAAA;QACP/I,eAAe,EAAEvB,MAAM,CAACH,WAAAA;OACzB;AACDiG,MAAAA,QAAQ,EAAE;QACRvE,eAAe,EAAEvB,MAAM,CAACC,OAAO;AAC/B0B,QAAAA,KAAK,EAAEsK,UAAU,CAACjM,MAAM,CAAClB,KAAAA;AAC3B,OAAA;AACF,KAAA;AACF,GAAA;AACF,CAAC;;AC/FM,IAAMoO,OAAqB,GAAG;AACnC;AACAvJ,EAAAA,MAAM,EAAE,sCAAsC;AAC9CwJ,EAAAA,KAAK,EAAE;AACLC,IAAAA,GAAG,EAAE;MACHzL,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AACnB6C,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,OAAO,EAAE,GAAG;AACZC,MAAAA,MAAM,EAAE,EAAA;KACT;AACD4B,IAAAA,MAAM,EAAE;MACNhC,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AACnB6C,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,OAAO,EAAE,EAAE;AACXC,MAAAA,OAAO,EAAE,IAAI;AACbC,MAAAA,MAAM,EAAE,EAAA;KACT;AACDsL,IAAAA,QAAQ,EAAE;MACR1L,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AACnB6C,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,OAAO,EAAE,EAAE;AACXC,MAAAA,OAAO,EAAE,IAAI;AACbC,MAAAA,MAAM,EAAE,EAAA;KACT;AACDuL,IAAAA,UAAU,EAAE;MACV3L,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AACnB6C,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,OAAO,EAAE,EAAE;AACXC,MAAAA,OAAO,EAAE,IAAI;AACbC,MAAAA,MAAM,EAAE,EAAA;KACT;AACDwL,IAAAA,SAAS,EAAE;MACT5L,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AACnB6C,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,OAAO,EAAE,EAAE;AACXC,MAAAA,OAAO,EAAE,IAAI;AACbC,MAAAA,MAAM,EAAE,EAAA;AACV,KAAA;GACD;AACDyL,EAAAA,UAAU,EAAE;AACVC,IAAAA,IAAI,EAAE;MACJ9L,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AACnB6C,MAAAA,OAAO,EAAE,EAAE;AACXC,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,OAAO,EAAE,IAAI;AACbC,MAAAA,MAAM,EAAE,EAAA;KACT;AACD2L,IAAAA,KAAK,EAAE;MACL/L,KAAK,EAAE3B,MAAM,CAACjB,KAAK;MACnB6C,OAAO,EAAE,CAAC,EAAE;AACZC,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,OAAO,EAAE,IAAI;AACbC,MAAAA,MAAM,EAAE,EAAA;AACV,KAAA;GACD;AACD4L,EAAAA,KAAK,EAAE;IACLhM,KAAK,EAAE3B,MAAM,CAACjB,KAAK;AACnB6C,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,OAAO,EAAE,EAAE;AACXC,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,MAAM,EAAE,EAAA;AACV,GAAA;AACF,CAAC;;ACnEM,IAAM6L,uBAAuB,GAAGvP,qBAAqB,CAACgB,QAAQ,CAAA;AAC9D,IAAMwO,kBAAkB,GAAGxP,qBAAqB,CAACe,QAAQ,CAAA;AAEzD,IAAM0O,QAAuB,GAAG;AACrCvM,EAAAA,eAAe,EAAEqM,uBAAuB;AACxCG,EAAAA,UAAU,EAAEF,kBAAkB;AAC9BG,EAAAA,iBAAiB,EAAE,IAAI;AACvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,GAAG,EAAE;AACHvL,MAAAA,IAAI,EAAE,CAAC;AACPrB,MAAAA,YAAY,EAAE,CAAA;KACf;AACD6M,IAAAA,MAAM,EAAE;AACNxL,MAAAA,IAAI,EAAE,EAAE;AACRrB,MAAAA,YAAY,EAAE,EAAA;KACf;AACD8M,IAAAA,MAAM,EAAE;AACNzL,MAAAA,IAAI,EAAE,EAAE;AACRrB,MAAAA,YAAY,EAAE,CAAA;AAChB,KAAA;AACF,GAAA;AACF,CAAC;;ACRM,IAAM+M,GAAa,GAAG;AAC3B/M,EAAAA,YAAY,EAAE,EAAE;AAChB2B,EAAAA,OAAO,EAAE,UAAU;AACnBsD,EAAAA,eAAe,EAAE,CAAC;AAClB+D,EAAAA,iBAAiB,EAAE,EAAE;AACrBrK,EAAAA,OAAO,EAAE;AACPgL,IAAAA,IAAI,EAAE;MACJ1J,eAAe,EAAElD,qBAAqB,CAAC0B,gBAAgB;AACvD0B,MAAAA,WAAW,EAAE,CAAC;MACdD,WAAW,EAAExB,MAAM,CAACH,WAAAA;KACrB;AACDyO,IAAAA,OAAO,EAAE;MACP/M,eAAe,EAAEvB,MAAM,CAACH,WAAW;AACnC4B,MAAAA,WAAW,EAAE,CAAC;MACdD,WAAW,EAAExB,MAAM,CAACC,OAAAA;AACtB,KAAA;GACD;EACD,SAAS,EAAA;AACPgL,IAAAA,IAAI,EAAE;MACJ1J,eAAe,EAAElD,qBAAqB,CAACiB,OAAO;AAC9CmC,MAAAA,WAAW,EAAE,CAAC;MACdD,WAAW,EAAExB,MAAM,CAACH,WAAAA;KACrB;AACDyO,IAAAA,OAAO,EAAE;MACP/M,eAAe,EAAEvB,MAAM,CAACH,WAAW;AACnC4B,MAAAA,WAAW,EAAE,CAAC;MACdD,WAAW,EAAExB,MAAM,CAACjB,KAAAA;AACtB,KAAA;GACD;AACDwB,EAAAA,MAAM,EAAE;AACN0K,IAAAA,IAAI,EAAE;MACJ1J,eAAe,EAAEvB,MAAM,CAACO,MAAM;AAC9BkB,MAAAA,WAAW,EAAE,CAAC;MACdD,WAAW,EAAExB,MAAM,CAACH,WAAAA;KACrB;AACDyO,IAAAA,OAAO,EAAE;MACP/M,eAAe,EAAEvB,MAAM,CAACH,WAAW;AACnC4B,MAAAA,WAAW,EAAE,CAAC;MACdD,WAAW,EAAExB,MAAM,CAACO,MAAAA;AACtB,KAAA;GACD;AACDgO,EAAAA,IAAI,EAAE;AACJtD,IAAAA,IAAI,EAAE;MACJ1J,eAAe,EAAEvB,MAAM,CAACS,OAAO;AAC/BgB,MAAAA,WAAW,EAAE,CAAC;MACdD,WAAW,EAAExB,MAAM,CAACH,WAAAA;KACrB;AACDyO,IAAAA,OAAO,EAAE;MACP/M,eAAe,EAAEvB,MAAM,CAACH,WAAW;AACnC4B,MAAAA,WAAW,EAAE,CAAC;MACdD,WAAW,EAAExB,MAAM,CAACS,OAAAA;AACtB,KAAA;AACF,GAAA;AACF,CAAC;;ACpDM,IAAM+N,OAAqB,GAAG;EACnCjN,eAAe,EAAEvF,QAAQ,CAACgE,MAAM,CAACjB,KAAK,EAAE,IAAI,CAAC;AAC7CuC,EAAAA,YAAY,EAAE,EAAE;AAChBQ,EAAAA,OAAO,EAAE,IAAI;AACbwI,EAAAA,iBAAiB,EAAE,EAAE;AACrB/D,EAAAA,eAAe,EAAE,CAAC;AAClBkI,EAAAA,eAAe,EAAE,CAAC;AAClBlL,EAAAA,QAAQ,EAAE,GAAG;AACbS,EAAAA,UAAU,EAAE;IACV,IAAI,EAAA;AACFC,MAAAA,QAAQ,EAAE,OAAO;AACjBC,MAAAA,cAAc,EAAE,UAAU;AAC1BgC,MAAAA,QAAQ,EAAE,SAAA;KACX;AACDwI,IAAAA,GAAG,EAAE;AACHzK,MAAAA,QAAQ,EAAE,MAAM;AAChBC,MAAAA,cAAc,EAAE,UAAU;AAC1BgC,MAAAA,QAAQ,EAAE,SAAA;AACZ,KAAA;GACD;AACDyI,EAAAA,KAAK,EAAE;AACL1I,IAAAA,KAAK,EAAE,EAAE;AACTd,IAAAA,MAAM,EAAE,CAAA;AACV,GAAA;AACF,CAAC;;ACnCM,IAAMyJ,aAAiC,GAAG;AAC/ClL,EAAAA,MAAM,EAAE;AACNkE,IAAAA,IAAI,EAAE;MACJrG,eAAe,EAAEvB,MAAM,CAACC,OAAO;MAC/B4O,SAAS,EAAE7O,MAAM,CAAClB,KAAAA;AACpB,KAAA;GACD;AACDgQ,EAAAA,IAAI,EAAE;AACJlH,IAAAA,IAAI,EAAE;MACJrG,eAAe,EAAElD,qBAAqB,CAACyB,UAAU;MACjD+O,SAAS,EAAE7O,MAAM,CAACC,OAAAA;AACpB,KAAA;GACD;EACD,SAAS,EAAA;AACP2H,IAAAA,IAAI,EAAE;MACJrG,eAAe,EAAEvB,MAAM,CAACiB,QAAQ;MAChC4N,SAAS,EAAE7O,MAAM,CAACY,aAAAA;AACpB,KAAA;AACF,GAAA;AACF,CAAC;;ACRD,IAAMmO,WAAW,GAAG;AAClBC,EAAAA,MAAM,EAAE;AACNvL,IAAAA,IAAI,EAAE,CAAC;AACPoC,IAAAA,KAAK,EAAE,GAAG;AACVlC,IAAAA,MAAM,EAAE,GAAG;AACXd,IAAAA,KAAK,EAAE,IAAI;AACXoM,IAAAA,IAAI,EAAE,IAAA;GACP;AACDC,EAAAA,GAAG,EAAE;AACHC,IAAAA,eAAe,EAAE,kBAAkB;AACnCC,IAAAA,gBAAgB,EAAE,kBAAkB;AACpCC,IAAAA,eAAe,EAAE,mBAAmB;AACpCC,IAAAA,cAAc,EAAE,mBAAA;GACjB;AACDC,EAAAA,GAAG,EAAE;AACHJ,IAAAA,eAAe,EAAE,kBAAkB;AACnCC,IAAAA,gBAAgB,EAAE,kBAAkB;AACpCC,IAAAA,eAAe,EAAE,mBAAmB;AACpCC,IAAAA,cAAc,EAAE,mBAAA;AAClB,GAAA;AACF,CAAC,CAAA;;AAED;AACA;AACO,IAAME,KAAK,GAAG;AACnB1M,EAAAA,OAAO,EAAPA,OAAO;EACP2M,UAAU,EAAE,SAAAA,UAAAA,CAACC,UAAkB,EAAA;IAAA,OAAa5M,OAAO,GAAG4M,UAAU,CAAA;AAAA,GAAA;AAChE1P,EAAAA,MAAM,EAANA,MAAM;AACN2P,EAAAA,QAAQ,EAAE;AAAEpR,IAAAA,SAAS,EAAEF,qBAAAA;GAAuB;AAC9CqE,EAAAA,MAAM,EAANA,MAAM;AACNqM,EAAAA,WAAW,EAAXA,WAAW;AACX5L,EAAAA,MAAM,EAANA,MAAM;AACNJ,EAAAA,WAAW,EAAXA,WAAW;AACX2B,EAAAA,IAAI,EAAJA,IAAI;AACJM,EAAAA,SAAS,EAATA,SAAS;AACTS,EAAAA,OAAO,EAAPA,OAAO;AACPU,EAAAA,WAAW,EAAXA,WAAW;AACXC,EAAAA,eAAe,EAAfA,eAAe;AACf2C,EAAAA,KAAK,EAALA,KAAK;AACL1G,EAAAA,SAAS,EAATA,SAAS;AACTuF,EAAAA,IAAI,EAAJA,IAAI;AACJwC,EAAAA,UAAU,EAAVA,UAAU;AACVC,EAAAA,QAAQ,EAARA,QAAQ;AACRU,EAAAA,UAAU,EAAVA,UAAU;AACV+B,EAAAA,MAAM,EAANA,MAAM;AACNI,EAAAA,OAAO,EAAPA,OAAO;AACPY,EAAAA,QAAQ,EAARA,QAAQ;AACRO,EAAAA,GAAG,EAAHA,GAAG;AACHG,EAAAA,OAAO,EAAPA,OAAO;AACPvC,EAAAA,UAAU,EAAVA,UAAU;AACVjD,EAAAA,eAAe,EAAfA,eAAe;AACf3H,EAAAA,UAAU,EAAVA,UAAU;AACVuN,EAAAA,aAAa,EAAbA,aAAAA;AACF;;ACxEO,IAAMgB,gBAAgB,gBAAGC,aAAa,CAAwB;AACnEC,EAAAA,IAAI,EAAEC,KAAAA;AACR,CAAC,CAAC,CAAA;AAEWC,IAAAA,QAAQ,GAAG,YAAA;EAAA,OAA6BC,UAAU,CAACL,gBAAgB,CAAC,CAAA;AAAA;;ACV1E,IAAMM,WAAW,GAAG,UAACC,SAAmB,EAAEC,SAAmB,EAAEC,SAAmB,EAA8B;AACrH,EAAA,IAAID,SAAS,EAAE;AACb,IAAA,OAAO,SAAS,CAAA;AAClB,GAAA;AAEA,EAAA,IAAIC,SAAS,EAAE;AACb,IAAA,OAAO,SAAS,CAAA;AAClB,GAAA;AAEA,EAAA,IAAIF,SAAS,EAAE;AACb,IAAA,OAAO,SAAS,CAAA;AAClB,GAAA;AAEA,EAAA,OAAO,SAAS,CAAA;AAClB,CAAC;;ACbM,IAAMG,YAAY,GAAG,UAC1BC,OAA8B,EAC9BC,aAA0C,EAChB;EAC1B,IAAIA,aAAa,KAAK,MAAM,EAAE;AAC5B,IAAA,OAAO,qBAAqB,CAAA;AAC9B,GAAA;EACA,IAAIA,aAAa,KAAK,MAAM,EAAE;AAC5B,IAAA,OAAO,qBAAqB,CAAA;AAC9B,GAAA;AAEA,EAAA,OAAOD,OAAO,CAAA;AAChB,CAAC;;ACCM,SAASE,wBAAwBA,CAAA7S,IAAA,EAOK;AAAA,EAAA,IAN3CuS,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTC,SAAS,GAAAxS,IAAA,CAATwS,SAAS;IACTC,SAAS,GAAAzS,IAAA,CAATyS,SAAS;IACTE,OAAO,GAAA3S,IAAA,CAAP2S,OAAO;IAAAG,kBAAA,GAAA9S,IAAA,CACP4S,aAAa;AAAbA,IAAAA,aAAa,GAAAE,kBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,kBAAA;IACtBC,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;AAER,EAAA,IAAMnB,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EACxB,IAAMY,KAAK,GAAGV,WAAW,CAACC,SAAS,EAAEC,SAAS,EAAEC,SAAS,CAAC,CAAA;EAE1D,IAAIQ,CAAAA,OAAAA,CAAAA,GAAAA,CAAAA,QAAAA,KAAAA,YAAAA,KAAWL,aAAa,KAAK,MAAM,IAAID,OAAO,KAAK,SAAS,EAAE;AAChE,IAAA,MAAM,IAAIO,KAAK,CAAA,gBAAA,CAAAnU,MAAA,CAAkB6T,aAAa,0CAAuC,CAAC,CAAA;AACxF,GAAA;AAEA,EAAA,IAAQxO,UAAU,GAAKwN,KAAK,CAACM,IAAI,CAACzO,UAAU,CAACkP,OAAO,CAAC,CAACK,KAAK,CAAC,CAApD5O,UAAU,CAAA;EAElB,IAAM+O,eAAe,GAAG/O,UAAU,GAC9B;AACEgP,IAAAA,SAAS,EAAE,CAAC;AAAEhP,MAAAA,UAAU,EAAVA,UAAAA;KAAY,CAAA;GAC3B,GACD,EAAE,CAAA;AAEN,EAAA,IAAMiP,SAAS,GAAGX,YAAY,CAACC,OAAO,EAAEC,aAAa,CAAC,CAAA;EAEtD,oBACEU,GAAA,CAAC9V,IAAI,EAAA;AACH+V,IAAAA,IAAI,EAAE;AAAEC,MAAAA,KAAK,EAAEL,eAAAA;KAAkB;AACjCM,IAAAA,QAAQ,EAAE;AAAED,MAAAA,KAAK,EAAEL,eAAAA;KAAkB;AACrCO,IAAAA,IAAI,EAAE;AACJF,MAAAA,KAAK,EAAE;QACLJ,SAAS,EAAA,aAAA,CAAArU,MAAA,CAAgBqF,UAAU,EAAA,KAAA,CAAA;AACrC,OAAA;KACA;AACFiE,IAAAA,KAAK,EAAC,MAAM;IACZ1E,eAAe,EAAA,kBAAA,CAAA5E,MAAA,CAAqBsU,SAAS,OAAAtU,MAAA,CAAIiU,KAAK,EAAmB,kBAAA,CAAA;AACzEtP,IAAAA,YAAY,EAAC,8BAA8B;IAC3CE,WAAW,EAAA,kBAAA,CAAA7E,MAAA,CAAqBsU,SAAS,OAAAtU,MAAA,CAAIiU,KAAK,EAAe,cAAA,CAAA;IACjEnP,WAAW,EAAA,kBAAA,CAAA9E,MAAA,CAAqBsU,SAAS,OAAAtU,MAAA,CAAIiU,KAAK,EAAe,cAAA,CAAA;IACjElP,MAAM,EAAA,kBAAA,CAAA/E,MAAA,CAAqBsU,SAAS,OAAAtU,MAAA,CAAIiU,KAAK,EAAU,SAAA,CAAA;AACvDW,IAAAA,QAAQ,EAAE,CAAE;AAAAZ,IAAAA,QAAA,EAEXA,QAAAA;AAAQ,GACL,CAAC,CAAA;AAEX;;ACpDO,SAASa,kBAAkBA,CAAA5T,IAAA,EAA4D;AAAA,EAAA,IAAzD2S,OAAO,GAAA3S,IAAA,CAAP2S,OAAO;IAAEI,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;EACpD,oBACEO,GAAA,CAAC9V,IAAI,EAAA;AACHkG,IAAAA,YAAY,EAAC,8BAA8B;AAC3CmQ,IAAAA,WAAW,EAAC,OAAO;AACnBhQ,IAAAA,WAAW,EAAA9E,kBAAAA,CAAAA,MAAA,CAAqB4T,OAAO,EAAwB,uBAAA,CAAA;AAC/D/O,IAAAA,WAAW,EAAA7E,kBAAAA,CAAAA,MAAA,CAAqB4T,OAAO,EAAwB,uBAAA,CAAA;AAC/DhP,IAAAA,eAAe,EAAA5E,kBAAAA,CAAAA,MAAA,CAAqB4T,OAAO,EAA4B,2BAAA,CAAA;AACvE7O,IAAAA,MAAM,EAAA/E,kBAAAA,CAAAA,MAAA,CAAqB4T,OAAO,EAAmB,kBAAA,CAAA;AACrDgB,IAAAA,QAAQ,EAAE,CAAE;AAAAZ,IAAAA,QAAA,EAEXA,QAAAA;AAAQ,GACL,CAAC,CAAA;AAEX;;;ACFO,SAASe,UAAUA,CAAA9T,IAAA,EASK;AAAA,EAAA,IAR7B+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAAgB,YAAA,GAAA/T,IAAA,CACR2S,OAAO;AAAPA,IAAAA,OAAO,GAAAoB,YAAA,KAAG,KAAA,CAAA,GAAA,WAAW,GAAAA,YAAA;IAAAjB,kBAAA,GAAA9S,IAAA,CACrB4S,aAAa;AAAbA,IAAAA,aAAa,GAAAE,kBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,kBAAA;IACtBzP,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACRkP,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTC,SAAS,GAAAxS,IAAA,CAATwS,SAAS;IACTC,SAAS,GAAAzS,IAAA,CAATyS,SAAS;AACNuB,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;EAER,oBACEZ,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,KAAKsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAAjB,IAAAA,QAAA,EACZ1P,QAAQ,gBACPiQ,GAAA,CAACM,kBAAkB,EAAA;AAACjB,MAAAA,OAAO,EAAEA,OAAQ;AAAAI,MAAAA,QAAA,EAAEA,QAAAA;AAAQ,KAAqB,CAAC,gBAErEO,GAAA,CAACT,wBAAwB,EAAA;AACvBF,MAAAA,OAAO,EAAEA,OAAQ;AACjBC,MAAAA,aAAa,EAAEA,aAAc;AAC7BL,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAU;AACrBD,MAAAA,SAAS,EAAEA,SAAU;AAAAO,MAAAA,QAAA,EAEpBA,QAAAA;KACuB,CAAA;AAC3B,GAAA,CACG,CAAC,CAAA;AAEX,CAAA;AAaA,IAAMoB,mBAAmB,gBAAGC,UAAU,CACpC,UAAAnU,KAAA,EAeEoU,GAAG,EACc;AAAA,EAAA,IAdftB,SAAQ,GAAA9S,KAAA,CAAR8S,QAAQ;IAAAuB,aAAA,GAAArU,KAAA,CACR0S,OAAO;AAAPA,IAAAA,OAAO,GAAA2B,aAAA,KAAG,KAAA,CAAA,GAAA,WAAW,GAAAA,aAAA;IAAAC,mBAAA,GAAAtU,KAAA,CACrB2S,aAAa;AAAbA,IAAAA,aAAa,GAAA2B,mBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,mBAAA;IACtBlR,QAAQ,GAAApD,KAAA,CAARoD,QAAQ;IACRmR,MAAM,GAAAvU,KAAA,CAANuU,MAAM;IACNC,IAAI,GAAAxU,KAAA,CAAJwU,IAAI;IACJC,SAAS,GAAAzU,KAAA,CAATyU,SAAS;IAAAC,qBAAA,GAAA1U,KAAA,CACT2U,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,qBAAA;IAC5BE,iBAAiB,GAAA5U,KAAA,CAAjB4U,iBAAiB;IACjBC,iBAAiB,GAAA7U,KAAA,CAAjB6U,iBAAiB;IACjBC,iBAAiB,GAAA9U,KAAA,CAAjB8U,iBAAiB;IACjBC,OAAO,GAAA/U,KAAA,CAAP+U,OAAO,CAAA;EAIT,oBACE1B,GAAA,CAAC1V,SAAS,EAAA;AACRyW,IAAAA,GAAG,EAAEA,GAAI;AACTO,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCvR,IAAAA,QAAQ,EAAEA,QAAS;AACnBmR,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,SAAS,EAAEA,SAAU;AACrBrM,IAAAA,KAAK,EAAC,MAAM;AACZ2M,IAAAA,OAAO,EAAEA,OAAQ;IAAAjC,QAAA,EAEhB,SAAAA,QAAAA,CAAA1S,KAAA,EAAA;AAAA,MAAA,IAAGkS,SAAS,GAAAlS,KAAA,CAATkS,SAAS;QAAEC,SAAS,GAAAnS,KAAA,CAATmS,SAAS;QAAEC,SAAS,GAAApS,KAAA,CAAToS,SAAS,CAAA;MAAA,oBACjCa,GAAA,CAACQ,UAAU,EAAA;AACTnB,QAAAA,OAAO,EAAEA,OAAQ;AACjBC,QAAAA,aAAa,EAAEA,aAAc;AAC7BvP,QAAAA,QAAQ,EAAEA,QAAS;QACnBkP,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;QAC1CpC,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;QAC1CvC,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;AAAA/B,QAAAA,QAAA,EAEzCA,SAAAA;AAAQ,OACC,CAAC,CAAA;AAAA,KAAA;AACd,GACQ,CAAC,CAAA;AAEhB,CACF,CAAC,CAAA;AAEDe,UAAU,CAAClW,SAAS,GAAGuW,mBAAmB;;ACnDnC,IAAMc,KAAK,GAAGC,QAAkD;AAKhE,IAAMC,MAAM,GAAGC,SAAoD;AAKnE,IAAMC,MAAM,GAAGC,SAAoD;AAkBnE,IAAMC,MAAM,GAAGC;;AC/Ef,SAASC,6BAA6BA,CAC3CC,sBAA4D,EAC5DC,WAA+B,EAC/BC,YAAiC,EACI;AACrC;AACA,EAAA,IAAI,CAACF,sBAAsB,EAAE,OAAOE,YAAY,CAAA;AAEhD,EAAA,IAAIF,sBAAsB,KAAK,IAAI,EAAE,OAAOC,WAAW,CAAA;;AAEvD;AACA,EAAA,IAAME,IAAI,GAAGjW,MAAM,CAACiW,IAAI,CAACH,sBAAsB,CAA6B,CAAA;AAE5E,EAAA,IAAIG,IAAI,CAACrX,MAAM,KAAK,CAAC,EAAE,OAAOoX,YAAY,CAAA;EAE1C,IAAME,eAAe,GAAG,EAA+C,CAAA;AAEvED,EAAAA,IAAI,CAACE,OAAO,CAAC,UAACC,cAAc,EAAK;IAC/BF,eAAe,CAACE,cAAc,CAAC,GAAGN,sBAAsB,CAACM,cAAc,CAAC,GAAGL,WAAW,GAAGC,YAAY,CAAA;AACvG,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOE,eAAe,CAAA;AACxB;;AC3BO,SAASnF,IAAIA,CAACsF,OAAe,EAAQ;AAC1C,EAAA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;AACzCC,IAAAA,OAAO,CAAC1F,IAAI,CAACsF,OAAO,CAAC,CAAA;AACvB,GAAA;AACF,CAAA;AAEO,SAASK,iBAAiBA,CAACC,MAAc,EAAEC,WAAmB,EAAEC,SAAkB,EAAQ;EAC/F,IAAMC,cAAc,GAAGD,SAAS,KAAKhY,SAAS,GAAG,EAAE,GAAAM,eAAAA,CAAAA,MAAA,CAAmB0X,SAAS,EAAU,UAAA,CAAA,CAAA;AAEzF9F,EAAAA,IAAI,CAAA5R,mBAAAA,CAAAA,MAAA,CAAqBwX,MAAM,EAAAxX,IAAAA,CAAAA,CAAAA,MAAA,CAAKyX,WAAW,EAAAzX,gBAAAA,CAAAA,CAAAA,MAAA,CAAiB2X,cAAc,MAAG,CAAC,CAAA;AACpF,CAAA;AAEO,SAASC,qBAAqBA,CAACC,SAAiB,EAAEJ,WAAmB,EAAEC,SAAkB,EAAQ;EACtGH,iBAAiB,CAAA,GAAA,CAAAvX,MAAA,CAAK6X,SAAS,UAAOJ,WAAW,EAAEC,SAAS,CAAC,CAAA;AAC/D;;ACJO,SAASI,2CAA2CA,CAAA7W,IAAA,EAMf;AAAA,EAAA,IAL1C8W,IAAI,GAAA9W,IAAA,CAAJ8W,IAAI;IACJnE,OAAO,GAAA3S,IAAA,CAAP2S,OAAO;IACPoE,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACVxE,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTC,SAAS,GAAAxS,IAAA,CAATwS,SAAS,CAAA;EAET,IAAIuE,UAAU,EAAE,OAAO,8CAA8C,CAAA;EAErE,IAAMC,OAAO,kBAAAjY,MAAA,CAAkB+X,IAAI,EAAA/X,GAAAA,CAAAA,CAAAA,MAAA,CAAI4T,OAAO,CAAE,CAAA;EAEhD,IAAIJ,SAAS,IAAIC,SAAS,EAAE;IAC1B,OAAAzT,EAAAA,CAAAA,MAAA,CAAUiY,OAAO,EAAA,uBAAA,CAAA,CAAA;AACnB,GAAA;EAEA,OAAAjY,EAAAA,CAAAA,MAAA,CAAUiY,OAAO,EAAA,kBAAA,CAAA,CAAA;AACnB;;ACRO,SAASC,mBAAiBA,CAAAjX,IAAA,EAQK;AAAA,EAAA,IAPpCqD,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACR6T,cAAc,GAAAlX,IAAA,CAAdkX,cAAc;IACdnE,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRR,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTC,SAAS,GAAAxS,IAAA,CAATwS,SAAS;IACTG,OAAO,GAAA3S,IAAA,CAAP2S,OAAO;IACPmE,IAAI,GAAA9W,IAAA,CAAJ8W,IAAI,CAAA;EAEJ,IAAMK,sBAAsB,GAAGN,2CAA2C,CAAC;AACzEC,IAAAA,IAAI,EAAJA,IAAI;AACJnE,IAAAA,OAAO,EAAPA,OAAO;IACPoE,UAAU,EAAE,CAAC,CAAC1T,QAAQ;AACtBkP,IAAAA,SAAS,EAATA,SAAS;AACTC,IAAAA,SAAS,EAATA,SAAAA;AACF,GAAC,CAAC,CAAA;AACF,EAAA,IAAM4E,EAAE,GAAGC,KAAK,EAAE,CAAA;EAClB,IAAMC,MAAM,GAAGF,EAAE,CAAC;AAChB1T,IAAAA,YAAY,EAAE,0BAA0B;AACxCC,IAAAA,eAAe,EAAEwT,sBAAAA;AACnB,GAAC,CAAC,CAAA;AACF,EAAA,oBAAO7D,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;IAACgW,KAAK,EAAEnQ,QAAQ,GAAG,CAACiU,MAAM,CAAC,GAAG,CAACA,MAAM,EAAEJ,cAAc,CAAE;AAAAnE,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AACzG;;ACxCO,IAAMyE,eAAe,GAAG;AAC7B;AACF;AACA;AACEC,EAAAA,IAAI,EAAE,CAAC;AACP;AACF;AACA;AACEC,EAAAA,KAAK,EAAE,GAAG;AACV;AACF;AACA;AACEC,EAAAA,MAAM,EAAE,GAAG;AACX;AACF;AACA;AACEC,EAAAA,KAAK,EAAE,IAAI;AACX;AACF;AACA;AACEC,EAAAA,IAAI,EAAE,IAAA;AACR,EAAC;AAEM,IAAMC,kBAAkB,GAAG;AAChC;AACF;AACA;AACEL,EAAAA,IAAI,EAAED,eAAe,CAACE,KAAK,GAAG,CAAC;AAC/B;AACF;AACA;AACEA,EAAAA,KAAK,EAAEF,eAAe,CAACG,MAAM,GAAG,CAAC;AACjC;AACF;AACA;AACEA,EAAAA,MAAM,EAAEH,eAAe,CAACI,KAAK,GAAG,CAAC;AACjC;AACF;AACA;AACEA,EAAAA,KAAK,EAAEJ,eAAe,CAACK,IAAI,GAAG,CAAA;AAChC,EAAC;AAKWE,IAAAA,sBAAsB,0BAAtBA,sBAAsB,EAAA;EAAtBA,sBAAsB,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;EAAtBA,sBAAsB,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAtBA,sBAAsB,CAAA,QAAA,CAAA,GAAA,QAAA,CAAA;EAAtBA,sBAAsB,CAAA,OAAA,CAAA,GAAA,OAAA,CAAA;EAAtBA,sBAAsB,CAAA,MAAA,CAAA,GAAA,MAAA,CAAA;AAAA,EAAA,OAAtBA,sBAAsB,CAAA;AAAA,CAAA,CAAA,EAAA;;AC7C3B,IAAMC,gBAAgB,GAAG,CAC9B,OAAO,EACP,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,aAAa,EACb,SAAS,EACT,eAAe,EACf,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,CACD;;ACXH,SAASC,6BAA6BA,CAAC9X,SAA0B,EAAU;EAChF,OAAApB,kBAAAA,CAAAA,MAAA,CAA0BoB,SAAS,CAAA,CAAA;AACrC;;ACCO,SAAS+X,sBAAsBA,CAAC/X,SAAkB,EAAgC;EACvF,IAAI,CAACA,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ,EAAE,OAAO,KAAK,CAAA;AAE7D,EAAA,OAAQ6X,gBAAgB,CAAuBG,QAAQ,CAAChY,SAAS,CAAC,CAAA;AACpE,CAAA;AAEO,SAASiY,uBAAuBA,CAACjY,SAA8C,EAAuB;AAC3G,EAAA,IAAI,CAACA,SAAS,EAAE,OAAO1B,SAAS,CAAA;AAEhC,EAAA,IAAI,OAAO0B,SAAS,KAAK,QAAQ,EAAE;AACjC,IAAA,IAAI+X,sBAAsB,CAAC/X,SAAS,CAAC,EAAE;MACrC,OAAO8X,6BAA6B,CAAC9X,SAAS,CAAC,CAAA;AACjD,KAAA;AACF,GAAC,MAAM,IAAIkY,OAAA,CAAOlY,SAAS,CAAA,KAAK,QAAQ,EAAE;AACxC,IAAA,OAAOP,MAAM,CAACC,WAAW,CACvBD,MAAM,CAACE,OAAO,CAACK,SAAS,CAAC,CAACC,GAAG,CAAC,UAAAJ,IAAA,EAAA;AAAA,MAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAEgW,QAAAA,cAAc,GAAA/V,KAAA,CAAA,CAAA,CAAA;AAAEqY,QAAAA,KAAK,GAAArY,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA,MAAA,OAAM,CACzD+V,cAAc,EACdoC,uBAAuB,CAACE,KAA4C,CAAC,CACtE,CAAA;AAAA,KAAA,CACH,CAAC,CAAA;AACH,GAAA;AAEA,EAAA,OAAOnY,SAAS,CAAA;AAClB;;AC1BA,IAAMoY,cAAc,GAAG,UAACzB,IAAoB,EAAA;AAAA,EAAA,OAC1CA,IAAI,CAAC0B,UAAU,CAAC,QAAQ,CAAC,IAAI1B,IAAI,CAAC0B,UAAU,CAAC,SAAS,CAAC,CAAA;AAAA,CAAA,CAAA;AAEzD,IAAMC,oBAAoB,GAAG,UAAC3B,IAAoB,EAAA;AAAA,EAAA,OAChDA,IAAI,CAAC0B,UAAU,CAAC,gBAAgB,CAAC,IAAI1B,IAAI,CAAC0B,UAAU,CAAC,eAAe,CAAC,CAAA;AAAA,CAAA,CAAA;AAIhE,IAAME,mBAAmB,GAAG,UAAC5B,IAAoB,EAAuB;AAC7E,EAAA,IAAI2B,oBAAoB,CAAC3B,IAAI,CAAC,EAAE,OAAO,iBAAiB,CAAA;AACxD,EAAA,IAAIyB,cAAc,CAACzB,IAAI,CAAC,EAAE,OAAO,UAAU,CAAA;AAC3C,EAAA,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AAEM,IAAM6B,oCAAoC,GAAG,UAClD7B,IAAsB,EACtB8B,yBAAkD,EAC7B;AACrB,EAAA,IAAI9B,IAAI,EAAE,OAAO4B,mBAAmB,CAAC5B,IAAI,CAAC,CAAA;AAC1C,EAAA,IAAI8B,yBAAyB,IAAI,IAAI,EAAE,OAAOA,yBAAyB,CAAA;AACvE,EAAA,MAAM,IAAI1F,KAAK,CAAC,sEAAsE,CAAC,CAAA;AACzF,CAAC;;;ACkBD,IAAM2F,uBAAuB,gBAAG5G,aAAa,CAA0B,IAAI,CAAC,CAAA;AAC5E,IAAM6G,qBAAqB,gBAAG7G,aAAa,CAAkC,IAAI,CAAC,CAAA;AAClF,IAAM8G,sBAAsB,gBAAG9G,aAAa,CAA0B,OAAO,CAAC,CAAA;AAEvE,SAAS+G,kBAAkBA,GAA4B;EAC5D,OAAO3G,UAAU,CAAC0G,sBAAsB,CAAC,CAAA;AAC3C,CAAA;AAEO,SAASE,yBAAyBA,GAAoC;EAC3E,OAAO5G,UAAU,CAACyG,qBAAqB,CAAC,CAAA;AAC1C,CAAA;AAEA,IAAMI,6BAA6B,gBAAGjH,aAAa,CAAsCxT,SAAS,CAAC,CAAA;AAEnG,SAAS0a,yBAAyBA,GAAwC;EACxE,OAAO9G,UAAU,CAAC6G,6BAA6B,CAAC,CAAA;AAClD,CAAA;AAEO,SAASE,sCAAsCA,CACpDpD,cAAsC,EACV;AAC5B,EAAA,OAAOA,cAAc,KAAK+B,sBAAsB,CAACN,IAAI,IAAIzB,cAAc,KAAK+B,sBAAsB,CAACL,KAAK,GACpG,cAAc,GACd,eAAe,CAAA;AACrB,CAAA;;AAcA;AACA;AACA;AACA;AACA;AAiBO,SAAS2B,wBAAwBA,CAACvC,IAA8B,EAA0B;AAC/F,EAAA,IAAMwC,oBAAoB,GAAA5Y,aAAA,CAAAA,aAAA,KACrBoW,IAAI,CAAA,EAAA,EAAA,EAAA;IACP/Q,MAAM,EAAE+Q,IAAI,CAAC/Q,MAAM,IAAI+Q,IAAI,CAAC7O,KAAK,IAAI6O,IAAI,CAACjR,IAAAA;GAC3C,CAAA,CAAA;EAED,IAAM0T,qBAA6C,GAAG,EAAE,CAAA;EACxD,CACExB,sBAAsB,CAACN,IAAI,EAC3BM,sBAAsB,CAACL,KAAK,EAC5BK,sBAAsB,CAACJ,MAAM,EAC7BI,sBAAsB,CAACH,KAAK,EAC5BG,sBAAsB,CAACF,IAAI,CAC5B,CAAC9B,OAAO,CAAC,UAACyD,QAAQ,EAAK;AACtB,IAAA,IAAMlB,KAAK,GAAGgB,oBAAoB,CAACE,QAAQ,CAAC,CAAA;AAC5C,IAAA,IAAIlB,KAAK,EAAE;AACTiB,MAAAA,qBAAqB,CAACC,QAAQ,CAAC,GAAA,EAAA,CAAAza,MAAA,CAAMqa,sCAAsC,CAACI,QAAQ,CAAC,EAAA,GAAA,CAAA,CAAAza,MAAA,CAAIuZ,KAAK,CAAE,CAAA;AAClG,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOiB,qBAAqB,CAAA;AAC9B,CAAA;AAEO,SAASE,UAAUA,CAAAzZ,IAAA,EAWK;AAAA,EAAA,IAAA0Z,UAAA,CAAA;AAAA,EAAA,IAV7B9E,iBAAiB,GAAA5U,IAAA,CAAjB4U,iBAAiB;IACX+E,UAAU,GAAA3Z,IAAA,CAAhB6F,IAAI;IACG+T,WAAW,GAAA5Z,IAAA,CAAlBiI,KAAK;IACG4R,YAAY,GAAA7Z,IAAA,CAApB+F,MAAM;IACC+T,WAAW,GAAA9Z,IAAA,CAAlBiF,KAAK;IACC8U,UAAU,GAAA/Z,IAAA,CAAhBqR,IAAI;IAAA2I,SAAA,GAAAha,IAAA,CACJ8W,IAAI;IAAJA,IAAI,GAAAkD,SAAA,KAAG,KAAA,CAAA,GAAA;AAAEnU,MAAAA,IAAI,EAAE8T,UAAU;AAAE1R,MAAAA,KAAK,EAAE2R,WAAW;AAAE7T,MAAAA,MAAM,EAAE8T,YAAY;AAAE5U,MAAAA,KAAK,EAAE6U,WAAW;AAAEzI,MAAAA,IAAI,EAAE0I,UAAAA;AAAW,KAAC,GAAAC,SAAA;IAC3GrH,OAAO,GAAA3S,IAAA,CAAP2S,OAAO;IACP5O,KAAK,GAAA/D,IAAA,CAAL+D,KAAK;AACFkW,IAAAA,UAAU,GAAAhG,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAEb,EAAA,IAAMkD,EAAE,GAAGC,KAAK,EAAE,CAAA;AAElB,EAAA,IAAMuB,yBAAyB,GAAGvG,UAAU,CAACwG,uBAAuB,CAAC,CAAA;AAErE,EAAA,IAAMqB,YAAY,GAAGf,yBAAyB,EAAE,CAAA;AAEhD,EAAA,IAAMgB,qBAAqB,GAAGvB,yBAAyB,KAAK,IAAI,CAAA;AAChE,EAAA,IAAMwB,mBAAmB,GAAGD,qBAAqB,GAAGrD,IAAI,CAACjR,IAAI,GAAA6T,CAAAA,UAAA,GAAG5C,IAAI,CAACjR,IAAI,MAAA,IAAA,IAAA6T,UAAA,KAAAA,KAAAA,CAAAA,GAAAA,UAAA,GAAI,MAAM,CAAA;AACnF,EAAA,IAAMW,gBAAgB,GAAG1B,oCAAoC,CAACyB,mBAAmB,EAAExB,yBAAyB,CAAC,CAAA;;AAE7G;AACA,EAAA,IAAM0B,kBAAqC,GACzC3H,OAAO,aAAPA,OAAO,KAAA,KAAA,CAAA,GAAPA,OAAO,GAAK0H,gBAAgB,KAAK,UAAU,IAAIA,gBAAgB,KAAK,iBAAiB,GAAG,MAAM,GAAG,SAAU,CAAA;EAE7G,IAAMd,qBAAqB,GAAGF,wBAAwB,CAAA3Y,aAAA,CAAAA,aAAA,KAAMoW,IAAI,CAAA,EAAA,EAAA,EAAA;AAAEjR,IAAAA,IAAI,EAAEuU,mBAAAA;AAAmB,GAAA,CAAE,CAAC,CAAA;EAE9F,IAAMG,YAAY,GAAG,CAACxW,KAAK,IAAI,CAACoW,qBAAqB,GAAGD,YAAY,GAAGnW,KAAK,CAAA;AAC5E,EAAA,IAAMyW,iBAAiB,GAAGpC,uBAAuB,CAACmC,YAAY,CAAC,CAAA;EAE/D,IAAME,WAAW,GAAGrD,EAAE,CAAC;AACrBrT,IAAAA,KAAK,EAAEyW,iBAAiB;AACxBE,IAAAA,mBAAmB,EAAEF,iBAAAA;AACvB,GAAC,CAAC,CAAA;AAEF,EAAA,IAAItE,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;IACzCxW,MAAM,CAACE,OAAO,CAACgX,IAAI,CAAC,CAACf,OAAO,CAAC,UAAA9V,KAAA,EAAkB;AAAA,MAAA,IAAAI,KAAA,GAAAH,cAAA,CAAAD,KAAA,EAAA,CAAA,CAAA;AAAhB0a,QAAAA,GAAG,GAAAta,KAAA,CAAA,CAAA,CAAA;AAAEiY,QAAAA,KAAK,GAAAjY,KAAA,CAAA,CAAA,CAAA,CAAA;MACvC,IAAIiY,KAAK,IAAII,mBAAmB,CAACJ,KAAK,CAAC,KAAK+B,gBAAgB,EAAE;AAC5D,QAAA,MAAM,IAAInH,KAAK,CAAAnU,sBAAAA,CAAAA,MAAA,CAAuB4b,GAAG,EAAA,QAAA,CAAA,CAAA5b,MAAA,CAAOuZ,KAAK,EAAAvZ,QAAAA,CAAAA,CAAAA,MAAA,CAAQsb,gBAAgB,0BAAuB,CAAC,CAAA;AACvG,OAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAA;EAEA,IAAMO,IAAI,gBACRtH,GAAA,CAACuH,IAAM,EAAAna,aAAA,CAAAA,aAAA,CAAA;IACLkU,iBAAiB,EAAGA,iBAAiB,IAAuCnW,SAAU;AACtFgN,IAAAA,QAAQ,EAAE8N,qBAAsB;AAChCrL,IAAAA,UAAU,EAAEiM,qBAAqB,GAAG1b,SAAS,GAAG8a,qBAAsB;IACtE3K,UAAU,EAAA,EAAA,CAAA7P,MAAA,CAAKsb,gBAAgB,OAAAtb,MAAA,CAAIub,kBAAkB,CAAG;AACxD7L,IAAAA,UAAU,KAAA1P,MAAA,CAAKsb,gBAAgB,EAAAtb,GAAAA,CAAAA,CAAAA,MAAA,CAAIub,kBAAkB,CAAA;AAAG,GAAA,EACpDG,WAAW,CAAA,EACXR,UAAU,CACf,CACF,CAAA;EAED,IAAMrS,OAAO,GAAGwS,mBAAmB,gBACjC9G,GAAA,CAACuF,uBAAuB,CAACiC,QAAQ,EAAA;AAACxC,IAAAA,KAAK,EAAE+B,gBAAiB;AAAAtH,IAAAA,QAAA,eACxDO,GAAA,CAACwF,qBAAqB,CAACgC,QAAQ,EAAA;AAACxC,MAAAA,KAAK,EAAExB,IAAK;AAAA/D,MAAAA,QAAA,EAAE6H,IAAAA;KAAqC,CAAA;GACnD,CAAC,GAEnCA,IACD,CAAA;AAED,EAAA,OAAO7W,KAAK,gBAAGuP,GAAA,CAACyF,sBAAsB,CAAC+B,QAAQ,EAAA;AAACxC,IAAAA,KAAK,EAAEvU,KAAM;AAAAgP,IAAAA,QAAA,EAAEnL,OAAAA;GAAyC,CAAC,GAAGA,OAAO,CAAA;AACrH,CAAA;AAGA,SAASmT,cAAcA,CAAC/G,KAA0B,EAAa;AAC7D,EAAA,oBAAOV,GAAA,CAACmG,UAAU,EAAA/Y,aAAA,CAAA;AAACkU,IAAAA,iBAAiB,EAAE,IAAA;GAAUZ,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC3D,CAAA;AAEA,SAASgH,mBAAmBA,CAAChH,KAA0B,EAAa;AAClE;AACA,EAAA,oBAAOV,GAAA,CAACmG,UAAU,EAAA/Y,aAAA,CAAA;IAACkU,iBAAiB,EAAEqG,QAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,WAAW,GAAG,IAAA;GAAUlH,EAAAA,KAAK,CAAG,CAAC,CAAA;AACjG,CAAA;AAIA,IAAMmH,aAAa,GAAG,UACpBC,KAAa,EAEbC,WAA4C,EACb;AAC/B;EACA,SAASC,iBAAiBA,CAACtH,KAA6B,EAAa;AACnE,IAAA,oBAAOV,GAAA,CAACmG,UAAU,EAAA/Y,aAAA,CAAAA,aAAA,CAAA;AAACkU,MAAAA,iBAAiB,EAAC,QAAQ;AAAC/O,MAAAA,IAAI,EAAEwV,WAAAA;AAAY,KAAA,EAAKrH,KAAK,CAAA,EAAA,EAAA,EAAA;MAAE,YAAYoH,EAAAA,KAAAA;AAAM,KAAA,CAAE,CAAC,CAAA;AACnG,GAAA;AACAE,EAAAA,iBAAiB,CAACC,WAAW,GAAA,mBAAA,CAAAxc,MAAA,CAAuBqc,KAAK,CAAE,CAAA;AAC3D,EAAA,OAAOE,iBAAiB,CAAA;AAC1B,CAAC,CAAA;AAED7B,UAAU,CAAC+B,eAAe,GAAGtC,6BAA6B,CAAC4B,QAAQ,CAAA;AAEnErB,UAAU,CAACgC,IAAI,GAAGV,cAAc,CAAA;AAChCtB,UAAU,CAACiC,SAAS,GAAGV,mBAAmB,CAAA;AAC1CvB,UAAU,CAACkC,OAAO,GAAGR,aAAa,CAAC,CAAC,CAAC,CAAA;AACrC1B,UAAU,CAACmC,OAAO,GAAGT,aAAa,CAAC,CAAC,CAAC,CAAA;AACrC1B,UAAU,CAACoC,OAAO,GAAGV,aAAa,CAAC,CAAC,CAAC,CAAA;AACrC1B,UAAU,CAACqC,OAAO,GAAGX,aAAa,CAAC,CAAC,CAAC,CAAA;AACrC1B,UAAU,CAACsC,OAAO,GAAGZ,aAAa,CAAC,CAAC,CAAC,CAAA;AACrC1B,UAAU,CAACuC,OAAO,GAAGb,aAAa,CAAC,CAAC,CAAC,CAAA;;AAErC;AACA1B,UAAU,CAACwC,EAAE,GAAGd,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAC3C;AACA1B,UAAU,CAACyC,EAAE,GAAGf,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAC3C;AACA1B,UAAU,CAAC0C,EAAE,GAAGhB,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAC3C;AACA1B,UAAU,CAAC2C,EAAE,GAAGjB,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAC3C;AACA1B,UAAU,CAAC4C,EAAE,GAAGlB,aAAa,CAAC,CAAC,EAAE,SAAS,CAAC;;AC7NpC,SAASmB,IAAIA,CAAAtc,IAAA,EAAwF;AAAA,EAAA,IAArFgK,IAAI,GAAAhK,IAAA,CAAJgK,IAAI;IAAAuS,SAAA,GAAAvc,IAAA,CAAE+E,IAAI;AAAJA,IAAAA,IAAI,GAAAwX,SAAA,KAAG,KAAA,CAAA,GAAA,uBAAuB,GAAAA,SAAA;IAAAC,UAAA,GAAAxc,IAAA,CAAEyc,KAAK;AAALA,IAAAA,KAAK,GAAAD,UAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,UAAA;IAAEzY,KAAK,GAAA/D,IAAA,CAAL+D,KAAK,CAAA;AAChF,EAAA,IAAM2Y,UAAU,gBAAGC,YAAY,CAAC3S,IAAI,EAAE;AAAEjG,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA;EAEhD,oBACEuP,GAAA,CAAC9V,IAAI,EAAA;AAACuG,IAAAA,KAAK,EAAEA,KAAM;AAAC6Y,IAAAA,SAAS,EAAEH,KAAM;AAAC1X,IAAAA,IAAI,EAAEA,IAAK;AAAAgO,IAAAA,QAAA,EAC9C2J,UAAAA;AAAU,GACP,CAAC,CAAA;AAEX;;;;ACTA,SAASG,gCAAgCA,CAAC7G,cAAsC,EAA8B;AAC5G,EAAA,OAAOA,cAAc,KAAK+B,sBAAsB,CAACN,IAAI,IAAIzB,cAAc,KAAK+B,sBAAsB,CAACL,KAAK,GACpG,cAAc,GACd,eAAe,CAAA;AACrB,CAAA;AAEA,SAASoF,wBAAwBA,CAAChG,IAA8B,EAAqB;AACnF,EAAA,IAAMwC,oBAAoB,GAAA5Y,aAAA,CAAAA,aAAA,KACrBoW,IAAI,CAAA,EAAA,EAAA,EAAA;IACP/Q,MAAM,EAAE+Q,IAAI,CAAC/Q,MAAM,IAAI+Q,IAAI,CAAC7O,KAAK,IAAI6O,IAAI,CAACjR,IAAAA;GAC3C,CAAA,CAAA;EAED,IAAMkX,qBAAwC,GAAG,EAAE,CAAA;EACnD,CACEhF,sBAAsB,CAACN,IAAI,EAC3BM,sBAAsB,CAACL,KAAK,EAC5BK,sBAAsB,CAACJ,MAAM,EAC7BI,sBAAsB,CAACH,KAAK,EAC5BG,sBAAsB,CAACF,IAAI,CAC5B,CAAC9B,OAAO,CAAC,UAACyD,QAAQ,EAAK;AACtB,IAAA,IAAMlB,KAAK,GAAGgB,oBAAoB,CAACE,QAAQ,CAAC,CAAA;AAC5C,IAAA,IAAIlB,KAAK,EAAE;AACTyE,MAAAA,qBAAqB,CAACvD,QAAQ,CAAC,GAAA,2BAAA,CAAAza,MAAA,CAA+BuZ,KAAK,EAAAvZ,GAAAA,CAAAA,CAAAA,MAAA,CAAI8d,gCAAgC,CACrGrD,QACF,CAAC,EAAW,WAAA,CAAA,CAAA;AACd,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOuD,qBAAqB,CAAA;AAC9B,CAAA;AAMA,SAASC,4BAA4BA,CAAAhd,IAAA,EAIuB;AAAA,EAAA,IAH1D+D,KAAK,GAAA/D,IAAA,CAAL+D,KAAK;IACLgB,IAAI,GAAA/E,IAAA,CAAJ+E,IAAI;AACDiP,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,IAAM+I,YAAY,GAAGhE,yBAAyB,EAAE,CAAA;AAChD,EAAA,IAAMjU,QAAQ,GAAGD,IAAI,KAAKkY,YAAY,GAAGH,wBAAwB,CAACG,YAAY,CAAC,GAAGxe,SAAS,CAAC,CAAA;AAC5F,EAAA,IAAM+B,UAAU,GAAG4X,uBAAuB,CAACrU,KAAK,CAAC,CAAA;AACjD,EAAA,IAAMqT,EAAE,GAAGC,KAAK,EAAE,CAAA;EAElB,IAAA6F,GAAA,GAAmC9F,EAAE,CAAC;AAAErT,MAAAA,KAAK,EAAEvD,UAAAA;AAAW,KAAC,CAAC;IAA7C2c,eAAe,GAAAD,GAAA,CAAtBnZ,KAAK,CAAA;EAEb,oBAAOuP,GAAA,CAACgJ,IAAI,EAAA5b,aAAA,CAAAA,aAAA,KAAKsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEjP,IAAAA,IAAI,EAAEC,QAAS;AAACjB,IAAAA,KAAK,EAAEoZ,eAAAA;AAAgB,GAAA,CAAE,CAAC,CAAA;AACpE,CAAA;AAEA,SAASC,0BAA0BA,CAACpJ,KAA0B,EAAa;AACzE,EAAA,IAAMjQ,KAAK,GAAGiV,kBAAkB,EAAE,CAAA;AAElC,EAAA,oBAAO1F,GAAA,CAAC0J,4BAA4B,EAAAtc,aAAA,CAAA;AAACqD,IAAAA,KAAK,EAAEA,KAAAA;GAAWiQ,EAAAA,KAAK,CAAG,CAAC,CAAA;AAClE,CAAA;AAEO,SAASqJ,cAAcA,CAAApd,KAAA,EAAsD;AAAA,EAAA,IAAnD8D,KAAK,GAAA9D,KAAA,CAAL8D,KAAK;AAAKiQ,IAAAA,KAAK,GAAAC,wBAAA,CAAAhU,KAAA,EAAAqd,YAAA,CAAA,CAAA;AAC9C,EAAA,IAAIvZ,KAAK,EAAE;AACT,IAAA,oBAAOuP,GAAA,CAAC0J,4BAA4B,EAAAtc,aAAA,CAAA;AAACqD,MAAAA,KAAK,EAAEA,KAAAA;KAAWiQ,EAAAA,KAAK,CAAG,CAAC,CAAA;AAClE,GAAA;EAEA,oBAAOV,GAAA,CAAC8J,0BAA0B,EAAA1c,aAAA,CAAKsT,EAAAA,EAAAA,KAAK,CAAG,CAAC,CAAA;AAClD;;ACxEO,IAAMuJ,wBAAwB,GAAG,UACtCzG,IAAgB,EAChBnE,OAAsB,EACtBJ,SAAkB,EAClBC,SAAkB,EACE;AACpB,EAAA,IAAMgL,sBAAsB,GAAGjL,SAAS,IAAIC,SAAS,CAAA;AAErD,EAAA,QAAQsE,IAAI;AACV,IAAA,KAAK,SAAS;AACZ,MAAA,OAAOnE,OAAO,KAAK,OAAO,GAAG,SAAS,GAAG,OAAO,CAAA;AAClD,IAAA,KAAK,QAAQ;AACX,MAAA,OAAO,QAAQ,CAAA;AACjB,IAAA,KAAK,QAAQ;AACX,MAAA,OAAO6K,sBAAsB,GAAG,eAAe,GAAG,SAAS,CAAA;AAC7D,IAAA,KAAK,aAAa;AAChB,MAAA,OAAOA,sBAAsB,GAAG,aAAa,GAAG,OAAO,CAAA;AACzD,IAAA,KAAK,SAAS;AACZ,MAAA,OAAO7K,OAAO,KAAK,OAAO,GAAG,OAAO,GAAG,OAAO,CAAA;AAChD,IAAA;AACE,MAAA,OAAO,OAAO,CAAA;AAClB,GAAA;AACF,CAAC;;;ACRD,SAAS8K,UAAUA,CAAAzd,IAAA,EAAoE;AAAA,EAAA,IAAjEgK,IAAI,GAAAhK,IAAA,CAAJgK,IAAI;IAAEjG,KAAK,GAAA/D,IAAA,CAAL+D,KAAK;IAAE2Z,YAAY,GAAA1d,IAAA,CAAZ0d,YAAY;IAAElJ,MAAM,GAAAxU,IAAA,CAANwU,MAAM,CAAA;EACrD,oBACElB,GAAA,CAAC9V,IAAI,EAAA;AAACmgB,IAAAA,WAAW,EAAED,YAAY,KAAK,MAAM,GAAG,QAAQ,GAAG,CAAE;AAACE,IAAAA,UAAU,EAAEF,YAAY,KAAK,OAAO,GAAG,QAAQ,GAAG,CAAE;IAAA3K,QAAA,eAC7GO,GAAA,CAAC+J,cAAc,EAAA;AAACrT,MAAAA,IAAI,EAAEA,IAAK;AAACwK,MAAAA,MAAM,EAAEA,MAAO;AAACzQ,MAAAA,KAAK,EAAEA,KAAAA;KAAQ,CAAA;AAAC,GACxD,CAAC,CAAA;AAEX,CAAA;AAiBO,SAAS8Z,qBAAqBA,CAAA5d,KAAA,EAMK;AAAA,EAAA,IALxC6W,IAAI,GAAA7W,KAAA,CAAJ6W,IAAI;IACJ9M,IAAI,GAAA/J,KAAA,CAAJ+J,IAAI;IACJ0T,YAAY,GAAAzd,KAAA,CAAZyd,YAAY;IACZ3Z,KAAK,GAAA9D,KAAA,CAAL8D,KAAK;IACLgP,QAAQ,GAAA9S,KAAA,CAAR8S,QAAQ,CAAA;AAER,EAAA,KAAW,OAAA,CAAA,GAAA,CAAA,QAAA,KAAA,YAAA,GAAE;AACX,IAAA,IAAI,EAAEA,QAAQ,IAAI/I,IAAI,CAAC,EAAE;AACvB,MAAA,MAAM,IAAIkJ,KAAK,CAAC,gEAAgE,CAAC,CAAA;AACnF,KAAA;AACF,GAAA;EAEA,IAAI,CAACH,QAAQ,EAAE;AACb,IAAA,oBACEO,GAAA,CAAC+J,cAAAA;AACC;AAAA,MAAA;AACArT,MAAAA,IAAI,EAAEA,IAAM;AACZjG,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KACd,CAAC,CAAA;AAEN,GAAA;AAEA,EAAA,IAAM+Z,qBAAqB,GAAG;AAC5BhH,IAAAA,IAAI,EAAJA,IAAI;AACJ4G,IAAAA,YAAY,EAAZA,YAAY;AACZ3Z,IAAAA,KAAK,EAALA,KAAAA;GACD,CAAA;;AAED;AACA,EAAA,IAAMga,iBAAiB,GAAG;AACxBC,IAAAA,UAAU,EAAE,CAAA;GACb,CAAA;EAED,oBACEC,IAAA,CAACzgB,IAAI,EAAA;AAAC0gB,IAAAA,UAAU,EAAC,QAAQ;AAACC,IAAAA,cAAc,EAAC,QAAQ;AAACC,IAAAA,aAAa,EAAC,KAAK;AAAArL,IAAAA,QAAA,EAClE/I,CAAAA,IAAI,IAAI0T,YAAY,KAAK,MAAM,gBAC9BpK,GAAA,CAACmK,UAAU,EAAA/c,aAAA,CAAAA,aAAA,KAAKod,qBAAqB,CAAA,EAAA,EAAA,EAAA;AAAEtJ,MAAAA,MAAM,EAAC,qCAAqC;AAACxK,MAAAA,IAAI,EAAEA,IAAAA;KAAO,CAAA,CAAC,GAChG,IAAI,eAERsJ,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AACd;AACA4C,MAAAA,SAAS,EAAC,QAAQ;AAClB5K,MAAAA,QAAQ,EAAEsK,iBAAkB;AAC5BxK,MAAAA,IAAI,EAAEwK,iBAAkB;AACxBlY,MAAAA,IAAI,EAAC,MAAM;AACX8M,MAAAA,OAAO,EAAC,MAAM;AACd5O,MAAAA,KAAK,EAAEA,KAAM;AAAAgP,MAAAA,QAAA,EAEZA,QAAAA;AAAQ,KACM,CAAC,EAEjB/I,IAAI,IAAI0T,YAAY,KAAK,OAAO,gBAAGpK,GAAA,CAACmK,UAAU,EAAA/c,aAAA,CAAAA,aAAA,KAAKod,qBAAqB,CAAA,EAAA,EAAA,EAAA;AAAE9T,MAAAA,IAAI,EAAEA,IAAAA;KAAO,CAAA,CAAC,GAAG,IAAI,CAAA;AAAA,GAC5F,CAAC,CAAA;AAEX,CAAA;AAEO,SAASsU,aAAaA,CAAAje,KAAA,EAUK;AAAA,EAAA,IAThCyW,IAAI,GAAAzW,KAAA,CAAJyW,IAAI,CAAA;IACJnE,OAAO,GAAAtS,KAAA,CAAPsS,OAAO,CAAA;IACPoE,UAAU,GAAA1W,KAAA,CAAV0W,UAAU,CAAA;IACV/M,IAAI,GAAA3J,KAAA,CAAJ2J,IAAI,CAAA;IACJ+I,QAAQ,GAAA1S,KAAA,CAAR0S,QAAQ,CAAA;IACRR,SAAS,GAAAlS,KAAA,CAATkS,SAAS,CAAA;IACTC,SAAS,GAAAnS,KAAA,CAATmS,SAAS,CAAA;IACAnS,KAAA,CAAToS,SAAS,CAAA;AACNuB,QAAAA,KAAK,GAAAC,wBAAA,CAAA5T,KAAA,EAAA6T,WAAA,EAAA;AAER,EAAA,IAAMnQ,KAAK,GAAGgT,UAAU,GAAG,aAAa,GAAGwG,wBAAwB,CAACzG,IAAI,EAAEnE,OAAO,EAAEJ,SAAS,EAAEC,SAAS,CAAC,CAAA;EAExG,oBACEc,GAAA,CAAC9V,IAAI,EAAA;AACHkW,IAAAA,IAAI,EAAE;AACJ;AACA;AACAC,MAAAA,QAAQ,EAAE,CAAC;AACXqK,MAAAA,UAAU,EAAE,CAAC;AACbO,MAAAA,SAAS,EAAE,MAAA;KACX;AAAAxL,IAAAA,QAAA,eAEFO,GAAA,CAACuK,qBAAqB,EAAAnd,aAAA,CAAAA,aAAA,CAAA;AAACsJ,MAAAA,IAAI,EAAEA,IAAK;AAAC8M,MAAAA,IAAI,EAAEA,IAAK;AAACC,MAAAA,UAAU,EAAEA,UAAW;AAAChT,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAA,EAAKiQ,KAAK,CAAA,EAAA,EAAA,EAAA;AAAAjB,MAAAA,QAAA,EAC3FA,QAAAA;KACoB,CAAA,CAAA;AAAC,GACpB,CAAC,CAAA;AAEX;;ACnHA,SAASyL,uBAAuBA,CAAAxe,IAAA,EAAoF;AAAA,EAAA,IAAjF+E,IAAI,GAAA/E,IAAA,CAAJ+E,IAAI;IAAEgS,UAAU,GAAA/W,IAAA,CAAV+W,UAAU,CAAA;AACjD,EAAA,IAAIhS,IAAI,KAAK,OAAO,EAAE,OAAO,OAAO,CAAA;AACpC,EAAA,IAAIA,IAAI,KAAK,QAAQ,EAAE,OAAO,QAAQ,CAAA;EACtC,IAAIgS,UAAU,EAAE,OAAO,UAAU,CAAA;AAEjC,EAAA,OAAO,SAAS,CAAA;AAClB,CAAA;AAQO,SAAS0H,aAAaA,CAAAxe,KAAA,EAAgE;AAAA,EAAA,IAA7D8S,QAAQ,GAAA9S,KAAA,CAAR8S,QAAQ;IAAEhO,IAAI,GAAA9E,KAAA,CAAJ8E,IAAI;IAAEgS,UAAU,GAAA9W,KAAA,CAAV8W,UAAU,CAAA;EACxD,IAAM2H,iBAAiB,GAAGF,uBAAuB,CAAC;AAAEzZ,IAAAA,IAAI,EAAJA,IAAI;AAAEgS,IAAAA,UAAU,EAAVA,UAAAA;AAAW,GAAC,CAAC,CAAA;EAEvE,oBACEzD,GAAA,CAAC9V,IAAI,EAAA;AACHmhB,IAAAA,QAAQ,EAAC,UAAU;AACnBP,IAAAA,aAAa,EAAC,KAAK;AACnBF,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,cAAc,EAAC,QAAQ;AACvBS,IAAAA,QAAQ,EAAA7f,sBAAAA,CAAAA,MAAA,CAAyB2f,iBAAiB,EAAc,aAAA,CAAA;AAChEG,IAAAA,QAAQ,EAAA9f,sBAAAA,CAAAA,MAAA,CAAyB2f,iBAAiB,EAAY,WAAA,CAAA;AAC9DjZ,IAAAA,SAAS,EAAC,uBAAuB;AAAAsN,IAAAA,QAAA,EAEhCA,QAAAA;AAAQ,GACL,CAAC,CAAA;AAEX;;ACrCO,SAAS+L,cAAcA,GAAc;EAC1C,oBACExL,GAAA,CAAC9V,IAAI,EAAA;AACHmhB,IAAAA,QAAQ,EAAC,UAAU;AACnBI,IAAAA,GAAG,EAAE,CAAE;AACPlP,IAAAA,IAAI,EAAE,CAAE;AACRC,IAAAA,KAAK,EAAE,CAAE;AACTkP,IAAAA,MAAM,EAAE,CAAE;AACVnb,IAAAA,WAAW,EAAC,kCAAkC;AAC9CD,IAAAA,WAAW,EAAC,0CAA0C;AACtDF,IAAAA,YAAY,EAAC,0BAAA;AAA0B,GACxC,CAAC,CAAA;AAEN;;ACFO,SAASub,WAAWA,CAAAjf,IAAA,EAAkF;AAAA,EAAA,IAA/E8W,IAAI,GAAA9W,IAAA,CAAJ8W,IAAI;IAAEnE,OAAO,GAAA3S,IAAA,CAAP2S,OAAO;IAAEF,SAAS,GAAAzS,IAAA,CAATyS,SAAS;IAAEF,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IAAEC,SAAS,GAAAxS,IAAA,CAATwS,SAAS,CAAA;AAC1E,EAAA,IAAA0M,SAAA,GAEI9M,QAAQ,EAAE;AADI+M,IAAAA,WAAW,GAAAD,SAAA,CAA3BhN,IAAI,CAAI3M,MAAM,CAAA;EAKhB,oBACE+N,GAAA,CAAC9V,IAAI,EAAA;AACHkW,IAAAA,IAAI,EAAE;AACJF,MAAAA,KAAK,EAAE;QACLnL,KAAK,EAAA,cAAA,CAAAtJ,MAAA,CAAiBogB,WAAW,CAACtb,WAAW,CAAC2B,KAAK,GAAG,CAAC,EAAuB,KAAA,CAAA;QAC9E+B,MAAM,EAAA,cAAA,CAAAxI,MAAA,CAAiBogB,WAAW,CAACtb,WAAW,CAAC2B,KAAK,GAAG,CAAC,EAAuB,KAAA,CAAA;AAC/E4Z,QAAAA,kBAAkB,EAAE,SAAS;AAC7BC,QAAAA,kBAAkB,EAAEF,WAAW,CAAC/Y,UAAU,CAACC,QAAQ;AACnDiZ,QAAAA,wBAAwB,EAAEH,WAAW,CAAC/Y,UAAU,CAACE,cAAAA;AACnD,OAAA;KACA;IACFpC,OAAO,EAAEuO,SAAS,IAAI,EAbID,SAAS,IAAID,SAAS,CAaJ,GAAG,CAAC,GAAG,CAAE;AACrDoM,IAAAA,QAAQ,EAAC,UAAU;AACnB9O,IAAAA,IAAI,EAAE,CAACsP,WAAW,CAACtb,WAAW,CAAC2B,KAAM;AACrCuZ,IAAAA,GAAG,EAAE,CAACI,WAAW,CAACtb,WAAW,CAAC2B,KAAM;AACpC3B,IAAAA,WAAW,EAAC,+BAA+B;IAC3CD,WAAW,EAAA,cAAA,CAAA7E,MAAA,CAAiB+X,IAAI,OAAA/X,MAAA,CAAI4T,OAAO,EAAoB,mBAAA,CAAA;AAC/DjP,IAAAA,YAAY,EAAC,0BAAA;AAA0B,GACxC,CAAC,CAAA;AAEN;;ACrCA,IAAM6b,UAAU,GAAG,UAACha,MAAuB,EAAEoN,OAAsB,EAAsC;EACvG,OAAOA,OAAO,IAAIpN,MAAM,CAAA;AAC1B,CAAC,CAAA;AAEM,SAASia,uBAAuBA,CACrC5N,KAA4B,EAC5BkF,IAAgB,EAChBnE,OAAsB,EACiC;EACvD,IAAMpN,MAAM,GAAGqM,KAAK,CAACM,IAAI,CAAC3M,MAAM,CAACuR,IAAI,CAAC,CAAA;AAEtC,EAAA,IAAIyI,UAAU,CAACha,MAAM,EAAEoN,OAAO,CAAC,EAAE;IAC/B,OAAOpN,MAAM,CAACoN,OAAO,CAAC,CAAA;AACxB,GAAA;EAEA,OAAOf,KAAK,CAACM,IAAI,CAAC3M,MAAM,CAACuR,IAAI,CAAC,CAAQ,SAAA,CAAA,CAAA;AACxC;;ACFO,IAAM2I,oBAAkB,GAAG,UAAAzf,IAAA,EAIgB;AAAA,EAAA,IAHhD8W,IAAI,GAAA9W,IAAA,CAAJ8W,IAAI;IACJnE,OAAO,GAAA3S,IAAA,CAAP2S,OAAO;IACPmC,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB,CAAA;AAEjB,EAAA,IAAMlD,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EACxB,IAAM7N,OAAO,GAAGmb,cAAc,CAAQ5K,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAChE,EAAA,IAAM/Q,KAAK,GAAG2b,cAAc,CAAC,CAAC,CAAC,CAAA;EAE/B,IAAAC,qBAAA,GAAoDH,uBAAuB,CAAC5N,KAAK,EAAEkF,IAAI,EAAEnE,OAAO,CAAC;IAAzFhP,eAAe,GAAAgc,qBAAA,CAAfhc,eAAe;IAAE4C,sBAAsB,GAAAoZ,qBAAA,CAAtBpZ,sBAAsB,CAAA;EAC/C,IAAQX,KAAK,GAAKgM,KAAK,CAACM,IAAI,CAAC3M,MAAM,CAA3BK,KAAK,CAAA;AAEb,EAAA,IAAMsR,cAAc,GAAG0I,gBAAgB,CAAC,YAAM;IAC5C,OAAO;AACLjc,MAAAA,eAAe,EAAEkc,gBAAgB,CAAC9b,KAAK,CAACuU,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC3U,eAAe,EAAE4C,sBAAsB,CAAC,CAAC;AACjG6M,MAAAA,SAAS,EAAE,CACT;AACExN,QAAAA,KAAK,EAAEka,UAAU,CAACvb,OAAO,CAAC+T,KAAK,GAAG1S,KAAK,CAACC,IAAI,CAACC,MAAM,GAAGF,KAAK,CAACC,IAAI,CAAQ,SAAA,CAAA,CAAA;OACzE,CAAA;KAEJ,CAAA;AACH,GAAC,CAAC,CAAA;EAYF,OAAO;AACLka,IAAAA,SAAS,EAXW,SAAhBC,aAAaA,GAAe;AAChCjc,MAAAA,KAAK,CAACuU,KAAK,GAAGwH,UAAU,CAAC,CAAC,CAAC,CAAA;MAC3Bvb,OAAO,CAAC+T,KAAK,GAAG,CAAC,CAAA;KASO;AACxB2H,IAAAA,UAAU,EAPW,SAAjBC,cAAcA,GAAe;AACjCnc,MAAAA,KAAK,CAACuU,KAAK,GAAGwH,UAAU,CAAC,CAAC,CAAC,CAAA;MAC3Bvb,OAAO,CAAC+T,KAAK,GAAG,CAAC,CAAA;KAKS;AAC1BpB,IAAAA,cAAc,EAAdA,cAAAA;GACD,CAAA;AACH,CAAC;;ACtDM,IAAMiJ,aAAa,GAAG,UAAAngB,IAAA,EAAwE;AAAA,EAAA,IAArEiF,KAAK,GAAAjF,IAAA,CAALiF,KAAK;IAAEgB,MAAM,GAAAjG,IAAA,CAANiG,MAAM;IAAElB,IAAI,GAAA/E,IAAA,CAAJ+E,IAAI,CAAA;EACjD,IAAIE,KAAK,EAAE,OAAO,OAAO,CAAA;EACzB,IAAIgB,MAAM,EAAE,OAAO,QAAQ,CAAA;AAC3B,EAAA,OAAOlB,IAAI,CAAA;AACb,CAAC;;ACiBD,IAAMqb,iBAAiB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAsCnD,IAAMC,MAAM,gBAAGjM,UAAU,CAC9B,UAAApU,IAAA,EAyBEqU,GAAG,EACc;AAAA,EAAA,IAxBftB,SAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAAiH,SAAA,GAAAha,IAAA,CACR8W,IAAI;AAAJA,IAAAA,IAAI,GAAAkD,SAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,SAAA;IAAAjG,YAAA,GAAA/T,IAAA,CAChB2S,OAAO;AAAPA,IAAAA,OAAO,GAAAoB,YAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,YAAA;IACnB1Q,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACRid,OAAO,GAAAtgB,IAAA,CAAPsgB,OAAO;IACPrb,KAAK,GAAAjF,IAAA,CAALiF,KAAK;IACLgB,MAAM,GAAAjG,IAAA,CAANiG,MAAM;IACN+D,IAAI,GAAAhK,IAAA,CAAJgK,IAAI;IACEuW,QAAQ,GAAAvgB,IAAA,CAAd+E,IAAI;IAAAyb,iBAAA,GAAAxgB,IAAA,CACJ0d,YAAY;AAAZA,IAAAA,YAAY,GAAA8C,iBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,iBAAA;IACrBhM,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IACNC,IAAI,GAAAzU,IAAA,CAAJyU,IAAI;IACJC,SAAS,GAAA1U,IAAA,CAAT0U,SAAS;IAAA+L,qBAAA,GAAAzgB,IAAA,CACT4U,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAA6L,qBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,qBAAA;IAC5B5L,iBAAiB,GAAA7U,IAAA,CAAjB6U,iBAAiB;IACjBC,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB;IACjBC,iBAAiB,GAAA/U,IAAA,CAAjB+U,iBAAiB;IACjBC,OAAO,GAAAhV,IAAA,CAAPgV,OAAO;IACP0L,SAAS,GAAA1gB,IAAA,CAAT0gB,SAAS;IACTC,UAAU,GAAA3gB,IAAA,CAAV2gB,UAAU;IACVC,OAAO,GAAA5gB,IAAA,CAAP4gB,OAAO;IACPC,MAAM,GAAA7gB,IAAA,CAAN6gB,MAAM,CAAA;EAIR,IAAAC,mBAAA,GAAkDrB,oBAAkB,CAAC;AACnE3I,MAAAA,IAAI,EAAJA,IAAI;AACJnE,MAAAA,OAAO,EAAPA,OAAAA;AACF,KAAC,CAAC;IAHMoN,SAAS,GAAAe,mBAAA,CAATf,SAAS;IAAEE,UAAU,GAAAa,mBAAA,CAAVb,UAAU;IAAE/I,cAAc,GAAA4J,mBAAA,CAAd5J,cAAc,CAAA;AAK7C,EAAA,IAAIjE,CAAO,OAAA,CAAA,GAAA,CAAA,QAAA,KAAA,YAAA,KAAIN,OAAO,KAAK,OAAO,IAAI,CAACyN,iBAAiB,CAACjI,QAAQ,CAACrB,IAAI,CAAC,EAAE;AACvE,IAAA,MAAM,IAAI5D,KAAK,CAAC,4DAA4D,CAAC,CAAA;AAC/E,GAAA;EAEA,IAAIjO,KAAK,IAAIgB,MAAM,EAAE;AACnB,IAAA,IAAM8a,cAAc,GAAG9b,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;IACjD0R,qBAAqB,CAAC,QAAQ,EAAA5X,EAAAA,CAAAA,MAAA,CAAKgiB,cAAc,EAAA,OAAA,CAAA,EAAS,MAAM,CAAC,CAAA;AACnE,GAAA;EAEA,IAAMhc,IAAI,GAAGob,aAAa,CAAC;AAAElb,IAAAA,KAAK,EAALA,KAAK;AAAEgB,IAAAA,MAAM,EAANA,MAAM;AAAElB,IAAAA,IAAI,EAAEwb,QAAAA;AAAS,GAAC,CAAC,CAAA;EAE7D,oBACEjN,GAAA,CAAC1V,SAAS,EAAA;AACRyW,IAAAA,GAAG,EAAEA,GAAI;AACThR,IAAAA,QAAQ,EAAEA,QAAS;AACnBuR,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCJ,IAAAA,MAAM,EAAEA,MAAO;AACfC,IAAAA,IAAI,EAAEA,IAAK;AACXC,IAAAA,SAAS,EAAEA,SAAAA;AACX;IACAkI,SAAS,EAAEnH,6BAA6B,CAAC6K,OAAO,EAAE7hB,SAAS,EAAE,YAAY,CAAE;AAC3EiH,IAAAA,QAAQ,EAAC,sBAAsB;IAC/BC,QAAQ,EAAE8P,6BAA6B,CAAC6K,OAAO,EAAE,MAAM,EAAE,sBAAsB,CAAE;IACjFjY,KAAK,EAAEoN,6BAA6B,CAAC6K,OAAO,EAAE,MAAM,EAAE,MAAM,CAAE;AAC9DtL,IAAAA,OAAO,EAAEA,OAAQ;AACjB+K,IAAAA,SAAS,EAAEA,SAAU;AACrBE,IAAAA,UAAU,EAAEA,UAAW;AACvBS,IAAAA,SAAS,EAAEA,SAAU;AACrBC,IAAAA,UAAU,EAAEA,UAAW;AACvBC,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,MAAM,EAAEA,MAAO;IAAA9N,QAAA,EAEd,SAAAA,QAAAA,CAAA9S,KAAA,EAAA;AAAA,MAAA,IAAGsS,SAAS,GAAAtS,KAAA,CAATsS,SAAS;QAAEC,SAAS,GAAAvS,KAAA,CAATuS,SAAS;QAAEC,SAAS,GAAAxS,KAAA,CAATwS,SAAS,CAAA;MAAA,oBACjCa,GAAA,CAAC2D,mBAAiB,EAAA;AAChBC,QAAAA,cAAc,EAAEA,cAAe;AAC/BJ,QAAAA,IAAI,EAAEA,IAAK;QACXvE,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;QAC1CrC,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;QAC1CzR,QAAQ,EAAE,CAAC,CAACA,QAAS;AACrBsP,QAAAA,OAAO,EAAEA,OAAQ;AACjBqO,QAAAA,SAAS,EAAEV,OAAQ;QAAAvN,QAAA,eAEnBkL,IAAA,CAACQ,aAAa,EAAA;AAAC1Z,UAAAA,IAAI,EAAEA,IAAK;AAACgS,UAAAA,UAAU,EAAE1T,QAAS;UAAA0P,QAAA,EAAA,cAC9CO,GAAA,CAACgL,aAAa,EAAA;AACZxH,YAAAA,IAAI,EAAEA,IAAK;AACXnE,YAAAA,OAAO,EAAEA,OAAQ;AACjBoE,YAAAA,UAAU,EAAE1T,QAAS;AACrB2G,YAAAA,IAAI,EAAEA,IAAK;AACX0T,YAAAA,YAAY,EAAEA,YAAa;AAC3BnL,YAAAA,SAAS,EAAEA,SAAU;AACrBC,YAAAA,SAAS,EAAEA,SAAU;AACrBC,YAAAA,SAAS,EAAEA,SAAU;AAAAM,YAAAA,QAAA,EAEpBA,SAAAA;AAAQ,WACI,CAAC,EACf1P,QAAQ,gBAAGiQ,GAAA,CAACwL,cAAc,EAAE,EAAA,CAAC,GAAG,IAAI,eACrCxL,GAAA,CAAC2L,WAAW,EAAA;AACVnI,YAAAA,IAAI,EAAEA,IAAK;AACXnE,YAAAA,OAAO,EAAEA,OAAQ;YACjBF,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;AAC1CxC,YAAAA,SAAS,EAAEA,SAAU;AACrBC,YAAAA,SAAS,EAAEA,SAAAA;AAAU,WACtB,CAAC,CAAA;SACW,CAAA;AAAC,OACC,CAAC,CAAA;AAAA,KAAA;AACrB,GACQ,CAAC,CAAA;AAEhB,CACF;;AC1JO,SAASyO,YAAYA,CAAAjhB,IAAA,EAAgD;AAAA,EAAA,IAA7CgK,IAAI,GAAAhK,IAAA,CAAJgK,IAAI;IAAEjG,KAAK,GAAA/D,IAAA,CAAL+D,KAAK,CAAA;EACxC,IAAImS,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,IAAI,CAACrS,KAAK,EAAE;IACnD,MAAM,IAAImP,KAAK,CAAA,wCAAA,CAAAnU,MAAA,CAA0CmiB,MAAM,CAACnd,KAAK,CAAC,CAAE,CAAC,CAAA;AAC3E,GAAA;AACA,EAAA,IAAM2Y,UAAU,gBAAGC,YAAY,CAAC3S,IAAI,EAAE;AAAEjG,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA;EAChD,IAAMod,YAAY,GAAGC,MAAM,CAAC,IAAI7J,UAAQ,CAAC8J,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAElD,EAAA,IAAMC,QAAQ,GAAGH,YAAY,CAACI,OAAO,CAACC,WAAW,CAAC;AAChDC,IAAAA,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAClBC,IAAAA,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAA;AAChC,GAAC,CAAC,CAAA;AAEFC,EAAAA,SAAS,CAAC,YAAM;IACd,IAAIzL,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE,OAAO3X,SAAS,CAAA;AAErD,IAAA,IAAMiJ,SAAS,GAAG6P,UAAQ,CAACqK,IAAI,CAC7BrK,UAAQ,CAACsK,MAAM,CAACV,YAAY,CAACI,OAAO,EAAE;AACpCO,MAAAA,OAAO,EAAE,CAAC;AACVzb,MAAAA,QAAQ,EAAE,IAAI;MACdsB,MAAM,EAAEoa,MAAM,CAACC,MAAM;AACrBC,MAAAA,eAAe,EAAE,IAAA;AACnB,KAAC,CACH,CAAC,CAAA;IACDva,SAAS,CAACwa,KAAK,EAAE,CAAA;AACjB,IAAA,OAAO,YAAM;MACX,IAAIhM,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE,OAAO3X,SAAS,CAAA;MAErDiJ,SAAS,CAACya,IAAI,EAAE,CAAA;AAChB,MAAA,OAAO1jB,SAAS,CAAA;KACjB,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,oBAAO6U,GAAA,CAACiE,UAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE;AAAEJ,MAAAA,SAAS,EAAE,CAAC;AAAEgP,QAAAA,MAAM,EAAEd,QAAAA;OAAU,CAAA;KAAI;AAAAvO,IAAAA,QAAA,EAAE2J,UAAAA;AAAU,GAAgB,CAAC,CAAA;AAClG;;ACjCO,SAAS2F,UAAUA,CAAAriB,IAAA,EAAwC;AAAA,EAAA,IAArC+D,KAAK,GAAA/D,IAAA,CAAL+D,KAAK,CAAA;EAChC,oBAAOuP,GAAA,CAAC2N,YAAY,EAAA;AAACld,IAAAA,KAAK,EAAEA,KAAM;AAACiG,IAAAA,IAAI,eAAEsJ,GAAA,CAACgP,OAAO,EAAE,EAAA,CAAA;AAAE,GAAE,CAAC,CAAA;AAC1D;;;ACiBO,IAAMC,WAAW,gBAAGnO,UAAU,CACnC,UAAApU,IAAA,EAAqFqU,GAAG,EAAgB;AAAA,EAAA,IAArGmO,EAAE,GAAAxiB,IAAA,CAAFwiB,EAAE;IAAExN,OAAO,GAAAhV,IAAA,CAAPgV,OAAO;IAAE3R,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IAAE2G,IAAI,GAAAhK,IAAA,CAAJgK,IAAI;IAAAyY,YAAA,GAAAziB,IAAA,CAAEsgB,OAAO;IAAPA,OAAO,GAAAmC,YAAA,KAAG,KAAA,CAAA,GAAA;AAAE5c,MAAAA,IAAI,EAAE,IAAI;AAAEE,MAAAA,MAAM,EAAE,KAAA;AAAM,KAAC,GAAA0c,YAAA;AAAKzO,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAC/E,EAAA,IAAAwO,SAAA,GAAkCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAA1CG,IAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAMG,UAAU,GAAG3B,MAAM,CAAC,KAAK,CAAC,CAAA;;AAEhC;AACAO,EAAAA,SAAS,CAAC,YAAM;IACdoB,UAAU,CAACxB,OAAO,GAAG,IAAI,CAAA;AACzB,IAAA,OAAO,YAAM;MACXwB,UAAU,CAACxB,OAAO,GAAG,KAAK,CAAA;KAC3B,CAAA;GACF,EAAE,EAAE,CAAC,CAAA;EAwBN,oBACEjO,GAAA,CAAC9V,IAAI,EAAA;AAAAuV,IAAAA,QAAA,eACHO,GAAA,CAJ2BkP,EAAE,EAAA9hB,aAAA,CAAAA,aAAA,CAAA;AAK3B2T,MAAAA,GAAG,EAAEA,GAAAA;AAAI,KAAA,EACLL,KAAK,CAAA,EAAA,EAAA,EAAA;AACTsM,MAAAA,OAAO,EAAEA,OAAQ;AACjBjd,MAAAA,QAAQ,EAAEwf,SAAS,GAAG,IAAI,GAAGxf,QAAS;MACtC2G,IAAI,EAAE6Y,SAAS,gBAAGvP,GAAA,CAAC+O,UAAU,EAAA,EAAE,CAAC,GAAGrY,IAAK;AACxCgL,MAAAA,OAAO,EA9B+B,SAAtCgO,WAAmCA,CAAIC,CAAC,EAAK;AACjD,QAAA,IAAMC,8BAA8B,gBAAA,YAAA;UAAA,IAAAjjB,KAAA,GAAAkjB,iBAAA,eAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAG,SAAAC,OAAA,GAAA;AAAA,YAAA,OAAAF,mBAAA,EAAA,CAAAG,IAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,cAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,gBAAA,KAAA,CAAA;AAAA,kBAAA,IAChC1O,OAAO,EAAA;AAAAwO,oBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,oBAAA,MAAA;AAAA,mBAAA;kBAAA,OAAAF,QAAA,CAAAG,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,gBAAA,KAAA,CAAA;kBACZb,YAAY,CAAC,IAAI,CAAC,CAAA;AAACU,kBAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAAAD,kBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;kBAAA,OAEV1O,OAAO,CAASiO,CAAC,CAAC,CAAA;AAAA,gBAAA,KAAA,CAAA;kBACzB,IAAIF,UAAU,CAACxB,OAAO,EAAE;oBACtBuB,YAAY,CAAC,KAAK,CAAC,CAAA;AACrB,mBAAA;AAACU,kBAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,gBAAA,KAAA,CAAA;AAAAF,kBAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;kBAAAD,QAAA,CAAAI,EAAA,GAAAJ,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;kBAED,IAAIT,UAAU,CAACxB,OAAO,EAAE;oBACtBuB,YAAY,CAAC,KAAK,CAAC,CAAA;AACrB,mBAAA;kBAAC,MAAAU,QAAA,CAAAI,EAAA,CAAA;AAAA,gBAAA,KAAA,EAAA,CAAA;AAAA,gBAAA,KAAA,KAAA;kBAAA,OAAAJ,QAAA,CAAArB,IAAA,EAAA,CAAA;AAAA,eAAA;AAAA,aAAA,EAAAmB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;WAGJ,CAAA,CAAA,CAAA;AAAA,UAAA,OAAA,YAAA;AAAA,YAAA,OAAArjB,KAAA,CAAA4jB,KAAA,CAAA,IAAA,EAAAtlB,SAAA,CAAA,CAAA;AAAA,WAAA,CAAA;AAAA,SAAA,EAAA,CAAA;AAED2kB,QAAAA,8BAA8B,EAAE,CAAA;AAClC,OAAA;KAaK,CAAA,CAAA;AAAC,GACE,CAAC,CAAA;AAEX,CACF,CAEc;;ACnEP,SAASY,aAAaA,CAAA9jB,IAAA,EAA8C;EAAA,IAAxCgU,KAAK,GAAA+P,QAAA,CAAA,EAAA,GAAAC,yBAAA,CAAAhkB,IAAA,GAAAA,IAAA,EAAA,CAAA;AACtC,EAAA,oBAAOsT,GAAA,CAACiP,WAAW,EAAA7hB,aAAA,CAAA;AAAC8hB,IAAAA,EAAE,EAAEnC,MAAAA;GAAYrM,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC/C;;;ACFA,SAASiQ,gBAAgBA,CAACC,MAAiC,EAA4B;EACrF,IAAI,CAACA,MAAM,EAAE,OAAO;AAAEre,IAAAA,IAAI,EAAE,SAAS;AAAEE,IAAAA,MAAM,EAAE,QAAA;GAAU,CAAA;AAEzD,EAAA,IAAIme,MAAM,KAAK,QAAQ,EAAE,OAAO,SAAS,CAAA;AAEzC,EAAA,OAAO,QAAQ,CAAA;AACjB,CAAA;AAEA,SAASC,mBAAmBA,CAACD,MAAiC,EAA2B;EACvF,IAAI,CAACA,MAAM,EAAE,OAAO;AAAEre,IAAAA,IAAI,EAAE,QAAQ;AAAEE,IAAAA,MAAM,EAAE,KAAA;GAAO,CAAA;AAErD,EAAA,IAAIme,MAAM,KAAK,QAAQ,EAAE,OAAO,QAAQ,CAAA;AAExC,EAAA,OAAO,KAAK,CAAA;AACd,CAAA;AAEA,SAASE,mBAAmBA,CAACF,MAAiC,EAA2B;EACvF,IAAI,CAACA,MAAM,EAAE,OAAO;AAAEre,IAAAA,IAAI,EAAE,SAAS;AAAEE,IAAAA,MAAM,EAAEtH,SAAAA;GAAW,CAAA;AAE1D,EAAA,IAAIylB,MAAM,KAAK,QAAQ,EAAE,OAAO,SAAS,CAAA;AAEzC,EAAA,OAAOzlB,SAAS,CAAA;AAClB,CAAA;AAOO,SAAS4lB,OAAOA,CAAArkB,IAAA,EAAoE;AAAA,EAAA,IAAjE+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEmR,MAAM,GAAAlkB,IAAA,CAANkkB,MAAM;IAAEI,QAAQ,GAAAtkB,IAAA,CAARskB,QAAQ;AAAKtQ,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAC5D,EAAA,IAAMqQ,iBAAiB,GAAGN,gBAAgB,CAACC,MAAM,CAAC,CAAA;AAClD,EAAA,IAAMM,gBAAgB,GAAGL,mBAAmB,CAACD,MAAM,CAAC,CAAA;AACpD,EAAA,IAAMO,gBAAgB,GAAGL,mBAAmB,CAACF,MAAM,CAAC,CAAA;AAEpD,EAAA,oBACE5Q,GAAA,CAAC2B,KAAK,EAAAvU,aAAA,CAAAA,aAAA,CAAA;AACJwd,IAAAA,UAAU,EAAEqG,iBAAkB;AAC9B3H,IAAAA,SAAS,EAAE6H,gBAAiB;AAC5BC,IAAAA,SAAS,EAAEF,gBAAiB;AAC5B7Q,IAAAA,QAAQ,EAAE,CAAE;IACZ2Q,QAAQ,EAAE,CAAC,CAAC7O,6BAA6B,CAAC6O,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAA;AAAE,GAAA,EAC7DtQ,KAAK,CAAA,EAAA,EAAA,EAAA;AACT2Q,IAAAA,KAAK,EAAC,QAAQ;AAAA5R,IAAAA,QAAA,EAEbA,QAAAA;AAAQ,GAAA,CACJ,CAAC,CAAA;AAEZ,CAAA;AAEAsR,OAAO,CAAChE,MAAM,GAAGyD,aAAa,CAAA;AAC9BO,OAAO,CAACO,IAAI,GAAGrC,WAAW;;ACpDnB,SAASsC,gBAAgBA,CAAA7kB,IAAA,EAAwE;AAAA,EAAA,IAArE+E,IAAI,GAAA/E,IAAA,CAAJ+E,IAAI;IAAE+f,WAAW,GAAA9kB,IAAA,CAAX8kB,WAAW;IAAEhX,KAAK,GAAA9N,IAAA,CAAL8N,KAAK,CAAA;AACzD,EAAA,IAAIA,KAAK,EAAE;AACT,IAAA,IAAI/I,IAAI,EAAE,OAAOA,IAAI,GAAG,GAAG,CAAA;AAE3B,IAAA,IAAI+f,WAAW,KAAK,OAAO,EAAE,OAAOlgB,eAAe,GAAG,GAAG,CAAA;IAEzD,OAAOF,iBAAiB,GAAG,GAAG,CAAA;AAChC,GAAA;AAEA,EAAA,IAAIogB,WAAW,KAAK,OAAO,EAAE,OAAO,gCAAgC,CAAA;AAEpE,EAAA,OAAO,0BAA0B,CAAA;AACnC;;ACdO,SAASC,cAAcA,CAAA/kB,IAAA,EAA+D;AAAA,EAAA,IAA5D+E,IAAI,GAAA/E,IAAA,CAAJ+E,IAAI;IAAE+f,WAAW,GAAA9kB,IAAA,CAAX8kB,WAAW,CAAA;EAChD,IAAI/f,IAAI,EAAE,OAAOA,IAAI,CAAA;AAErB,EAAA,IAAI+f,WAAW,KAAK,OAAO,EAAE,OAAO,wBAAwB,CAAA;AAE5D,EAAA,OAAO,kBAAkB,CAAA;AAC3B;;ACVO,SAASE,WAAWA,CAACjgB,IAAqB,EAAE+f,WAA+B,EAAU;EAC1F,IAAI,OAAO/f,IAAI,KAAK,QAAQ,EAAE,OAAOA,IAAI,GAAG,GAAG,CAAA;AAE/C,EAAA,IAAI+f,WAAW,KAAK,OAAO,EAAE,OAAOjgB,mBAAmB,CAAA;AAEvD,EAAA,OAAOF,qBAAqB,CAAA;AAC9B;;ACTO,SAASsgB,WAAWA,CAACC,SAAiB,EAAEC,QAAgB,EAAU;AACvE,EAAA,OAAO,GAAApmB,MAAA,CAAGmmB,SAAS,CAAC,CAAC,CAAC,CAAA,CAAAnmB,MAAA,CAAGomB,QAAQ,CAAC,CAAC,CAAC,CAAGC,CAAAA,WAAW,EAAE,CAAA;AACtD;;;ACgBA,SAASC,aAAaA,CAAArlB,IAAA,EAA+F;AAAA,EAAA,IAA5F+E,IAAI,GAAA/E,IAAA,CAAJ+E,IAAI;IAAEugB,GAAG,GAAAtlB,IAAA,CAAHslB,GAAG;IAAEJ,SAAS,GAAAllB,IAAA,CAATklB,SAAS;IAAEC,QAAQ,GAAAnlB,IAAA,CAARmlB,QAAQ;IAAEI,GAAG,GAAAvlB,IAAA,CAAHulB,GAAG;IAAEC,OAAO,GAAAxlB,IAAA,CAAPwlB,OAAO;IAAEV,WAAW,GAAA9kB,IAAA,CAAX8kB,WAAW,CAAA;AAChF,EAAA,IAAIQ,GAAG,EAAE;IACP,oBAAOhS,GAAA,CAACxV,KAAK,EAAA;AAAC2nB,MAAAA,MAAM,EAAE;AAAEC,QAAAA,GAAG,EAAEJ,GAAAA;OAAM;AAACjd,MAAAA,KAAK,EAAEtD,IAAK;AAACwC,MAAAA,MAAM,EAAExC,IAAK;AAACwgB,MAAAA,GAAG,EAAEA,GAAI;MAAC,YAAYA,EAAAA,GAAAA;AAAI,KAAE,CAAC,CAAA;AAC9F,GAAA;EAEA,IAAIL,SAAS,IAAIC,QAAQ,EAAE;AACzB,IAAA,oBACE7R,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AACd5V,MAAAA,IAAI,EAAEif,WAAW,KAAK,OAAO,GAAG,YAAY,GAAG,YAAa;AAC5DnS,MAAAA,OAAO,EAAEmS,WAAW,KAAK,OAAO,GAAG,MAAM,GAAG,SAAU;AACtD/gB,MAAAA,KAAK,EAAEyhB,OAAO,GAAG,OAAO,GAAG,OAAQ;AAAAzS,MAAAA,QAAA,EAElCkS,WAAW,CAACC,SAAS,EAAEC,QAAQ,CAAA;AAAC,KAClB,CAAC,CAAA;AAEtB,GAAA;EAEA,oBAAO7R,GAAA,CAACgJ,IAAI,EAAA;AAACtS,IAAAA,IAAI,eAAEsJ,GAAA,CAACqS,QAAQ,IAAE,CAAE;AAAC5hB,IAAAA,KAAK,EAAEyhB,OAAO,GAAG,OAAO,GAAG,OAAQ;AAACzgB,IAAAA,IAAI,EAAEigB,WAAW,CAACjgB,IAAI,EAAE+f,WAAW,CAAA;AAAE,GAAE,CAAC,CAAA;AAC/G,CAAA;AAaO,SAASc,MAAMA,CAAA3lB,KAAA,EAAwE;AAAA,EAAA,IAArE8E,IAAI,GAAA9E,KAAA,CAAJ8E,IAAI;IAAE+I,KAAK,GAAA7N,KAAA,CAAL6N,KAAK;IAAEtK,KAAK,GAAAvD,KAAA,CAALuD,KAAK;IAAEshB,WAAW,GAAA7kB,KAAA,CAAX6kB,WAAW;AAAK9Q,IAAAA,KAAK,GAAAC,wBAAA,CAAAhU,KAAA,EAAAiU,WAAA,CAAA,CAAA;EAChE,IAAM2R,WAAW,GAAGd,cAAc,CAAC;AAAEhgB,IAAAA,IAAI,EAAJA,IAAI;AAAE+f,IAAAA,WAAW,EAAXA,WAAAA;AAAY,GAAC,CAAC,CAAA;EACzD,IAAMgB,mBAAmB,GAAGjB,gBAAgB,CAAC;AAAE9f,IAAAA,IAAI,EAAJA,IAAI;AAAE+f,IAAAA,WAAW,EAAXA,WAAW;AAAEhX,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA;EAE1E,oBACEwF,GAAA,CAAC9V,IAAI,EAAA;AACHuoB,IAAAA,QAAQ,EAAC,QAAQ;AACjB7H,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,cAAc,EAAC,QAAQ;AACvB9V,IAAAA,KAAK,EAAEwd,WAAY;AACnBte,IAAAA,MAAM,EAAEse,WAAY;AACpBniB,IAAAA,YAAY,EAAEoiB,mBAAoB;IAClCniB,eAAe,EAAA,cAAA,CAAA5E,MAAA,CAAiByE,KAAK,GAAG,OAAO,GAAG,SAAS,EAAmB,kBAAA,CAAA;AAAAuP,IAAAA,QAAA,eAE9EO,GAAA,CAAC+R,aAAa,EAAA3kB,aAAA,CAAA;AAACqE,MAAAA,IAAI,EAAE8gB,WAAY;AAACL,MAAAA,OAAO,EAAEhiB,KAAM;AAACshB,MAAAA,WAAW,EAAEA,WAAAA;AAAY,KAAA,EAAK9Q,KAAK,CAAG,CAAA;AAAC,GACrF,CAAC,CAAA;AAEX;;ACzCA,SAASgS,eAAeA,CAAAhmB,IAAA,EAEtBqU,GAA0B,EACf;AAAA,EAAA,IAFC4R,OAAO,GAAAjmB,IAAA,CAAjB+S,QAAQ;IAAAmT,kBAAA,GAAAlmB,IAAA,CAAWmmB,aAAa;AAAbA,IAAAA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,kBAAA;IAAAE,gBAAA,GAAApmB,IAAA,CAAEqmB,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,gBAAA;IAAAE,cAAA,GAAAtmB,IAAA,CAAEumB,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,cAAA;IAAEE,SAAS,GAAAxmB,IAAA,CAATwmB,SAAS,CAAA;EAG3F,IAAMC,OAAO,GAAGC,OAAO,CAAC,YAAA;AAAA,IAAA,OAAOP,aAAa,GAAGQ,qBAAqB,GAAGC,eAAe,CAAA;AAAA,GAAC,EAAE,CAACT,aAAa,CAAC,CAAC,CAAA;AACzG,EAAA,IAAMvU,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EACxB,IAAMyU,iBAAiB,GAAGH,OAAO,CAAC,YAAA;IAAA,OAAM,CAAC,gBAAgB,CAAC,CAAA;AAAA,GAAA,EAAE,EAAE,CAAC,CAAA;AAC/D,EAAA,IAAAI,qBAAA,GACEC,+BAA+B,CAACF,iBAAiB,CAAC;IAD5CG,oBAAoB,GAAAF,qBAAA,CAApBE,oBAAoB;IAAEC,kBAAkB,GAAAH,qBAAA,CAAlBG,kBAAkB;IAAEC,qBAAqB,GAAAJ,qBAAA,CAArBI,qBAAqB;IAAEC,mBAAmB,GAAAL,qBAAA,CAAnBK,mBAAmB,CAAA;EAG5F,oBACE7T,GAAA,CAAC8T,gBAAgB,EAAA;AACf/S,IAAAA,GAAG,EAAEA,GAAI;IACTgT,oBAAoB,EAAA,IAAA;AACpBC,IAAAA,UAAU,EAAEL,kBAAmB;AAC/BM,IAAAA,KAAK,EAAE,CAAE;AACTC,IAAAA,YAAY,EAAER,oBAAqB;AACnCS,IAAAA,oBAAoB,EAAE;AACpBpf,MAAAA,KAAK,EAAE,EAAE;AACTd,MAAAA,MAAM,EAAE,CAAC;AACT7D,MAAAA,YAAY,EAAE,CAAC;MACfC,eAAe,EAAEiO,KAAK,CAACM,IAAI,CAAC/M,WAAW,CAACG,MAAM,CAAC3B,eAAAA;KAC/C;IACF+jB,eAAe,EAAE,SAAAA,eAAAA,CAAC1T,KAAK,EAAA;AAAA,MAAA,OAAMuS,SAAS,gBAAGjT,GAAA,CAACqU,iBAAiB,EAAAjnB,aAAA,CAAA,EAAA,EAAKsT,KAAK,CAAG,CAAC,GAAG,IAAI,CAAA;KAAE;IAClF4T,iBAAiB,EAAE,SAAAA,iBAAAA,CAAC5T,KAAK,EAAA;MAAA,OACvBqS,WAAW,gBAAG/S,GAAA,CAACuU,mBAAmB,EAAAnnB,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAKsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAE9P,QAAAA,OAAO,EAAE,IAAK;AAAC4jB,QAAAA,cAAc,EAAE,CAAE;AAACC,QAAAA,iBAAiB,EAAE,CAAC,CAAA;OAAI,CAAA,CAAC,GAAG,IAAI,CAAA;KACjH;AACDC,IAAAA,aAAa,EAAEd,qBAAsB;AACrCV,IAAAA,SAAS,EAAEA,SAAU;IAAAzT,QAAA,EAEpB,SAAAA,QAAAA,CAAA9S,KAAA,EAAA;AAAA,MAAA,IAAGgoB,IAAI,GAAAhoB,KAAA,CAAJgoB,IAAI,CAAA;MAAA,oBACN3U,GAAA,CAAC4U,YAAY,EAAA;QAACC,KAAK,EAAE,CAAC,QAAQ,CAAE;AAACC,QAAAA,QAAQ,EAAEjB,mBAAoB;QAAApU,QAAA,eAC7DO,GAAA,CAACmT,OAAO,EAAA;AAAA1T,UAAAA,QAAA,EAAE,OAAOkT,OAAO,KAAK,UAAU,gBAAG3S,GAAA,CAAC2S,OAAO,EAAAvlB,aAAA,CAAA,EAAA,EAAMunB,IAAI,CAAY,CAAC,GAAGhC,OAAAA;SAAiB,CAAA;AAAC,OAClF,CAAC,CAAA;AAAA,KAAA;AAChB,GACe,CAAC,CAAA;AAEvB,CAAA;AAEA,SAASoC,wBAAwBA,CAACrU,KAAgB,EAAa;AAC7D,EAAA,oBAAOV,GAAA,CAAC9V,MAAI,EAAAkD,aAAA,CAAA;AAAC2E,IAAAA,OAAO,EAAC,oCAAA;GAAyC2O,EAAAA,KAAK,CAAG,CAAC,CAAA;AACzE,CAAA;IAEasU,WAAW,gBAAGlU,UAAU,CAAC4R,eAAe,EAE+B;AAEpFsC,WAAW,CAAC9qB,IAAI,GAAG6qB,wBAAwB;;ACpEpC,SAASE,cAAcA,GAAuC;AACnE,EAAA,IAAMlU,GAAG,GAAG+M,MAAM,CAA0B,IAAI,CAAC,CAAA;AAEjD,EAAA,OAAO/M,GAAG,CAAA;AACZ;;ACYO,SAASmU,oBAAoBA,CAClCvC,OAAU,EAIV;AACA,EAAA,IAAMwC,cAAc,GAAGrH,MAAM,CAA+C,IAAI,CAAC,CAAA;EAEjF,IAAMsH,mBAAmB,GAAGhC,OAAO,CACjC,YAAA;IAAA,OACE,UAA2B1S,KAA8B,EAAE;MACzD,oBACEV,GAAA,CAACgV,WAAW,EAAA5nB,aAAA,CAAAA,aAAA,KAAQsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEK,QAAAA,GAAG,EAAEoU,cAAe;AAAA1V,QAAAA,QAAA,EAC5CkT,OAAAA;AAAO,OAAA,CACG,CAAC,CAAA;KAEjB,CAAA;GACH,EAAA,CAACA,OAAO,CACV,CAAC,CAAA;EAED,OAAO;AACLwC,IAAAA,cAAc,EAAdA,cAAc;AACdH,IAAAA,WAAW,EAAEI,mBAAAA;GACd,CAAA;AACH;;ACrCO,SAASC,oBAAoBA,CAAA3oB,IAAA,EAAqD;AAAA,EAAA,IAAlD+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;AAC7C;EACA,oBAAOO,GAAA,CAAAsV,QAAA,EAAA;AAAA7V,IAAAA,QAAA,EAAGA,QAAAA;AAAQ,GAAG,CAAC,CAAA;AACxB;;ACLO,IAAM8V,cAAc,gBAAG5W,aAAa,CAAkB,YAAM,EAAE,CAAC,CAAA;AAO/D,SAAS6W,eAAeA,CAAA9oB,IAAA,EAAyD;AAAA,EAAA,IAAtD+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEgW,OAAO,GAAA/oB,IAAA,CAAP+oB,OAAO,CAAA;AACjD,EAAA,oBAAOzV,GAAA,CAACuV,cAAc,CAAC/N,QAAQ,EAAA;AAACxC,IAAAA,KAAK,EAAEyQ,OAAQ;AAAAhW,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAA0B,CAAC,CAAA;AACtF,CAAA;AAEO,SAASiW,wBAAwBA,GAAoB;AAC1D,EAAA,IAAMD,OAAO,GAAG1W,UAAU,CAACwW,cAAc,CAAC,CAAA;AAC1C,EAAA,OAAOE,OAAO,CAAA;AAChB;;ACRA,SAASE,WAAWA,CAAAjpB,IAAA,EAAqD;AAAA,EAAA,IAAlD+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEiC,OAAO,GAAAhV,IAAA,CAAPgV,OAAO,CAAA;AACtC,EAAA,IAAMkU,sBAAsB,GAAGF,wBAAwB,EAAE,CAAA;EAOzD,oBAAOrM,YAAY,CAAC5J,QAAQ,EAAE;AAAEiC,IAAAA,OAAO,EALnB,SAAdmU,WAAWA,GAAe;AAC9B,MAAA,IAAInU,OAAO,EAAEA,OAAO,EAAE,CAAA;AACtBkU,MAAAA,sBAAsB,EAAE,CAAA;AAC1B,KAAA;AAEqD,GAAC,CAAC,CAAA;AACzD,CAAA;AAQO,SAASE,cAAcA,CAAAnpB,KAAA,EAAiE;AAAA,EAAA,IAA9D8S,QAAQ,GAAA9S,KAAA,CAAR8S,QAAQ;IAAEsW,OAAO,GAAAppB,KAAA,CAAPopB,OAAO;IAAEN,OAAO,GAAA9oB,KAAA,CAAP8oB,OAAO,CAAA;EACzD,oBACEzV,GAAA,CAACwV,eAAe,EAAA;AAACC,IAAAA,OAAO,EAAEA,OAAQ;IAAAhW,QAAA,eAChCO,GAAA,CAACqV,oBAAoB,EAAA;AAACU,MAAAA,OAAO,EAAEA,OAAQ;AAAAtW,MAAAA,QAAA,EACpCsW,OAAO,gBACN/V,GAAA,CAAC9V,IAAI,EAAA;AACHkW,QAAAA,IAAI,EAAE;AACJiL,UAAAA,QAAQ,EAAE,OAAO;AACjBI,UAAAA,GAAG,EAAE,CAAC;AACNlP,UAAAA,IAAI,EAAE,CAAC;AACPxH,UAAAA,KAAK,EAAE,MAAM;AACbd,UAAAA,MAAM,EAAE,MAAA;SACR;AAAAwL,QAAAA,QAAA,EAEDA,QAAAA;AAAQ,OACL,CAAC,GACL,IAAA;KACgB,CAAA;AAAC,GACR,CAAC,CAAA;AAEtB,CAAA;AAEAqW,cAAc,CAACH,WAAW,GAAGA,WAAW;;AC5CjC,SAASK,OAAOA,CAAAtpB,IAAA,EAAuC;AAAA,EAAA,IAApCgV,OAAO,GAAAhV,IAAA,CAAPgV,OAAO,CAAA;EAC/B,oBACE1B,GAAA,CAAC1V,SAAS,EAAA;AACRgX,IAAAA,iBAAiB,EAAC,MAAM;AACxB+J,IAAAA,QAAQ,EAAC,UAAU;AACnBI,IAAAA,GAAG,EAAC,GAAG;AACPlP,IAAAA,IAAI,EAAC,GAAG;AACRC,IAAAA,KAAK,EAAC,GAAG;AACTkP,IAAAA,MAAM,EAAC,GAAG;AACVrb,IAAAA,eAAe,EAAC,mBAAmB;AACnCqR,IAAAA,OAAO,EAAEA,OAAAA;AAAQ,GAClB,CAAC,CAAA;AAEN;;ACbO,SAASuU,0BAA0BA,CAACvV,KAAsC,EAAa;AAC5F,EAAA,oBACEV,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAA;AACHke,IAAAA,QAAQ,EAAC,0CAA0C;AACnDC,IAAAA,QAAQ,EAAC,wCAAwC;AACjDlZ,IAAAA,QAAQ,EAAC,oCAAoC;AAC7C0C,IAAAA,KAAK,EAAC,MAAM;AACZmhB,IAAAA,SAAS,EAAC,MAAM;AAChB9V,IAAAA,IAAI,EAAE;AAAE8V,MAAAA,SAAS,EAAE,QAAA;AAAS,KAAA;GACxBxV,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN;;ACNO,SAASyV,wBAAsBA,CAAAzpB,IAAA,EAA0E;AAAA,EAAA,IAAvEqpB,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IAAEtW,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE2W,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ,CAAA;AAClE,EAAA,IAAM9X,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAMuX,kBAAkB,GAAGvI,MAAM,CAAC,KAAK,CAAC,CAAA;EAExC,SAASwI,uBAAuBA,GAAS;AACvC,IAAA,IAAIP,OAAO,EAAE;MACXM,kBAAkB,CAACpI,OAAO,GAAG,IAAI,CAAA;AACnC,KAAA;AAEA,IAAA,IAAI,CAAC8H,OAAO,IAAIM,kBAAkB,CAACpI,OAAO,EAAE;AAC1CmI,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAA;AACF,GAAA;AAEA,EAAA,IAAMG,YAAY,GAAGjK,gBAAgB,CAAC,YAAM;IAC1C,IAAAkK,qBAAA,GAA6BlY,KAAK,CAACM,IAAI,CAAC9K,SAAS,CAACM,SAAS,CAACpE,OAAO;MAA3D+C,QAAQ,GAAAyjB,qBAAA,CAARzjB,QAAQ;MAAEsB,MAAM,GAAAmiB,qBAAA,CAANniB,MAAM,CAAA;AACxB,IAAA,IAAAoiB,OAAA,GAAA7pB,cAAA,CAAyByH,MAAM,EAAA,CAAA,CAAA;AAAxBqiB,MAAAA,EAAE,GAAAD,OAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,EAAE,GAAAF,OAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,EAAE,GAAAH,OAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,EAAE,GAAAJ,OAAA,CAAA,CAAA,CAAA,CAAA;IAErB,OAAO;MACL7lB,OAAO,EAAEkmB,UAAU,CAACf,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE;AAAEhjB,QAAAA,QAAQ,EAARA,QAAQ;QAAEsB,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;OAAG,EAAE,UAACG,UAAU,EAAK;QACxG,IAAI,CAACA,UAAU,EAAE,OAAA;AACjBC,QAAAA,OAAO,CAACX,uBAAuB,CAAC,EAAE,CAAA;OACnC,CAAA;KACF,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,oBAAOtW,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE,CAACgX,UAAU,CAACC,kBAAkB,EAAEZ,YAAY,CAAE;AAAA9W,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AACxG;;ACzBO,SAAS2X,yBAAuBA,CAAA1qB,IAAA,EAKK;AAAA,EAAA,IAJ1CqpB,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IACPtW,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACR4X,SAAS,GAAA3qB,IAAA,CAAT2qB,SAAS;IACTjB,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ,CAAA;AAER,EAAA,IAAM9X,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AAExB,EAAA,IAAMuX,kBAAkB,GAAGvI,MAAM,CAAC,KAAK,CAAC,CAAA;AAExC,EAAA,IAAME,QAAQ,GAAG5B,cAAc,CAAC,GAAG,CAAC,CAAA;EAEpC,SAASkK,uBAAuBA,GAAS;AACvC,IAAA,IAAIP,OAAO,EAAE;AACX,MAAA,IAAIsB,SAAS,EAAEA,SAAS,EAAE,CAAA;MAC1BhB,kBAAkB,CAACpI,OAAO,GAAG,IAAI,CAAA;AACnC,KAAA;IAEA,IAAI,CAAC8H,OAAO,IAAIM,kBAAkB,CAACpI,OAAO,EAAEmI,QAAQ,EAAE,CAAA;AACxD,GAAA;AAEA,EAAA,IAAMkB,aAAa,GAAGhL,gBAAgB,CAAC,YAAM;IAC3C,IAAAkK,qBAAA,GAA6BlY,KAAK,CAACM,IAAI,CAAC9K,SAAS,CAACM,SAAS,CAACE,OAAO;MAA3DvB,QAAQ,GAAAyjB,qBAAA,CAARzjB,QAAQ;MAAEsB,MAAM,GAAAmiB,qBAAA,CAANniB,MAAM,CAAA;AAExB,IAAA,IAAAoiB,OAAA,GAAA7pB,cAAA,CAAyByH,MAAM,EAAA,CAAA,CAAA;AAAxBqiB,MAAAA,EAAE,GAAAD,OAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,EAAE,GAAAF,OAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,EAAE,GAAAH,OAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,EAAE,GAAAJ,OAAA,CAAA,CAAA,CAAA,CAAA;IAErBzI,QAAQ,CAAChJ,KAAK,GAAG8R,UAAU,CAACf,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE;AAAEhjB,MAAAA,QAAQ,EAARA,QAAQ;MAAEsB,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;KAAG,EAAE,UAACG,UAAU,EAAK;MAChH,IAAI,CAACA,UAAU,EAAE,OAAA;AACjBC,MAAAA,OAAO,CAACX,uBAAuB,CAAC,EAAE,CAAA;AACpC,KAAC,CAAC,CAAA;IAEF,OAAO;MACL1lB,OAAO,EAAEkmB,UAAU,CAACf,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE;AAAEhjB,QAAAA,QAAQ,EAARA,QAAQ;QAAEsB,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;AAAE,OAAC,CAAC;AACzF/W,MAAAA,SAAS,EAAE,CACT;QAAExN,KAAK,EAAEwkB,UAAU,CAACf,OAAO,GAAG,CAAC,GAAG,GAAG,EAAE;AAAEhjB,UAAAA,QAAQ,EAARA,QAAQ;UAAEsB,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;SAAG,CAAA;AAAE,OAAC,EAC7F;AACEU,QAAAA,OAAO,EAAA9rB,EAAAA,CAAAA,MAAA,CAAKuiB,QAAQ,CAAChJ,KAAK,EAAA,KAAA,CAAA;OAC3B,CAAA;KAEJ,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,oBAAOhF,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;IAACgW,KAAK,EAAE,CAACoX,aAAa,CAAE;AAAA7X,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AAC1E;;AC1CO,SAAS+X,kBAAkBA,CAAA9qB,IAAA,EAQK;AAAA,EAAA,IAPrCqpB,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IACPtW,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRgY,OAAO,GAAA/qB,IAAA,CAAP+qB,OAAO;IACPJ,SAAS,GAAA3qB,IAAA,CAAT2qB,SAAS;IACTK,MAAM,GAAAhrB,IAAA,CAANgrB,MAAM;IACNtB,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ;IACRX,OAAO,GAAA/oB,IAAA,CAAP+oB,OAAO,CAAA;AAEP,EAAA,IAAArG,SAAA,GAA4CC,QAAQ,CAAC0G,OAAO,CAAC;IAAAzG,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAtDuI,IAAAA,cAAc,GAAArI,UAAA,CAAA,CAAA,CAAA;AAAEsI,IAAAA,iBAAiB,GAAAtI,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAuI,UAAA,GAAgDxI,QAAQ,CAAC,KAAK,CAAC;IAAAyI,UAAA,GAAAlrB,cAAA,CAAAirB,UAAA,EAAA,CAAA,CAAA;AAAxDE,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,mBAAmB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE5C,EAAA,IAAMG,qBAAqB,GAAG,YAAY;IACxCL,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACxB;IACA,IAAIjQ,QAAQ,CAACC,EAAE,KAAK,SAAS,IAAIwO,QAAQ,EAAEA,QAAQ,EAAE,CAAA;GACtD,CAAA;AAED/H,EAAAA,SAAS,CAAC,YAAM;AAGd,IAAA,IAAI,EAFsB,CAAC0H,OAAO,IAAIgC,gBAAgB,CAEhC,EAAE,OAAA;AAExB,IAAA,IAAIL,MAAM,EAAEA,MAAM,EAAE,CAAA;IACpBM,mBAAmB,CAAC,KAAK,CAAC,CAAA;GAC3B,EAAE,CAACjC,OAAO,EAAEgC,gBAAgB,EAAEL,MAAM,CAAC,CAAC,CAAA;EAEvC,oBACE1X,GAAA,CAACkY,KAAK,EAAA;IACJvpB,WAAW,EAAA,IAAA;AACXwpB,IAAAA,qBAAqB,EAAE,CAAC,WAAW,EAAE,UAAU,CAAE;AACjDpC,IAAAA,OAAO,EAAE4B,cAAe;IACxBS,MAAM,EAAE,SAAAA,MAAAA,GAAM;AACZ,MAAA,IAAIX,OAAO,EAAEA,OAAO,EAAE,CAAA;MACtBO,mBAAmB,CAAC,IAAI,CAAC,CAAA;KACzB;IACF9E,SAAS,EAAE,SAAAA,SAAAA,GAAM;AACf,MAAA,IAAIkD,QAAQ,EAAEA,QAAQ,EAAE,CAAA;KACxB;IAAA3W,QAAA,eAEFkL,IAAA,CAACzgB,IAAI,EAAA;AAACmhB,MAAAA,QAAQ,EAAC,UAAU;AAAChL,MAAAA,QAAQ,EAAE,CAAE;AAACwK,MAAAA,cAAc,EAAC,QAAQ;AAACD,MAAAA,UAAU,EAAC,QAAQ;MAAAnL,QAAA,EAAA,cAChFO,GAAA,CAACmW,wBAAsB,EAAA;AAACJ,QAAAA,OAAO,EAAEgC,gBAAiB;AAAC3B,QAAAA,QAAQ,EAAE6B,qBAAsB;QAAAxY,QAAA,eACjFO,GAAA,CAACgW,OAAO,EAAA;AAACtU,UAAAA,OAAO,EAAE+T,OAAAA;SAAU,CAAA;AAAC,OACP,CAAC,eAEzBzV,GAAA,CAACiW,0BAA0B,EAAA;QAAAxW,QAAA,eACzBO,GAAA,CAACoX,yBAAuB,EAAA;AAACrB,UAAAA,OAAO,EAAEgC,gBAAiB;AAAC3B,UAAAA,QAAQ,EAAE6B,qBAAsB;AAACZ,UAAAA,SAAS,EAAEA,SAAU;AAAA5X,UAAAA,QAAA,EACvGA,QAAAA;SACsB,CAAA;AAAC,OACA,CAAC,CAAA;KACzB,CAAA;AAAC,GACF,CAAC,CAAA;AAEZ;;;ACzDO,SAAS4Y,kBAAkBA,CAAA3rB,IAAA,EAMK;AAAA,EAAA,IALrC+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRsW,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IACPN,OAAO,GAAA/oB,IAAA,CAAP+oB,OAAO;IACPW,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ;AACL1V,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,IAAAwO,SAAA,GAA8DC,QAAQ,CAAC0G,OAAO,CAAC;IAAAzG,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAxEkJ,IAAAA,uBAAuB,GAAAhJ,UAAA,CAAA,CAAA,CAAA;AAAEiJ,IAAAA,0BAA0B,GAAAjJ,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1DjB,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI0H,OAAO,KAAK,IAAI,EAAE;MACpBwC,0BAA0B,CAAC,IAAI,CAAC,CAAA;AAClC,KAAA;AACF,GAAC,EAAE,CAACxC,OAAO,CAAC,CAAC,CAAA;EAOb,oBACE/V,GAAA,CAAC8V,cAAc,EAAA;AAACC,IAAAA,OAAO,EAAEuC,uBAAwB;AAAC7C,IAAAA,OAAO,EAAEA,OAAQ;IAAAhW,QAAA,eACjEO,GAAA,CAACwX,kBAAkB,EAAApqB,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAKsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEqV,MAAAA,OAAO,EAAEA,OAAQ;AAACK,MAAAA,QAAQ,EAP7B,SAA1BoC,uBAAuBA,GAAe;AAC1C,QAAA,IAAIpC,QAAQ,EAAEA,QAAQ,EAAE,CAAA;QACxBmC,0BAA0B,CAAC,KAAK,CAAC,CAAA;OAKoD;AAAC9C,MAAAA,OAAO,EAAEA,OAAQ;AAAAhW,MAAAA,QAAA,EAClGA,QAAAA;KACiB,CAAA,CAAA;AAAC,GACP,CAAC,CAAA;AAErB;;;AC9BO,SAASgZ,aAAaA,CAAA/rB,IAAA,EAKK;AAAA,EAAA,IAJhC+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAAiZ,aAAA,GAAAhsB,IAAA,CACR4e,QAAQ;IAARA,QAAQ,GAAAoN,aAAA,KAAG,KAAA,CAAA,GAAA;AAAEnmB,MAAAA,IAAI,EAAE,QAAQ;AAAEE,MAAAA,MAAM,EAAE,QAAA;AAAS,KAAC,GAAAimB,aAAA;IAAAC,aAAA,GAAAjsB,IAAA,CAC/C6e,QAAQ;AAARA,IAAAA,QAAQ,GAAAoN,aAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,aAAA;AAChBjY,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,oBACEZ,GAAA,CAAC5V,UAAU,EAAAgD,aAAA,CAAAA,aAAA,CAAA;AAACwrB,IAAAA,4BAA4B,EAAE,KAAM;AAACC,IAAAA,sBAAsB,EAAE;AAAEvN,MAAAA,QAAQ,EAARA,QAAQ;AAAEC,MAAAA,QAAQ,EAARA,QAAAA;AAAS,KAAA;AAAE,GAAA,EAAK7K,KAAK,CAAA,EAAA,EAAA,EAAA;AAAAjB,IAAAA,QAAA,EACvGA,QAAAA;AAAQ,GAAA,CACC,CAAC,CAAA;AAEjB;;;ACXO,SAASqZ,eAAeA,CAAApsB,IAAA,EAKK;AAAA,EAAA,IAJlC+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAAsZ,YAAA,GAAArsB,IAAA,CACRqF,OAAO;IAAPA,OAAO,GAAAgnB,YAAA,KAAG,KAAA,CAAA,GAAA;AAAExmB,MAAAA,IAAI,EAAE,QAAQ;AAAEE,MAAAA,MAAM,EAAE,QAAA;AAAS,KAAC,GAAAsmB,YAAA;IAAAC,iBAAA,GAAAtsB,IAAA,CAC9CusB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,iBAAA;AAChBtY,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;EAER,oBACEZ,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,KACCsT,KAAK,CAAA,EAAA,EAAA,EAAA;AACTwY,IAAAA,SAAS,EAAC,QAAQ;AAClBnnB,IAAAA,OAAO,EAAEA,OAAQ;AACjBonB,IAAAA,cAAc,EAAEF,YAAY,GAAG,mCAAmC,GAAG,CAAE;AACvE3oB,IAAAA,WAAW,EAAC,gBAAgB;AAC5Bsa,IAAAA,UAAU,EAAE;AAAErY,MAAAA,IAAI,EAAEpH,SAAS;AAAEsH,MAAAA,MAAM,EAAE,UAAA;KAAa;AAAAgN,IAAAA,QAAA,EAEnDA,QAAAA;AAAQ,GAAA,CACL,CAAC,CAAA;AAEX;;;ACFO,SAAS2Z,eAAeA,CAAA1sB,IAAA,EAQK;AAAA,EAAA,IAPlC+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACR4Z,KAAK,GAAA3sB,IAAA,CAAL2sB,KAAK;IAAAC,kBAAA,GAAA5sB,IAAA,CACL6sB,aAAa;IAAbA,aAAa,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA;AAAE/mB,MAAAA,IAAI,EAAE,QAAQ;AAAEE,MAAAA,MAAM,EAAE,QAAA;AAAS,KAAC,GAAA6mB,kBAAA;IAAAN,iBAAA,GAAAtsB,IAAA,CACpDusB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,iBAAA;IACnBxc,KAAK,GAAA9P,IAAA,CAAL8P,KAAK;IACLD,IAAI,GAAA7P,IAAA,CAAJ6P,IAAI;AACDmE,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,IAAM4Y,uBAAuB,GAAG;AAAEjnB,IAAAA,IAAI,EAAE,QAAQ;AAAEE,IAAAA,MAAM,EAAE,QAAA;GAAU,CAAA;EAEpE,oBACEuN,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,KACCsT,KAAK,CAAA,EAAA,EAAA,EAAA;AACT3O,IAAAA,OAAO,EAAEwnB,aAAc;AACvBE,IAAAA,iBAAiB,EAAER,YAAY,GAAG,mCAAmC,GAAG,CAAE;AAC1E3oB,IAAAA,WAAW,EAAC,gBAAgB;AAC5Bua,IAAAA,cAAc,EAAC,QAAQ;AACvB9V,IAAAA,KAAK,EAAC,MAAM;AACZd,IAAAA,MAAM,EAAC,8BAA8B;AACrCylB,IAAAA,YAAY,EAAEld,KAAK,GAAG,QAAQ,GAAGgd,uBAAwB;AACzDG,IAAAA,WAAW,EAAEpd,IAAI,GAAG,QAAQ,GAAGid,uBAAwB;IAAA/Z,QAAA,eAEvDkL,IAAA,CAACzgB,IAAI,EAAA;AAAC0gB,MAAAA,UAAU,EAAC,QAAQ;AAACE,MAAAA,aAAa,EAAC,KAAK;MAACD,cAAc,EAAE,CAACpL,QAAQ,IAAI,CAAClD,IAAI,GAAG,UAAU,GAAG,eAAgB;AAAAkD,MAAAA,QAAA,EAC7GlD,CAAAA,IAAI,gBAAGyD,GAAA,CAAC9V,IAAI,EAAA;AAAC6K,QAAAA,KAAK,EAAC,uBAAuB;AAAA0K,QAAAA,QAAA,EAAElD,IAAAA;AAAI,OAAO,CAAC,GAAG,IAAI,eAEhEoO,IAAA,CAACzgB,IAAI,EAAA;AAACmW,QAAAA,QAAQ,EAAC,GAAG;AAACqZ,QAAAA,YAAY,EAAEld,KAAK,GAAG,QAAQ,GAAG,CAAE;AAACmd,QAAAA,WAAW,EAAEpd,IAAI,GAAG,QAAQ,GAAG,CAAE;AAAAkD,QAAAA,QAAA,GACrF4Z,KAAK,gBACJrZ,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;UAAC4C,SAAS,EAAE,CAACxO,IAAI,IAAIC,KAAK,GAAG,MAAM,GAAG,QAAS;AAAC6C,UAAAA,OAAO,EAAC,MAAM;AAAAI,UAAAA,QAAA,EAC3E4Z,KAAAA;AAAK,SACS,CAAC,GAChB,IAAI,EACP5Z,QAAQ,CAAA;AAAA,OACL,CAAC,EAENjD,KAAK,gBAAGwD,GAAA,CAAC9V,IAAI,EAAA;AAAC6K,QAAAA,KAAK,EAAC,uBAAuB;AAAA0K,QAAAA,QAAA,EAAEjD,KAAAA;OAAY,CAAC,GAAG,IAAI,CAAA;KAC9D,CAAA;AAAC,GAAA,CACH,CAAC,CAAA;AAEX;;;AClCO,SAASod,SAASA,CAAAltB,IAAA,EASK;AAAA,EAAA,IAAAmtB,oBAAA,GAAAntB,IAAA,CAR5B2D,eAAe;AAAfA,IAAAA,eAAe,GAAAwpB,oBAAA,KAAG,KAAA,CAAA,GAAA,wBAAwB,GAAAA,oBAAA;IAAAC,aAAA,GAAAptB,IAAA,CAC1C2F,QAAQ;AAARA,IAAAA,QAAQ,GAAAynB,aAAA,KAAG,KAAA,CAAA,GAAA,yBAAyB,GAAAA,aAAA;IACpCC,aAAa,GAAArtB,IAAA,CAAbqtB,aAAa;IACbta,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRzL,MAAM,GAAAtH,IAAA,CAANsH,MAAM;IACNgE,IAAI,GAAAtL,IAAA,CAAJsL,IAAI;IACJ9D,MAAM,GAAAxH,IAAA,CAANwH,MAAM;AACHwM,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;EAER,oBACEZ,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,KACCsT,KAAK,CAAA,EAAA,EAAA,EAAA;AACT+R,IAAAA,QAAQ,EAAC,QAAQ;AACjBpiB,IAAAA,eAAe,EAAEA,eAAgB;AACjCG,IAAAA,MAAM,EAAEupB,aAAa,GAAG5uB,SAAS,GAAG,uBAAwB;AAC5DiF,IAAAA,YAAY,EAAC,6BAA6B;AAC1C2E,IAAAA,KAAK,EAAC,MAAM;AACZmhB,IAAAA,SAAS,EAAC,MAAM;AAChB7jB,IAAAA,QAAQ,EAAEA,QAAS;AACnBF,IAAAA,SAAS,EAAC,0BAA0B;AAAAsN,IAAAA,QAAA,EAEnCA,QAAQ,iBACPkL,IAAA,CAAA2K,QAAA,EAAA;MAAA7V,QAAA,EAAA,CACGzL,MAAM,IAAI,IAAI,EACdgE,IAAI,IAAI,IAAI,EACZ9D,MAAM,IAAI,IAAI,CAAA;KACf,CAAA;AACH,GAAA,CACG,CAAC,CAAA;AAEX,CAAA;AAEA0lB,SAAS,CAACI,IAAI,GAAGvB,aAAa,CAAA;AAC9BmB,SAAS,CAACK,MAAM,GAAGb,eAAe,CAAA;AAClCQ,SAAS,CAACM,MAAM,GAAGpB,eAAe,CAAA;AAClCc,SAAS,CAAC9D,cAAc,GAAGuC,kBAAkB;;AC1DtC,SAAS8B,oBAAkBA,CAAAztB,IAAA,EAAqF;AAAA,EAAA,IAAlF+W,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IAAE2W,UAAU,GAAA1tB,IAAA,CAAV0tB,UAAU;IAAEnb,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IAAEC,SAAS,GAAAxS,IAAA,CAATwS,SAAS,CAAA;EAC/E,IAAIuE,UAAU,EAAE,OAAO,4CAA4C,CAAA;AAEnE,EAAA,IAAI2W,UAAU,IAAInb,SAAS,EAAE,OAAO,qDAAqD,CAAA;EAEzF,IAAIC,SAAS,EAAE,OAAO,2CAA2C,CAAA;EAEjE,IAAID,SAAS,EAAE,OAAO,yCAAyC,CAAA;EAE/D,IAAImb,UAAU,EAAE,OAAO,4CAA4C,CAAA;AAEnE,EAAA,OAAO,2CAA2C,CAAA;AACpD;;ACjBO,SAASC,eAAeA,CAAChb,OAA2B,EAAmB;AAC5E;AACA;EACA,OAAOA,OAAO,KAAK,SAAS,GAAGib,MAAM,CAACC,gBAAgB,GAAG,gCAAgC,CAAA;AAC3F;;ACaO,SAASC,sBAAsBA,CAAA9tB,IAAA,EASK;AAAA,EAAA,IARzC+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRJ,OAAO,GAAA3S,IAAA,CAAP2S,OAAO;IACP5N,IAAI,GAAA/E,IAAA,CAAJ+E,IAAI;IACJwN,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTC,SAAS,GAAAxS,IAAA,CAATwS,SAAS;IACTuE,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACV2W,UAAU,GAAA1tB,IAAA,CAAV0tB,UAAU;IACVxW,cAAc,GAAAlX,IAAA,CAAdkX,cAAc,CAAA;AAEd,EAAA,IAAME,EAAE,GAAGC,KAAK,EAAE,CAAA;EAElB,IAAM7D,KAAK,GAAG4D,EAAE,CAAC;AACfuH,IAAAA,QAAQ,EAAE,UAAU;AACpBjb,IAAAA,YAAY,EAAEiqB,eAAe,CAAChb,OAAO,CAAC;IACtChP,eAAe,EAAE8pB,oBAAkB,CAAC;AAAE1W,MAAAA,UAAU,EAAVA,UAAU;AAAE2W,MAAAA,UAAU,EAAVA,UAAU;AAAEnb,MAAAA,SAAS,EAATA,SAAS;AAAEC,MAAAA,SAAS,EAATA,SAAAA;AAAU,KAAC,CAAC;AACrFoM,IAAAA,QAAQ,EAAE7Z,IAAI,KAAK,OAAO,GAAG,QAAQ,GAAG;AAAEc,MAAAA,IAAI,EAAE,QAAQ;AAAEoC,MAAAA,KAAK,EAAE,QAAA;KAAU;AAC3E4W,IAAAA,QAAQ,EAAE9Z,IAAI,KAAK,OAAO,GAAG,QAAQ,GAAG;AAAEc,MAAAA,IAAI,EAAE,QAAQ;AAAEoC,MAAAA,KAAK,EAAE,QAAA;AAAS,KAAA;AAC5E,GAAC,CAAC,CAAA;AAEF,EAAA,oBAAOqL,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE,CAACA,KAAK,EAAE0D,cAAc,CAAE;AAAAnE,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AAClF;;AClBO,IAAM0M,oBAAkB,GAAG,UAAAzf,IAAA,EAIgB;AAAA,EAAA,IAHhDkI,QAAQ,GAAAlI,IAAA,CAARkI,QAAQ;IACR7E,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACRyR,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB,CAAA;AAEjB,EAAA,IAAMlD,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EAExB,IAAM7N,OAAO,GAAGmb,cAAc,CAACqO,OAAO,CAACjZ,iBAAiB,CAAC,CAAC,CAAA;AAC1D,EAAA,IAAMkZ,QAAQ,GAAGC,eAAe,CAAC,YAAM;IACrC,OAAO7D,UAAU,CAAC7lB,OAAO,CAAC+T,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE;MAAEjS,QAAQ,EAAEuL,KAAK,CAACM,IAAI,CAACrK,OAAO,CAACG,IAAI,CAAC5B,UAAU,CAACC,QAAAA;AAAS,KAAC,CAAC,CAAA;AACrG,GAAC,CAAC,CAAA;AAEF,EAAA,IAAM6nB,gBAAgB,GAAGtO,gBAAgB,CAAC,YAAM;IAC9C,IAAAuO,qBAAA,GAKIvc,KAAK,CAACM,IAAI,CAACrK,OAAO,CAACG,IAAI,CAACrE,eAAe;AAJhCyqB,MAAAA,SAAS,GAAAD,qBAAA,CAAA,SAAA,CAAA;MACTE,SAAS,GAAAF,qBAAA,CAAlB5pB,OAAO;MACG+pB,UAAU,GAAAH,qBAAA,CAApBjmB,QAAQ;MACEqmB,UAAU,GAAAJ,qBAAA,CAApB9qB,QAAQ,CAAA;IAGV,IAAIA,QAAQ,EAAE,OAAO;AAAEM,MAAAA,eAAe,EAAE4qB,UAAAA;KAAY,CAAA;IAEpD,IAAIrmB,QAAQ,EAAE,OAAO;AAAEvE,MAAAA,eAAe,EAAE2qB,UAAAA;KAAY,CAAA;IAEpD,OAAO;AACL3qB,MAAAA,eAAe,EAAEkc,gBAAgB,CAACmO,QAAQ,CAAC1V,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC8V,SAAS,EAAEC,SAAS,CAAC,CAAA;KACjF,CAAA;AACH,GAAC,CAAC,CAAA;EAUF,OAAO;AACLtO,IAAAA,SAAS,EATO,SAAZA,SAASA,GAAe;MAC5Bxb,OAAO,CAAC+T,KAAK,GAAG,IAAI,CAAA;KAQX;AACT2H,IAAAA,UAAU,EANO,SAAbA,UAAUA,GAAe;MAC7B1b,OAAO,CAAC+T,KAAK,GAAG,KAAK,CAAA;KAKX;AACV4V,IAAAA,gBAAgB,EAAhBA,gBAAAA;GACD,CAAA;AACH,CAAC;;ACvDM,SAASM,qBAAmBA,CAAAxuB,IAAA,EAKY;AAAA,EAAA,IAJ7C+W,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACV2W,UAAU,GAAA1tB,IAAA,CAAV0tB,UAAU;IACVlb,SAAS,GAAAxS,IAAA,CAATwS,SAAS;IACTD,SAAS,GAAAvS,IAAA,CAATuS,SAAS,CAAA;EAET,IAAIwE,UAAU,EAAE,OAAO,aAAa,CAAA;AAEpC,EAAA,IAAI2W,UAAU,IAAInb,SAAS,EAAE,OAAO,OAAO,CAAA;AAE3C,EAAA,IAAImb,UAAU,IAAIlb,SAAS,EAAE,OAAO,OAAO,CAAA;AAE3C,EAAA,OAAO,OAAO,CAAA;AAChB;;AC6BO,SAASic,UAAUA,CAAAzuB,IAAA,EAcQ;AAAA,EAAA,IAAAga,SAAA,GAAAha,IAAA,CAbhC8W,IAAI;AAAJA,IAAAA,IAAI,GAAAkD,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;IACf1B,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IACLpQ,QAAQ,GAAAlI,IAAA,CAARkI,QAAQ;IACR7E,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACRsP,OAAO,GAAA3S,IAAA,CAAP2S,OAAO;IACPI,SAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACR+B,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB;IACjBD,iBAAiB,GAAA7U,IAAA,CAAjB6U,iBAAiB;IACjBG,OAAO,GAAAhV,IAAA,CAAPgV,OAAO;IACP0Z,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;IACR7N,MAAM,GAAA7gB,IAAA,CAAN6gB,MAAM;IACND,OAAO,GAAA5gB,IAAA,CAAP4gB,OAAO;IACP7b,IAAI,GAAA/E,IAAA,CAAJ+E,IAAI,CAAA;EAEJ,IAAA+b,mBAAA,GAAoDrB,oBAAkB,CAAC;AAAEvX,MAAAA,QAAQ,EAARA,QAAQ;AAAE7E,MAAAA,QAAQ,EAARA,QAAQ;AAAEyR,MAAAA,iBAAiB,EAAjBA,iBAAAA;AAAkB,KAAC,CAAC;IAAzGiL,SAAS,GAAAe,mBAAA,CAATf,SAAS;IAAEE,UAAU,GAAAa,mBAAA,CAAVb,UAAU;IAAEiO,gBAAgB,GAAApN,mBAAA,CAAhBoN,gBAAgB,CAAA;AAE/C,EAAA,IAAMS,YAAY,GAAG,YAAY;IAC/B,IAAI,CAACD,QAAQ,EAAE,OAAA;;AAEf;IACA,IAAI5X,IAAI,KAAK,UAAU,EAAE;AACvB4X,MAAAA,QAAQ,CAACxmB,QAAQ,GAAGzJ,SAAS,GAAG6Z,KAAK,CAAC,CAAA;AACtC,MAAA,OAAA;AACF,KAAA;IAEAoW,QAAQ,CAACpW,KAAK,CAAC,CAAA;GAChB,CAAA;EAWD,oBACEhF,GAAA,CAAC1V,SAAS,EAAA;AACRyF,IAAAA,QAAQ,EAAEA,QAAS;AACnBuR,IAAAA,iBAAiB,EAAEkC,IAAK;AACxB8X,IAAAA,kBAAkB,EAAE;AAAE3lB,MAAAA,OAAO,EAAEf,QAAAA;KAAW;AAC1C2Y,IAAAA,MAAM,EAAEA,MAAO;AACfD,IAAAA,OAAO,EAAEA,OAAQ;AACjB5L,IAAAA,OAAO,EAhBS,SAAdgO,WAAWA,CAAIC,CAAwB,EAAW;AACtD,MAAA,IAAIrC,OAAO,EAAEA,OAAO,CAACqC,CAAC,CAAC,CAAA;AAEvB,MAAA,IAAIjO,OAAO,EAAEA,OAAO,EAAE,CAAA;AACtB2Z,MAAAA,YAAY,EAAE,CAAA;AAEd,MAAA,IAAI9N,MAAM,EAAEA,MAAM,CAACoC,CAAC,CAAC,CAAA;KAUE;AACrBlD,IAAAA,SAAS,EAAEA,SAAU;AACrBE,IAAAA,UAAU,EAAEA,UAAW;IAAAlN,QAAA,EAEtB,SAAAA,QAAAA,CAAA9S,KAAA,EAAA;AAAA,MAAA,IAAGsS,SAAS,GAAAtS,KAAA,CAATsS,SAAS;QAAEC,SAAS,GAAAvS,KAAA,CAATuS,SAAS,CAAA;MAAA,oBACtByL,IAAA,CAAC6P,sBAAsB,EAAA;AACrB5W,QAAAA,cAAc,EAAEgX,gBAAiB;QACjC3b,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;AAC1CkC,QAAAA,UAAU,EAAE1T,QAAS;AACrBqqB,QAAAA,UAAU,EAAExlB,QAAS;QACrBsK,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;AAC1CnC,QAAAA,OAAO,EAAEA,OAAQ;AACjB5N,QAAAA,IAAI,EAAEA,IAAK;AAAAgO,QAAAA,QAAA,EAEXO,cAAAA,GAAA,CAACmG,UAAU,CAAC+B,eAAe,EAAA;UACzBlD,KAAK,EAAEkW,qBAAmB,CAAC;AACzBzX,YAAAA,UAAU,EAAE1T,QAAQ;YACpBqqB,UAAU,EAAExlB,QAAQ,IAAI4M,iBAAiB;AACzCtC,YAAAA,SAAS,EAATA,SAAS;YACTD,SAAS,EAAEA,SAAS,IAAIsC,iBAAAA;AAC1B,WAAC,CAAE;AAAA9B,UAAAA,QAAA,EAEFA,SAAAA;AAAQ,SACiB,CAAC,EAC5B1P,QAAQ,gBACPiQ,GAAA,CAAC9V,IAAI,EAAA;AACHkG,UAAAA,YAAY,EAAEiqB,eAAe,CAAChb,OAAO,CAAE;AACvC9O,UAAAA,WAAW,EAAC,wCAAwC;AACpDD,UAAAA,WAAW,EAAC,wCAAwC;AACpD+a,UAAAA,QAAQ,EAAC,UAAU;AACnBI,UAAAA,GAAG,EAAC,GAAG;AACPjP,UAAAA,KAAK,EAAC,GAAG;AACTD,UAAAA,IAAI,EAAC,GAAG;AACRmP,UAAAA,MAAM,EAAC,GAAA;SACR,CAAC,GACA,IAAI,CAAA;AAAA,OACc,CAAC,CAAA;AAAA,KAAA;AAC1B,GACQ,CAAC,CAAA;AAEhB;;AC9HO,SAAS6P,mBAAmBA,CAAA7uB,IAAA,EAAuE;AAAA,EAAA,IAApE+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE2R,SAAS,GAAA1kB,IAAA,CAAT0kB,SAAS;IAAEoK,MAAM,GAAA9uB,IAAA,CAAN8uB,MAAM,CAAA;AAC/D,EAAA,IAAMC,sBAAsB,GAAGD,MAAM,GAAGrwB,SAAS,GAAG,QAAQ,CAAA;EAC5D,oBACE6U,GAAA,CAAC9V,IAAI,EAAA;AACHmgB,IAAAA,WAAW,EAAE+G,SAAS,KAAK,KAAK,GAAGqK,sBAAsB,GAAGtwB,SAAU;AACtEuwB,IAAAA,YAAY,EAAEtK,SAAS,KAAK,QAAQ,GAAGqK,sBAAsB,GAAGtwB,SAAU;AAAAsU,IAAAA,QAAA,EAEzEA,QAAAA;AAAQ,GACL,CAAC,CAAA;AAEX;;;ACJA,SAASkc,gBAAgBA,CAAAjvB,IAAA,EAA4D;AAAA,EAAA,IAAzD0kB,SAAS,GAAA1kB,IAAA,CAAT0kB,SAAS;AAAK1Q,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;EAC7C,IAAIwQ,SAAS,KAAK,KAAK,EAAE;AACvB,IAAA,oBAAOpR,GAAA,CAAC5V,YAAU,EAAAgD,aAAA,CAAA;MAACwF,UAAU,EAAA,IAAA;KAAK8N,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC7C,GAAA;EAEA,oBAAOV,GAAA,CAAC9V,MAAI,EAAAkD,aAAA,CAAKsT,EAAAA,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC5B,CAAA;;AAKA;;AAoCA,SAASkb,OAAOA,CAAAjvB,KAAA,EAc2B;AAAA,EAAA,IAbzCkvB,EAAE,GAAAlvB,KAAA,CAAFkvB,EAAE;IACF3a,MAAM,GAAAvU,KAAA,CAANuU,MAAM;IACNsC,IAAI,GAAA7W,KAAA,CAAJ6W,IAAI;IAAAsY,eAAA,GAAAnvB,KAAA,CACJykB,SAAS;AAATA,IAAAA,SAAS,GAAA0K,eAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,eAAA;IACpB/rB,QAAQ,GAAApD,KAAA,CAARoD,QAAQ;IACR0P,QAAQ,GAAA9S,KAAA,CAAR8S,QAAQ;IACRuF,KAAK,GAAArY,KAAA,CAALqY,KAAK;IACL3F,OAAO,GAAA1S,KAAA,CAAP0S,OAAO;IACPqC,OAAO,GAAA/U,KAAA,CAAP+U,OAAO;IACP0Z,QAAQ,GAAAzuB,KAAA,CAARyuB,QAAQ;IACR9N,OAAO,GAAA3gB,KAAA,CAAP2gB,OAAO;IACPC,MAAM,GAAA5gB,KAAA,CAAN4gB,MAAM;IACN9b,IAAI,GAAA9E,KAAA,CAAJ8E,IAAI,CAAA;AAEJ,EAAA,IAAA2d,SAAA,GAAwCC,QAAQ,CAACrK,KAAK,CAAC;IAAAsK,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAhD2M,IAAAA,YAAY,GAAAzM,UAAA,CAAA,CAAA,CAAA;AAAE0M,IAAAA,eAAe,GAAA1M,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAM2M,MAAM,GAAGzY,IAAI,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAACqB,QAAQ,CAACrB,IAAI,CAAC,CAAA;AAE3D,EAAA,IAAM0Y,aAAa,GAAGC,QAAQ,CAACC,OAAO,CAAC3c,QAAQ,CAG5C,CAAA;AAOH,EAAA,IAAM4c,WAGL,GAAG;AACF7Y,IAAAA,IAAI,EAAJA,IAAI;AACJzT,IAAAA,QAAQ,EAARA,QAAQ;AACRsP,IAAAA,OAAO,EAAPA,OAAO;AACPqC,IAAAA,OAAO,EAAE,CAACua,MAAM,GAAGva,OAAO,GAAGvW,SAAS;AACtCiwB,IAAAA,QAAQ,EAAEa,MAAM,GAb8D,SAA1EZ,YAAuEA,CAAIiB,QAAQ,EAAK;MAC5FN,eAAe,CAACM,QAAQ,CAAC,CAAA;AACzB,MAAA,IAAIlB,QAAQ,EAAEA,QAAQ,CAACkB,QAAQ,CAAC,CAAA;AAClC,KAAC,GAUmCnxB,SAAS;AAC3CmiB,IAAAA,OAAO,EAAPA,OAAO;AACPC,IAAAA,MAAM,EAANA,MAAM;AACN9b,IAAAA,IAAI,EAAJA,IAAAA;GACD,CAAA;EAED,oBACEuO,GAAA,CAAC2b,gBAAgB,EAAA;AAACvK,IAAAA,SAAS,EAAEA,SAAU;AAAClQ,IAAAA,MAAM,EAAEA,MAAO;AAAC2a,IAAAA,EAAE,EAAEA,EAAG;IAAApc,QAAA,EAC5Dyc,aAAa,CAACpvB,GAAG,CAAC,UAACyvB,KAAK,EAAEtI,KAAK,EAAK;AACnC,MAAA,IAAMuI,OAAO,gBAAGnT,YAAY,CAAgDkT,KAAK,EAAAnvB,aAAA,CAAA;QAC/EwH,QAAQ,EAAEqnB,MAAM,GAAGM,KAAK,CAAC7b,KAAK,CAACsE,KAAK,KAAK+W,YAAY,GAAG5wB,SAAAA;OACrDkxB,EAAAA,WAAW,CACR,CAAC,CAAA;MAET,oBACErc,GAAA,CAACub,mBAAmB,EAAA;AAAiBnK,QAAAA,SAAS,EAAEA,SAAU;AAACoK,QAAAA,MAAM,EAAEvH,KAAK,KAAKiI,aAAa,CAAChxB,MAAM,GAAG,CAAE;AAAAuU,QAAAA,QAAA,EACnG+c,OAAAA;OADuBD,EAAAA,KAAK,CAAClV,GAEX,CAAC,CAAA;KAEzB,CAAA;AAAC,GACc,CAAC,CAAA;AAEvB,CAAA;AAEAuU,OAAO,CAACtK,IAAI,GAAG6J,UAAU,CAAA;AAYlB,SAASsB,sBAAsBA,GAAuE;AAC3G,EAAA,OAAOb,OAAO,CAAA;AAChB,CAAA;AAEA,IAAMc,aAAa,GAAGD,sBAAsB,EAAmB,CAAA;AAE/Db,OAAO,CAACc,aAAa,GAAGA,aAAa,CAAA;AAE9B,IAAMC,eAAe,GAAG;AAC7BrL,EAAAA,IAAI,EAAE6J,UAAU;AAChBuB,EAAAA,aAAa,EAAbA,aAAAA;AACF;;ACvIO,SAASvG,wBAAsBA,CAAAzpB,IAAA,EAA0E;AAAA,EAAA,IAAvEqpB,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IAAEtW,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE2W,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ,CAAA;AAClE,EAAA,IAAM9X,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAMuX,kBAAkB,GAAGvI,MAAM,CAAC,KAAK,CAAC,CAAA;EAExC,SAASwI,uBAAuBA,GAAS;AACvC,IAAA,IAAIP,OAAO,EAAE;MACXM,kBAAkB,CAACpI,OAAO,GAAG,IAAI,CAAA;AACnC,KAAA;AAEA,IAAA,IAAI,CAAC8H,OAAO,IAAIM,kBAAkB,CAACpI,OAAO,EAAE;AAC1CmI,MAAAA,QAAQ,EAAE,CAAA;AACZ,KAAA;AACF,GAAA;AAEA,EAAA,IAAMG,YAAY,GAAGjK,gBAAgB,CAAC,YAAM;IAC1C,IAAAsQ,qBAAA,GAA6Bte,KAAK,CAACM,IAAI,CAAC3J,WAAW,CAACb,SAAS,CAACpE,OAAO;MAA7D+C,QAAQ,GAAA6pB,qBAAA,CAAR7pB,QAAQ;MAAEsB,MAAM,GAAAuoB,qBAAA,CAANvoB,MAAM,CAAA;AACxB,IAAA,IAAAoiB,OAAA,GAAA7pB,cAAA,CAAyByH,MAAM,EAAA,CAAA,CAAA;AAAxBqiB,MAAAA,EAAE,GAAAD,OAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,EAAE,GAAAF,OAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,EAAE,GAAAH,OAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,EAAE,GAAAJ,OAAA,CAAA,CAAA,CAAA,CAAA;IAErB,OAAO;MACL7lB,OAAO,EAAEkmB,UAAU,CAACf,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE;AAAEhjB,QAAAA,QAAQ,EAARA,QAAQ;QAAEsB,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;OAAG,EAAE,UAACG,UAAU,EAAK;QACxG,IAAI,CAACA,UAAU,EAAE,OAAA;AACjBC,QAAAA,OAAO,CAACX,uBAAuB,CAAC,EAAE,CAAA;OACnC,CAAA;KACF,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,oBAAOtW,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE,CAACgX,UAAU,CAACC,kBAAkB,EAAEZ,YAAY,CAAE;AAAA9W,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AACxG;;ACzBO,SAAS2X,uBAAuBA,CAAA1qB,IAAA,EAKK;AAAA,EAAA,IAJ1CqpB,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IACPtW,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACR4X,SAAS,GAAA3qB,IAAA,CAAT2qB,SAAS;IACTjB,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ,CAAA;AAER,EAAA,IAAM9X,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AAExB,EAAA,IAAMuX,kBAAkB,GAAGvI,MAAM,CAAC,KAAK,CAAC,CAAA;AAExC,EAAA,IAAME,QAAQ,GAAG5B,cAAc,CAAC,GAAG,CAAC,CAAA;EAEpC,SAASkK,uBAAuBA,GAAS;AACvC,IAAA,IAAIP,OAAO,EAAE;AACX,MAAA,IAAIsB,SAAS,EAAEA,SAAS,EAAE,CAAA;MAC1BhB,kBAAkB,CAACpI,OAAO,GAAG,IAAI,CAAA;AACnC,KAAA;IAEA,IAAI,CAAC8H,OAAO,IAAIM,kBAAkB,CAACpI,OAAO,EAAEmI,QAAQ,EAAE,CAAA;AACxD,GAAA;AAEA,EAAA,IAAMkB,aAAa,GAAGhL,gBAAgB,CAAC,YAAM;IAC3C,IAAAsQ,qBAAA,GAA6Bte,KAAK,CAACM,IAAI,CAAC3J,WAAW,CAACb,SAAS,CAACE,OAAO;MAA7DvB,QAAQ,GAAA6pB,qBAAA,CAAR7pB,QAAQ;MAAEsB,MAAM,GAAAuoB,qBAAA,CAANvoB,MAAM,CAAA;AAExB,IAAA,IAAAoiB,OAAA,GAAA7pB,cAAA,CAAyByH,MAAM,EAAA,CAAA,CAAA;AAAxBqiB,MAAAA,EAAE,GAAAD,OAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,EAAE,GAAAF,OAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,EAAE,GAAAH,OAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,EAAE,GAAAJ,OAAA,CAAA,CAAA,CAAA,CAAA;IAErBzI,QAAQ,CAAChJ,KAAK,GAAG8R,UAAU,CAACf,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE;AAAEhjB,MAAAA,QAAQ,EAARA,QAAQ;MAAEsB,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;KAAG,EAAE,UAACG,UAAU,EAAK;MAChH,IAAI,CAACA,UAAU,EAAE,OAAA;AACjBC,MAAAA,OAAO,CAACX,uBAAuB,CAAC,EAAE,CAAA;AACpC,KAAC,CAAC,CAAA;IAEF,OAAO;MACL1lB,OAAO,EAAEkmB,UAAU,CAACf,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE;AAAEhjB,QAAAA,QAAQ,EAARA,QAAQ;QAAEsB,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;AAAE,OAAC,CAAC;AACzF/W,MAAAA,SAAS,EAAE,CACT;QAAExN,KAAK,EAAEwkB,UAAU,CAACf,OAAO,GAAG,CAAC,GAAG,GAAG,EAAE;AAAEhjB,UAAAA,QAAQ,EAARA,QAAQ;UAAEsB,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;SAAG,CAAA;AAAE,OAAC,EAC7F;AACEU,QAAAA,OAAO,EAAA9rB,EAAAA,CAAAA,MAAA,CAAKuiB,QAAQ,CAAChJ,KAAK,EAAA,KAAA,CAAA;OAC3B,CAAA;KAEJ,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,oBAAOhF,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;IAACgW,KAAK,EAAE,CAACoX,aAAa,CAAE;AAAA7X,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AAC1E;;ACnCO,SAASod,oBAAoBA,CAAAnwB,IAAA,EAQK;AAAA,EAAA,IAPvCqpB,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IACPtW,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRgY,OAAO,GAAA/qB,IAAA,CAAP+qB,OAAO;IACPJ,SAAS,GAAA3qB,IAAA,CAAT2qB,SAAS;IACTK,MAAM,GAAAhrB,IAAA,CAANgrB,MAAM;IACNtB,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ;IACRX,OAAO,GAAA/oB,IAAA,CAAP+oB,OAAO,CAAA;AAEP,EAAA,IAAArG,SAAA,GAA4CC,QAAQ,CAAC0G,OAAO,CAAC;IAAAzG,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAtDuI,IAAAA,cAAc,GAAArI,UAAA,CAAA,CAAA,CAAA;AAAEsI,IAAAA,iBAAiB,GAAAtI,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAuI,UAAA,GAAgDxI,QAAQ,CAAC,KAAK,CAAC;IAAAyI,UAAA,GAAAlrB,cAAA,CAAAirB,UAAA,EAAA,CAAA,CAAA;AAAxDE,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,mBAAmB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE5C,EAAA,IAAMG,qBAAqB,GAAG,YAAY;IACxCL,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACxB;IACA,IAAIjQ,QAAQ,CAACC,EAAE,KAAK,SAAS,IAAIwO,QAAQ,EAAEA,QAAQ,EAAE,CAAA;GACtD,CAAA;AAED/H,EAAAA,SAAS,CAAC,YAAM;AAGd,IAAA,IAAI,EAFsB,CAAC0H,OAAO,IAAIgC,gBAAgB,CAEhC,EAAE,OAAA;AAExB,IAAA,IAAIL,MAAM,EAAEA,MAAM,EAAE,CAAA;IACpBM,mBAAmB,CAAC,KAAK,CAAC,CAAA;GAC3B,EAAE,CAACjC,OAAO,EAAEgC,gBAAgB,EAAEL,MAAM,CAAC,CAAC,CAAA;EAEvC,oBACE1X,GAAA,CAACkY,KAAK,EAAA;IACJvpB,WAAW,EAAA,IAAA;AACXwpB,IAAAA,qBAAqB,EAAE,CAAC,WAAW,EAAE,UAAU,CAAE;AACjDpC,IAAAA,OAAO,EAAE4B,cAAe;IACxBS,MAAM,EAAE,SAAAA,MAAAA,GAAM;AACZ,MAAA,IAAIX,OAAO,EAAEA,OAAO,EAAE,CAAA;MACtBO,mBAAmB,CAAC,IAAI,CAAC,CAAA;KACzB;IACF9E,SAAS,EAAE,SAAAA,SAAAA,GAAM;AACf,MAAA,IAAIkD,QAAQ,EAAEA,QAAQ,EAAE,CAAA;KACxB;IAAA3W,QAAA,eAEFkL,IAAA,CAACzgB,IAAI,EAAA;AAACmhB,MAAAA,QAAQ,EAAC,UAAU;AAAChL,MAAAA,QAAQ,EAAE,CAAE;AAACwK,MAAAA,cAAc,EAAC,QAAQ;AAACD,MAAAA,UAAU,EAAC,QAAQ;MAAAnL,QAAA,EAAA,cAChFO,GAAA,CAACmW,wBAAsB,EAAA;AAACJ,QAAAA,OAAO,EAAEgC,gBAAiB;AAAC3B,QAAAA,QAAQ,EAAE6B,qBAAsB;QAAAxY,QAAA,eACjFO,GAAA,CAACgW,OAAO,EAAA;AAACtU,UAAAA,OAAO,EAAE+T,OAAAA;SAAU,CAAA;AAAC,OACP,CAAC,eAEzBzV,GAAA,CAACoX,uBAAuB,EAAA;AAACrB,QAAAA,OAAO,EAAEgC,gBAAiB;AAAC3B,QAAAA,QAAQ,EAAE6B,qBAAsB;AAACZ,QAAAA,SAAS,EAAEA,SAAU;QAAA5X,QAAA,eACxGO,GAAA,CAAC9V,IAAI,EAAA;AACHohB,UAAAA,QAAQ,EAAC,4CAA4C;AACrDC,UAAAA,QAAQ,EAAC,0CAA0C;AAAA9L,UAAAA,QAAA,EAElDA,QAAAA;SACG,CAAA;AAAC,OACgB,CAAC,CAAA;KACtB,CAAA;AAAC,GACF,CAAC,CAAA;AAEZ;;;AClEO,SAASqd,oBAAoBA,CAAApwB,IAAA,EAMK;AAAA,EAAA,IALvC+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRsW,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IACPN,OAAO,GAAA/oB,IAAA,CAAP+oB,OAAO;IACPW,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ;AACL1V,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,IAAAwO,SAAA,GAA8DC,QAAQ,CAAC0G,OAAO,CAAC;IAAAzG,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAxEkJ,IAAAA,uBAAuB,GAAAhJ,UAAA,CAAA,CAAA,CAAA;AAAEiJ,IAAAA,0BAA0B,GAAAjJ,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1DjB,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI0H,OAAO,KAAK,IAAI,EAAE;MACpBwC,0BAA0B,CAAC,IAAI,CAAC,CAAA;AAClC,KAAA;AACF,GAAC,EAAE,CAACxC,OAAO,CAAC,CAAC,CAAA;EAOb,oBACE/V,GAAA,CAAC8V,cAAc,EAAA;AAACC,IAAAA,OAAO,EAAEuC,uBAAwB;AAAC7C,IAAAA,OAAO,EAAEA,OAAQ;IAAAhW,QAAA,eACjEO,GAAA,CAAC5V,UAAU,EAAA;AAAC2yB,MAAAA,OAAO,EAAE,KAAM;AAACC,MAAAA,qBAAqB,EAAE;AAAE3c,QAAAA,QAAQ,EAAE,CAAA;OAAI;MAAAZ,QAAA,eACjEO,GAAA,CAAC6c,oBAAoB,EAAAzvB,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAKsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEqV,QAAAA,OAAO,EAAEA,OAAQ;AAACK,QAAAA,QAAQ,EARjC,SAA1BoC,uBAAuBA,GAAe;AAC1C,UAAA,IAAIpC,QAAQ,EAAEA,QAAQ,EAAE,CAAA;UACxBmC,0BAA0B,CAAC,KAAK,CAAC,CAAA;SAMwD;AAAC9C,QAAAA,OAAO,EAAEA,OAAQ;AAAAhW,QAAAA,QAAA,EACpGA,QAAAA;OACmB,CAAA,CAAA;KACZ,CAAA;AAAC,GACC,CAAC,CAAA;AAErB;;;AC5BO,SAASwd,WAAWA,CAAAvwB,IAAA,EAA0E;AAAA,EAAA,IAAvEwwB,YAAY,GAAAxwB,IAAA,CAAZwwB,YAAY;IAAE7D,KAAK,GAAA3sB,IAAA,CAAL2sB,KAAK;IAAE5Z,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE0d,OAAO,GAAAzwB,IAAA,CAAPywB,OAAO,CAAA;EAClE,oBACExS,IAAA,CAACzgB,IAAI,EAAA;AACH0gB,IAAAA,UAAU,EAAC,QAAQ;AACnBvY,IAAAA,QAAQ,EAAC,2BAA2B;AACpChC,IAAAA,eAAe,EAAC,wBAAwB;AACxCD,IAAAA,YAAY,EAAC,+BAA+B;AAC5CI,IAAAA,MAAM,EAAC,yBAAyB;AAAAiP,IAAAA,QAAA,EAE/Byd,CAAAA,YAAY,gBAAGld,GAAA,CAAC9V,IAAI,EAAA;AAAAuV,MAAAA,QAAA,EAAEyd,YAAAA;AAAY,KAAO,CAAC,GAAG,IAAI,eAElDvS,IAAA,CAACzgB,IAAI,EAAA;AACH6K,MAAAA,KAAK,EAAC,MAAM;AACZ6V,MAAAA,UAAU,EAAC,QAAQ;AACnB7Y,MAAAA,OAAO,EAAE;AAAEQ,QAAAA,IAAI,EAAE,QAAQ;AAAEE,QAAAA,MAAM,EAAE,QAAA;OAAW;AAC9C2qB,MAAAA,UAAU,EAAEF,YAAY,GAAG,QAAQ,GAAG,QAAS;AAAAzd,MAAAA,QAAA,EAE9C4Z,CAAAA,KAAK,gBAAGrZ,GAAA,CAAC9V,IAAI,EAAA;AAACwxB,QAAAA,YAAY,EAAC,QAAQ;AAAAjc,QAAAA,QAAA,EAAE4Z,KAAAA;AAAK,OAAO,CAAC,GAAG,IAAI,eAE1DrZ,GAAA,CAAC9V,IAAI,EAAA;AAACwxB,QAAAA,YAAY,EAAC,QAAQ;AAAAjc,QAAAA,QAAA,EAAEA,QAAAA;AAAQ,OAAO,CAAC,EAE5C0d,OAAO,gBACNnd,GAAA,CAAC+Q,OAAO,EAAA;AAAChc,QAAAA,KAAK,EAAC,MAAM;AAAC6b,QAAAA,MAAM,EAAC,QAAQ;AAAAnR,QAAAA,QAAA,EAClC0d,OAAAA;OACM,CAAC,GACR,IAAI,CAAA;AAAA,KACJ,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEX,CAAA;AAEAF,WAAW,CAACnH,cAAc,GAAGgH,oBAAoB,CAAA;AAIjD,SAASO,iBAAiBA,CAAA1wB,KAAA,EAAkE;AAAA,EAAA,IAAA2wB,aAAA,GAAA3wB,KAAA,CAA/DqgB,OAAO;AAAPA,IAAAA,OAAO,GAAAsQ,aAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,aAAA;AAAK5c,IAAAA,KAAK,GAAAC,wBAAA,CAAAhU,KAAA,EAAAiU,WAAA,CAAA,CAAA;AACnD,EAAA,oBAAOZ,GAAA,CAAC+Q,OAAO,CAAChE,MAAM,EAAA3f,aAAA,CAAA;AAAC4f,IAAAA,OAAO,EAAEA,OAAAA;GAAatM,EAAAA,KAAK,CAAG,CAAC,CAAA;AACxD,CAAA;AAEAuc,WAAW,CAAClQ,MAAM,GAAGsQ,iBAAiB;;ACpC/B,SAASE,KAAKA,CAAA7wB,IAAA,EAAyE;AAAA,EAAA,IAAtE8wB,KAAK,GAAA9wB,IAAA,CAAL8wB,KAAK;IAAE/rB,IAAI,GAAA/E,IAAA,CAAJ+E,IAAI;IAAE6X,SAAS,GAAA5c,IAAA,CAAT4c,SAAS;IAAElJ,IAAI,GAAA1T,IAAA,CAAJ0T,IAAI;IAAEF,KAAK,GAAAxT,IAAA,CAALwT,KAAK;IAAEgB,MAAM,GAAAxU,IAAA,CAANwU,MAAM,CAAA;EACjE,IAAAuc,QAAA,GAAoBrK,OAAO,CACzB,YAAA;MAAA,OACEsK,KAAK,CAACF,KAAK,EAAE;AACX;QACAG,SAAS,EAAEhW,QAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,KAAK,GAAG,KAAA;AAC7C,OAAC,CAAC,CAAA;KACJ,EAAA,CAAC4V,KAAK,CACR,CAAC;IAAAI,SAAA,GAAAhxB,cAAA,CAAA6wB,QAAA,EAAA,CAAA,CAAA;AAPMI,IAAAA,SAAS,GAAAD,SAAA,CAAA,CAAA,CAAA,CAAA;AAShB,EAAA,IAAI,CAACC,SAAS,EAAE,OAAO,IAAI,CAAA;EAE3B,oBACE7d,GAAA,CAACxV,OAAK,EAAA;AACJ0W,IAAAA,MAAM,EAAEA,MAAO;AACfzP,IAAAA,IAAI,EAAEA,IAAK;IACXwgB,GAAG,EAAE4L,SAAS,CAACvW,IAAK;IACpB,YAAYuW,EAAAA,SAAS,CAACvW,IAAK;AAC3B6K,IAAAA,MAAM,EAAE;MAAEC,GAAG,EAAEyL,SAAS,CAACC,GAAAA;KAAM;AAC/B5d,IAAAA,KAAK,EAAEA,KAAM;AACboJ,IAAAA,SAAS,EAAEA,SAAU;AACrBlJ,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GACZ,CAAC,CAAA;AAEN;;;;;;ACHO,SAAS2d,eAAeA,CAAArxB,IAAA,EAOmD;AAAA,EAAA,IAN5EsxB,SAAS,GAAAtxB,IAAA,CAAbwiB,EAAE;IACF+O,SAAS,GAAAvxB,IAAA,CAATuxB,SAAS;IACTC,QAAQ,GAAAxxB,IAAA,CAARwxB,QAAQ;IACRxc,OAAO,GAAAhV,IAAA,CAAPgV,OAAO;IACPyc,cAAc,GAAAzxB,IAAA,CAAdyxB,cAAc;AACXC,IAAAA,IAAI,GAAAzd,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;EAEP,IAAMO,IAAI,MAAA1V,MAAA,CAAMwyB,SAAS,EAAAxyB,GAAAA,CAAAA,CAAAA,MAAA,CAAIyyB,QAAQ,CAAE,CAAA;AAEvC,EAAA,IAAMG,aAAa,gBAAA,YAAA;IAAA,IAAA1xB,KAAA,GAAAkjB,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAG,SAAAC,OAAAA,CAAOL,CAAwB,EAAA;AAAA,MAAA,IAAA2O,OAAA,CAAA;AAAA,MAAA,OAAAxO,mBAAA,EAAA,CAAAG,IAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAAAD,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAE3BmO,OAAO,CAACC,UAAU,CAACrd,IAAI,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAAxCmd,OAAO,GAAApO,QAAA,CAAAuO,IAAA,CAAA;AAAA,YAAA,IAAA,CAETH,OAAO,EAAA;AAAApO,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AAAA,YAAA,IAAA,CACL1O,OAAO,EAAA;AAAAwO,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;YACT1O,OAAO,CAACiO,CAAC,CAAC,CAAA;YAAC,IACPA,CAAAA,CAAC,CAAC+O,gBAAgB,EAAA;AAAAxO,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;YAGxBkO,OAAO,CAACI,OAAO,CAACxd,IAAI,CAAC,CAAM,OAAA,CAAA,CAAC,UAACyd,KAAK,EAAK;cACrC7b,OAAO,CAAC6b,KAAK,CAAAnzB,kCAAAA,CAAAA,MAAA,CAAoC0V,IAAI,CAAA,EAAIyd,KAAK,CAAC,CAAA;cAE/DT,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,KAAAA,CAAAA,IAAAA,cAAc,oCAAA1yB,MAAA,CAAsC0V,IAAI,CAAE,CAAC,CAAA;AAC7D,aAAC,CAAC,CAAA;AAAC+O,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,EAAA;YAEH+N,cAAc,KAAA,IAAA,IAAdA,cAAc,KAAdA,KAAAA,CAAAA,IAAAA,cAAc,qBAAA1yB,MAAA,CAAuB0V,IAAI,CAAE,CAAC,CAAA;AAAC,UAAA,KAAA,EAAA;AAAA+O,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,EAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA,CAAA;YAAAD,QAAA,CAAAI,EAAA,GAAAJ,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAG/CiO,YAAAA,cAAc,aAAdA,cAAc,KAAA,KAAA,CAAA,IAAdA,cAAc,CAAG,0CAA0C,CAAC,CAAA;AAAC,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAjO,QAAA,CAAArB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAmB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;KAEhE,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,YAAA;AAAA,MAAA,OAAArjB,KAAA,CAAA4jB,KAAA,CAAA,IAAA,EAAAtlB,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAAA,CAAA;AAED,EAAA,oBAAO+U,GAAA,CAACge,SAAS,EAAA5wB,aAAA,CAAAA,aAAA,CAAA;AAAC+T,IAAAA,IAAI,EAAEA,IAAAA;AAAK,GAAA,EAAMid,IAAI,CAAA,EAAA,EAAA,EAAA;AAAU1c,IAAAA,OAAO,EAAE2c,aAAAA;AAAc,GAAA,CAAE,CAAC,CAAA;AAC7E,CAAA;AAEAN,eAAe,CAACc,GAAG,GAAG,UAAA9xB,KAAA,EAIoE;AAAA,EAAA,IAHxF+xB,WAAW,GAAA/xB,KAAA,CAAX+xB,WAAW;IACXrf,QAAQ,GAAA1S,KAAA,CAAR0S,QAAQ;AACL2e,IAAAA,IAAI,GAAAzd,wBAAA,CAAA5T,KAAA,EAAAid,YAAA,CAAA,CAAA;EAEP,oBACEhK,GAAA,CAAC+d,eAAe,EAAA3wB,aAAA,CAAAA,aAAA,KAAMgxB,IAAI,CAAA,EAAA,EAAA,EAAA;AAAUH,IAAAA,SAAS,EAAC,KAAK;AAACC,IAAAA,QAAQ,EAAEY,WAAY;AAAArf,IAAAA,QAAA,EACvEA,QAAAA;AAAQ,GAAA,CACM,CAAC,CAAA;AAEtB,CAAC,CAAA;AAEDse,eAAe,CAACgB,GAAG,GAAG,UAAA/xB,KAAA,EAIoE;AAAA,EAAA,IAHxF8xB,WAAW,GAAA9xB,KAAA,CAAX8xB,WAAW;IACXrf,QAAQ,GAAAzS,KAAA,CAARyS,QAAQ;AACL2e,IAAAA,IAAI,GAAAzd,wBAAA,CAAA3T,KAAA,EAAAgyB,YAAA,CAAA,CAAA;EAEP,oBACEhf,GAAA,CAAC+d,eAAe,EAAA3wB,aAAA,CAAAA,aAAA,KAAMgxB,IAAI,CAAA,EAAA,EAAA,EAAA;AAAUH,IAAAA,SAAS,EAAC,KAAK;AAACC,IAAAA,QAAQ,EAAEY,WAAY;AAAArf,IAAAA,QAAA,EACvEA,QAAAA;AAAQ,GAAA,CACM,CAAC,CAAA;AAEtB,CAAC,CAAA;AAEDse,eAAe,CAACkB,IAAI,GAAG,UAAAC,KAAA,EAIkE;AAAA,EAAA,IAHvFC,YAAY,GAAAD,KAAA,CAAZC,YAAY;IACZ1f,QAAQ,GAAAyf,KAAA,CAARzf,QAAQ;AACL2e,IAAAA,IAAI,GAAAzd,wBAAA,CAAAue,KAAA,EAAAE,YAAA,CAAA,CAAA;EAEP,oBACEpf,GAAA,CAAC+d,eAAe,EAAA3wB,aAAA,CAAAA,aAAA,KAAMgxB,IAAI,CAAA,EAAA,EAAA,EAAA;AAAUH,IAAAA,SAAS,EAAC,QAAQ;AAACC,IAAAA,QAAQ,EAAEiB,YAAa;AAAA1f,IAAAA,QAAA,EAC3EA,QAAAA;AAAQ,GAAA,CACM,CAAC,CAAA;AAEtB,CAAC;;ACnFM,IAAM4f,uBAAqD,GAAG;AACnE,EAAA,QAAA,EAAQ,aAAa;AACrBhkB,EAAAA,GAAG,EAAE,aAAA;AACP,CAAC;;ACtBM,SAASikB,mBAAmBA,GAAG;AACpC,EAAA,oBAAA,YAAA;IAAA,IAAA3yB,KAAA,GAAAkjB,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAO,SAAAC,OAAAA,CAAAtjB,IAAA,EAAA;AAAA,MAAA,IAAAyU,IAAA,EAAAoe,aAAA,EAAAC,QAAA,CAAA;AAAA,MAAA,OAAA1P,mBAAA,EAAA,CAAAG,IAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAASjP,YAAAA,IAAI,GAAAzU,IAAA,CAAJyU,IAAI,EAAAoe,aAAA,GAAA7yB,IAAA,CAAE8yB,QAAQ,EAARA,QAAQ,GAAAD,aAAA,KAAGF,KAAAA,CAAAA,GAAAA,uBAAuB,GAAAE,aAAA,CAAA;YAAA,IAClDC,EAAAA,QAAQ,CAAO,QAAA,CAAA,KAAK,gBAAgB,CAAA,EAAA;AAAAtP,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AAAAF,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAChCmO,OAAO,CAACI,OAAO,CAACxd,IAAI,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAAA,OAAA+O,QAAA,CAAAG,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAH,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAKvBqP,UAAU,CAACC,gBAAgB,CAACve,IAAI,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAA+O,QAAA,CAAArB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAmB,OAAA,CAAA,CAAA;KACxC,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,YAAA;AAAA,MAAA,OAAArjB,KAAA,CAAA4jB,KAAA,CAAA,IAAA,EAAAtlB,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAAA,CAAA;AACH;;;ACYO,SAAS00B,YAAYA,CAAAjzB,IAAA,EAQgD;AAAA,EAAA,IAPtEsxB,SAAS,GAAAtxB,IAAA,CAAbwiB,EAAE;IACF/N,IAAI,GAAAzU,IAAA,CAAJyU,IAAI;IAAAye,qBAAA,GAAAlzB,IAAA,CACJmzB,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAGP,KAAAA,CAAAA,GAAAA,uBAAuB,GAAAO,qBAAA;IAC1Cle,OAAO,GAAAhV,IAAA,CAAPgV,OAAO;IAAAoe,oBAAA,GAAApzB,IAAA,CAEPqzB,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAA,KAAA,CAAA,GAAG/c,OAAO,CAAC6b,KAAK,GAAAkB,oBAAA;AAC5B1B,IAAAA,IAAI,GAAAzd,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAEP,EAAA,IAAMof,gBAAgB,GAAGV,mBAAmB,EAAE,CAAA;AAe9C;EACA,oBAAOtf,GAAA,CAACge,SAAS,EAAA5wB,aAAA,CAAAA,aAAA,KAAMgxB,IAAI,CAAA,EAAA,EAAA,EAAA;AAAU1c,IAAAA,OAAO,EAdK,SAA3C2c,aAAwCA,CAAI1O,CAAC,EAAK;AACtD,MAAA,IAAIjO,OAAO,EAAE;QACXA,OAAO,CAACiO,CAAC,CAAC,CAAA;QACV,IAAIA,CAAC,CAAC+O,gBAAgB,EAAE,OAAA;AAC1B,OAAA;MAEA,IAAI,CAACvd,IAAI,EAAE,OAAA;AAEX6e,MAAAA,gBAAgB,CAAC;AAAE7e,QAAAA,IAAI,EAAJA,IAAI;AAAEqe,QAAAA,QAAQ,EAAEK,gBAAAA;AAAiB,OAAC,CAAC,CAAA,OAAA,CAAM,CAAC,UAACjB,KAAK,EAAK;AACtEmB,QAAAA,eAAe,oCAAAt0B,MAAA,CAAoC0V,IAAI,CAAA,EAAIyd,KAAK,CAAC,CAAA;AACnE,OAAC,CAAC,CAAA;AACJ,KAAA;AAG4D,GAAA,CAAE,CAAC,CAAA;AACjE;;AC/CA,SAASqB,YAAYA,CAACvgB,KAAsB,EAAE3P,QAAkB,EAAgC;EAC9F,IAAIA,QAAQ,EAAE,OAAO,aAAa,CAAA;AAElC,EAAA,QAAQ2P,KAAK;AACX,IAAA,KAAK,SAAS;AACZ,MAAA,OAAO,QAAQ,CAAA;AACjB,IAAA,KAAK,OAAO;AACV,MAAA,OAAO,SAAS,CAAA;AAClB,IAAA;AACE,MAAA,OAAOvU,SAAS,CAAA;AACpB,GAAA;AACF,CAAA;AAQO,SAAS+0B,SAASA,CAAAxzB,IAAA,EAAuD;AAAA,EAAA,IAApDgK,IAAI,GAAAhK,IAAA,CAAJgK,IAAI;IAAEgJ,KAAK,GAAAhT,IAAA,CAALgT,KAAK;IAAE3P,QAAQ,GAAArD,IAAA,CAARqD,QAAQ,CAAA;AAC/C,EAAA,IAAMuO,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AAExB,EAAA,IAAMrO,KAAK,GAAGwvB,YAAY,CAACvgB,KAAK,EAAE3P,QAAQ,CAAC,CAAA;EAE3C,oBAAOiQ,GAAA,CAAC+J,cAAc,EAAA;AAACtZ,IAAAA,KAAK,EAAEA,KAAM;AAACiG,IAAAA,IAAI,EAAEA,IAAK;IAACjF,IAAI,EAAE6M,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACtB,KAAK,CAACG,IAAI,CAACjF,IAAAA;AAAK,GAAE,CAAC,CAAA;AAC7F;;ACzBO,SAAS0uB,cAAcA,CAAAzzB,IAAA,EAA+C;EAAA,IAAzCgU,KAAK,GAAA+P,QAAA,CAAA,EAAA,GAAAC,yBAAA,CAAAhkB,IAAA,GAAAA,IAAA,EAAA,CAAA;EACvC,oBAAOsT,GAAA,CAAC1V,WAAS,EAAA8C,aAAA,CAAKsT,EAAAA,EAAAA,KAAK,CAAG,CAAC,CAAA;AACjC;;ACDO,SAAS0f,kBAAkBA,CAAA1zB,IAAA,EAAmD;AAAA,EAAA,IAAhD+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;EAC3C,oBAAOO,GAAA,CAAC9V,IAAI,EAAA;AAACmhB,IAAAA,QAAQ,EAAC,UAAU;AAAA5L,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAO,CAAC,CAAA;AACpD;;;ACoBO,IAAM4gB,SAAS,gBAAGvf,UAAU,CACjC,UAAApU,IAAA,EAgBEqU,GAAG,EACc;AAAA,EAAA,IAff8a,EAAE,GAAAnvB,IAAA,CAAFmvB,EAAE,CAAA;IACFrf,KAAK,GAAA9P,IAAA,CAAL8P,KAAK,CAAA;IACW9P,IAAA,CAAhBgT,KAAK,CAAA;QAAAe,YAAA,GAAA/T,IAAA,CACL2S,OAAO,CAAA;AAAPA,IAAAA,OAAO,GAAAoB,YAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,YAAA,CAAA;IACnB6f,kBAAkB,GAAA5zB,IAAA,CAAlB4zB,kBAAkB,CAAA;IAAAC,aAAA,GAAA7zB,IAAA,CAClBqD,QAAQ,CAAA;AAARA,IAAAA,QAAQ,GAAAwwB,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA,CAAA;IAAAC,gBAAA,GAAA9zB,IAAA,CAChB+zB,WAAW,CAAA;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,gBAAA,CAAA;IAAAE,oBAAA,GAAAh0B,IAAA,CAClBi0B,eAAe,CAAA;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,oBAAA,CAAA;IAAAE,iBAAA,GAAAl0B,IAAA,CACxBm0B,YAAY,CAAA;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA,CAAA;IAAAE,cAAA,GAAAp0B,IAAA,CACpBq0B,SAAS,CAAA;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,cAAA,CAAA;IAClBE,SAAS,GAAAt0B,IAAA,CAATs0B,SAAS,CAAA;IACTC,eAAe,GAAAv0B,IAAA,CAAfu0B,eAAe,CAAA;AACZvgB,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,EAAA;AAIV,EAAA,IAAMtC,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EACxB,IAAMmH,qBAAqB,GAAGF,wBAAwB,CAAC;AAAExT,IAAAA,IAAI,EAAE,MAAA;AAAO,GAAC,CAAC,CAAA;EACxE,IAAM2uB,2BAA2B,GAAGvZ,QAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,CAACoZ,SAAS,CAAA;EAEvE,oBACErW,IAAA,CAACyV,kBAAkB,EAAA;AAAA3gB,IAAAA,QAAA,gBACjBO,GAAA,CAACmhB,KAAK,EAAA/zB,aAAA,CAAAA,aAAA,CAAA;AACJ2T,MAAAA,GAAG,EAAEA,GAAW;AAChBigB,MAAAA,SAAS,EAAEA,SAAU;AACrBnF,MAAAA,EAAE,EAAEA,EAAG;AACPpY,MAAAA,UAAU,EAAE6c,kBAAkB,GAAGA,kBAAkB,KAAK,UAAU,GAAGvwB,QAAS;AAC9EkP,MAAAA,SAAS,EAAEqhB,kBAAkB,GAAGA,kBAAkB,KAAK,OAAO,GAAGn1B,SAAU;AAC3EgU,MAAAA,SAAS,EAAEmhB,kBAAkB,GAAGA,kBAAkB,KAAK,OAAO,GAAGn1B,SAAU;AAC3E41B,MAAAA,SAAS,EAAEA,SAAU;AACrBF,MAAAA,YAAY,EAAEA,YAAa;AAC3BJ,MAAAA,WAAW,EAAEA,WAAY;AACzBE,MAAAA,eAAe,EAAEA,eAAgB;AACjCxoB,MAAAA,QAAQ,EAAE8N,qBAAsB;MAChCrL,UAAU;AACR;AACA;MACAsmB,2BAA2B,GAAG,CAAC,GAAGjb,qBACnC;AACD3K,MAAAA,UAAU,EAAC,gBAAgB;AAC3BH,MAAAA,UAAU,EAAC,gBAAgB;AAC3BimB,MAAAA,EAAE,EAAE,CAACJ,SAAS,IAAIrZ,QAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,CAAC,GAAGzc,SAAU;AACxDkU,MAAAA,OAAO,EAAEA,OAAAA;AAAQ,KAAA,EACbqB,KAAK,CAAA,EAAA,EAAA,EAAA;MACTugB,eAAe,EAAED,SAAS,GAAG,YAAA;AAAA,QAAA,OAAM,IAAI,CAAA;OAAGC,GAAAA,eAAAA;AAAgB,KAAA,CAC3D,CAAC,EACDzkB,KAAK,gBACJwD,GAAA,CAAC9V,IAAI,EAAA;AACHmhB,MAAAA,QAAQ,EAAC,UAAU;AACnB7O,MAAAA,KAAK,EAAE,CAAE;AACTiP,MAAAA,GAAG,EAAE,CAAE;AACPC,MAAAA,MAAM,EAAE,CAAE;AACVb,MAAAA,cAAc,EAAC,QAAQ;MACvB9Y,OAAO,EAAEuM,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACtB,KAAK,CAACI,cAAc,CAAC5E,OAAQ;AAAA0N,MAAAA,QAAA,EAEtDjD,KAAAA;KACG,CAAC,GACL,IAAI,CAAA;AAAA,GACU,CAAC,CAAA;AAEzB,CACF;;AClFA,SAAS2d,oBAAkBA,CAAAztB,IAAA,EAAkF;AAAA,EAAA,IAA/E0tB,UAAU,GAAA1tB,IAAA,CAAV0tB,UAAU;IAAEiH,aAAa,GAAA30B,IAAA,CAAb20B,aAAa;IAAEniB,SAAS,GAAAxS,IAAA,CAATwS,SAAS;IAAED,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IAAEE,SAAS,GAAAzS,IAAA,CAATyS,SAAS,CAAA;EACtF,IAAMuE,OAAO,GAAG,gCAAgC,CAAA;AAEhD,EAAA,IAAI2d,aAAa,EAAE;IACjB,OAAA51B,EAAAA,CAAAA,MAAA,CAAUiY,OAAO,EAAA,8BAAA,CAAA,CAAA;AACnB,GAAA;AAEA,EAAA,IAAIxE,SAAS,EAAE;IACb,OAAAzT,EAAAA,CAAAA,MAAA,CAAUiY,OAAO,EAAA,0BAAA,CAAA,CAAA;AACnB,GAAA;AAEA,EAAA,IAAIzE,SAAS,EAAE;IACb,OAAAxT,EAAAA,CAAAA,MAAA,CAAUiY,OAAO,EAAA,0BAAA,CAAA,CAAA;AACnB,GAAA;AAEA,EAAA,IAAIvE,SAAS,EAAE;IACb,OAAA1T,EAAAA,CAAAA,MAAA,CAAUiY,OAAO,EAAA,0BAAA,CAAA,CAAA;AACnB,GAAA;AAEA,EAAA,IAAI0W,UAAU,EAAE;IACd,OAAA3uB,EAAAA,CAAAA,MAAA,CAAUiY,OAAO,EAAA,2BAAA,CAAA,CAAA;AACnB,GAAA;EAEA,OAAAjY,EAAAA,CAAAA,MAAA,CAAUiY,OAAO,EAAA,0BAAA,CAAA,CAAA;AACnB,CAAA;AAYO,SAAS4d,gBAAgBA,CAAA30B,KAAA,EAOQ;AAAA,EAAA,IANtC8S,QAAQ,GAAA9S,KAAA,CAAR8S,QAAQ;IACR2a,UAAU,GAAAztB,KAAA,CAAVytB,UAAU;IACViH,aAAa,GAAA10B,KAAA,CAAb00B,aAAa;IACbpiB,SAAS,GAAAtS,KAAA,CAATsS,SAAS;IACTE,SAAS,GAAAxS,KAAA,CAATwS,SAAS;IACTD,SAAS,GAAAvS,KAAA,CAATuS,SAAS,CAAA;EAET,oBACEc,GAAA,CAAC9V,IAAI,EAAA;AACH2gB,IAAAA,cAAc,EAAC,QAAQ;AACvB9V,IAAAA,KAAK,EAAC,MAAM;AACZ5C,IAAAA,SAAS,EAAC,0CAA0C;AACpD/B,IAAAA,YAAY,EAAC,QAAQ;AACrB2B,IAAAA,OAAO,EAAC,QAAQ;IAChB1B,eAAe,EAAE8pB,oBAAkB,CAAC;AAAEC,MAAAA,UAAU,EAAVA,UAAU;AAAEiH,MAAAA,aAAa,EAAbA,aAAa;AAAEniB,MAAAA,SAAS,EAATA,SAAS;AAAED,MAAAA,SAAS,EAATA,SAAS;AAAEE,MAAAA,SAAS,EAATA,SAAAA;AAAU,KAAC,CAAE;AAAAM,IAAAA,QAAA,EAEnGA,QAAAA;AAAQ,GACL,CAAC,CAAA;AAEX;;ACzDO,SAAS8hB,8BAA8BA,CAAA70B,IAAA,EAIK;AAAA,EAAA,IAHjDwU,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IACNzB,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAA+hB,WAAA,GAAA90B,IAAA,CACR+0B,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA,CAAA;EAEb,oBACExhB,GAAA,CAAC9V,IAAI,EAAA;AACHgX,IAAAA,MAAM,EAAEA,MAAO;AACfugB,IAAAA,MAAM,EAAEA,MAAO;AACfhW,IAAAA,GAAG,EAAC,QAAQ;AACZlP,IAAAA,IAAI,EAAE,CAAE;AACR8O,IAAAA,QAAQ,EAAC,UAAU;AACnBhL,IAAAA,QAAQ,EAAE,CAAE;AACZtL,IAAAA,KAAK,EAAC,MAAM;AACZwW,IAAAA,QAAQ,EAAC,QAAQ;AACjBnb,IAAAA,YAAY,EAAC,uDAAuD;AACpEC,IAAAA,eAAe,EAAC,0DAA0D;AAC1EG,IAAAA,MAAM,EAAC,iDAAiD;AACxD2P,IAAAA,QAAQ,EAAE;AAAED,MAAAA,KAAK,EAAE;AAAEwhB,QAAAA,SAAS,EAAE,CAAA;AAAE,OAAA;KAAI;AAAAjiB,IAAAA,QAAA,EAErCA,QAAAA;AAAQ,GACL,CAAC,CAAA;AAEX;;;ACxBO,SAASkiB,kBAAkBA,CAAAj1B,IAAA,EAA6D;AAAA,EAAA,IAA1D+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;AAAKiB,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AACrD,EAAA,oBACEZ,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AACHke,IAAAA,QAAQ,EAAE;AAAE/Y,MAAAA,IAAI,EAAE,QAAQ;AAAEoC,MAAAA,KAAK,EAAE,QAAA;KAAW;AAC9C4W,IAAAA,QAAQ,EAAC,gDAAA;AAAgD,GAAA,EACrD7K,KAAK,CAAA,EAAA,EAAA,EAAA;AAAAjB,IAAAA,QAAA,EAERA,QAAAA;AAAQ,GAAA,CACL,CAAC,CAAA;AAEX;;;;;;ACDA,SAASmiB,gBAAgBA,CAACC,KAA6B,EAAyB;AAC9E,EAAA,OAAOA,KAAK,IAAK;AAAEC,IAAAA,uBAAuB,EAAE,KAAK;AAAEC,IAAAA,cAAc,EAAE,SAAAA,cAAA,GAAM,EAAC;GAAwC,CAAA;AACpH,CAAA;AA4BA,SAASC,cAAcA,CAACxF,OAAgB,EAA2B;AACjE,EAAA,OAAOzX,OAAA,CAAOyX,OAAO,CAAK,KAAA,QAAQ,IAAIA,OAAO,KAAK,IAAI,IAAI,MAAM,IAAIA,OAAO,IAAI,OAAO,IAAIA,OAAO,CAAA;AACnG,CAAA;AAEO,SAASyF,YAAYA,CAAAv1B,IAAA,EA2BQ;AAAA,EAAA,IA1BlC+S,SAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRyiB,IAAI,GAAAx1B,IAAA,CAAJw1B,IAAI;IACJnyB,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACR0G,WAAW,GAAA/J,IAAA,CAAX+J,WAAW;IACX0rB,aAAa,GAAAz1B,IAAA,CAAby1B,aAAa;IACbC,YAAY,GAAA11B,IAAA,CAAZ01B,YAAY;IACZC,cAAc,GAAA31B,IAAA,CAAd21B,cAAc;IACdC,kCAAkC,GAAA51B,IAAA,CAAlC41B,kCAAkC;IAClCC,iBAAiB,GAAA71B,IAAA,CAAjB61B,iBAAiB;IACjBC,YAAY,GAAA91B,IAAA,CAAZ81B,YAAY;IACZhmB,KAAK,GAAA9P,IAAA,CAAL8P,KAAK;IACL4e,SAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;IACR9N,QAAO,GAAA5gB,IAAA,CAAP4gB,OAAO;IACPC,OAAM,GAAA7gB,IAAA,CAAN6gB,MAAM;IACNkV,aAAa,GAAA/1B,IAAA,CAAb+1B,aAAa;IACbC,YAAY,GAAAh2B,IAAA,CAAZg2B,YAAY;IAIZC,YAAY,GAAAj2B,IAAA,CAAZi2B,YAAY;IACZC,YAAY,GAAAl2B,IAAA,CAAZk2B,YAAY;IACZC,mBAAmB,GAAAn2B,IAAA,CAAnBm2B,mBAAmB;IAAAC,gBAAA,GAAAp2B,IAAA,CACnBq2B,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,6BAA6B,GAAAA,gBAAA;IAAAE,qBAAA,GAAAt2B,IAAA,CAC3Cu2B,mBAAmB;AAAnBA,IAAAA,mBAAmB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,iCAAiC,GAAAA,qBAAA;IAAAxB,WAAA,GAAA90B,IAAA,CACvD+0B,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA;AACV9gB,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,IAAMsb,aAAa,GAAGC,QAAQ,CAACC,OAAO,CAAC3c,SAAQ,CAAC,CAAA;AAEhD,EAAA,IAAMyjB,KAAyC,GAAGhH,aAAa,CAC5DiH,MAAM,CAACnB,cAAc,CAAC,CACtBl1B,GAAG,CAAC,UAACyvB,KAAK,EAAA;IAAA,OAAM;AAAEA,MAAAA,KAAK,EAALA,KAAK;AAAE7nB,MAAAA,IAAI,EAAE6nB,KAAK,CAAC7b,KAAK,CAAChM,IAAAA;KAAM,CAAA;AAAA,GAAC,CAAC,CAAA;EAQtD,oBACEsL,GAAA,CAACojB,SAAS,EAAA;AACRC,IAAAA,aAAa,EAAElB,aAAc;AAC7BmB,IAAAA,mBAAmB,EAAElB,YAAa;IAClCmB,iBAAiB,EAAEnB,YAAY,GAAGI,YAAY,CAACJ,YAAY,CAAC,GAAGj3B,SAAU;AACzEq3B,IAAAA,YAAY,EAXW,SAArBgB,kBAAkBA,CAAI9uB,IAAc,EAAa;AACrD;AACA,MAAA,IAAI,CAAC8tB,YAAY,EAAE,OAAO,EAAE,CAAA;AAC5B,MAAA,OAAOA,YAAY,CAAC9tB,IAAI,IAAIvJ,SAAS,CAAC,CAAA;KAQH;AACjCs4B,IAAAA,YAAY,EAAE,SAAAA,YAAAA,CAAC/jB,KAAK,EAAEgkB,OAAO,EAAK;MAChC,QAAQA,OAAO,CAAClgB,IAAI;AAClB,QAAA,KAAK4f,SAAS,CAACO,gBAAgB,CAACC,WAAW;AACzC,UAAA,OAAAx2B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKs2B,OAAO,CAAA,EAAA,EAAA,EAAA;AACVG,YAAAA,YAAY,EAAE,IAAA;AAAI,WAAA,CAAA,CAAA;AAEtB,QAAA;AACE,UAAA,OAAOH,OAAO,CAAA;AAClB,OAAA;KACA;AACFtI,IAAAA,QAAQ,EAAE,SAAAA,QAAAA,CAACyI,YAAY,EAAEC,eAAe,EAAK;AAC3C,MAAA,IAAI1I,SAAQ,EAAE;AACZA,QAAAA,SAAQ,CAACyI,YAAY,EAAEC,eAAe,CAAC,CAAA;AACzC,OAAA;KACA;AACFC,IAAAA,QAAQ,EAAErB,YAAa;AACvBsB,IAAAA,YAAY,EAAErB,YAAa;AAC3BsB,IAAAA,kBAAkB,EAAExB,aAAc;AAAAhjB,IAAAA,QAAA,EAEjC,SAAAA,QAAA9S,CAAAA,KAAA,EAWK;AAAA,MAAA,IAVJu3B,YAAY,GAAAv3B,KAAA,CAAZu3B,YAAY;QACZC,aAAa,GAAAx3B,KAAA,CAAbw3B,aAAa;QACbC,YAAY,GAAAz3B,KAAA,CAAZy3B,YAAY;QACZC,YAAY,GAAA13B,KAAA,CAAZ03B,YAAY;QACZC,oBAAoB,GAAA33B,KAAA,CAApB23B,oBAAoB;QACpBC,MAAM,GAAA53B,KAAA,CAAN43B,MAAM;QACNC,UAAU,GAAA73B,KAAA,CAAV63B,UAAU;QACVC,gBAAgB,GAAA93B,KAAA,CAAhB83B,gBAAgB;QAChBZ,YAAY,GAAAl3B,KAAA,CAAZk3B,YAAY;QACZa,QAAQ,GAAA/3B,KAAA,CAAR+3B,QAAQ,CAAA;AAER,MAAA,IAAMC,sBAAsB,GAAGhd,QAAQ,CAACC,EAAE,KAAK,KAAK,CAAA;AAEpD,MAAA,IAAMgd,SAAS,GAAGV,YAAY,CAAC/4B,SAAS,EAAE;AAAE05B,QAAAA,gBAAgB,EAAEF,sBAAAA;AAAuB,OAAC,CAAC,CAAA;AACvF,MAAA,IAAMG,SAAS,GAAGV,YAAY,CAACj5B,SAAS,EAAE;AAAE05B,QAAAA,gBAAgB,EAAEF,sBAAAA;AAAuB,OAAC,CAAC,CAAA;MACvF,IAAAI,qBAAA,GAA2ET,oBAAoB,CAAC;AAAEv0B,UAAAA,QAAQ,EAARA,QAAAA;AAAS,SAAC,CAAC;QAA5Fi1B,aAAa,GAAAD,qBAAA,CAAtBE,OAAO;QAA0BC,aAAa,GAAAH,qBAAA,CAAtBrjB,OAAO;AAAoByjB,QAAAA,WAAW,GAAAxkB,wBAAA,CAAAokB,qBAAA,EAAA/a,YAAA,CAAA,CAAA;MAEtE,IAAAob,cAAA,GAMIjB,aAAa,CAAC;AAAE1tB,UAAAA,WAAW,EAAXA,WAAW;AAAE1G,UAAAA,QAAQ,EAARA,QAAAA;AAAS,SAAC,CAAC;QAL1Cs1B,SAAS,GAAAD,cAAA,CAATC,SAAS;QACAC,kBAAkB,GAAAF,cAAA,CAA3B9X,OAAO;QACCiY,iBAAiB,GAAAH,cAAA,CAAzB7X,MAAM;QACIiY,mBAAmB,GAAAJ,cAAA,CAA7BhK,QAAQ;AACLqK,QAAAA,UAAU,GAAA9kB,wBAAA,CAAAykB,cAAA,EAAApG,YAAA,CAAA,CAAA;MAGf,IAAM0G,gBAAgB,GAAGlB,UAAU,IAAIA,UAAU,CAACt5B,MAAM,GAAG,CAAC,CAAA;AAE5D,MAAA,IAAMy6B,YAAY,GAChBD,gBAAgB,IAAIpD,kCAAkC,GAClDY,KAAK,CAACC,MAAM,CAAC,UAAAp2B,KAAA,EAAc;AAAA,QAAA,IAAX2H,IAAI,GAAA3H,KAAA,CAAJ2H,IAAI,CAAA;AAClB,QAAA,IAAI,CAAC4tB,kCAAkC,EAAE,OAAO,IAAI,CAAA;AACpD,QAAA,OAAOA,kCAAkC,CAAC5tB,IAAI,EAAE8vB,UAAU,IAAI,EAAE,CAAC,CAAA;OAClE,CAAC,GACFtB,KAAK,CAAA;;AAEX;AACA,MAAA,IAAM0C,eAAe,GAAGrB,MAAM,GAAGoB,YAAY,CAACz6B,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC03B,YAAY,IAAI,CAAC,CAACC,mBAAmB,GAAG,KAAK,CAAA;AAU3G,MAAA,IAAMgD,wBAAwB,GAAGF,YAAY,CAACz6B,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC03B,YAAY,IAAI,CAAC,CAACC,mBAAmB,CAAA;AAEnG,MAAA,oBACElY,IAAA,CAACzgB,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAKw3B,SAAS,CAAA,EAAMvC,cAAc,CAAA,EAAA,EAAA,EAAA;AAAEZ,QAAAA,MAAM,EAAEA,MAAO;AAACpW,QAAAA,QAAQ,EAAC,UAAU;AAAA5L,QAAAA,QAAA,EAC1EO,cAAAA,GAAA,CAACqgB,SAAS,EAAAjzB,aAAA,CAAAA,aAAA,CAAAA,aAAA,CACJq4B,EAAAA,EAAAA,UAAU,GACV/kB,KAAK,CAAA,EAAA,EAAA,EAAA;AACTwhB,UAAAA,IAAI,EAAEA,IAAK;AACXhhB,UAAAA,MAAM,EAAE6hB,WAAY;AACpBvmB,UAAAA,KAAK,EACHA,KAAK,KACJqpB,wBAAwB,gBACvB7lB,GAAA,CAACmgB,cAAc,EAAA/yB,aAAA,CAAAA,aAAA,KACT+3B,WAAW,CAAA,EAAA,EAAA,EAAA;AACfjkB,YAAAA,MAAM,EAAC,8BAA8B;AACrC4kB,YAAAA,OAAO,EAAE,EAAG;AACZpkB,YAAAA,OAAO,EAxBO,SAApBqkB,iBAAiBA,CAAIpW,CAAyB,EAAW;AAC7D,cAAA,IAAIhI,QAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;gBACzBod,aAAa,CAACrV,CAAC,CAAC,CAAA;AAChB,gBAAA,OAAA;AACF,eAAA;AACAuV,cAAAA,aAAa,CAACtD,gBAAgB,CAACjS,CAAC,CAAC,CAAC,CAAA;aAmBG;YAAAlQ,QAAA,eAE3BO,GAAA,CAACkgB,SAAS,EAAA;AAACxpB,cAAAA,IAAI,EAAEkvB,eAAe,gBAAG5lB,GAAA,CAACgmB,eAAe,EAAE,EAAA,CAAC,gBAAGhmB,GAAA,CAACimB,iBAAiB,EAAE,EAAA,CAAA;aAAI,CAAA;WACnE,CAAA,CAAC,GACf,IAAI,CACT;AACD3Y,UAAAA,OAAO,EAAE,SAAAA,OAACqC,CAAAA,CAAC,EAAK;AACd+U,YAAAA,QAAQ,EAAE,CAAA;AACV;YACA,IAAI/c,QAAQ,CAACC,EAAE,KAAK,SAAS,IAAI0d,kBAAkB,EAAEA,kBAAkB,CAAC3V,CAAC,CAAC,CAAA;AAE1E,YAAA,IAAIrC,QAAO,EAAEA,QAAO,CAACqC,CAAC,CAAC,CAAA;WACvB;AACFpC,UAAAA,MAAM,EAAE,SAAAA,MAACoC,CAAAA,CAAC,EAAK;AACb;YACA,IAAIhI,QAAQ,CAACC,EAAE,KAAK,SAAS,IAAI2d,iBAAiB,EAAEA,iBAAiB,CAAC5V,CAAC,CAAC,CAAA;AAExE,YAAA,IAAIpC,OAAM,EAAEA,OAAM,CAACoC,CAAC,CAAC,CAAA;AACvB,WAAA;AACA;AACAyL,UAAAA,QAAQ,EAAEoK,mBAAAA;AACV;AACAU,UAAAA,UAAU,EAAEb,SAAAA;SACb,CAAA,CAAC,eACFrlB,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAK03B,SAAS,CAAA,EAAA,EAAA,EAAA;AAAEzZ,UAAAA,QAAQ,EAAC,UAAU;AAAA5L,UAAAA,QAAA,EACrCmmB,eAAe,gBACdjb,IAAA,CAAC4W,8BAA8B,EAAA;AAACrgB,YAAAA,MAAM,EAAE+hB,mBAAoB;YAAAxjB,QAAA,EAAA,CACzDkmB,YAAY,CAAC74B,GAAG,CAAC,UAAAE,KAAA,EAAkBinB,KAAK,EAAK;AAAA,cAAA,IAAzBsI,KAAK,GAAAvvB,KAAA,CAALuvB,KAAK;gBAAE7nB,IAAI,GAAA1H,KAAA,CAAJ0H,IAAI,CAAA;cAC9B,IAAAyxB,aAAA,GAMI9B,YAAY,CAAC;AAAE3vB,kBAAAA,IAAI,EAAJA,IAAI;AAAEuf,kBAAAA,KAAK,EAALA,KAAAA;AAAM,iBAAC,CAAC;gBAL/BgR,OAAO,GAAAkB,aAAA,CAAPlB,OAAO;gBACPvjB,QAAO,GAAAykB,aAAA,CAAPzkB,OAAO;gBACP0kB,IAAI,GAAAD,aAAA,CAAJC,IAAI;gBACaC,YAAY,GAAAF,aAAA,CAA7B,eAAe,CAAA;AACZG,gBAAAA,SAAS,GAAA3lB,wBAAA,CAAAwlB,aAAA,EAAA/G,YAAA,CAAA,CAAA;cAGd,oBACEpf,GAAA,CAAC1V,SAAS,EAAA8C,aAAA,CAAAA,aAAA,KAEJk5B,SAAS,CAAA,EAAA,EAAA,EAAA;gBACbhlB,iBAAiB,EAAEqG,QAAQ,CAACC,EAAE,KAAK,SAAS,GAAGzc,SAAS,GAAGi7B,IAAK;AAChE9K,gBAAAA,kBAAkB,EAAE;AAAE1mB,kBAAAA,QAAQ,EAAEyxB,YAAAA;iBAAe;AAC/Ct2B,gBAAAA,QAAQ,EAAEA,QAAS;AACnB2R,gBAAAA,OAAO,EAAE,SAAAA,OAACiO,CAAAA,CAAC,EAAK;AACd,kBAAA,IAAIhI,QAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;AACzB,oBAAA,IAAIqd,OAAO,EAAEA,OAAO,CAACtV,CAAC,CAAC,CAAA;AACvB,oBAAA,OAAA;AACF,mBAAA;kBAEA,IAAIjO,QAAO,EAAEA,QAAO,CAACkgB,gBAAgB,CAACjS,CAAC,CAAC,CAAC,CAAA;iBACzC;gBAAAlQ,QAAA,EAED,SAAAA,QAAAA,CAAAyf,KAAA,EAAA;AAAA,kBAAA,IAAGjgB,SAAS,GAAAigB,KAAA,CAATjgB,SAAS;oBAAEE,SAAS,GAAA+f,KAAA,CAAT/f,SAAS;oBAAED,SAAS,GAAAggB,KAAA,CAAThgB,SAAS,CAAA;kBAAA,oBACjCc,GAAA,CAACshB,gBAAgB,EAAA;AACf5sB,oBAAAA,IAAI,EAAEA,IAAK;oBACX2sB,aAAa,EAAEoD,gBAAgB,KAAKxQ,KAAM;AAC1ChV,oBAAAA,SAAS,EAAEA,SAAU;AACrBE,oBAAAA,SAAS,EAAEA,SAAU;AACrBD,oBAAAA,SAAS,EAAEA,SAAU;oBACrBkb,UAAU,EAAEmI,iBAAiB,CAACsB,YAAY,IAAI14B,SAAS,EAAEuJ,IAAI,CAAE;AAAA+K,oBAAAA,QAAA,EAE9D8c,KAAAA;AAAK,mBACU,CAAC,CAAA;AAAA,iBAAA;eAxBhB+J,CAAAA,EAAAA,SAAS,CAACzK,EA0BN,CAAC,CAAA;AAEhB,aAAC,CAAC,EAED+G,YAAY,EACZC,mBAAmB,CAAA;AAAA,WACU,CAAC,GAC/B,IAAA;AAAI,SAAA,CACJ,CAAC,CAAA;AAAA,OAAA,CACH,CAAC,CAAA;AAEX,KAAA;AAAC,GACQ,CAAC,CAAA;AAEhB,CAAA;AAEAZ,YAAY,CAACsE,MAAM,GAAG5E,kBAAkB,CAAA;AACxC;AACA;AACA;AACAM,YAAY,CAACuE,kBAAkB,GAAGlF,gBAAgB;;ACvQlD,IAAI,qBAAqB,GAAG,SAAS,qBAAqB,CAAC,KAAK,EAAE;AAClE,EAAE,oBAAoBthB,GAAI,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;AAC9D,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,WAAW;AACxB,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;AACjB,IAAI,QAAQ,eAAeA,GAAI,CAAC,MAAM,EAAE;AACxC,MAAM,CAAC,EAAE,2GAA2G;AACpH,MAAM,IAAI,EAAE,cAAc;AAC1B,KAAK,CAAC;AACN,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;;ACJM,SAASma,oBAAkBA,CAAAztB,IAAA,EAMG;AAAA,EAAA,IALnC+W,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACVvE,SAAS,GAAAxS,IAAA,CAATwS,SAAS;IACTD,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTE,SAAS,GAAAzS,IAAA,CAATyS,SAAS;IACTsnB,SAAS,GAAA/5B,IAAA,CAAT+5B,SAAS,CAAA;EAET,IAAIA,SAAS,EAAE,OAAO,6CAA6C,CAAA;EAEnE,IAAIhjB,UAAU,EAAE,OAAO,8CAA8C,CAAA;EAErE,IAAIvE,SAAS,EAAE,OAAO,6CAA6C,CAAA;EAEnE,IAAID,SAAS,EAAE,OAAO,2CAA2C,CAAA;EAEjE,IAAIE,SAAS,EAAE,OAAO,2CAA2C,CAAA;AAEjE,EAAA,OAAO,6CAA6C,CAAA;AACtD;;AClBO,SAASunB,gBAAcA,CAAAh6B,IAAA,EAMG;AAAA,EAAA,IAL/B+W,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACVvE,SAAS,GAAAxS,IAAA,CAATwS,SAAS;IACTD,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTE,SAAS,GAAAzS,IAAA,CAATyS,SAAS;IACTsnB,SAAS,GAAA/5B,IAAA,CAAT+5B,SAAS,CAAA;EAET,IAAIA,SAAS,EAAE,OAAO,yCAAyC,CAAA;EAE/D,IAAIhjB,UAAU,EAAE,OAAO,0CAA0C,CAAA;EAEjE,IAAIvE,SAAS,EAAE,OAAO,yCAAyC,CAAA;EAE/D,IAAID,SAAS,EAAE,OAAO,uCAAuC,CAAA;EAE7D,IAAIE,SAAS,EAAE,OAAO,uCAAuC,CAAA;AAE7D,EAAA,OAAO,yCAAyC,CAAA;AAClD;;ACHO,IAAMwnB,QAAQ,gBAAG7lB,UAAU,CAChC,UAAApU,IAAA,EAEEqU,GAAG,EACc;AAAA,EAAA,IAFfpL,OAAO,GAAAjJ,IAAA,CAAPiJ,OAAO;IAAAixB,YAAA,GAAAl6B,IAAA,CAAEo5B,OAAO;AAAPA,IAAAA,OAAO,GAAAc,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IAAE/K,EAAE,GAAAnvB,IAAA,CAAFmvB,EAAE;IAAEpc,SAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE1P,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IAAEmR,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IAAEka,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;IAAE7N,MAAM,GAAA7gB,IAAA,CAAN6gB,MAAM;IAAED,OAAO,GAAA5gB,IAAA,CAAP4gB,OAAO,CAAA;AAGlF,EAAA,IAAMhP,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EAQxB,oBACEkB,GAAA,CAAC1V,SAAS,EAAA;AACRyW,IAAAA,GAAG,EAAEA,GAAI;AACT8a,IAAAA,EAAE,EAAEA,EAAG;AACP3a,IAAAA,MAAM,EAAEA,MAAO;AACfI,IAAAA,iBAAiB,EAAC,UAAU;AAC5Bga,IAAAA,kBAAkB,EAAE;MAAE3lB,OAAO,EAAE,CAAC,CAACA,OAAO;AAAE5F,MAAAA,QAAQ,EAARA,QAAAA;KAAW;AACrD+1B,IAAAA,OAAO,EAAEA,OAAQ;AACjB/1B,IAAAA,QAAQ,EAAEA,QAAS;AACnB2R,IAAAA,OAAO,EAfS,SAAdgO,WAAWA,CAAIC,CAAwB,EAAW;AACtD,MAAA,IAAIrC,OAAO,EAAEA,OAAO,CAACqC,CAAC,CAAC,CAAA;MACvB,IAAIyL,QAAQ,EAAEA,QAAQ,CAAC,CAACzlB,OAAO,EAAEga,CAAC,CAAC,CAAA;AACnC,MAAA,IAAIpC,MAAM,EAAEA,MAAM,CAACoC,CAAC,CAAC,CAAA;KAYE;IAAAlQ,QAAA,EAEpB,SAAAA,QAAAA,CAAA9S,KAAA,EAAA;AAAA,MAAA,IAAGsS,SAAS,GAAAtS,KAAA,CAATsS,SAAS;QAAEC,SAAS,GAAAvS,KAAA,CAATuS,SAAS;QAAEC,SAAS,GAAAxS,KAAA,CAATwS,SAAS,CAAA;MAAA,oBACjCwL,IAAA,CAAC5I,MAAM,EAAA;AAACsP,QAAAA,KAAK,EAAE5R,SAAQ,GAAG,iCAAiC,GAAGtU,SAAU;QAAAsU,QAAA,EAAA,cACtEO,GAAA,CAAC9V,IAAI,EAAA;AACH28B,UAAAA,OAAO,EAAC,MAAM;AACd/b,UAAAA,aAAa,EAAC,KAAK;AACnBF,UAAAA,UAAU,EAAC,QAAQ;AACnBC,UAAAA,cAAc,EAAC,QAAQ;AACvBqO,UAAAA,SAAS,EAAEzZ,SAAQ,GAAG,CAAC,GAAGtU,SAAU;AACpC8I,UAAAA,MAAM,EAAC,4BAA4B;AACnCc,UAAAA,KAAK,EAAC,2BAA2B;AACjC3E,UAAAA,YAAY,EAAC,kCAAkC;AAC/CG,UAAAA,WAAW,EAAC,iCAAiC;UAC7CD,WAAW,EAAEo2B,gBAAc,CAAC;AAC1BjjB,YAAAA,UAAU,EAAE1T,QAAQ;AACpBoP,YAAAA,SAAS,EAATA,SAAS;AACTF,YAAAA,SAAS,EAATA,SAAS;AACTC,YAAAA,SAAS,EAATA,SAAS;AACTunB,YAAAA,SAAS,EAAE9wB,OAAAA;AACb,WAAC,CAAE;UACHtF,eAAe,EAAE8pB,oBAAkB,CAAC;AAClC1W,YAAAA,UAAU,EAAE1T,QAAQ;AACpBoP,YAAAA,SAAS,EAATA,SAAS;AACTF,YAAAA,SAAS,EAATA,SAAS;AACTC,YAAAA,SAAS,EAATA,SAAS;AACTunB,YAAAA,SAAS,EAAE9wB,OAAAA;AACb,WAAC,CAAE;AACHyK,UAAAA,IAAI,EAAE;AACJF,YAAAA,KAAK,EAAE;cACL6L,kBAAkB,EAAEzN,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACrC,QAAQ,CAAC1C,UAAU,CAACC,QAAQ;AACjE+Y,cAAAA,kBAAkB,EAAE,KAAK;cACzBE,wBAAwB,EAAE1N,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACrC,QAAQ,CAAC1C,UAAU,CAACE,cAAAA;AACjE,aAAA;WACA;UAAAyM,QAAA,eAEFO,GAAA,CAAC9V,IAAI,EAAA;AACH0G,YAAAA,OAAO,EAAE+E,OAAO,GAAG,CAAC,GAAG,CAAE;AACzByK,YAAAA,IAAI,EAAE;AACJF,cAAAA,KAAK,EAAE;gBACL6L,kBAAkB,EAAEzN,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACrC,QAAQ,CAAC1C,UAAU,CAACC,QAAQ;AACjE+Y,gBAAAA,kBAAkB,EAAE,SAAS;gBAC7BE,wBAAwB,EAAE1N,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACrC,QAAQ,CAAC1C,UAAU,CAACE,cAAAA;AACjE,eAAA;aACA;YAAAyM,QAAA,eAEFO,GAAA,CAACgJ,IAAI,EAAA;AACHG,cAAAA,KAAK,EAAC,QAAQ;cACd1Y,KAAK,EAAE6N,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACrC,QAAQ,CAACC,SAAU;cAC3ChE,IAAI,EAAE6M,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACrC,QAAQ,CAAC9D,QAAS;AACzCgF,cAAAA,IAAI,eAAEsJ,GAAA,CAAC8mB,qBAAgB,EAAE,EAAA,CAAA;aAC1B,CAAA;WACG,CAAA;AAAC,SACH,CAAC,EAENrnB,SAAQ,gBAAGO,GAAA,CAAC9V,IAAI,EAAA;AAACwgB,UAAAA,UAAU,EAAE,CAAE;AAAAjL,UAAAA,QAAA,EAAEA,SAAAA;SAAe,CAAC,GAAG,IAAI,CAAA;AAAA,OACnD,CAAC,CAAA;AAAA,KAAA;AACV,GACQ,CAAC,CAAA;AAEhB,CACF;;ACvGO,SAASsnB,8BAA8BA,CAC5CC,YAA4C,EACZ;AAChC;AACA,EAAA,IAAIrf,QAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,OAAO,MAAM,CAAA;AAExC,EAAA,OAAOof,YAAY,CAAA;AACrB;;ACVA,SAASC,gBAAcA,CAACjiB,KAAa,EAAyB;AAAA,EAAA,IAAvBkiB,SAAS,GAAAj8B,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,CAAC,CAAA;EAClD,OAAO,EAAA,CAAAQ,MAAA,CAAGuZ,KAAK,CAAA,CAAGmiB,QAAQ,CAACD,SAAS,EAAE,GAAG,CAAC,CAAA;AAC5C,CAAA;AAEO,SAASE,YAAYA,CAACvxB,GAAW,EAAU;EAChD,OAAOoxB,gBAAc,CAACpxB,GAAG,CAAC,CAAA;AAC5B,CAAA;AAEO,SAASwxB,cAAcA,CAACvxB,KAAa,EAAU;EACpD,OAAOmxB,gBAAc,CAACnxB,KAAK,CAAC,CAAA;AAC9B,CAAA;AAEO,SAASwxB,aAAaA,CAACvxB,IAAY,EAAU;AAClD,EAAA,OAAOkxB,gBAAc,CAAClxB,IAAI,EAAE,CAAC,CAAC,CAAA;AAChC;;ACdO,SAASwxB,gBAAgBA,CAACviB,KAAyB,EAAsB;EAI9E,OAAOA,KAAK,KAAK7Z,SAAS,GAAGoP,IAAI,CAAC8D,GAAG,CAHpB,CAAC,EAG8B9D,IAAI,CAACyD,GAAG,CAFvC,EAAE,EAEgDgH,KAAK,CAAC,CAAC,GAAGA,KAAK,CAAA;AACpF,CAAA;AAEO,SAASwiB,kBAAkBA,CAChCxiB,KAAyB,EACzByiB,OAAyB,EACzBC,OAAyB,EACL;AAGpB,EAAA,IAAMC,QAAQ,GAAGF,OAAO,GAAGA,OAAO,CAACG,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;AACrD,EAAA,IAAMC,QAAQ,GAAGH,OAAO,GAAGA,OAAO,CAACE,QAAQ,EAAE,GAAG,CAAC,GAH1B,EAG2C,CAAA;EAElE,OAAO5iB,KAAK,KAAK7Z,SAAS,GAAGoP,IAAI,CAAC8D,GAAG,CAACspB,QAAQ,EAAEptB,IAAI,CAACyD,GAAG,CAAC6pB,QAAQ,EAAE7iB,KAAK,CAAC,CAAC,GAAGA,KAAK,CAAA;AACpF,CAAA;AAEO,SAAS8iB,iBAAiBA,CAC/B9iB,KAAyB,EACzByiB,OAAyB,EACzBC,OAAyB,EACL;EAGpB,IAAMC,QAAQ,GAAGF,OAAO,GAAGA,OAAO,CAACM,WAAW,EAAE,GAAG,CAAC,CAAA;EACpD,IAAMF,QAAQ,GAAGH,OAAO,GAAGA,OAAO,CAACK,WAAW,EAAE,GAHxB,IAG0C,CAAA;EAElE,OAAO/iB,KAAK,KAAK7Z,SAAS,GAAGoP,IAAI,CAAC8D,GAAG,CAACspB,QAAQ,EAAEptB,IAAI,CAACyD,GAAG,CAAC6pB,QAAQ,EAAE7iB,KAAK,CAAC,CAAC,GAAGA,KAAK,CAAA;AACpF;;AC1BA,SAASgjB,yBAAyBA,CAAChjB,KAAyB,EAAU;AACpE;AACA,EAAA,IAAIA,KAAK,KAAK7Z,SAAS,EAAE,OAAO,EAAE,CAAA;AAElC,EAAA,OAAO6Z,KAAK,CAACijB,QAAQ,EAAE,CAAA;AACzB,CAAA;AAiDO,IAAMC,yBAAkD,GAAG,UAACxoB,KAAK,EAAEyoB,MAAM,EAAK;EACnF,QAAQA,MAAM,CAAC3kB,IAAI;AACjB,IAAA,KAAK,YAAY;AAAE,MAAA;AACjB,QAAA,IAAQ4kB,OAAO,GAAKD,MAAM,CAAlBC,OAAO,CAAA;AAEf,QAAA,OAAAh7B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACR2oB,UAAAA,UAAU,EAAED,OAAO;UACnBE,YAAY,EAAEN,yBAAyB,CAACI,OAAO,CAAA;AAAC,SAAA,CAAA,CAAA;AAEpD,OAAA;AAEA,IAAA,KAAK,cAAc;AAAE,MAAA;AACnB,QAAA,IAAQG,SAAS,GAAKJ,MAAM,CAApBI,SAAS,CAAA;AAEjB,QAAA,OAAAn7B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACR8oB,UAAAA,YAAY,EAAED,SAAS;UACvBE,cAAc,EAAET,yBAAyB,CAACO,SAAS,CAAA;AAAC,SAAA,CAAA,CAAA;AAExD,OAAA;AAEA,IAAA,KAAK,aAAa;AAAE,MAAA;AAClB,QAAA,IAAQG,QAAQ,GAAKP,MAAM,CAAnBO,QAAQ,CAAA;AAEhB,QAAA,OAAAt7B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACRipB,UAAAA,WAAW,EAAED,QAAQ;UACrBE,aAAa,EAAEZ,yBAAyB,CAACU,QAAQ,CAAA;AAAC,SAAA,CAAA,CAAA;AAEtD,OAAA;AAEA,IAAA,KAAK,UAAU;AAAE,MAAA;AACf,QAAA,IAAMG,cAAc,GAAGtB,gBAAgB,CAAC7nB,KAAK,CAAC2oB,UAAU,CAAC,CAAA;AAEzD,QAAA,OAAAj7B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;UACR4oB,YAAY,EAAEO,cAAc,GAAGzB,YAAY,CAACyB,cAAc,CAAC,GAAGnpB,KAAK,CAAC4oB,YAAAA;AAAY,SAAA,CAAA,CAAA;AAEpF,OAAA;AAEA,IAAA,KAAK,YAAY;AAAE,MAAA;AACjB,QAAA,IAAQb,OAAO,GAAc/nB,KAAK,CAA1B+nB,OAAO;UAAEC,OAAO,GAAKhoB,KAAK,CAAjBgoB,OAAO,CAAA;QAExB,IAAMoB,gBAAgB,GAAGtB,kBAAkB,CAAC9nB,KAAK,CAAC8oB,YAAY,EAAEf,OAAO,EAAEC,OAAO,CAAC,CAAA;AAEjF,QAAA,OAAAt6B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACR8oB,UAAAA,YAAY,EAAEM,gBAAgB;UAC9BL,cAAc,EAAEK,gBAAgB,KAAK39B,SAAS,GAAGk8B,cAAc,CAACyB,gBAAgB,CAAC,GAAGppB,KAAK,CAAC+oB,cAAAA;AAAc,SAAA,CAAA,CAAA;AAE5G,OAAA;AAEA,IAAA,KAAK,WAAW;AAAE,MAAA;AAChB,QAAA,IAAQhB,QAAO,GAAc/nB,KAAK,CAA1B+nB,OAAO;UAAEC,QAAO,GAAKhoB,KAAK,CAAjBgoB,OAAO,CAAA;QAExB,IAAMqB,eAAe,GAAGjB,iBAAiB,CAACpoB,KAAK,CAACipB,WAAW,EAAElB,QAAO,EAAEC,QAAO,CAAC,CAAA;AAE9E,QAAA,OAAAt6B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACRipB,UAAAA,WAAW,EAAEI,eAAe;UAC5BH,aAAa,EAAEG,eAAe,KAAK59B,SAAS,GAAGm8B,aAAa,CAACyB,eAAe,CAAC,GAAGrpB,KAAK,CAACkpB,aAAAA;AAAa,SAAA,CAAA,CAAA;AAEvG,OAAA;AAEA,IAAA;AACE,MAAA,OAAOlpB,KAAK,CAAA;AAChB,GAAA;AACF,CAAC;;AC/HM,SAASspB,QAAQA,CAACzyB,KAAe,EAAW;AACjD;AACA;AACA,EAAA,OAAO,CAAC0yB,KAAK,CAAC1yB,KAAY,CAAC,CAAA;AAC7B;;ACQO,SAAS2yB,gBAAgBA,CAAAx8B,IAAA,EAUC;AAAA,EAAA,IAT/BmJ,GAAG,GAAAnJ,IAAA,CAAHmJ,GAAG;IACHC,KAAK,GAAApJ,IAAA,CAALoJ,KAAK;IACLC,IAAI,GAAArJ,IAAA,CAAJqJ,IAAI;IAAAozB,qBAAA,GAAAz8B,IAAA,CACJ08B,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,qBAAA;IACtB1B,OAAO,GAAA/6B,IAAA,CAAP+6B,OAAO;IACPC,OAAO,GAAAh7B,IAAA,CAAPg7B,OAAO;IACPtM,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;IACR7N,MAAM,GAAA7gB,IAAA,CAAN6gB,MAAM;IACND,OAAO,GAAA5gB,IAAA,CAAP4gB,OAAO,CAAA;EAEP,IAAM+b,UAAU,GAAG,CAACxzB,GAAG,EAAEC,KAAK,EAAEC,IAAI,CAAC,CAAA;AAErC,EAAA,IAAMuzB,qBAAqB,GAAGD,UAAU,CAACE,KAAK,CAAC,UAACC,CAAC,EAAA;IAAA,OAAKA,CAAC,KAAKr+B,SAAS,CAAA;GAAC,CAAA,CAAA;AACtE,EAAA,IAAMs+B,mBAAmB,GAAGJ,UAAU,CAACE,KAAK,CAAC9O,OAAO,CAAC,CAAA;;AAErD;AACA,EAAA,IAAI6O,qBAAqB,EAAE;AACzB,IAAA,IAAIhc,OAAO,EAAEA,OAAO,EAAE,CAAA;IACtB8N,QAAQ,CAACjwB,SAAS,CAAC,CAAA;AACnB,IAAA,IAAIoiB,MAAM,EAAEA,MAAM,EAAE,CAAA;AAEpB,IAAA,OAAA;AACF,GAAA;;AAEA;EACA,IAAI,CAACkc,mBAAmB,EAAE;AACxB,IAAA,OAAA;AACF,GAAA;AAEA,EAAA,IAAMC,SAAS,GAAG,IAAIC,IAAI,EAAE,CAAA;AAE5B,EAAA,IAAMC,WAAW,GAAG7zB,IAAI,IAAIA,IAAI,CAACkyB,QAAQ,EAAE,CAAC/8B,MAAM,IAAIk+B,kBAAkB,CAAA;EAExE,IAAI,CAACQ,WAAW,EAAE;AAChB,IAAA,OAAA;AACF,GAAA;AAEA,EAAA,IAAI/zB,GAAG,EAAE6zB,SAAS,CAACG,OAAO,CAACh0B,GAAG,CAAC,CAAA;EAC/B,IAAIC,KAAK,EAAE4zB,SAAS,CAACI,QAAQ,CAACh0B,KAAK,GAAG,CAAC,CAAC,CAAA;AACxC,EAAA,IAAIC,IAAI,EAAE2zB,SAAS,CAACK,WAAW,CAACh0B,IAAI,CAAC,CAAA;AAErC2zB,EAAAA,SAAS,CAACM,UAAU,CAAC,CAAC,CAAC,CAAA;AACvBN,EAAAA,SAAS,CAACO,QAAQ,CAAC,CAAC,CAAC,CAAA;AACrBP,EAAAA,SAAS,CAACQ,UAAU,CAAC,CAAC,CAAC,CAAA;AACvBR,EAAAA,SAAS,CAACS,eAAe,CAAC,CAAC,CAAC,CAAA;AAE5B,EAAA,IAAI1C,OAAO,EAAE;AACXA,IAAAA,OAAO,CAACuC,UAAU,CAAC,CAAC,CAAC,CAAA;AACrBvC,IAAAA,OAAO,CAACwC,QAAQ,CAAC,CAAC,CAAC,CAAA;AACnBxC,IAAAA,OAAO,CAACyC,UAAU,CAAC,CAAC,CAAC,CAAA;AACrBzC,IAAAA,OAAO,CAAC0C,eAAe,CAAC,CAAC,CAAC,CAAA;AAC1B,IAAA,IAAMC,uBAAuB,GAAG3C,OAAO,CAAC4C,OAAO,EAAE,GAAGX,SAAS,CAACW,OAAO,EAAE,CAAA;AAEvE,IAAA,IAAID,uBAAuB,EAAE;AAC3B,MAAA,IAAI9c,OAAO,EAAEA,OAAO,EAAE,CAAA;MACtB8N,QAAQ,CAACjwB,SAAS,CAAC,CAAA;AACnB,MAAA,IAAIoiB,MAAM,EAAEA,MAAM,EAAE,CAAA;AAEpB,MAAA,OAAA;AACF,KAAA;AACF,GAAA;AAEA,EAAA,IAAIma,OAAO,EAAE;AACXA,IAAAA,OAAO,CAACsC,UAAU,CAAC,CAAC,CAAC,CAAA;AACrBtC,IAAAA,OAAO,CAACuC,QAAQ,CAAC,CAAC,CAAC,CAAA;AACnBvC,IAAAA,OAAO,CAACwC,UAAU,CAAC,CAAC,CAAC,CAAA;AACrBxC,IAAAA,OAAO,CAACyC,eAAe,CAAC,CAAC,CAAC,CAAA;AAE1B,IAAA,IAAMG,wBAAwB,GAAGZ,SAAS,CAACW,OAAO,EAAE,GAAG3C,OAAO,CAAC2C,OAAO,EAAE,CAAA;AAExE,IAAA,IAAIC,wBAAwB,EAAE;AAC5B,MAAA,IAAIhd,OAAO,EAAEA,OAAO,EAAE,CAAA;MACtB8N,QAAQ,CAACjwB,SAAS,CAAC,CAAA;AACnB,MAAA,IAAIoiB,MAAM,EAAEA,MAAM,EAAE,CAAA;AAEpB,MAAA,OAAA;AACF,KAAA;AACF,GAAA;AAEA,EAAA,IAAID,OAAO,EAAEA,OAAO,EAAE,CAAA;EACtB8N,QAAQ,CAACsO,SAAS,CAAC,CAAA;AACnB,EAAA,IAAInc,MAAM,EAAEA,MAAM,EAAE,CAAA;AACtB;;AC7FO,SAASgd,cAAcA,CAACjjB,IAAY,EAAsB;AAC/D,EAAA,IAAIA,IAAI,CAACpc,MAAM,KAAK,CAAC,EAAE,OAAOC,SAAS,CAAA;AACvC,EAAA,IAAMq/B,UAAU,GAAGn/B,QAAQ,CAACic,IAAI,EAAE,EAAE,CAAC,CAAA;AACrC,EAAA,IAAI0hB,QAAQ,CAACwB,UAAU,CAAC,EAAE,OAAOA,UAAU,CAAA;AAE3C,EAAA,OAAOr/B,SAAS,CAAA;AAClB;;ACMA,SAASs/B,+BAA6BA,CAAA/9B,IAAA,EAK6B;AAAA,EAAA,IAJjE+W,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACVlC,iBAAiB,GAAA7U,IAAA,CAAjB6U,iBAAiB;IACjBE,iBAAiB,GAAA/U,IAAA,CAAjB+U,iBAAiB;IACjBD,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB,CAAA;EAEjB,IAAIiC,UAAU,EAAE,OAAO,UAAU,CAAA;EAEjC,IAAIlC,iBAAiB,EAAE,OAAO,OAAO,CAAA;EAErC,IAAIE,iBAAiB,EAAE,OAAO,OAAO,CAAA;EAErC,IAAID,iBAAiB,EAAE,OAAO,OAAO,CAAA;AAErC,EAAA,OAAO,SAAS,CAAA;AAClB,CAAA;AAgBO,IAAMkpB,SAAS,gBAAG5pB,UAAU,CACjC,UAAAnU,KAAA,EAcEoU,GAAmB,EACF;AAAA,EAAA,IAbf8a,EAAE,GAAAlvB,KAAA,CAAFkvB,EAAE;IACF7W,KAAK,GAAArY,KAAA,CAALqY,KAAK;IACLvO,WAAW,GAAA9J,KAAA,CAAX8J,WAAW;IACX1G,QAAQ,GAAApD,KAAA,CAARoD,QAAQ;IACR0R,iBAAiB,GAAA9U,KAAA,CAAjB8U,iBAAiB;IACjBF,iBAAiB,GAAA5U,KAAA,CAAjB4U,iBAAiB;IACjBC,iBAAiB,GAAA7U,KAAA,CAAjB6U,iBAAiB;IACjBwlB,YAAY,GAAAr6B,KAAA,CAAZq6B,YAAY;IACZ5L,QAAQ,GAAAzuB,KAAA,CAARyuB,QAAQ;IACR7N,MAAM,GAAA5gB,KAAA,CAAN4gB,MAAM;IACN0T,eAAe,GAAAt0B,KAAA,CAAfs0B,eAAe,CAAA;EAIjB,oBACEjhB,GAAA,CAACqgB,SAAS,EAAA;AACRtf,IAAAA,GAAG,EAAEA,GAAI;AACT8a,IAAAA,EAAE,EAAEA,EAAG;IACPyE,kBAAkB,EAAEmK,+BAA6B,CAAC;AAChDhnB,MAAAA,UAAU,EAAE1T,QAAQ;AACpBwR,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBE,MAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBD,MAAAA,iBAAiB,EAAjBA,iBAAAA;AACF,KAAC,CAAE;AACHwD,IAAAA,KAAK,EAAEA,KAAM;AACbvO,IAAAA,WAAW,EAAEA,WAAY;AACzB1G,IAAAA,QAAQ,EAAEA,QAAS;AACnBgxB,IAAAA,SAAS,EAAC,SAAS;AACnBiG,IAAAA,YAAY,EAAEA,YAAa;AAC3Bjc,IAAAA,SAAS,EAAC,QAAQ;AAClBqQ,IAAAA,QAAQ,EAAEA,QAAS;AACnB7N,IAAAA,MAAM,EAAEA,MAAO;AACf0T,IAAAA,eAAe,EAAEA,eAAAA;AAAgB,GAClC,CAAC,CAAA;AAEN,CACF,CAAC;;ACxEM,SAAS0J,aAAaA,CAAAj+B,IAAA,EAAgE;AAAA,EAAA,IAA7D+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEiO,SAAS,GAAAhhB,IAAA,CAATghB,SAAS;IAAE3Y,KAAK,GAAArI,IAAA,CAALqI,KAAK,CAAA;EACxD,oBACEiL,GAAA,CAAC9V,IAAI,EAAA;AACHmW,IAAAA,QAAQ,EAAE8B,6BAA6B,CAACuL,SAAS,EAAE,CAAC,CAAE;AACtDhD,IAAAA,UAAU,EAAEvI,6BAA6B,CAACuL,SAAS,EAAE,CAAC,CAAE;AACxDzC,IAAAA,SAAS,EAAE9I,6BAA6B,CAACuL,SAAS,EAAE,CAAC,CAAE;AACvD3Y,IAAAA,KAAK,EAAE2Y,SAAS,GAAGviB,SAAS,GAAG4J,KAAM;AAAA0K,IAAAA,QAAA,EAEpCA,QAAAA;AAAQ,GACL,CAAC,CAAA;AAEX;;;ACHO,IAAMmrB,kBAAkB,gBAAG9pB,UAAU,CAC1C,UAAApU,IAAA,EAoBEqU,GAAG,EACc;AAAA,EAAA,IAnBf8a,EAAE,GAAAnvB,IAAA,CAAFmvB,EAAE,CAAA;IACF7W,KAAK,GAAAtY,IAAA,CAALsY,KAAK,CAAA;IACL9D,MAAM,GAAAxU,IAAA,CAANwU,MAAM,CAAA;IACN8L,OAAO,GAAAtgB,IAAA,CAAPsgB,OAAO,CAAA;IACPvW,WAAW,GAAA/J,IAAA,CAAX+J,WAAW,CAAA;IACXgxB,OAAO,GAAA/6B,IAAA,CAAP+6B,OAAO,CAAA;IACPC,OAAO,GAAAh7B,IAAA,CAAPg7B,OAAO,CAAA;IACP33B,QAAQ,GAAArD,IAAA,CAARqD,QAAQ,CAAA;IACR0R,iBAAiB,GAAA/U,IAAA,CAAjB+U,iBAAiB,CAAA;IACjBF,iBAAiB,GAAA7U,IAAA,CAAjB6U,iBAAiB,CAAA;IACjBC,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB,CAAA;IACjBwlB,YAAY,GAAAt6B,IAAA,CAAZs6B,YAAY,CAAA;IACZ5L,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ,CAAA;IACR7N,MAAM,GAAA7gB,IAAA,CAAN6gB,MAAM,CAAA;IACND,OAAO,GAAA5gB,IAAA,CAAP4gB,OAAO,CAAA;IACP2T,eAAe,GAAAv0B,IAAA,CAAfu0B,eAAe,CAAA;AACZvgB,IAAKC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,EAAA;AAIV,EAAA,IAAMiqB,QAAQ,GAAG/c,MAAM,CAAc,IAAI,CAAC,CAAA;AAC1C,EAAA,IAAMgd,OAAO,GAAGhd,MAAM,CAAc,IAAI,CAAC,CAAA;EAEzC,IAAMid,YAAY,GAAG/lB,KAAK,CAAA;EAE1B,IAAMgmB,UAAU,GAAGD,YAAY,KAAZA,IAAAA,IAAAA,YAAY,uBAAZA,YAAY,CAAEE,OAAO,EAAE,CAAA;AAC1C,EAAA,IAAMC,YAAY,GAAGH,YAAY,GAAGA,YAAY,CAACnD,QAAQ,EAAE,GAAG,CAAC,GAAGz8B,SAAS,CAAA;EAC3E,IAAMggC,WAAW,GAAGJ,YAAY,KAAZA,IAAAA,IAAAA,YAAY,uBAAZA,YAAY,CAAEhD,WAAW,EAAE,CAAA;AAE/C,EAAA,IAAAqD,WAAA,GAA0BC,UAAU,CAACnD,yBAAyB,EAAE;AAC9DnM,MAAAA,YAAY,EAAEgP,YAAY;AAC1B1C,MAAAA,UAAU,EAAE2C,UAAU;AACtBxC,MAAAA,YAAY,EAAE0C,YAAY;AAC1BvC,MAAAA,WAAW,EAAEwC,WAAW;MACxB7C,YAAY,EAAE0C,UAAU,GAAG5D,YAAY,CAAC4D,UAAU,CAAC,GAAG,EAAE;MACxDvC,cAAc,EAAEyC,YAAY,GAAG7D,cAAc,CAAC6D,YAAY,CAAC,GAAG,EAAE;MAChEtC,aAAa,EAAEuC,WAAW,GAAG7D,aAAa,CAAC6D,WAAW,CAAC,GAAG,EAAE;AAC5D1D,MAAAA,OAAO,EAAPA,OAAO;AACPC,MAAAA,OAAO,EAAPA,OAAAA;AACF,KAAC,CAAC;IAAA4D,YAAA,GAAA1+B,cAAA,CAAAw+B,WAAA,EAAA,CAAA,CAAA;AAVK1rB,IAAAA,KAAK,GAAA4rB,YAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,QAAQ,GAAAD,YAAA,CAAA,CAAA,CAAA,CAAA;AAYtB,EAAA,IAAME,oBAAoB,GAAG;AAC3B/pB,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBF,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBzR,IAAAA,QAAQ,EAARA,QAAAA;GACD,CAAA;EAED,IAAM07B,oBAAoB,GAAG,UAC3B51B,GAAuB,EACvBC,KAAyB,EACzBC,IAAwB,EACf;AACTmzB,IAAAA,gBAAgB,CAAC;AAAErzB,MAAAA,GAAG,EAAHA,GAAG;AAAEC,MAAAA,KAAK,EAALA,KAAK;AAAEC,MAAAA,IAAI,EAAJA,IAAI;MAAE0xB,OAAO,EAAE/nB,KAAK,CAAC+nB,OAAO;MAAEC,OAAO,EAAEhoB,KAAK,CAACgoB,OAAO;AAAEpa,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,MAAM,EAANA,MAAM;AAAE6N,MAAAA,QAAQ,EAARA,QAAAA;AAAS,KAAC,CAAC,CAAA;GAClH,CAAA;AAED,EAAA,IAAMsQ,wBAAwB,GAAG,UAACC,iBAAyB,EAAEC,YAA0C,EAAW;IAChH,IAAID,iBAAiB,CAACzgC,MAAM,KAAK,CAAC,IAAI0gC,YAAY,CAAC3d,OAAO,EAAE;AAC1D2d,MAAAA,YAAY,CAAC3d,OAAO,CAAC/b,KAAK,EAAE,CAAA;AAC9B,KAAA;GACD,CAAA;EAED,oBACE8N,GAAA,CAAC9V,IAAI,EAAA;AAACgX,IAAAA,MAAM,EAAEA,MAAO;AAAC2a,IAAAA,EAAE,EAAEA,EAAG;IAAApc,QAAA,eAC3BkL,IAAA,CAAC5I,MAAM,EAAA;AAACsP,MAAAA,KAAK,EAAC,QAAQ;MAAA5R,QAAA,EAAA,cACpBO,GAAA,CAAC2qB,aAAa,EAAA;AAACjd,QAAAA,SAAS,EAAEV,OAAQ;AAACjY,QAAAA,KAAK,EAAC,oCAAoC;AAAA0K,QAAAA,QAAA,eAC3EO,GAAA,CAAC0qB,SAAS,EAAAt9B,aAAA,CAAAA,aAAA,CAAA;AACR2T,UAAAA,GAAG,EAAEA,GAAI;AACT8a,UAAAA,EAAE,EAAEA,EAAE,GAAA,EAAA,CAAApwB,MAAA,CAAMowB,EAAE,EAAS1wB,MAAAA,CAAAA,GAAAA,SAAAA;AAAU,SAAA,EAC7BqgC,oBAAoB,CAAA,EAAA,EAAA,EAAA;AACxB/0B,UAAAA,WAAW,EAAEA,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEZ,GAAI;UAC9BmP,KAAK,EAAEtF,KAAK,CAAC4oB,YAAa;AAC1BtB,UAAAA,YAAY,EAAED,8BAA8B,CAAC,MAAM,CAAE;AACrD3L,UAAAA,QAAQ,EAAE,UAACzL,CAAC,EAAK;YACf,IAAMyY,OAAO,GAAGmC,cAAc,CAAC5a,CAAC,CAACkc,WAAW,CAACvkB,IAAI,CAAC,CAAA;AAElDikB,YAAAA,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,YAAY;AAAE4kB,cAAAA,OAAO,EAAPA,OAAAA;AAAQ,aAAC,CAAC,CAAA;AAEzC,YAAA,IAAIA,OAAO,IAAIY,QAAQ,CAACZ,OAAO,CAAC,EAAE;cAChCqD,oBAAoB,CAACrD,OAAO,EAAE1oB,KAAK,CAAC8oB,YAAY,EAAE9oB,KAAK,CAACipB,WAAW,CAAC,CAAA;AACtE,aAAA;YAEA+C,wBAAwB,CAAC/b,CAAC,CAACkc,WAAW,CAACvkB,IAAI,EAAEujB,QAAQ,CAAC,CAAA;WACtD;UACFtd,MAAM,EAAE,YAAA;AAAA,YAAA,OAAMge,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,UAAA;AAAW,aAAC,CAAC,CAAA;WAAC;UAC7Cyd,eAAe,EAAE,YAAM;AAAA,YAAA,IAAA6K,iBAAA,CAAA;AACrB,YAAA,CAAAA,iBAAA,GAAAjB,QAAQ,CAAC5c,OAAO,MAAA,IAAA,IAAA6d,iBAAA,KAAA,KAAA,CAAA,IAAhBA,iBAAA,CAAkB55B,KAAK,EAAE,CAAA;AAC3B,WAAA;SACD,CAAA,CAAA;AAAC,OACW,CAAC,eAEhB8N,GAAA,CAAC2qB,aAAa,EAAA;AAACjd,QAAAA,SAAS,EAAEV,OAAQ;AAACjY,QAAAA,KAAK,EAAC,sCAAsC;AAAA0K,QAAAA,QAAA,eAC7EO,GAAA,CAAC0qB,SAAS,EAAAt9B,aAAA,CAAAA,aAAA,CAAA;AACR2T,UAAAA,GAAG,EAAE8pB,QAAS;AACdhP,UAAAA,EAAE,EAAEA,EAAE,GAAA,EAAA,CAAApwB,MAAA,CAAMowB,EAAE,EAAW1wB,QAAAA,CAAAA,GAAAA,SAAAA;AAAU,SAAA,EAC/BqgC,oBAAoB,CAAA,EAAA,EAAA,EAAA;AACxB/0B,UAAAA,WAAW,EAAEA,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEX,KAAM;UAChCkP,KAAK,EAAEtF,KAAK,CAAC+oB,cAAe;AAC5BzB,UAAAA,YAAY,EAAED,8BAA8B,CAAC,MAAM,CAAE;AACrD3L,UAAAA,QAAQ,EAAE,UAACzL,CAAC,EAAK;YACf,IAAM4Y,SAAS,GAAGgC,cAAc,CAAC5a,CAAC,CAACkc,WAAW,CAACvkB,IAAI,CAAC,CAAA;AAEpDikB,YAAAA,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,cAAc;AAAE+kB,cAAAA,SAAS,EAATA,SAAAA;AAAU,aAAC,CAAC,CAAA;AAE7C,YAAA,IAAIA,SAAS,IAAIS,QAAQ,CAACT,SAAS,CAAC,EAAE;cACpCkD,oBAAoB,CAAC/rB,KAAK,CAAC2oB,UAAU,EAAEE,SAAS,EAAE7oB,KAAK,CAACipB,WAAW,CAAC,CAAA;AACtE,aAAA;YAEA+C,wBAAwB,CAAC/b,CAAC,CAACkc,WAAW,CAACvkB,IAAI,EAAEwjB,OAAO,CAAC,CAAA;WACrD;UACFvd,MAAM,EAAE,YAAA;AAAA,YAAA,OAAMge,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,YAAA;AAAa,aAAC,CAAC,CAAA;WAAC;UAC/Cyd,eAAe,EAAE,YAAM;AAAA,YAAA,IAAA8K,gBAAA,CAAA;AACrB,YAAA,CAAAA,gBAAA,GAAAjB,OAAO,CAAC7c,OAAO,MAAA,IAAA,IAAA8d,gBAAA,KAAA,KAAA,CAAA,IAAfA,gBAAA,CAAiB75B,KAAK,EAAE,CAAA;AAC1B,WAAA;SACD,CAAA,CAAA;AAAC,OACW,CAAC,eAEhB8N,GAAA,CAAC2qB,aAAa,EAAA;AAACjd,QAAAA,SAAS,EAAEV,OAAQ;AAACjY,QAAAA,KAAK,EAAC,qCAAqC;AAAA0K,QAAAA,QAAA,eAC5EO,GAAA,CAAC0qB,SAAS,EAAAt9B,aAAA,CAAAA,aAAA,CAAA;AACR2T,UAAAA,GAAG,EAAE+pB,OAAQ;AACbjP,UAAAA,EAAE,EAAEA,EAAE,GAAA,EAAA,CAAApwB,MAAA,CAAMowB,EAAE,EAAU1wB,OAAAA,CAAAA,GAAAA,SAAAA;AAAU,SAAA,EAC9BqgC,oBAAoB,CAAA,EAAA,EAAA,EAAA;AACxB/0B,UAAAA,WAAW,EAAEA,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEV,IAAK;UAC/BiP,KAAK,EAAEtF,KAAK,CAACkpB,aAAc;UAC3B5B,YAAY,EAAEA,YAAY,GAAGD,8BAA8B,CAACC,YAAY,CAAC,GAAG77B,SAAU;AACtFiwB,UAAAA,QAAQ,EAAE,UAACzL,CAAC,EAAK;YACf,IAAM+Y,QAAQ,GAAG6B,cAAc,CAAC5a,CAAC,CAACkc,WAAW,CAACvkB,IAAI,CAAC,CAAA;AAEnDikB,YAAAA,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,aAAa;AAAEklB,cAAAA,QAAQ,EAARA,QAAAA;AAAS,aAAC,CAAC,CAAA;AAE3C,YAAA,IAAIA,QAAQ,IAAIM,QAAQ,CAACN,QAAQ,CAAC,EAAE;cAClC+C,oBAAoB,CAAC/rB,KAAK,CAAC2oB,UAAU,EAAE3oB,KAAK,CAAC8oB,YAAY,EAAEE,QAAQ,CAAC,CAAA;AACtE,aAAA;WACA;UACFnb,MAAM,EAAE,YAAA;AAAA,YAAA,OAAMge,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,WAAA;AAAY,aAAC,CAAC,CAAA;WAAC;AAC9Cyd,UAAAA,eAAe,EAAEA,eAAAA;SAClB,CAAA,CAAA;AAAC,OACW,CAAC,CAAA;KACV,CAAA;AAAC,GACL,CAAC,CAAA;AAEX,CACF,CAAC;;ACtJM,IAAM+K,mBAAmB,gBAAGlrB,UAAU,CAC3C,UAAApU,IAAA,EAaEqU,GAAG,EACc;AAAA,EAAA,IAZfhR,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACRid,OAAO,GAAAtgB,IAAA,CAAPsgB,OAAO;IACP6O,EAAE,GAAAnvB,IAAA,CAAFmvB,EAAE;IACF3a,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IACN8D,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IACLvO,WAAW,GAAA/J,IAAA,CAAX+J,WAAW;IACXgL,iBAAiB,GAAA/U,IAAA,CAAjB+U,iBAAiB;IACjBF,iBAAiB,GAAA7U,IAAA,CAAjB6U,iBAAiB;IACjBC,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB;IACjBE,OAAO,GAAAhV,IAAA,CAAPgV,OAAO,CAAA;AAIT,EAAA,IAAM8pB,oBAAoB,GAAG;AAC3B/pB,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBF,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBC,IAAAA,iBAAiB,EAAjBA,iBAAiB;AACjBzR,IAAAA,QAAQ,EAARA,QAAAA;GACD,CAAA;EAED,oBACEiQ,GAAA,CAAC1V,SAAS,EAAA;AACRyW,IAAAA,GAAG,EAAEA,GAAI;AACT8lB,IAAAA,OAAO,EAAC,MAAM;AACd/b,IAAAA,aAAa,EAAC,KAAK;AACnBO,IAAAA,QAAQ,EAAC,UAAU;IACnB/B,SAAS,EAAEnH,6BAA6B,CAAC6K,OAAO,EAAE7hB,SAAS,EAAE,UAAU,CAAE;AACzE0wB,IAAAA,EAAE,EAAEA,EAAG;AACP9rB,IAAAA,QAAQ,EAAEA,QAAS;AACnBmR,IAAAA,MAAM,EAAEA,MAAO;AACfQ,IAAAA,OAAO,EAAEA,OAAQ;IAAAjC,QAAA,eAEjBkL,IAAA,CAACzgB,IAAI,EAAA;AACHmhB,MAAAA,QAAQ,EAAC,UAAU;AACnBtW,MAAAA,KAAK,EAAEoN,6BAA6B,CAAC6K,OAAO,EAAE,MAAM,CAAE;AACtD9M,MAAAA,KAAK,EAAE;AACL+rB,QAAAA,aAAa,EAAE,MAAA;OACf;MAAAxsB,QAAA,EAAA,cAEFkL,IAAA,CAAC5I,MAAM,EAAA;AAACsP,QAAAA,KAAK,EAAC,QAAQ;AAACtc,QAAAA,KAAK,EAAEoN,6BAA6B,CAAC6K,OAAO,EAAE,MAAM,CAAE;QAAAvN,QAAA,EAAA,cAC3EO,GAAA,CAAC2qB,aAAa,EAAA;AAACjd,UAAAA,SAAS,EAAEV,OAAQ;AAACjY,UAAAA,KAAK,EAAC,oCAAoC;UAAA0K,QAAA,eAC3EO,GAAA,CAAC0qB,SAAS,EAAAt9B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACJo+B,oBAAoB,CAAA,EAAA,EAAA,EAAA;AACxB/0B,YAAAA,WAAW,EAAEA,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEZ,GAAI;YAC9BmP,KAAK,EAAEA,KAAK,GAAGoiB,YAAY,CAACpiB,KAAK,CAACimB,OAAO,EAAE,CAAC,GAAG9/B,SAAAA;WAChD,CAAA,CAAA;AAAC,SACW,CAAC,eAEhB6U,GAAA,CAAC2qB,aAAa,EAAA;AAACjd,UAAAA,SAAS,EAAEV,OAAQ;AAACjY,UAAAA,KAAK,EAAC,sCAAsC;UAAA0K,QAAA,eAC7EO,GAAA,CAAC0qB,SAAS,EAAAt9B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACJo+B,oBAAoB,CAAA,EAAA,EAAA,EAAA;AACxB/0B,YAAAA,WAAW,EAAEA,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEX,KAAM;AAChCkP,YAAAA,KAAK,EAAEA,KAAK,GAAGqiB,cAAc,CAACriB,KAAK,CAAC4iB,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAGz8B,SAAAA;WACvD,CAAA,CAAA;AAAC,SACW,CAAC,eAEhB6U,GAAA,CAAC2qB,aAAa,EAAA;AAACjd,UAAAA,SAAS,EAAEV,OAAQ;AAACjY,UAAAA,KAAK,EAAC,qCAAqC;UAAA0K,QAAA,eAC5EO,GAAA,CAAC0qB,SAAS,EAAAt9B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACJo+B,oBAAoB,CAAA,EAAA,EAAA,EAAA;AACxB/0B,YAAAA,WAAW,EAAEA,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,CAAEV,IAAK;YAC/BiP,KAAK,EAAEA,KAAK,GAAGsiB,aAAa,CAACtiB,KAAK,CAAC+iB,WAAW,EAAE,CAAC,GAAG58B,SAAAA;WACrD,CAAA,CAAA;AAAC,SACW,CAAC,CAAA;AAAA,OACV,CAAC,eACT6U,GAAA,CAAC9V,IAAI,EAAA;AAAC6K,QAAAA,KAAK,EAAC,MAAM;AAACd,QAAAA,MAAM,EAAC,MAAM;AAACoX,QAAAA,QAAQ,EAAC,UAAU;AAACI,QAAAA,GAAG,EAAC,GAAG;AAAClP,QAAAA,IAAI,EAAC,GAAA;AAAG,OAAE,CAAC,CAAA;KACpE,CAAA;AAAC,GACE,CAAC,CAAA;AAEhB,CACF,CAAC;;;AC7EM,IAAM2vB,iBAAiB,gBAAGprB,UAAU,CACzC,UAAApU,IAAA,EAWEqU,GAAG,EACc;AAAA,EAAA,IAVfwM,MAAM,GAAA7gB,IAAA,CAAN6gB,MAAM;IACND,OAAO,GAAA5gB,IAAA,CAAP4gB,OAAO;IACP6e,iBAAiB,GAAAz/B,IAAA,CAAjBy/B,iBAAiB;IACjBC,cAAc,GAAA1/B,IAAA,CAAd0/B,cAAc;IACdC,gBAAgB,GAAA3/B,IAAA,CAAhB2/B,gBAAgB;IAChBrnB,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IACLoW,SAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;AACL1a,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAIV,EAAA,IAAAwO,SAAA,GAAkCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAA1CjQ,IAAAA,SAAS,GAAAmQ,UAAA,CAAA,CAAA,CAAA;AAAEgd,IAAAA,YAAY,GAAAhd,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAuI,UAAA,GAAwCxI,QAAQ,CAAmBrK,KAAK,CAAC;IAAA8S,UAAA,GAAAlrB,cAAA,CAAAirB,UAAA,EAAA,CAAA,CAAA;AAAlEkE,IAAAA,YAAY,GAAAjE,UAAA,CAAA,CAAA,CAAA;AAAEkE,IAAAA,eAAe,GAAAlE,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAMjC,WAAW,GAAG,YAAY;AAC9B,IAAA,IAAItI,MAAM,EAAEA,MAAM,EAAE,CAAA;GACrB,CAAA;AAED,EAAA,IAAMgf,eAAe,GAAG,YAAY;IAClCD,YAAY,CAAC,IAAI,CAAC,CAAA;AAClB,IAAA,IAAIhf,OAAO,EAAEA,OAAO,EAAE,CAAA;IAEtBkf,qBAAqB,CAACC,IAAI,CAAC;AACzBvrB,MAAAA,MAAM,EAAEkrB,cAAc;AACtBpnB,MAAAA,KAAK,EAAE+W,YAAY,IAAIoQ,iBAAiB,IAAI,IAAIxC,IAAI,CAACA,IAAI,CAAC+C,GAAG,EAAE,CAAC;AAChEtR,MAAAA,QAAQ,EAAE,SAAAA,QAACzL,CAAAA,CAAC,EAAK;QACf2c,YAAY,CAAC,KAAK,CAAC,CAAA;AACnB,QAAA,IAAQK,SAAS,GAAKhd,CAAC,CAACkc,WAAW,CAA3Bc,SAAS,CAAA;AACjB,QAAA,IAAIA,SAAS,EAAE;AACb,UAAA,IAAMC,IAAI,GAAG,IAAIjD,IAAI,CAACgD,SAAS,CAAC,CAAA;UAEhC3Q,eAAe,CAAC4Q,IAAI,CAAC,CAAA;UACrBxR,SAAQ,CAACwR,IAAI,CAAC,CAAA;AACd/W,UAAAA,WAAW,EAAE,CAAA;AACf,SAAA;OACD;AACDgX,MAAAA,aAAa,EAAEhX,WAAAA;AACjB,KAAC,CAAC,CAAA;GACH,CAAA;AAEDxH,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIge,gBAAgB,EAAEE,eAAe,EAAE,CAAA;AACvC;GACD,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,oBACEvsB,GAAA,CAACgsB,mBAAmB,EAAA5+B,aAAA,CAAA;AAClB2T,IAAAA,GAAG,EAAEA,GAAI;AACTiE,IAAAA,KAAK,EAAE+W,YAAa;AACpBta,IAAAA,iBAAiB,EAAEtC,SAAU;AAC7BuC,IAAAA,OAAO,EAAE6qB,eAAAA;GACL7rB,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CACF,CAAC;;AC5DD,SAASosB,wBAAwBA,GAAmC;AAClE,EAAA,IAAInlB,QAAQ,CAACC,EAAE,KAAK,SAAS,EAAE,OAAO,UAAU,CAAA;AAEhD,EAAA,IAAID,QAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,OAAO,SAAS,CAAA;AAE3C,EAAA,OAAO,SAAS,CAAA;AAClB,CAAA;AAWO,SAASmlB,sBAAsBA,CAAArgC,IAAA,EAOK;AAAA,EAAA,IANzCsY,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IAAAgoB,gBAAA,GAAAtgC,IAAA,CACLugC,WAAW;IAAXA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,IAAIrD,IAAI,EAAE,GAAAqD,gBAAA;IACxBE,WAAW,GAAAxgC,IAAA,CAAXwgC,WAAW;IACXC,UAAU,GAAAzgC,IAAA,CAAVygC,UAAU;IACVjsB,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IACNka,SAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ,CAAA;AAER,EAAA,IAAM9c,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAMsuB,WAAW,GAAGN,wBAAwB,EAAE,CAAA;AAE9C,EAAA,IAAMO,QAAQ,GAAG1lB,QAAQ,CAACC,EAAE,KAAK,KAAK,GAAG;AAAEjK,IAAAA,SAAS,EAAEW,KAAK,CAACM,IAAI,CAAC9P,MAAM,CAACC,OAAAA;GAAS,GAAG,EAAE,CAAA;AAEtF,EAAA,oBACEiR,GAAA,CAACstB,cAAc,EAAAlgC,aAAA,CAAAA,aAAA,CAAA;IACbmgC,QAAQ,EAAA,IAAA;AACRrsB,IAAAA,MAAM,EAAEA,MAAO;IACf8D,KAAK,EAAEA,KAAK,IAAIioB,WAAY;AAC5BO,IAAAA,IAAI,EAAC,MAAM;AACXN,IAAAA,WAAW,EAAEA,WAAY;AACzBO,IAAAA,WAAW,EAAEN,UAAW;AACxBtG,IAAAA,OAAO,EAAEuG,WAAAA;AAAY,GAAA,EACjBC,QAAQ,CAAA,EAAA,EAAA,EAAA;AACZjS,IAAAA,QAAQ,EAAE,SAAAA,QAACsS,CAAAA,MAA2B,EAAEd,IAAuB,EAAA;MAAA,OAAKxR,SAAQ,CAACwR,IAAI,CAAC,CAAA;AAAA,KAAA;AAAC,GAAA,CACpF,CAAC,CAAA;AAEN;;;ACrCA,SAASe,UAAUA,CAAAjhC,IAAA,EAA2C;AAAA,EAAA,IAAxC+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;AAC5B,EAAA,oBACEO,GAAA,CAAC4Z,SAAS,CAACK,MAAM,EAAA;AAAAxa,IAAAA,QAAA,eACfO,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC5V,MAAAA,IAAI,EAAC,MAAM;AAAC8M,MAAAA,OAAO,EAAC,MAAM;AAAAI,MAAAA,QAAA,EACxCA,QAAAA;KACc,CAAA;AAAC,GACF,CAAC,CAAA;AAEvB,CAAA;AASO,SAASmuB,2BAA2BA,CAAAjhC,KAAA,EAQK;AAAA,EAAA,IAP9C0sB,KAAK,GAAA1sB,KAAA,CAAL0sB,KAAK;IACLwU,SAAS,GAAAlhC,KAAA,CAATkhC,SAAS;IACT7oB,KAAK,GAAArY,KAAA,CAALqY,KAAK;IACL8oB,mBAAmB,GAAAnhC,KAAA,CAAnBmhC,mBAAmB;IACnBrY,OAAO,GAAA9oB,KAAA,CAAP8oB,OAAO;IACP2F,QAAQ,GAAAzuB,KAAA,CAARyuB,QAAQ;AACL1a,IAAAA,KAAK,GAAAC,wBAAA,CAAAhU,KAAA,EAAAiU,WAAA,CAAA,CAAA;AAER,EAAA,IAAAwO,SAAA,GAAwCC,QAAQ,CAACrK,KAAK,CAAC;IAAAsK,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAhD2M,IAAAA,YAAY,GAAAzM,UAAA,CAAA,CAAA,CAAA;AAAE0M,IAAAA,eAAe,GAAA1M,UAAA,CAAA,CAAA,CAAA,CAAA;;AAEpC;;AAgBA,EAAA,oBACEtP,GAAA,CAAC4Z,SAAS,CAAC9D,cAAc,EAAA;AAACC,IAAAA,OAAO,EAAE0E,OAAO,CAACoT,SAAS,CAAE;AAACpY,IAAAA,OAAO,EAhB5C,SAAdI,WAAWA,GAAe;MAC9BmG,eAAe,CAAChX,KAAK,CAAC,CAAA;AACtByQ,MAAAA,OAAO,EAAE,CAAA;KAcmE;IAAAhW,QAAA,eAC1EO,GAAA,CAAC4Z,SAAS,EAAA;AAAAna,MAAAA,QAAA,EACPouB,SAAS,gBACRljB,IAAA,CAAA2K,QAAA,EAAA;AAAA7V,QAAAA,QAAA,EACG4Z,CAAAA,KAAK,gBAAGrZ,GAAA,CAAC2tB,UAAU,EAAA;AAAAluB,UAAAA,QAAA,EAAE4Z,KAAAA;SAAkB,CAAC,GAAG,IAAI,eAEhDrZ,GAAA,CAAC4Z,SAAS,CAACI,IAAI,EAAA;UAAAva,QAAA,eACbO,GAAA,CAAC+sB,sBAAsB,EAAA3/B,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAKsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEsE,YAAAA,KAAK,EAAE+W,YAAa;AAACX,YAAAA,QAAQ,EAdvD,SAAfC,YAAYA,CAAI0S,OAAc,EAAW;cAC7C/R,eAAe,CAAC,UAAC7L,IAAI,EAAK;gBACxB,OAAO4d,OAAO,IAAI5d,IAAI,CAAA;AACxB,eAAC,CAAC,CAAA;AACJ,aAAA;WAU6F,CAAA,CAAA;AAAC,SACpE,CAAC,eAEjBnQ,GAAA,CAAC4Z,SAAS,CAACM,MAAM,EAAA;UAAAza,QAAA,eACfO,GAAA,CAAC+M,MAAM,EAAA;YAACC,OAAO,EAAA,IAAA;AAACxJ,YAAAA,IAAI,EAAC,SAAS;AAAC9B,YAAAA,OAAO,EAtB7B,SAAfssB,YAAYA,GAAe;cAC/B5S,QAAQ,CAACW,YAAY,CAAC,CAAA;aAqByC;AAAAtc,YAAAA,QAAA,EAClDquB,mBAAmB,gBAClB9tB,GAAA,CAACmI,MAAI,EAAA;AAAA1I,cAAAA,QAAA,EAAEquB,mBAAAA;AAAmB,aAAO,CAAC,gBAElC9tB,GAAA,CAACiuB,gBAAgB,EAAA;cAACpS,EAAE,EAAA,oDAAA;aAAgF,CAAA;WAEhG,CAAA;AAAC,SACO,CAAC,CAAA;AAAA,OACnB,CAAC,GACD,IAAA;KACK,CAAA;AAAC,GACY,CAAC,CAAA;AAE/B;;;AC5EO,IAAMqS,yBAAyB,gBAAGptB,UAAU,CACjD,UAAApU,IAAA,EAgBEqU,GAAG,EACc;AAAA,EAAA,IAffiE,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IACLonB,cAAc,GAAA1/B,IAAA,CAAd0/B,cAAc;IACd+B,aAAa,GAAAzhC,IAAA,CAAbyhC,aAAa;IACbC,2BAA2B,GAAA1hC,IAAA,CAA3B0hC,2BAA2B;IAC3B/B,gBAAgB,GAAA3/B,IAAA,CAAhB2/B,gBAAgB;IAChBF,iBAAiB,GAAAz/B,IAAA,CAAjBy/B,iBAAiB;IACjB1qB,iBAAiB,GAAA/U,IAAA,CAAjB+U,iBAAiB;IACjBF,iBAAiB,GAAA7U,IAAA,CAAjB6U,iBAAiB;IACjBC,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB;IACjB4Z,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;IACR9N,OAAO,GAAA5gB,IAAA,CAAP4gB,OAAO;IACPC,MAAM,GAAA7gB,IAAA,CAAN6gB,MAAM;AACH7M,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAIV,EAAA,IAAAwO,SAAA,GAAkDC,QAAQ,CAACgd,gBAAgB,CAAC;IAAA/c,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAArEif,IAAAA,iBAAiB,GAAA/e,UAAA,CAAA,CAAA,CAAA;AAAEgf,IAAAA,oBAAoB,GAAAhf,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9C,EAAA,IAAAuI,UAAA,GAAkCxI,QAAQ,CAAC,KAAK,CAAC;IAAAyI,UAAA,GAAAlrB,cAAA,CAAAirB,UAAA,EAAA,CAAA,CAAA;AAA1C1Y,IAAAA,SAAS,GAAA2Y,UAAA,CAAA,CAAA,CAAA;AAAEwU,IAAAA,YAAY,GAAAxU,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAyW,UAAA,GAAwClf,QAAQ,CAAmBrK,KAAK,CAAC;IAAAwpB,UAAA,GAAA5hC,cAAA,CAAA2hC,UAAA,EAAA,CAAA,CAAA;AAAlExS,IAAAA,YAAY,GAAAyS,UAAA,CAAA,CAAA,CAAA;AAAExS,IAAAA,eAAe,GAAAwS,UAAA,CAAA,CAAA,CAAA,CAAA;AAUpC,EAAA,IAAMC,gBAAgB,GAAG,YAAY;AACnC,IAAA,IAAIlhB,MAAM,EAAEA,MAAM,EAAE,CAAA;IAEpB+gB,oBAAoB,CAAC,KAAK,CAAC,CAAA;IAE3BhC,YAAY,CAAC,KAAK,CAAC,CAAA;GACpB,CAAA;EAUD,oBACE3hB,IAAA,CAAA2K,QAAA,EAAA;AAAA7V,IAAAA,QAAA,EACEO,cAAAA,GAAA,CAACgsB,mBAAmB,EAAA5+B,aAAA,CAAA;AAClB2T,MAAAA,GAAG,EAAEA,GAAI;AACTiE,MAAAA,KAAK,EAAE+W,YAAa;MACpBta,iBAAiB,EAAEtC,SAAS,IAAIsC,iBAAkB;AAClDF,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCE,MAAAA,OAAO,EAhCW,SAAlB6qB,eAAeA,GAAe;AAClC,QAAA,IAAIjf,OAAO,EAAEA,OAAO,EAAE,CAAA;QAEtBghB,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAE1BhC,YAAY,CAAC,IAAI,CAAC,CAAA;AACpB,OAAA;AA0B+B,KAAA,EACrB5rB,KAAK,CACV,CAAC,eAEFV,GAAA,CAAC4tB,2BAA2B,EAAA;AAC1B1sB,MAAAA,MAAM,EAAEkrB,cAAe;AACvBpnB,MAAAA,KAAK,EAAE+W,YAAa;AACpB8R,MAAAA,SAAS,EAAEQ,iBAAkB;AAC7BhV,MAAAA,KAAK,EAAE8U,aAAc;AACrBL,MAAAA,mBAAmB,EAAEM,2BAA4B;AACjDnB,MAAAA,WAAW,EAAEd,iBAAkB;AAC/B1W,MAAAA,OAAO,EAAEgZ,gBAAiB;AAC1BrT,MAAAA,QAAQ,EA5BO,SAAfC,YAAYA,CAAI0S,OAAc,EAAW;QAC7C/R,eAAe,CAAC+R,OAAO,CAAC,CAAA;QAExB3S,QAAQ,CAAC2S,OAAO,CAAC,CAAA;AAEjBU,QAAAA,gBAAgB,EAAE,CAAA;AACpB,OAAA;AAsB6B,KACxB,CAAC,CAAA;AAAA,GACF,CAAC,CAAA;AAEP,CACF,CAAC;;;ACrEM,IAAMC,kBAAkB,gBAAG5tB,UAAU,CAC1C,UAAApU,IAAA,EAEEqU,GAAG,EACc;AAAA,EAAA,IAFfiE,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IAAEonB,cAAc,GAAA1/B,IAAA,CAAd0/B,cAAc;IAAEC,gBAAgB,GAAA3/B,IAAA,CAAhB2/B,gBAAgB;IAAEF,iBAAiB,GAAAz/B,IAAA,CAAjBy/B,iBAAiB;IAAE/Q,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;IAAE7N,MAAM,GAAA7gB,IAAA,CAAN6gB,MAAM;AAAK7M,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAGxF,EAAA,IAAI+G,QAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;AAC7B,IAAA,oBACE5H,GAAA,CAACksB,iBAAiB,EAAA9+B,aAAA,CAAA;AAChB2T,MAAAA,GAAG,EAAEA,GAAI;AACTorB,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCrnB,MAAAA,KAAK,EAAEA,KAAM;AACboW,MAAAA,QAAQ,EAAEA,QAAS;AACnB7N,MAAAA,MAAM,EAAEA,MAAAA;KACJ7M,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,GAAA;AAEA,EAAA,oBACEV,GAAA,CAACkuB,yBAAyB,EAAA9gC,aAAA,CAAA;AACxB2T,IAAAA,GAAG,EAAEA,GAAI;AACTiE,IAAAA,KAAK,EAAEA,KAAM;AACbqnB,IAAAA,gBAAgB,EAAEA,gBAAiB;AACnCD,IAAAA,cAAc,EAAEA,cAAe;AAC/BhR,IAAAA,QAAQ,EAAEA,QAAS;AACnB7N,IAAAA,MAAM,EAAEA,MAAAA;GACJ7M,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CACF,CAAC;;;ACcM,IAAMiuB,UAAU,gBAAG7tB,UAAU,CAClC,UAAApU,IAAA,EAA2FqU,GAAG,EAAmB;AAAA,EAAA,IAAA6tB,aAAA,GAAAliC,IAAA,CAA9GmiC,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,aAAA;IAAE5H,YAAY,GAAAt6B,IAAA,CAAZs6B,YAAY;IAAEhiB,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IAAEic,eAAe,GAAAv0B,IAAA,CAAfu0B,eAAe;AAAKvgB,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AACpE;AACA,EAAA,IAAMmb,YAAY,GAAG/W,KAAK,IAAI7Z,SAAS,CAAA;EAEvC,IAAI0jC,QAAQ,KAAK,UAAU,EAAE;AAC3B,IAAA,oBACE7uB,GAAA,CAAC4qB,kBAAkB,EAAAx9B,aAAA,CAAAA,aAAA,CAAA;AACjB2T,MAAAA,GAAG,EAAEA,GAAAA;AAAuC,KAAA,EACxCL,KAAK,CAAA,EAAA,EAAA,EAAA;AACTsE,MAAAA,KAAK,EAAE+W,YAAa;AACpBiL,MAAAA,YAAY,EAAEA,YAAa;AAC3B/F,MAAAA,eAAe,EAAEA,eAAAA;AAAgB,KAAA,CAClC,CAAC,CAAA;AAEN,GAAA;AAEA,EAAA,oBAAOjhB,GAAA,CAAC0uB,kBAAkB,EAAAthC,aAAA,CAAAA,aAAA,CAAA;AAAC2T,IAAAA,GAAG,EAAEA,GAAAA;AAA0C,GAAA,EAAKL,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEsE,IAAAA,KAAK,EAAE+W,YAAAA;AAAa,GAAA,CAAE,CAAC,CAAA;AAC/G,CACF;;ACxEO,IAAM+S,uBAAuB,gBAAGnwB,aAAa,CAAqBxT,SAAS,CAAC,CAAA;AAO5E,SAAS4jC,wBAAwBA,CAAAriC,IAAA,EAAiE;AAAA,EAAA,IAA9D+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEuvB,MAAM,GAAAtiC,IAAA,CAANsiC,MAAM,CAAA;AACzD,EAAA,oBAAOhvB,GAAA,CAAC8uB,uBAAuB,CAACtnB,QAAQ,EAAA;AAACxC,IAAAA,KAAK,EAAEgqB,MAAO;AAAAvvB,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAmC,CAAC,CAAA;AACvG;;ACTO,SAASwvB,kBAAkBA,GAAW;AAC3C,EAAA,IAAMC,OAAO,GAAGnwB,UAAU,CAAC+vB,uBAAuB,CAAC,CAAA;EAEnD,IAAI,CAACI,OAAO,EAAE;AACZ,IAAA,MAAM,IAAItvB,KAAK,CAAC,qDAAqD,CAAC,CAAA;AACxE,GAAA;AAEA,EAAA,OAAOsvB,OAAO,CAAA;AAChB;;ACXO,SAASC,cAAcA,CAACC,QAAgB,EAAEC,SAAiB,EAAErqB,KAAa,EAAEgqB,MAAc,EAAU;AACzG,EAAA,OAAA,uCAAA,CAAAvjC,MAAA,CAA+C2jC,QAAQ,EAAA3jC,QAAAA,CAAAA,CAAAA,MAAA,CAAS4jC,SAAS,EAAA,GAAA,CAAA,CAAA5jC,MAAA,CAAI6jC,kBAAkB,CAC7FtqB,KACF,CAAC,EAAAvZ,OAAAA,CAAAA,CAAAA,MAAA,CAAQujC,MAAM,CAAA,CAAA;AACjB;;ACkBO,SAASO,gBAAgBA,GAA4B;AAC1D,EAAA,IAAMP,MAAM,GAAGC,kBAAkB,EAAE,CAAA;EAEnC,IAAMO,UAAU,GAAG,UAACJ,QAAgB,EAAEC,SAAiB,EAAErqB,KAAa,EAAa;IACjF,OAAOmqB,cAAc,CAACC,QAAQ,EAAEC,SAAS,EAAErqB,KAAK,EAAEgqB,MAAM,CAAC,CAAA;GAC1D,CAAA;AAED,EAAA,IAAMS,kBAAkB,GAAG;AACzBC,IAAAA,MAAM,EAAE,KAAK;AACbC,IAAAA,OAAO,EAAE;AACP,MAAA,cAAc,EAAE,kBAAA;AAClB,KAAA;GACD,CAAA;AAED,EAAA,IAAMC,oBAAoB,GAAG;AAC3B/O,IAAAA,YAAY,EAAE;MACZgP,mBAAmB,EAAA,YAAA;QAAA,IAAAC,oBAAA,GAAAjgB,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAE,SAAAC,OAAAA,CAAOzZ,KAAa,EAAA;UAAA,IAAAw5B,QAAA,EAAApb,IAAA,CAAA;AAAA,UAAA,OAAA7E,mBAAA,EAAA,CAAAG,IAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,cAAA,KAAA,CAAA;AAAAF,gBAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAAAD,gBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAEd4f,KAAK,CAACR,UAAU,CAAC,oBAAoB,EAAE,OAAO,EAAEj5B,KAAK,CAAC,EAAEk5B,kBAAkB,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAA5FM,QAAQ,GAAA7f,QAAA,CAAAuO,IAAA,CAAA;AAAAvO,gBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OACK2f,QAAQ,CAACE,IAAI,EAAE,CAAA;AAAA,cAAA,KAAA,CAAA;gBAA5Btb,IAAI,GAAAzE,QAAA,CAAAuO,IAAA,CAAA;gBAAA,IAEN,EAAA,CAAA9J,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEub,MAAM,MAAK,IAAI,CAAA,EAAA;AAAAhgB,kBAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;gBAAA,OAAAF,QAAA,CAAAG,MAAA,CAChB,QAAA,EAAA;AAAE6f,kBAAAA,MAAM,EAAEvb,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEub,MAAM;AAAEC,kBAAAA,OAAO,EAAE,EAAA;iBAAI,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,OAAAjgB,QAAA,CAAAG,MAAA,CAGvC,QAAA,EAAA;AACL8f,kBAAAA,OAAO,EAAExb,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEyb,WAAW;AAC1BF,kBAAAA,MAAM,EAAEvb,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEub,MAAAA;iBACf,CAAA,CAAA;AAAA,cAAA,KAAA,EAAA;AAAAhgB,gBAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA,CAAA;gBAAAD,QAAA,CAAAI,EAAA,GAAAJ,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;gBAAA,OAAAA,QAAA,CAAAG,MAAA,CAEM,QAAA,EAAA;kBAAE6f,MAAM,EAAEG,MAAM,CAACC,IAAI,CAACC,MAAM,CAACC,mBAAmB,CAACC,aAAa;AAAEN,kBAAAA,OAAO,EAAE,EAAA;iBAAI,CAAA,CAAA;AAAA,cAAA,KAAA,EAAA,CAAA;AAAA,cAAA,KAAA,KAAA;gBAAA,OAAAjgB,QAAA,CAAArB,IAAA,EAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAAmB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;SAEvF,CAAA,CAAA,CAAA;AAAA,QAAA,SAAA6f,mBAAA,GAAA;AAAA,UAAA,OAAAC,oBAAA,CAAAvf,KAAA,CAAA,IAAA,EAAAtlB,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAAA4kC,mBAAA,CAAA;AAAA,OAAA,EAAA;KACF;AACDa,IAAAA,aAAa,EAAE;MACbC,UAAU,EAAA,YAAA;QAAA,IAAAC,WAAA,GAAA/gB,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CAAE,SAAA8gB,QAAAA,CAAOC,OAAe,EAAA;UAAA,IAAAf,QAAA,EAAApb,IAAA,CAAA;AAAA,UAAA,OAAA7E,mBAAA,EAAA,CAAAG,IAAA,CAAA,UAAA8gB,SAAA,EAAA;AAAA,YAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA5gB,IAAA,GAAA4gB,SAAA,CAAA3gB,IAAA;AAAA,cAAA,KAAA,CAAA;AAAA2gB,gBAAAA,SAAA,CAAA5gB,IAAA,GAAA,CAAA,CAAA;AAAA4gB,gBAAAA,SAAA,CAAA3gB,IAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OAEP4f,KAAK,CAACR,UAAU,CAAC,eAAe,EAAE,UAAU,EAAEsB,OAAO,CAAC,EAAErB,kBAAkB,CAAC,CAAA;AAAA,cAAA,KAAA,CAAA;gBAA5FM,QAAQ,GAAAgB,SAAA,CAAAtS,IAAA,CAAA;AAAAsS,gBAAAA,SAAA,CAAA3gB,IAAA,GAAA,CAAA,CAAA;AAAA,gBAAA,OACK2f,QAAQ,CAACE,IAAI,EAAE,CAAA;AAAA,cAAA,KAAA,CAAA;gBAA5Btb,IAAI,GAAAoc,SAAA,CAAAtS,IAAA,CAAA;gBAAA,IAEN,EAAA,CAAA9J,IAAI,KAAJA,IAAAA,IAAAA,IAAI,uBAAJA,IAAI,CAAEub,MAAM,MAAK,IAAI,CAAA,EAAA;AAAAa,kBAAAA,SAAA,CAAA3gB,IAAA,GAAA,CAAA,CAAA;AAAA,kBAAA,MAAA;AAAA,iBAAA;gBAAA,OAAA2gB,SAAA,CAAA1gB,MAAA,CAChB,QAAA,EAAA;AAAE6f,kBAAAA,MAAM,EAAEvb,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEub,MAAM;AAAEc,kBAAAA,MAAM,EAAE7lC,SAAAA;iBAAW,CAAA,CAAA;AAAA,cAAA,KAAA,CAAA;gBAAA,OAAA4lC,SAAA,CAAA1gB,MAAA,CAG7C,QAAA,EAAA;AACL2gB,kBAAAA,MAAM,EAAErc,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAEqc,MAAM;AACpBd,kBAAAA,MAAM,EAAEvb,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEub,MAAAA;iBACf,CAAA,CAAA;AAAA,cAAA,KAAA,EAAA;AAAAa,gBAAAA,SAAA,CAAA5gB,IAAA,GAAA,EAAA,CAAA;gBAAA4gB,SAAA,CAAAzgB,EAAA,GAAAygB,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;gBAAA,OAAAA,SAAA,CAAA1gB,MAAA,CAEM,QAAA,EAAA;kBAAE6f,MAAM,EAAEG,MAAM,CAACC,IAAI,CAACC,MAAM,CAACC,mBAAmB,CAACC,aAAa;AAAEO,kBAAAA,MAAM,EAAE7lC,SAAAA;iBAAW,CAAA,CAAA;AAAA,cAAA,KAAA,EAAA,CAAA;AAAA,cAAA,KAAA,KAAA;gBAAA,OAAA4lC,SAAA,CAAAliB,IAAA,EAAA,CAAA;AAAA,aAAA;AAAA,WAAA,EAAAgiB,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;SAE7F,CAAA,CAAA,CAAA;AAAA,QAAA,SAAAF,UAAA,GAAA;AAAA,UAAA,OAAAC,WAAA,CAAArgB,KAAA,CAAA,IAAA,EAAAtlB,SAAA,CAAA,CAAA;AAAA,SAAA;AAAA,QAAA,OAAA0lC,UAAA,CAAA;AAAA,OAAA,EAAA;AACH,KAAA;GACD,CAAA;AAED,EAAA,OAAOf,oBAAoB,CAAA;AAC7B;;AC5BO,IAAMqB,6BAAsD,GAAG,UAACvxB,KAAK,EAAEyoB,MAAM,EAAK;EACvF,QAAQA,MAAM,CAAC3kB,IAAI;AACjB,IAAA,KAAK,eAAe;AAAE,MAAA;AACpB,QAAA,OAAApW,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACRwxB,UAAAA,cAAc,EAAE,KAAK;AACrBC,UAAAA,eAAe,EAAE,IAAA;AAAI,SAAA,CAAA,CAAA;AAEzB,OAAA;AAEA,IAAA,KAAK,gBAAgB;AAAE,MAAA;AACrB,QAAA,OAAA/jC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACRwxB,UAAAA,cAAc,EAAE,KAAK;AACrBC,UAAAA,eAAe,EAAE,KAAK;AACtBjO,UAAAA,KAAK,EAAEiF,MAAM,CAACiJ,OAAO,CAACjB,OAAAA;AAAO,SAAA,CAAA,CAAA;AAEjC,OAAA;AAEA,IAAA,KAAK,cAAc;AAAE,MAAA;AACnB,QAAA,OAAA/iC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACRwxB,UAAAA,cAAc,EAAE,IAAI;AACpBC,UAAAA,eAAe,EAAE,KAAK;AACtBjO,UAAAA,KAAK,EAAE,EAAA;AAAE,SAAA,CAAA,CAAA;AAEb,OAAA;AAEA,IAAA,KAAK,eAAe;AAAE,MAAA;AACpB,QAAA,OAAA91B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACR2xB,UAAAA,oBAAoB,EAAE,KAAK;AAC3BC,UAAAA,sBAAsB,EAAE,IAAA;AAAI,SAAA,CAAA,CAAA;AAEhC,OAAA;AAEA,IAAA,KAAK,uBAAuB;AAAE,MAAA;AAC5B,QAAA,OAAAlkC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACR2xB,UAAAA,oBAAoB,EAAE,KAAK;AAC3BC,UAAAA,sBAAsB,EAAE,KAAK;AAC7BC,UAAAA,oBAAoB,EAAEpJ,MAAM,CAACiJ,OAAO,CAACJ,MAAAA;AAAM,SAAA,CAAA,CAAA;AAE/C,OAAA;AAEA,IAAA,KAAK,qBAAqB;AAAE,MAAA;AAC1B,QAAA,OAAA5jC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACR2xB,UAAAA,oBAAoB,EAAE,IAAI;AAC1BC,UAAAA,sBAAsB,EAAE,KAAK;AAC7BC,UAAAA,oBAAoB,EAAEpmC,SAAAA;AAAS,SAAA,CAAA,CAAA;AAEnC,OAAA;AAEA,IAAA;AACE,MAAA,OAAOuU,KAAK,CAAA;AAChB,GAAA;AACF,CAAC;;ACzGM,SAAS8xB,mBAAmBA,CACjCtrB,QAAgB,EAChBurB,UAAsC,EACA;AACtC,EAAA,OAAOA,UAAU,CAACC,IAAI,CAAC,UAACpuB,SAAS,EAAA;AAAA,IAAA,OAAKA,SAAS,CAACrI,KAAK,CAAC4J,QAAQ,CAACqB,QAAQ,CAAC,CAAA;GAAC,CAAA,CAAA;AAC3E,CAAA;AAEA,IAAMyrB,oCAAoC,GAAG,YAA6C;AAAA,EAAA,IAA5CC,YAAY,GAAA3mC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;AAAA,EAAA,IAAE4mC,OAAO,GAAA5mC,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,EAAE,CAAA;EAE3E,IAAAyB,IAAA,GADc,+FAA+F,CAC/DolC,IAAI,CAACD,OAAO,CAAC,IAAI,EAAE;IAAAllC,KAAA,GAAAC,cAAA,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAAqlC,IAAAA,MAAA,GAAAplC,KAAA,CAAA,CAAA,CAAA;AAAxDqlC,IAAAA,MAAM,GAAAD,MAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,MAAA;AAAAE,IAAAA,OAAA,GAAAtlC,KAAA,CAAA,CAAA,CAAA;AAAEulC,IAAAA,SAAS,GAAAD,OAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,OAAA,CAAA;EAEpC,IAAID,MAAM,EAAE,OAAAvmC,EAAAA,CAAAA,MAAA,CAAUumC,MAAM,CAAA,CAAAvmC,MAAA,CAAGymC,SAAS,CAAA,CAAA;AAExC,EAAA,OAAON,YAAY,CAAA;AACrB,CAAC,CAAA;AAkBM,IAAMO,uBAAuB,GAAG,UACrCC,WAA8B,EAC9BC,eAAwB,EACA;AAAA,EAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,CAAA;AACxB,EAAA,IAAAC,qBAAA,GAAuDZ,WAAW,CAA1Da,kBAAkB;AAAEC,IAAAA,iBAAiB,GAAAF,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA,CAAA;EAElD,OAAO;AACL7gB,IAAAA,MAAM,EAAE,QAAQ;AAChBghB,IAAAA,GAAG,EAAAb,CAAAA,qBAAA,GAAEF,WAAW,CAACgB,QAAQ,MAAA,IAAA,IAAAd,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,qBAAA,CAAsBe,QAAQ,CAACF,GAAG,EAAE;AACzCG,IAAAA,GAAG,EAAAf,CAAAA,sBAAA,GAAEH,WAAW,CAACgB,QAAQ,MAAA,IAAA,IAAAb,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,sBAAA,CAAsBc,QAAQ,CAACC,GAAG,EAAE;AACzCC,IAAAA,QAAQ,EAAAf,CAAAA,oBAAA,GAAEhB,mBAAmB,CAAC,UAAU,EAAE0B,iBAAiB,CAAC,MAAAV,IAAAA,IAAAA,oBAAA,KAAlDA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,oBAAA,CAAoDgB,SAAS;AACvEC,IAAAA,WAAW,EAAAhB,CAAAA,qBAAA,GAAEjB,mBAAmB,CAAC,aAAa,EAAE0B,iBAAiB,CAAC,MAAAT,IAAAA,IAAAA,qBAAA,KAArDA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAuDe,SAAS;AAC7EE,IAAAA,OAAO,EAAAhB,CAAAA,qBAAA,GAAElB,mBAAmB,CAAC,aAAa,EAAE0B,iBAAiB,CAAC,MAAAR,IAAAA,IAAAA,qBAAA,KAArDA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAuDc,SAAS;AACzEG,IAAAA,UAAU,EAAAhB,CAAAA,qBAAA,GAAEnB,mBAAmB,CAAC,OAAO,EAAE0B,iBAAiB,CAAC,MAAAP,IAAAA,IAAAA,qBAAA,KAA/CA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAiDa,SAAS;AACtE5B,IAAAA,YAAY,EAAED,oCAAoC,CAAA,CAAAiB,qBAAA,GAChDpB,mBAAmB,CAAC,eAAe,EAAE0B,iBAAiB,CAAC,MAAA,IAAA,IAAAN,qBAAA,KAAvDA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAyDY,SAAS,EAClEnB,eACF,CAAC;AACDuB,IAAAA,OAAO,EAAAf,CAAAA,qBAAA,GAAErB,mBAAmB,CAAC,SAAS,EAAE0B,iBAAiB,CAAC,MAAAL,IAAAA,IAAAA,qBAAA,KAAjDA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAmDW,SAAS;AACrEK,IAAAA,wBAAwB,EAAAf,CAAAA,qBAAA,GAAEtB,mBAAmB,CAAC,6BAA6B,EAAE0B,iBAAiB,CAAC,MAAAJ,IAAAA,IAAAA,qBAAA,KAArEA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAuEU,SAAS;AAC1GM,IAAAA,wBAAwB,EAAAf,CAAAA,qBAAA,GAAEvB,mBAAmB,CAAC,6BAA6B,EAAE0B,iBAAiB,CAAC,MAAA,IAAA,IAAAH,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAArEA,qBAAA,CAAuES,SAAAA;GAClG,CAAA;AACH,CAAC;;ACxCM,IAAMO,6BAA6B,gBAAGp1B,aAAa,CAAmC;AAC3Fe,EAAAA,KAAK,EAAE;AACLwjB,IAAAA,KAAK,EAAE,EAAE;AACTqO,IAAAA,oBAAoB,EAAEpmC,SAAS;AAC/BgmC,IAAAA,eAAe,EAAE,KAAK;AACtBD,IAAAA,cAAc,EAAE,KAAK;AACrBG,IAAAA,oBAAoB,EAAE,KAAK;AAC3BC,IAAAA,sBAAsB,EAAE,KAAK;AAC7B0C,IAAAA,oCAAoC,EAAE,KAAA;GACvC;EACDvR,aAAa,EAAE,SAAAA,aAAAA,GAAW;AACxB,IAAA,OAAOwR,OAAO,CAACC,OAAO,EAAE,CAAA;GACzB;AACDxR,EAAAA,YAAY,EAAE,SAAAA,YAAA,GAAU,EAAC;AAC3B,CAAC,CAAC,CAAA;AAQK,SAASyR,8BAA8BA,CAAAznC,IAAA,EAIK;AAAA,EAAA,IAHjD+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAA20B,qBAAA,GAAA1nC,IAAA,CACR2nC,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,qBAAA;IAAAE,oBAAA,GAAA5nC,IAAA,CACpB6nC,eAAe;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,GAAG,GAAAA,oBAAA,CAAA;AAErB,EAAA,IAAME,OAAO,GAAGjF,gBAAgB,EAAE,CAAA;AAElC,EAAA,IAAMkF,kBAAkB,GAAG3mB,MAAM,CAA2C,EAAE,CAAC,CAAA;AAC/E,EAAA,IAAM4mB,kBAAkB,GAAG5mB,MAAM,CAAiD,EAAE,CAAC,CAAA;AAErF,EAAA,IAAAsd,WAAA,GAA0BC,UAAU,CAAC4F,6BAA6B,EAAE;AAClE/N,MAAAA,KAAK,EAAE,EAAE;AACT8Q,MAAAA,oCAAoC,EAAE,KAAA;AACxC,KAAC,CAAC;IAAA1I,YAAA,GAAA1+B,cAAA,CAAAw+B,WAAA,EAAA,CAAA,CAAA;AAHK1rB,IAAAA,KAAK,GAAA4rB,YAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,QAAQ,GAAAD,YAAA,CAAA,CAAA,CAAA,CAAA;AAKtB,EAAA,IAAMqJ,iBAAiB,GAAGC,oBAAoB,CAC5CC,WAAW,eAAA,YAAA;IAAA,IAAAloC,KAAA,GAAAkjB,iBAAA,eAAAC,mBAAA,GAAAC,IAAA,CACT,SAAAC,OAAAA,CAAOhL,KAAa,EAAA;AAAA,MAAA,IAAA8vB,kBAAA,EAAAC,qBAAA,EAAA5E,OAAA,EAAAD,MAAA,CAAA;AAAA,MAAA,OAAApgB,mBAAA,EAAA,CAAAG,IAAA,CAAA,UAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAAA,EACdpL,KAAK,CAAC9Z,MAAM,GAAGmpC,gBAAgB,CAAA,EAAA;AAAAnkB,cAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;YAAA,OAAAF,QAAA,CAAAG,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAEnCkb,YAAAA,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,eAAA;AAAgB,aAAC,CAAC,CAAA;;AAEnC;YACMsxB,kBAAkB,GAAGL,kBAAkB,CAACxmB,OAAO,CAACjJ,KAAK,CAAC,GACxDivB,OAAO,CAACC,OAAO,CAAC;AAAE/D,cAAAA,OAAO,EAAEsE,kBAAkB,CAACxmB,OAAO,CAACjJ,KAAK,CAAC;AAAEkrB,cAAAA,MAAM,EAAE,IAAA;aAAM,CAAC,GAC7EsE,OAAO,CAAC3T,YAAY,CAACgP,mBAAmB,CAAC7qB,KAAK,CAAC,CAAA;AAAAkL,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;AAAAD,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAGf0kB,kBAAkB,CAAA;AAAA,UAAA,KAAA,CAAA;YAAAC,qBAAA,GAAA7kB,QAAA,CAAAuO,IAAA,CAAA;YAA5C0R,OAAO,GAAA4E,qBAAA,CAAP5E,OAAO,CAAA;YAAED,MAAM,GAAA6E,qBAAA,CAAN7E,MAAM,CAAA;YAAA,IAEnBA,EAAAA,MAAM,KAAK,IAAI,CAAA,EAAA;AAAAhgB,cAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AACjBmb,YAAAA,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,cAAA;AAAe,aAAC,CAAC,CAAA;YAAC,OAAA0M,QAAA,CAAAG,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA;AAIrC;AACAokB,YAAAA,kBAAkB,CAACxmB,OAAO,CAACjJ,KAAK,CAAC,GAAGmrB,OAAO,CAAA;AAE3C5E,YAAAA,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,gBAAgB;AAAE4tB,cAAAA,OAAO,EAAE;AAAEjB,gBAAAA,OAAO,EAAPA,OAAAA;AAAQ,eAAA;AAAE,aAAC,CAAC,CAAA;AAACjgB,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,EAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA,CAAA;YAAAD,QAAA,CAAAI,EAAA,GAAAJ,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAE3Dqb,YAAAA,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,cAAA;AAAe,aAAC,CAAC,CAAA;AAAC,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAA0M,QAAA,CAAArB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAmB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;KAEtC,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,YAAA;AAAA,MAAA,OAAArjB,KAAA,CAAA4jB,KAAA,CAAA,IAAA,EAAAtlB,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;GACD,EAAA,EAAA,CAACupC,OAAO,CAAC3T,YAAY,EAAEwT,gBAAgB,CACzC,CAAC,EACDE,eACF,CAAC,CAAA;EAED,IAAMS,gBAAgB,GAAGH,WAAW,eAAA,YAAA;AAAA,IAAA,IAAA9nC,KAAA,GAAA8iB,iBAAA,eAAAC,mBAAA,EAAA,CAAAC,IAAA,CAClC,SAAA8gB,QAAAA,CACEn8B,IAAmC,EACnC0mB,QAAmD,EAAA;AAAA,MAAA,IAAA6Z,YAAA,EAAAC,KAAA,EAAAC,gBAAA,CAAA;AAAA,MAAA,OAAArlB,mBAAA,EAAA,CAAAG,IAAA,CAAA,UAAA8gB,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA5gB,IAAA,GAAA4gB,SAAA,CAAA3gB,IAAA;AAAA,UAAA,KAAA,CAAA;AAAA,YAAA,IAG9C1b,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,KAAAA,CAAAA,IAAAA,IAAI,CAAE0gC,QAAQ,EAAA;AAAArE,cAAAA,SAAA,CAAA3gB,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AACjB,YAAA,IAAIgL,QAAQ,EAAEA,QAAQ,CAACjwB,SAAS,CAAC,CAAA;YAAC,OAAA4lC,SAAA,CAAA1gB,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,UAAA,KAAA,CAAA;AAIpCkb,YAAAA,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,eAAA;AAAgB,aAAC,CAAC,CAAA;AAACutB,YAAAA,SAAA,CAAA5gB,IAAA,GAAA,CAAA,CAAA;AAGlC;AACM8kB,YAAAA,YAAY,GAAGP,kBAAkB,CAACzmB,OAAO,CAACvZ,IAAI,CAAC0gC,QAAQ,CAAC,GAC1DnB,OAAO,CAACC,OAAO,CAACQ,kBAAkB,CAACzmB,OAAO,CAACvZ,IAAI,CAAC0gC,QAAQ,CAAC,CAAC,GAC1DZ,OAAO,CAAC9D,aAAa,CAACC,UAAU,CAACj8B,IAAI,CAAC0gC,QAAQ,CAAC,CAACC,IAAI,CAAC,UAAAroC,KAAA,EAAA;AAAA,cAAA,IAAGgkC,MAAM,GAAAhkC,KAAA,CAANgkC,MAAM,CAAA;AAAA,cAAA,OAAOA,MAAM,CAAA;aAAC,CAAA,CAAA;AAAAD,YAAAA,SAAA,CAAA3gB,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAE5D6kB,YAAY,CAAA;AAAA,UAAA,KAAA,CAAA;YAA1BC,KAAK,GAAAnE,SAAA,CAAAtS,IAAA,CAAA;AAAA,YAAA,IAENyW,KAAK,EAAA;AAAAnE,cAAAA,SAAA,CAAA3gB,IAAA,GAAA,EAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AACRmb,YAAAA,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,qBAAA;AAAsB,aAAC,CAAC,CAAA;AAEzC,YAAA,IAAI4X,QAAQ,EAAEA,QAAQ,CAACjwB,SAAS,CAAC,CAAA;YAAC,OAAA4lC,SAAA,CAAA1gB,MAAA,CAAA,QAAA,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA;AAIpCkb,YAAAA,QAAQ,CAAC;AACP/nB,cAAAA,IAAI,EAAE,uBAAuB;AAC7B4tB,cAAAA,OAAO,EAAE;AACPJ,gBAAAA,MAAM,EAAEkE,KAAAA;AACV,eAAA;AACF,aAAC,CAAC,CAAA;YAEIC,gBAAgB,GAAGhD,uBAAuB,CAAC+C,KAAK,EAAExgC,IAAI,CAAC4gC,WAAW,CAAC,CAEzE;YACAZ,kBAAkB,CAACzmB,OAAO,CAACvZ,IAAI,CAAC0gC,QAAQ,CAAC,GAAGF,KAAK,CAAA;AAEjD,YAAA,IAAI9Z,QAAQ,EAAEA,QAAQ,CAAC+Z,gBAAgB,CAAC,CAAA;AAACpE,YAAAA,SAAA,CAAA3gB,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,EAAA;AAAA2gB,YAAAA,SAAA,CAAA5gB,IAAA,GAAA,EAAA,CAAA;YAAA4gB,SAAA,CAAAzgB,EAAA,GAAAygB,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEzCxF,YAAAA,QAAQ,CAAC;AAAE/nB,cAAAA,IAAI,EAAE,qBAAA;AAAsB,aAAC,CAAC,CAAA;AAEzC,YAAA,IAAI4X,QAAQ,EAAEA,QAAQ,CAACjwB,SAAS,CAAC,CAAA;AAAC,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAA4lC,SAAA,CAAAliB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAgiB,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;KAErC,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,YAAA;AAAA,MAAA,OAAA9jC,KAAA,CAAAwjB,KAAA,CAAA,IAAA,EAAAtlB,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAAA,EACD,CAACupC,OAAO,CAAC9D,aAAa,CACxB,CAAC,CAAA;EAED,IAAM6E,GAAG,GAAGniB,OAAO,CACjB,YAAA;IAAA,OAAO;AAAE1T,MAAAA,KAAK,EAALA,KAAK;AAAEgjB,MAAAA,YAAY,EAAEsS,gBAAgB;AAAEvS,MAAAA,aAAa,EAAEkS,iBAAAA;KAAmB,CAAA;GAAC,EACnF,CAACA,iBAAiB,EAAEK,gBAAgB,EAAEt1B,KAAK,CAC7C,CAAC,CAAA;AAED,EAAA,oBAAOM,GAAA,CAAC+zB,6BAA6B,CAACvsB,QAAQ,EAAA;AAACxC,IAAAA,KAAK,EAAEuwB,GAAI;AAAA91B,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAyC,CAAC,CAAA;AAChH;;AC1IO,SAAS+1B,yBAAyBA,GAAqC;AAC5E,EAAA,IAAMtG,OAAO,GAAGnwB,UAAU,CAACg1B,6BAA6B,CAAC,CAAA;EAEzD,IAAI,CAAC7E,OAAO,EAAE;AACZ,IAAA,MAAM,IAAItvB,KAAK,CAAC,4DAA4D,CAAC,CAAA;AAC/E,GAAA;AAEA,EAAA,OAAOsvB,OAAO,CAAA;AAChB;;ACCO,SAASuG,kBAAkBA,CAAA/oC,IAAA,EAA+C;AAAA,EAAA,IAA5CgI,IAAI,GAAAhI,IAAA,CAAJgI,IAAI,CAAA;AACvC,EAAA,IAAMmL,eAAe,GAAG;AACtBK,IAAAA,KAAK,EAAE;AACLJ,MAAAA,SAAS,EAAE,eAAA;AACb,KAAA;GACD,CAAA;AAED,EAAA,oBACEE,GAAA,CAACiiB,YAAY,CAACsE,MAAM,EAAA;AAAC7xB,IAAAA,IAAI,EAAEA,IAAK;IAAA+K,QAAA,eAC9BkL,IAAA,CAAC5I,MAAM,EAAA;AAACsP,MAAAA,KAAK,EAAC,QAAQ;MAAA5R,QAAA,EAAA,cACpBO,GAAA,CAAC9V,IAAI,EAAA;AAACkW,QAAAA,IAAI,EAAEP,eAAgB;AAACI,QAAAA,IAAI,EAAEJ,eAAgB;AAACM,QAAAA,QAAQ,EAAEN,eAAgB;QAAAJ,QAAA,eAC5EO,GAAA,CAAC+J,cAAc,EAAA;AAACrT,UAAAA,IAAI,eAAEsJ,GAAA,CAAC01B,UAAU,IAAE,CAAE;AAACjlC,UAAAA,KAAK,EAAC,OAAA;SAAS,CAAA;AAAC,OAClD,CAAC,eACPuP,GAAA,CAAC9V,IAAI,EAAA;AAACwgB,QAAAA,UAAU,EAAE,CAAE;AAAAjL,QAAAA,QAAA,eAClBkL,IAAA,CAACxE,UAAU,CAACgC,IAAI,EAAA;AAAA1I,UAAAA,QAAA,EACdO,cAAAA,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC9I,YAAAA,OAAO,EAAC,MAAM;AAAAI,YAAAA,QAAA,EAAE/K,IAAI,CAACihC,qBAAqB,CAACC,SAAAA;AAAS,WAAkB,CAAC,EACvFlhC,IAAI,CAACihC,qBAAqB,CAACE,cAAc,gBACxClrB,IAAA,CAACxE,UAAU,CAACgC,IAAI,EAAA;AAAC1X,YAAAA,KAAK,EAAC,aAAa;AAAC4O,YAAAA,OAAO,EAAC,MAAM;AAAAI,YAAAA,QAAA,GAChD,GAAG,EACH/K,IAAI,CAACihC,qBAAqB,CAACE,cAAc,CAAA;WAC3B,CAAC,GAChB,IAAI,CAAA;SACO,CAAA;AAAC,OACd,CAAC,CAAA;KACD,CAAA;AAAC,GACU,CAAC,CAAA;AAE1B;;ACxCO,SAASC,mBAAmBA,CAACphC,IAAgD,EAAU;AAC5F,EAAA,IAAI,CAACA,IAAI,EAAE,OAAO,EAAE,CAAA;AACpB,EAAA,OAAOA,IAAI,CAACihC,qBAAqB,CAACC,SAAS,CAAA;AAC7C;;ACDA;AACO,SAASG,0CAA0CA,CACxDlE,OAA4B,EAC5Bf,OAAe,EAC4B;EAC3C,OAAO;AACLsE,IAAAA,QAAQ,EAAEtE,OAAO;AACjBwE,IAAAA,WAAW,EAAE,EAAE;AACfU,IAAAA,SAAS,EAAE,EAAE;AACb/6B,IAAAA,KAAK,EAAE,EAAE;AACTg7B,IAAAA,KAAK,EAAE,EAAE;AACTC,IAAAA,kBAAkB,EAAE,EAAE;AACtBP,IAAAA,qBAAqB,EAAE;AACrBC,MAAAA,SAAS,EAAE,CAAC/D,OAAO,CAAC8B,UAAU,EAAE9B,OAAO,CAACD,YAAY,CAAC,CAACzO,MAAM,CAAC1I,OAAO,CAAC,CAAC0b,IAAI,CAAC,GAAG,CAAC;AAC/EC,MAAAA,4BAA4B,EAAE,EAAE;MAChCP,cAAc,EAAE,CAAChE,OAAO,CAAC6B,OAAO,EAAE7B,OAAO,CAAC0B,QAAQ,EAAE1B,OAAO,CAAC4B,WAAW,CAAC,CAACtQ,MAAM,CAAC1I,OAAO,CAAC,CAAC0b,IAAI,CAAC,GAAG,CAAA;AACnG,KAAA;GACD,CAAA;AACH;;;ACDO,SAASE,YAAYA,CAAA3pC,IAAA,EAO0B;AAAA,EAAA,IANpD01B,YAAY,GAAA11B,IAAA,CAAZ01B,YAAY;IAAAkU,iBAAA,GAAA5pC,IAAA,CACZ81B,YAAY;AAAZA,IAAAA,YAAY,GAAA8T,iBAAA,KAAGR,KAAAA,CAAAA,GAAAA,mBAAmB,GAAAQ,iBAAA;IAClC1T,YAAY,GAAAl2B,IAAA,CAAZk2B,YAAY;IACZC,mBAAmB,GAAAn2B,IAAA,CAAnBm2B,mBAAmB;IACnBzH,SAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;AACL1a,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,IAAA21B,qBAAA,GAA+Cf,yBAAyB,EAAE;IAAlE91B,KAAK,GAAA62B,qBAAA,CAAL72B,KAAK;IAAE+iB,cAAa,GAAA8T,qBAAA,CAAb9T,aAAa;IAAEC,YAAY,GAAA6T,qBAAA,CAAZ7T,YAAY,CAAA;;AAE1C;EACA,IAAM8T,qBAAqB,GAAGpU,YAAY,GACtC2T,0CAA0C,CAAC3T,YAAY,EAAE,uBAAuB,CAAC,GACjFj3B,SAAS,CAAA;EAEb,oBACE6U,GAAA,CAACiiB,YAAY,EAAA70B,aAAA,CAAAA,aAAA,KACNsT,KAAK,CAAA,EAAA,EAAA,EAAA;AACV8hB,IAAAA,YAAY,EAAEA,YAAa;AAC3BJ,IAAAA,YAAY,EAAEoU,qBAAsB;AACpCjU,IAAAA,iBAAiB,EAAE,SAAAA,iBAACsB,CAAAA,YAAY,EAAEnvB,IAAI,EAAA;MAAA,OAAK,CAAAmvB,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEuR,QAAQ,MAAK1gC,IAAI,CAAC0gC,QAAQ,CAAA;KAAC;IACpF54B,KAAK,EACHkD,KAAK,CAACyxB,eAAe,IAAIzxB,KAAK,CAAC4xB,sBAAsB,gBACnDtxB,GAAA,CAACgJ,IAAI,EAAA;AAACtS,MAAAA,IAAI,eAAEsJ,GAAA,CAAC+O,UAAU,IAAE,CAAE;AAACte,MAAAA,KAAK,EAAC,YAAA;KAAc,CAAC,GAC/CtF,SACL;IACDy3B,YAAY,EAAEljB,KAAK,CAACwxB,cAAc,IAAIxxB,KAAK,CAAC2xB,oBAAoB,GAAGzO,YAAY,GAAG,IAAK;IACvFC,mBAAmB,EAAEnjB,KAAK,CAACwjB,KAAK,CAACh4B,MAAM,KAAK,CAAC,GAAG23B,mBAAmB,GAAG,IAAK;AAC3EJ,IAAAA,aAAa,EAAE,SAAAA,aAAC+G,CAAAA,CAAC,EAAK;MACpB/G,cAAa,CAAC+G,CAAC,CAAC,CAAA;KAChB;AACFpO,IAAAA,QAAQ,EAAE,SAAAA,QAACoO,CAAAA,CAAC,EAAK;AACf9G,MAAAA,YAAY,CAAC8G,CAAC,EAAEpO,SAAQ,CAAC,CAAA;KACzB;IAAA3b,QAAA,EAEDC,KAAK,CAACwjB,KAAK,CAACp2B,GAAG,CAAC,UAAC4H,IAAI,EAAA;MAAA,oBACpBsL,GAAA,CAACy1B,kBAAkB,EAAA;AAAqB/gC,QAAAA,IAAI,EAAEA,IAAAA;OAArBA,EAAAA,IAAI,CAAC0gC,QAAuB,CAAC,CAAA;KACvD,CAAA;AAAC,GAAA,CACU,CAAC,CAAA;AAEnB,CAAA;AAEAiB,YAAY,CAAC9P,MAAM,GAAGkP,kBAAkB;;ACnDjC,IAAMgB,UAAU,gBAAG31B,UAAU,CAA+B,UAACJ,KAAsB,EAAEK,GAAG,EAAmB;AAChH,EAAA,oBACEf,GAAA,CAACqgB,SAAS,EAAAjzB,aAAA,CAAA;AACR2T,IAAAA,GAAG,EAAEA,GAAI;AACT8f,IAAAA,YAAY,EAAC,OAAO;AACpBE,IAAAA,SAAS,EAAC,OAAO;AACjBJ,IAAAA,eAAe,EAAC,cAAc;AAC9B+V,IAAAA,cAAc,EAAC,MAAA;GACXh2B,EAAAA,KAAK,CACV,CAAC,CAAA;AAEN,CAAC;;ACVD,IAAMi2B,iBAAiB,GAAG,UAACj3B,KAAsB,EAAsB;AACrE,EAAA,QAAQA,KAAK;AACX,IAAA,KAAK,SAAS;AACZ,MAAA,OAAO,QAAQ,CAAA;AACjB,IAAA,KAAK,OAAO,CAAA;AACZ,IAAA;AACE,MAAA,OAAO,aAAa,CAAA;AACxB,GAAA;AACF,CAAC,CAAA;AAEM,SAASk3B,aAAaA,CAAAlqC,IAAA,EAA6D;AAAA,EAAA,IAA1DgT,KAAK,GAAAhT,IAAA,CAALgT,KAAK;IAAEwB,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IAAEzB,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;AACrD,EAAA,oBACEO,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC5V,IAAAA,IAAI,EAAC,YAAY;AAAC9B,IAAAA,KAAK,EAAEkmC,iBAAiB,CAACj3B,KAAK,CAAE;AAACwB,IAAAA,MAAM,EAAEA,MAAO;AAAAzB,IAAAA,QAAA,EAChFA,QAAAA;AAAQ,GACM,CAAC,CAAA;AAEtB;;AChBO,SAASo3B,UAAUA,CAAAnqC,IAAA,EAAwE;AAAA,EAAA,IAArEoqC,KAAK,GAAApqC,IAAA,CAALoqC,KAAK;IAAEC,aAAa,GAAArqC,IAAA,CAAbqqC,aAAa;IAAExgC,KAAK,GAAA7J,IAAA,CAAL6J,KAAK;IAAEygC,QAAQ,GAAAtqC,IAAA,CAARsqC,QAAQ,CAAA;AAChE,EAAA,IAAM14B,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EACxB,oBACE6L,IAAA,CAACzgB,IAAI,EAAA;IACHkzB,UAAU,EAAE9e,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACf,UAAU,CAACC,mBAAoB;IAC5DwiB,aAAa,EAAEjb,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACf,UAAU,CAACE,sBAAuB;AAAAyI,IAAAA,QAAA,EAEjEq3B,CAAAA,KAAK,gBACJnsB,IAAA,CAACzgB,IAAI,EAAA;AACH4gB,MAAAA,aAAa,EAAC,KAAK;AACnBF,MAAAA,UAAU,EAAC,QAAQ;MACnB2O,aAAa,EAAEjb,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACf,UAAU,CAACI,2BAA4B;MAAAuI,QAAA,EAAA,cAEvEO,GAAA,CAAC9V,IAAI,EAAA;QAACmgB,WAAW,EAAE/L,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACf,UAAU,CAACK,uBAAwB;AAAAsI,QAAAA,QAAA,EAAEq3B,KAAAA;OAAY,CAAC,EACrFC,aAAa,CAAA;KACV,CAAC,GACL,IAAI,EACPxgC,KAAK,EACLygC,QAAQ,gBAAGh3B,GAAA,CAAC9V,IAAI,EAAA;MAACkzB,UAAU,EAAE9e,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACf,UAAU,CAACG,kBAAmB;AAAAwI,MAAAA,QAAA,EAAEu3B,QAAAA;KAAe,CAAC,GAAG,IAAI,CAAA;AAAA,GAClG,CAAC,CAAA;AAEX;;;ACxBO,IAAMC,WAAW,gBAAGn2B,UAAU,CAAgC,UAAApU,IAAA,EAAyBqU,GAAG,EAAK;AAAA,EAAA,IAA9Bqa,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;AAAK1a,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAYxF,EAAA,oBAAOZ,GAAA,CAACqgB,SAAS,EAAAjzB,aAAA,CAAAA,aAAA,CAAA;AAAC2T,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,EAAKL,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEqgB,IAAAA,SAAS,EAAC,SAAS;AAAC3F,IAAAA,QAAQ,EAX9C,SAAfC,YAAYA,CAAIwG,KAAqD,EAAW;MACpF,IAAI,CAACzG,QAAQ,EAAE,OAAA;MAEf,IAAMpW,KAAK,GAAGkyB,UAAU,CAACrV,KAAK,CAACgK,WAAW,CAACvkB,IAAI,CAAC,CAAA;;AAEhD;AACA;AACAua,MAAAA,KAAK,CAACgK,WAAW,CAACvkB,IAAI,GAAG2hB,KAAK,CAACjkB,KAAK,CAAC,GAAG,EAAE,GAAGA,KAAK,CAACijB,QAAQ,EAAE,CAAA;MAE7D7M,QAAQ,CAACyG,KAAK,CAAC,CAAA;AACjB,KAAA;AACkF,GAAA,CAAE,CAAC,CAAA;AACvF,CAAC;;;ACRM,IAAMsV,aAAa,gBAAGr2B,UAAU,CACrC,UAAApU,IAAA,EAAoEqU,GAAG,EAAmB;AAAA,EAAA,IAAvFq2B,wBAAwB,GAAA1qC,IAAA,CAAxB0qC,wBAAwB;IAAE56B,KAAK,GAAA9P,IAAA,CAAL8P,KAAK;AAAKkE,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;EAC1C,IAAAwO,SAAA,GAAkCC,QAAQ,CAACoL,OAAO,CAAC2c,wBAAwB,CAAC,CAAC;IAAA9nB,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAtEye,IAAAA,SAAS,GAAAve,UAAA,CAAA,CAAA,CAAA;AAAE+nB,IAAAA,YAAY,GAAA/nB,UAAA,CAAA,CAAA,CAAA,CAAA;AAE9B,EAAA,oBACEtP,GAAA,CAACqgB,SAAS,EAAAjzB,aAAA,CAAAA,aAAA,CAAA;AACR2T,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,EACLL,KAAK,CAAA,EAAA,EAAA,EAAA;AACTigB,IAAAA,eAAe,EAAC,UAAU;AAC1BE,IAAAA,YAAY,EAAC,UAAU;AACvBJ,IAAAA,WAAW,EAAE,KAAM;IACnB6W,eAAe,EAAE,CAACzJ,SAAU;AAC5BrxB,IAAAA,KAAK,EACHA,KAAK,iBACHwD,GAAA,CAACmgB,cAAc,EAAA;AACbjf,MAAAA,MAAM,EAAC,mCAAmC;AAC1C4kB,MAAAA,OAAO,EAAE,EAAG;AACZxkB,MAAAA,iBAAiB,EAAC,QAAQ;MAC1BI,OAAO,EAAE,SAAAA,OAAA,GAAA;QAAA,OAAM21B,YAAY,CAAC,UAAClnB,IAAI,EAAA;AAAA,UAAA,OAAK,CAACA,IAAI,CAAA;SAAC,CAAA,CAAA;OAAC;MAAA1Q,QAAA,eAE7CO,GAAA,CAACkgB,SAAS,EAAA;AAACxpB,QAAAA,IAAI,EAAEm3B,SAAS,gBAAG7tB,GAAA,CAACu3B,oBAAoB,EAAE,EAAA,CAAC,gBAAGv3B,GAAA,CAACw3B,cAAc,EAAE,EAAA,CAAA;OAAI,CAAA;KAC/D,CAAA;AAEnB,GAAA,CACF,CAAC,CAAA;AAEN,CACF;;;AC9BA,SAASC,kBAAkBA,CAACzF,MAA4C,EAA0B;EAChG,OAAO0F,aAAa,CAAC1F,MAAsB,CAAC,CAAA;AAC9C,CAAA;AAEA,SAAS/K,cAAcA,CAACjiB,KAAa,EAAE2yB,iBAAyB,EAAU;AACxE,EAAA,OAAO3yB,KAAK,CAACmiB,QAAQ,CAACwQ,iBAAiB,EAAE,GAAG,CAAC,CAAA;AAC/C,CAAA;AAYO,IAAMC,UAAU,gBAAG92B,UAAU,CAClC,UAAApU,IAAA,EAEEqU,GAAG,EACc;AAAA,EAAA,IAFfimB,YAAY,GAAAt6B,IAAA,CAAZs6B,YAAY;IAAApG,iBAAA,GAAAl0B,IAAA,CAAEm0B,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,iBAAA;IAAAiX,qBAAA,GAAAnrC,IAAA,CAAEirC,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAAE,qBAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,qBAAA;IAAE7yB,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IAAEoW,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;AAAK1a,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAGvF,EAAA,IAAAwO,SAAA,GAAwCC,QAAQ,CAACrK,KAAK,CAAC;IAAAsK,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAhD2M,IAAAA,YAAY,GAAAzM,UAAA,CAAA,CAAA,CAAA;AAAE0M,IAAAA,eAAe,GAAA1M,UAAA,CAAA,CAAA,CAAA,CAAA;EAEpC,IAAMwoB,mBAAmB,GAAG9Q,YAAY,GAAGD,8BAA8B,CAACC,YAAY,CAAC,GAAG77B,SAAS,CAAA;AAuCnG,EAAA,oBACE6U,GAAA,CAACqgB,SAAS,EAAAjzB,aAAA,CAAAA,aAAA,CAAA;AACR2T,IAAAA,GAAG,EAAEA,GAAAA;AAAI,GAAA,EACLL,KAAK,CAAA,EAAA,EAAA,EAAA;AACTsE,IAAAA,KAAK,EAAE+W,YAAa;AACpBgF,IAAAA,SAAS,EAAC,KAAK;AACfiG,IAAAA,YAAY,EAAE8Q,mBAAoB;AAClCjX,IAAAA,YAAY,EAAEA,YAAa;AAC3BF,IAAAA,eAAe,EAAC,iBAAiB;AACjCvF,IAAAA,QAAQ,EA9CS,SAAfC,YAAYA,CAAIwG,KAAqD,EAAW;MACpF,IAAMmQ,MAAM,GAAG+F,WAAW,CAAClW,KAAK,CAACgK,WAAW,CAACvkB,IAAI,CAAC,CAAA;;AAElD;AACA;AACA;AACA,MAAA,IAAImwB,kBAAkB,CAACzF,MAAM,CAAC,EAAE;AAC9B,QAAA,IAAQgG,KAAK,GAAKhG,MAAM,CAAhBgG,KAAK,CAAA;QAEb,IAAMC,gBAAgB,GAAGhR,cAAc,CAAAx7B,EAAAA,CAAAA,MAAA,CAAIusC,KAAK,IAAI,EAAE,CAAIL,EAAAA,iBAAiB,CAAC,CAAA;AAE5E,QAAA,IAAMO,uBAAuB,GAAA9qC,aAAA,CAAAA,aAAA,KACxBy0B,KAAK,CAAA,EAAA,EAAA,EAAA;AACRgK,UAAAA,WAAW,EAAAz+B,aAAA,CAAAA,aAAA,CACNy0B,EAAAA,EAAAA,KAAK,CAACgK,WAAW,CAAA,EAAA,EAAA,EAAA;AACpBvkB,YAAAA,IAAI,EAAE2wB,gBAAAA;AAAgB,WAAA,CAAA;SAEzB,CAAA,CAAA;QAEDjc,eAAe,CAACic,gBAAgB,CAAC,CAAA;AAEjC,QAAA,IAAI7c,QAAQ,EAAE;AACZA,UAAAA,QAAQ,CAAC8c,uBAAuB,EAAA9qC,aAAA,CAAAA,aAAA,KAC1B4kC,MAAM,CAAA,EAAA,EAAA,EAAA;AACVmG,YAAAA,WAAW,EAAEC,qBAAqB,CAACpG,MAAM,CAAC4B,OAAO,CAAC;AAClDyE,YAAAA,uBAAuB,EAAExW,KAAK,CAACgK,WAAW,CAACvkB,IAAAA;AAAI,WAAA,CAChD,CAAC,CAAA;AACJ,SAAA;AAEA,QAAA,OAAA;AACF,OAAA;;AAEA;AACA0U,MAAAA,eAAe,CAAC6F,KAAK,CAACgK,WAAW,CAACvkB,IAAI,CAAC,CAAA;AACvC,MAAA,IAAI8T,QAAQ,EAAEA,QAAQ,CAACyG,KAAK,CAAC,CAAA;AAC/B,KAAA;AAW2B,GAAA,CACxB,CAAC,CAAA;AAEN,CACF;;ACzEO,SAASyW,QAAQA,CAAA5rC,IAAA,EAAqD;AAAA,EAAA,IAAlD+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE+D,IAAI,GAAA9W,IAAA,CAAJ8W,IAAI;IAAE9M,IAAI,GAAAhK,IAAA,CAAJgK,IAAI,CAAA;AAC7C,EAAA,IAAM4H,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EAExB,oBACE6L,IAAA,CAACzgB,IAAI,EAAA;AACH0gB,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,cAAc,EAAC,QAAQ;AACvBC,IAAAA,aAAa,EAAC,KAAK;AACnBxB,IAAAA,SAAS,EAAC,YAAY;AACtBmJ,IAAAA,QAAQ,EAAC,QAAQ;AACjBnH,IAAAA,QAAQ,EAAC,QAAQ;AACjBjb,IAAAA,eAAe,yBAAA5E,MAAA,CAAyB+X,IAAI,IAAI,SAAS,EAAmB,kBAAA,CAAA;AAC5EpT,IAAAA,YAAY,EAAC,kCAAkC;AAAAqP,IAAAA,QAAA,EAE9C/I,CAAAA,IAAI,gBACHsJ,GAAA,CAAC9V,IAAI,EAAA;AAACmgB,MAAAA,WAAW,EAAC,QAAQ;MAAA5K,QAAA,eACxBO,GAAA,CAAC+J,cAAc,EAAA;AAACrT,QAAAA,IAAI,EAAEA,IAAK;QAACjF,IAAI,EAAE6M,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACT,QAAQ,CAAC1F,QAAS;AAACjB,QAAAA,KAAK,EAAC,OAAA;OAAS,CAAA;KACjF,CAAC,GACL,IAAI,eACRuP,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC5V,MAAAA,IAAI,EAAC,YAAY;AAAC9B,MAAAA,KAAK,EAAC,OAAO;AAAAgP,MAAAA,QAAA,EAC7CA,QAAAA;AAAQ,KACM,CAAC,CAAA;AAAA,GACd,CAAC,CAAA;AAEX;;AC5BO,SAAS84B,KAAKA,CAAA7rC,IAAA,EAAmD;AAAA,EAAA,IAAhDmvB,EAAE,GAAAnvB,IAAA,CAAFmvB,EAAE;IAAE2c,OAAO,GAAA9rC,IAAA,CAAP8rC,OAAO;IAAE/4B,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;AAC3C,EAAA,IAAMg5B,KAAK,GAAG9wB,QAAQ,CAACC,EAAE,KAAK,KAAK,CAAA;AACnC,EAAA,oBACE5H,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC5V,IAAAA,IAAI,EAAC,MAAM;AAACspB,IAAAA,EAAE,EAAE4c,KAAK,GAAGttC,SAAS,GAAG0wB,EAAG;IAAApc,QAAA,EACrDg5B,KAAK,gBACJz4B,GAAA,CAAA,OAAA,EAAA;AAAO6b,MAAAA,EAAE,EAAEA,EAAG;AAAC2c,MAAAA,OAAO,EAAEA,OAAQ;AAAA/4B,MAAAA,QAAA,EAC7BA,QAAAA;AAAQ,KACJ,CAAC,GAERA,QAAAA;AACD,GACc,CAAC,CAAA;AAEtB;;ACfO,SAASi5B,WAAWA,CAAAhsC,IAAA,EAA6C;AAAA,EAAA,IAA1C+5B,SAAS,GAAA/5B,IAAA,CAAT+5B,SAAS,CAAA;AACrC,EAAA,IAAMnoB,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EAExB,IAAMe,eAAe,GAAG,CAAC;AAAEvN,IAAAA,KAAK,EAAEm0B,SAAS,GAAG,CAAC,GAAG,CAAA;AAAE,GAAC,CAAC,CAAA;EAEtD,oBACEzmB,GAAA,CAAC9V,IAAI,EAAA;AACH6K,IAAAA,KAAK,EAAC,mCAAmC;AACzCd,IAAAA,MAAM,EAAC,mCAAmC;AAC1C7D,IAAAA,YAAY,EAAC,2CAA2C;AACxDC,IAAAA,eAAe,EAAC,8CAA8C;AAC9D+P,IAAAA,IAAI,EAAE;AACJF,MAAAA,KAAK,EAAE;QACLJ,SAAS,EAAA,QAAA,CAAArU,MAAA,CAAWg7B,SAAS,GAAG,CAAC,GAAG,CAAC,EAAI,IAAA,CAAA;AACzC3a,QAAAA,kBAAkB,EAAE,KAAK;QACzBC,kBAAkB,EAAEzN,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACP,KAAK,CAACxE,UAAU,CAACC,QAAQ;QAC9DiZ,wBAAwB,EAAE1N,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACP,KAAK,CAACxE,UAAU,CAACE,cAAAA;AAC9D,OAAA;KACA;AACFiN,IAAAA,IAAI,EAAE;AACJC,MAAAA,KAAK,EAAE;AACLJ,QAAAA,SAAS,EAAED,eAAAA;AACb,OAAA;KACA;AACFM,IAAAA,QAAQ,EAAE;AACRD,MAAAA,KAAK,EAAE;AACLJ,QAAAA,SAAS,EAAED,eAAAA;AACb,OAAA;AACF,KAAA;AAAE,GACH,CAAC,CAAA;AAEN;;AC/BO,SAASsa,oBAAkBA,CAAAztB,IAAA,EAMG;AAAA,EAAA,IALnC+W,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACVvE,SAAS,GAAAxS,IAAA,CAATwS,SAAS;IACTD,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTE,SAAS,GAAAzS,IAAA,CAATyS,SAAS;IACTsnB,SAAS,GAAA/5B,IAAA,CAAT+5B,SAAS,CAAA;EAET,IAAIA,SAAS,EAAE,OAAO,0CAA0C,CAAA;EAEhE,IAAIhjB,UAAU,EAAE,OAAO,2CAA2C,CAAA;EAElE,IAAIvE,SAAS,EAAE,OAAO,0CAA0C,CAAA;EAEhE,IAAID,SAAS,EAAE,OAAO,wCAAwC,CAAA;EAE9D,IAAIE,SAAS,EAAE,OAAO,wCAAwC,CAAA;AAE9D,EAAA,OAAO,0CAA0C,CAAA;AACnD;;AClBO,SAASunB,cAAcA,CAAAh6B,IAAA,EAMG;AAAA,EAAA,IAL/B+W,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACVvE,SAAS,GAAAxS,IAAA,CAATwS,SAAS;IACTD,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTE,SAAS,GAAAzS,IAAA,CAATyS,SAAS;IACTsnB,SAAS,GAAA/5B,IAAA,CAAT+5B,SAAS,CAAA;EAET,IAAIA,SAAS,EAAE,OAAO,sCAAsC,CAAA;EAE5D,IAAIhjB,UAAU,EAAE,OAAO,uCAAuC,CAAA;EAE9D,IAAIvE,SAAS,EAAE,OAAO,sCAAsC,CAAA;EAE5D,IAAID,SAAS,EAAE,OAAO,oCAAoC,CAAA;EAE1D,IAAIE,SAAS,EAAE,OAAO,oCAAoC,CAAA;AAE1D,EAAA,OAAO,sCAAsC,CAAA;AAC/C;;ACXO,SAASw5B,WAAWA,CAAAjsC,IAAA,EAOK;AAAA,EAAA,IAN9B+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRgnB,SAAS,GAAA/5B,IAAA,CAAT+5B,SAAS;IACThjB,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACVxE,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTE,SAAS,GAAAzS,IAAA,CAATyS,SAAS;IACTD,SAAS,GAAAxS,IAAA,CAATwS,SAAS,CAAA;AAET,EAAA,IAAMZ,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EAExB,oBACEkB,GAAA,CAAC9V,IAAI,EAAA;AACH0gB,IAAAA,UAAU,EAAC,QAAQ;AACnBC,IAAAA,cAAc,EAAC,QAAQ;AACvBta,IAAAA,WAAW,EAAC,8BAA8B;AAC1CwE,IAAAA,KAAK,EAAC,uBAAuB;AAC7Bd,IAAAA,MAAM,EAAC,uBAAuB;AAC9B7D,IAAAA,YAAY,EAAC,+BAA+B;IAC5CC,eAAe,EAAE8pB,oBAAkB,CAAC;AAAEsM,MAAAA,SAAS,EAATA,SAAS;AAAEhjB,MAAAA,UAAU,EAAVA,UAAU;AAAEtE,MAAAA,SAAS,EAATA,SAAS;AAAEF,MAAAA,SAAS,EAATA,SAAS;AAAEC,MAAAA,SAAS,EAATA,SAAAA;AAAU,KAAC,CAAE;IAChG5O,WAAW,EAAEo2B,cAAc,CAAC;AAAED,MAAAA,SAAS,EAATA,SAAS;AAAEhjB,MAAAA,UAAU,EAAVA,UAAU;AAAEtE,MAAAA,SAAS,EAATA,SAAS;AAAEF,MAAAA,SAAS,EAATA,SAAS;AAAEC,MAAAA,SAAS,EAATA,SAAAA;AAAU,KAAC,CAAE;AACxFkB,IAAAA,IAAI,EAAE;AACJF,MAAAA,KAAK,EAAE;AACL4L,QAAAA,kBAAkB,EAAE,KAAK;QACzBC,kBAAkB,EAAEzN,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACP,KAAK,CAACxE,UAAU,CAACC,QAAQ;QAC9DiZ,wBAAwB,EAAE1N,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACP,KAAK,CAACxE,UAAU,CAACE,cAAAA;AAC9D,OAAA;KACA;AAAAyM,IAAAA,QAAA,EAEDA,QAAAA;AAAQ,GACL,CAAC,CAAA;AAEX;;ACvBO,IAAMm5B,KAAK,gBAAG93B,UAAU,CAC7B,UAAApU,IAAA,EAA4FqU,GAAG,EAAmB;AAAA,EAAA,IAA/G8a,EAAE,GAAAnvB,IAAA,CAAFmvB,EAAE;IAAElmB,OAAO,GAAAjJ,IAAA,CAAPiJ,OAAO;IAAEqP,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IAAEjV,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IAAE0P,SAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEyB,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IAAEka,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;IAAE9N,OAAO,GAAA5gB,IAAA,CAAP4gB,OAAO;IAAEC,MAAM,GAAA7gB,IAAA,CAAN6gB,MAAM,CAAA;EAO1E,oBACEvN,GAAA,CAAC1V,SAAS,EAAA;AACRyW,IAAAA,GAAG,EAAEA,GAAI;AACTG,IAAAA,MAAM,EAAEA,MAAO;AACf2a,IAAAA,EAAE,EAAEA,EAAG;AACP9rB,IAAAA,QAAQ,EAAEA,QAAS;AACnBuR,IAAAA,iBAAiB,EAAC,OAAO;AACzB,IAAA,cAAA,EAAc3L,OAAQ;AACtBkjC,IAAAA,SAAS,EAAEljC,OAAO,IAAI,CAAC5F,QAAS;AAChC+a,IAAAA,aAAa,EAAC,KAAK;AACnBF,IAAAA,UAAU,EAAC,QAAQ;AACnBlJ,IAAAA,OAAO,EAjBoC,SAAzCgO,WAAsCA,CAAImS,KAA4B,EAAK;AAC/E,MAAA,IAAIvU,OAAO,EAAEA,OAAO,EAAE,CAAA;AACtB,MAAA,IAAI8N,QAAQ,EAAEA,QAAQ,CAACpW,KAAK,EAAE6c,KAAK,CAAC,CAAA;AACpC,MAAA,IAAItU,MAAM,EAAEA,MAAM,EAAE,CAAA;KAcG;AACrBD,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,MAAM,EAAEA,MAAO;IAAA9N,QAAA,EAEd,SAAAA,QAAAA,CAAA9S,KAAA,EAAA;AAAA,MAAA,IAAGsS,SAAS,GAAAtS,KAAA,CAATsS,SAAS;QAAEC,SAAS,GAAAvS,KAAA,CAATuS,SAAS;QAAEC,SAAS,GAAAxS,KAAA,CAATwS,SAAS,CAAA;MAAA,oBACjCwL,IAAA,CAAC5I,MAAM,EAAA;AAACsP,QAAAA,KAAK,EAAE5R,SAAQ,GAAG,QAAQ,GAAGtU,SAAU;AAACyf,QAAAA,UAAU,EAAC,QAAQ;QAAAnL,QAAA,EAAA,cACjEO,GAAA,CAAC24B,WAAW,EAAA;AACVlS,UAAAA,SAAS,EAAE9wB,OAAQ;AACnB8N,UAAAA,UAAU,EAAE1T,QAAS;AACrBkP,UAAAA,SAAS,EAAEA,SAAU;AACrBE,UAAAA,SAAS,EAAEA,SAAU;AACrBD,UAAAA,SAAS,EAAEA,SAAU;UAAAO,QAAA,eAErBO,GAAA,CAAC04B,WAAW,EAAA;AAACjS,YAAAA,SAAS,EAAE9wB,OAAAA;WAAU,CAAA;SACvB,CAAC,EAEb8J,SAAQ,gBACPO,GAAA,CAACmG,UAAU,CAAC+B,eAAe,EAAA;AAAClD,UAAAA,KAAK,EAAEjV,QAAQ,GAAG,aAAa,GAAG,OAAQ;AAAA0P,UAAAA,QAAA,eACpEO,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC5V,YAAAA,IAAI,EAAC,MAAM;AAAAkN,YAAAA,QAAA,EAAEA,SAAAA;WAA0B,CAAA;SAC9B,CAAC,GAC3B,IAAI,CAAA;AAAA,OACF,CAAC,CAAA;AAAA,KAAA;AACV,GACQ,CAAC,CAAA;AAEhB,CACF;;ACpDO,SAASkE,mBAAiBA,CAAAjX,IAAA,EAAmF;AAAA,EAAA,IAAhF+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEq5B,OAAO,GAAApsC,IAAA,CAAPosC,OAAO;IAAEtd,MAAM,GAAA9uB,IAAA,CAAN8uB,MAAM;IAAE5X,cAAc,GAAAlX,IAAA,CAAdkX,cAAc,CAAA;AAC3E,EAAA,IAAME,EAAE,GAAGC,KAAK,EAAE,CAAA;EAElB,IAAMC,MAAM,GAAGF,EAAE,CAAC;AAChBvT,IAAAA,WAAW,EAAE,8CAA8C;AAC3DwoC,IAAAA,mBAAmB,EAAED,OAAO,GAAG,+CAA+C,GAAG,CAAC;AAClFE,IAAAA,sBAAsB,EAAEF,OAAO,GAAG,+CAA+C,GAAG,CAAC;AACrFG,IAAAA,oBAAoB,EAAEzd,MAAM,GAAG,+CAA+C,GAAG,CAAC;AAClF0d,IAAAA,uBAAuB,EAAE1d,MAAM,GAAG,+CAA+C,GAAG,CAAC;AACrF2d,IAAAA,eAAe,EAAEL,OAAO,GAAG,8CAA8C,GAAG,CAAA;AAC9E,GAAC,CAAC,CAAA;AAEF,EAAA,oBAAO94B,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE,CAAC8D,MAAM,EAAEJ,cAAc,CAAE;AAAAnE,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AACnF;;ACfO,SAAS25B,WAAWA,CAAA1sC,IAAA,EAOK;AAAA,EAAA,IAN9BosC,OAAO,GAAApsC,IAAA,CAAPosC,OAAO;IACPtd,MAAM,GAAA9uB,IAAA,CAAN8uB,MAAM;IACNpB,UAAU,GAAA1tB,IAAA,CAAV0tB,UAAU;IACVnb,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTE,SAAS,GAAAzS,IAAA,CAATyS,SAAS;IACTD,SAAS,GAAAxS,IAAA,CAATwS,SAAS,CAAA;AAET,EAAA,IAAMZ,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EAExB,IAAMu6B,mBAAmB,GAAGjf,UAAU,GAAG,IAAI,GADflb,SAAS,IAAID,SAAS,IAAIE,SACa,CAAA;EAErE,oBACEa,GAAA,CAAC9V,IAAI,EAAA;AACHkW,IAAAA,IAAI,EAAE;AACJF,MAAAA,KAAK,EAAE;AACLnL,QAAAA,KAAK,iBAAAtJ,MAAA,CAAiB6S,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACnE,WAAW,GAAG,CAAC,EAAuB,KAAA,CAAA;AACnG0D,QAAAA,MAAM,iBAAAxI,MAAA,CAAiB6S,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACnE,WAAW,GAAG,CAAC,EAAuB,KAAA,CAAA;AACpGub,QAAAA,kBAAkB,EAAExN,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAAC5B,UAAU,CAACkC,QAAQ;AAC9E+W,QAAAA,kBAAkB,EAAEzN,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAAC5B,UAAU,CAACC,QAAQ;AAC9EiZ,QAAAA,wBAAwB,EAAE1N,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAAC5B,UAAU,CAACE,cAAAA;AAC9E,OAAA;KACA;AACFpC,IAAAA,OAAO,EAAEyoC,mBAAmB,GAAG,CAAC,GAAG,CAAE;AACrChuB,IAAAA,QAAQ,EAAC,UAAU;AACnBI,IAAAA,GAAG,EAAE,CAACnN,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACnE,WAAY;AACzDgM,IAAAA,IAAI,EAAE,CAAC+B,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACnE,WAAY;AAC1D+oC,IAAAA,MAAM,EAAE,CAAE;AACVhpC,IAAAA,WAAW,EAAA7E,+CAAAA,CAAAA,MAAA,CACTwT,SAAS,IAAImb,UAAU,IAAIjb,SAAS,GAAG,OAAO,GAAG,SAAS,CACzD;AACH5O,IAAAA,WAAW,EAAC,8CAA8C;AAC1DwoC,IAAAA,mBAAmB,EAAED,OAAO,GAAG,+CAA+C,GAAG,CAAE;AACnFE,IAAAA,sBAAsB,EAAEF,OAAO,GAAG,+CAA+C,GAAG,CAAE;AACtFG,IAAAA,oBAAoB,EAAEzd,MAAM,GAAG,+CAA+C,GAAG,CAAE;AACnF0d,IAAAA,uBAAuB,EAAE1d,MAAM,GAAG,+CAA+C,GAAG,CAAA;AAAE,GACvF,CAAC,CAAA;AAEN;;ACpCO,IAAMrP,oBAAkB,GAAG,UAAAzf,IAAA,EAIgB;AAAA,EAAA,IAHhD+W,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACV2W,UAAU,GAAA1tB,IAAA,CAAV0tB,UAAU;IACV5Y,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB,CAAA;AAEjB,EAAA,IAAMlD,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EACxB,IAAM7N,OAAO,GAAGmb,cAAc,CAAQ5K,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;AAChE,EAAA,IAAM/Q,KAAK,GAAG2b,cAAc,CAAC,CAAC,CAAC,CAAA;AAE/B,EAAA,IAAAmtB,qBAAA,GACEj7B,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACrE,eAAe;AADvCA,IAAAA,eAAe,GAAAkpC,qBAAA,CAAA,SAAA,CAAA;IAAWtmC,sBAAsB,GAAAsmC,qBAAA,CAA/BtoC,OAAO,CAAA;AAGzC,EAAA,IAAAuoC,sBAAA,GAA8Dl7B,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACpE,WAAW;AAA/FA,IAAAA,WAAW,GAAAkpC,sBAAA,CAAA,SAAA,CAAA;IAAWC,kBAAkB,GAAAD,sBAAA,CAA3BvoC,OAAO,CAAA;AAErC,EAAA,IAAM2S,cAAc,GAAG0I,gBAAgB,CAAC,YAAM;AAC5C,IAAA,IAAI7I,UAAU,EAAE;MACd,OAAO;AACLpT,QAAAA,eAAe,EAAEiO,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACrE,eAAe,CAACN,QAAQ;AAChFO,QAAAA,WAAW,EAAEgO,KAAK,CAACM,IAAI,CAAC/G,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACpE,WAAW,CAACP,QAAAA;OACjE,CAAA;AACH,KAAA;AAEA,IAAA,IAAIqqB,UAAU,EAAE;MACd,OAAO;AACL/pB,QAAAA,eAAe,EAAE4C,sBAAsB;AACvC3C,QAAAA,WAAW,EAAEmpC,kBAAAA;OACd,CAAA;AACH,KAAA;IAEA,OAAO;AACLppC,MAAAA,eAAe,EAAEkc,gBAAgB,CAAC9b,KAAK,CAACuU,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC3U,eAAe,EAAE4C,sBAAsB,CAAC,CAAC;AACjG3C,MAAAA,WAAW,EAAEic,gBAAgB,CAAC9b,KAAK,CAACuU,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC1U,WAAW,EAAEmpC,kBAAkB,CAAC,CAAA;KACrF,CAAA;AACH,GAAC,CAAC,CAAA;EAYF,OAAO;AACLhtB,IAAAA,SAAS,EAXW,SAAhBC,aAAaA,GAAe;AAChCjc,MAAAA,KAAK,CAACuU,KAAK,GAAGwH,UAAU,CAAC,CAAC,CAAC,CAAA;MAC3Bvb,OAAO,CAAC+T,KAAK,GAAG,CAAC,CAAA;KASO;AACxB2H,IAAAA,UAAU,EAPW,SAAjBC,cAAcA,GAAe;AACjCnc,MAAAA,KAAK,CAACuU,KAAK,GAAGwH,UAAU,CAAC,CAAC,CAAC,CAAA;MAC3Bvb,OAAO,CAAC+T,KAAK,GAAG,CAAC,CAAA;KAKS;AAC1BpB,IAAAA,cAAc,EAAdA,cAAAA;GACD,CAAA;AACH,CAAC;;ACxDM,SAASsX,mBAAmBA,CAAAxuB,IAAA,EAMY;AAAA,EAAA,IAL7C+W,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACV2W,UAAU,GAAA1tB,IAAA,CAAV0tB,UAAU;IACVlb,SAAS,GAAAxS,IAAA,CAATwS,SAAS;IACTD,SAAS,GAAAvS,IAAA,CAATuS,SAAS;IACTE,SAAS,GAAAzS,IAAA,CAATyS,SAAS,CAAA;EAET,IAAIsE,UAAU,EAAE,OAAO,aAAa,CAAA;EAEpC,IAAI2W,UAAU,EAAE,OAAO,OAAO,CAAA;EAE9B,IAAIlb,SAAS,EAAE,OAAO,OAAO,CAAA;EAE7B,IAAIC,SAAS,EAAE,OAAO,OAAO,CAAA;AAE7B,EAAA,IAAIF,SAAS,IAAI,CAACmb,UAAU,EAAE,OAAO,OAAO,CAAA;AAE5C,EAAA,OAAO,OAAO,CAAA;AAChB;;ACSO,SAASsf,WAAWA,CAAAhtC,IAAA,EAcQ;AAAA,EAAA,IAbjC+S,SAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRuF,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IACLpQ,QAAQ,GAAAlI,IAAA,CAARkI,QAAQ;IACRkkC,OAAO,GAAApsC,IAAA,CAAPosC,OAAO;IACPtd,MAAM,GAAA9uB,IAAA,CAAN8uB,MAAM;IACNzrB,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACRid,OAAO,GAAAtgB,IAAA,CAAPsgB,OAAO;IACPzL,iBAAiB,GAAA7U,IAAA,CAAjB6U,iBAAiB;IACjBC,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB;IACjBC,iBAAiB,GAAA/U,IAAA,CAAjB+U,iBAAiB;IACjB2Z,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;IACR9N,OAAO,GAAA5gB,IAAA,CAAP4gB,OAAO;IACPC,MAAM,GAAA7gB,IAAA,CAAN6gB,MAAM,CAAA;EAEN,IAAAC,mBAAA,GAAkDrB,oBAAkB,CAAC;AACnE1I,MAAAA,UAAU,EAAE1T,QAAQ;AACpBqqB,MAAAA,UAAU,EAAExlB,QAAQ;AACpB4M,MAAAA,iBAAiB,EAAjBA,iBAAAA;AACF,KAAC,CAAC;IAJMiL,SAAS,GAAAe,mBAAA,CAATf,SAAS;IAAEE,UAAU,GAAAa,mBAAA,CAAVb,UAAU;IAAE/I,cAAc,GAAA4J,mBAAA,CAAd5J,cAAc,CAAA;EAc7C,oBACE5D,GAAA,CAAC1V,SAAS,EAAA;AACRgX,IAAAA,iBAAiB,EAAC,YAAY;AAC9Bga,IAAAA,kBAAkB,EAAE;AAAE3lB,MAAAA,OAAO,EAAEf,QAAAA;KAAW;IAC1CyL,QAAQ,EAAE8B,6BAA6B,CAAC6K,OAAO,EAAE,CAAC,EAAE7hB,SAAS,CAAE;IAC/Duf,UAAU,EAAEvI,6BAA6B,CAAC6K,OAAO,EAAE,CAAC,EAAE7hB,SAAS,CAAE;AACjE8f,IAAAA,SAAS,EAAE9I,6BAA6B,CAAC6K,OAAO,EAAE,CAAC,CAAE;AACrDjd,IAAAA,QAAQ,EAAEA,QAAS;AACnB2R,IAAAA,OAAO,EAhBS,SAAdgO,WAAWA,CAAIC,CAAwB,EAAW;AACtD,MAAA,IAAIrC,OAAO,EAAEA,OAAO,CAACqC,CAAC,CAAC,CAAA;AAEvB,MAAA,IAAIyL,QAAQ,EAAEA,QAAQ,CAACpW,KAAK,CAAC,CAAA;AAE7B,MAAA,IAAIuI,MAAM,EAAEA,MAAM,CAACoC,CAAC,CAAC,CAAA;KAWE;AACrBlD,IAAAA,SAAS,EAAEA,SAAU;AACrBE,IAAAA,UAAU,EAAEA,UAAW;AACvBW,IAAAA,OAAO,EAAEA,OAAQ;AACjBC,IAAAA,MAAM,EAAEA,MAAO;IAAA9N,QAAA,EAEd,SAAAA,QAAAA,CAAA9S,KAAA,EAAA;AAAA,MAAA,IAAGsS,SAAS,GAAAtS,KAAA,CAATsS,SAAS;QAAEC,SAAS,GAAAvS,KAAA,CAATuS,SAAS;QAAEC,SAAS,GAAAxS,KAAA,CAATwS,SAAS,CAAA;MAAA,oBACjCa,GAAA,CAAC2D,mBAAiB,EAAA;AAChBC,QAAAA,cAAc,EAAEA,cAAe;QAC/BzE,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;QAC1CvC,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;AAC1C4Y,QAAAA,UAAU,EAAExlB,QAAS;AACrB6O,QAAAA,UAAU,EAAE1T,QAAS;AACrB+oC,QAAAA,OAAO,EAAEA,OAAQ;AACjBtd,QAAAA,MAAM,EAAEA,MAAO;QAAA/b,QAAA,eAEfkL,IAAA,CAACzgB,IAAI,EAAA;AACHohB,UAAAA,QAAQ,EAAC,qDAAqD;AAC9DC,UAAAA,QAAQ,EAAC,mDAAmD;AAC5DX,UAAAA,UAAU,EAAC,QAAQ;AAAAnL,UAAAA,QAAA,EAEnBO,cAAAA,GAAA,CAACmG,UAAU,CAAC+B,eAAe,EAAA;YACzBlD,KAAK,EAAEkW,mBAAmB,CAAC;cACzBd,UAAU,EAAExlB,QAAQ,IAAI4M,iBAAiB;AACzCtC,cAAAA,SAAS,EAATA,SAAS;cACTD,SAAS,EAAEA,SAAS,IAAIsC,iBAAiB;AACzCkC,cAAAA,UAAU,EAAE1T,QAAQ;cACpBoP,SAAS,EAAEA,SAAS,IAAIsC,iBAAAA;AAC1B,aAAC,CAAE;AAAAhC,YAAAA,QAAA,EAEFA,SAAAA;WACyB,CAAC,EAC5BkI,QAAQ,CAACC,EAAE,KAAK,KAAK,gBACpB5H,GAAA,CAACo5B,WAAW,EAAA;AACVN,YAAAA,OAAO,EAAEA,OAAQ;AACjBtd,YAAAA,MAAM,EAAEA,MAAO;AACfpB,YAAAA,UAAU,EAAExlB,QAAS;YACrBqK,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;YAC1CrC,SAAS,EAAEA,SAAS,IAAIsC,iBAAkB;YAC1CrC,SAAS,EAAEA,SAAS,IAAIsC,iBAAAA;WACzB,CAAC,GACA,IAAI,CAAA;SACJ,CAAA;AAAC,OACU,CAAC,CAAA;AAAA,KAAA;AACrB,GACQ,CAAC,CAAA;AAEhB;;;ACrGA,SAASk4B,oBAAoBA,CAAAjtC,IAAA,EAA2D;EAAA,IAAlDgU,KAAK,GAAA+P,QAAA,CAAA,EAAA,GAAAC,yBAAA,CAAAhkB,IAAA,GAAAA,IAAA,EAAA,CAAA;EACzC,oBAAOsT,GAAA,CAAC05B,WAAW,EAAAtsC,aAAA,CAAKsT,EAAAA,EAAAA,KAAK,CAAG,CAAC,CAAA;AACnC,CAAA;AAcO,SAASk5B,gBAAgBA,CAAAjtC,KAAA,EASQ;AAAA,EAAA,IARtC8S,QAAQ,GAAA9S,KAAA,CAAR8S,QAAQ;IACRuN,OAAO,GAAArgB,KAAA,CAAPqgB,OAAO;IACPhI,KAAK,GAAArY,KAAA,CAALqY,KAAK;IACLjV,QAAQ,GAAApD,KAAA,CAARoD,QAAQ;IACRud,OAAO,GAAA3gB,KAAA,CAAP2gB,OAAO;IACPC,MAAM,GAAA5gB,KAAA,CAAN4gB,MAAM;IACN6N,QAAQ,GAAAzuB,KAAA,CAARyuB,QAAQ;AACL1a,IAAAA,KAAK,GAAAC,wBAAA,CAAAhU,KAAA,EAAAiU,WAAA,CAAA,CAAA;AAER,EAAA,IAAAwO,SAAA,GAAwCC,QAAQ,CAACrK,KAAK,CAAC;IAAAsK,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAhD2M,IAAAA,YAAY,GAAAzM,UAAA,CAAA,CAAA,CAAA;AAAE0M,IAAAA,eAAe,GAAA1M,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpC,EAAA,IAAM+L,YAAY,GAAG,UAACiB,QAAW,EAAW;AAC1C,IAAA,IAAIvsB,QAAQ,EAAE,OAAA;IAEdisB,eAAe,CAACM,QAAQ,CAAC,CAAA;AACzB,IAAA,IAAIlB,QAAQ,EAAEA,QAAQ,CAACkB,QAAQ,CAAC,CAAA;GACjC,CAAA;AAED,EAAA,IAAMJ,aAAa,GAAGC,QAAQ,CAACC,OAAO,CAAC3c,QAAQ,CAA4D,CAAA;AAE3G,EAAA,oBACEO,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AAAC0d,IAAAA,aAAa,EAAC,KAAK;AAAC+uB,IAAAA,QAAQ,EAAC,MAAA;AAAM,GAAA,EAAKn5B,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAjB,QAAA,EAChDyc,aAAa,CAACpvB,GAAG,CAAC,UAACyvB,KAAK,EAAEtI,KAAK,EAAK;AACnC,MAAA,IAAM6lB,KAAK,gBAAGzwB,YAAY,CAAsBkT,KAAK,EAAE;AACrDvP,QAAAA,OAAO,EAAPA,OAAO;AACPjd,QAAAA,QAAQ,EAARA,QAAQ;AACR6E,QAAAA,QAAQ,EAAE2nB,KAAK,CAAC7b,KAAK,CAACsE,KAAK,KAAK+W,YAAY;QAC5C+c,OAAO,EAAE7kB,KAAK,KAAK,CAAC;AACpBuH,QAAAA,MAAM,EAAEvH,KAAK,KAAKiI,aAAa,CAAChxB,MAAM,GAAG,CAAC;AAC1CkwB,QAAAA,QAAQ,EAAEC,YAAY;AACtB/N,QAAAA,OAAO,EAAPA,OAAO;AACPC,QAAAA,MAAM,EAANA,MAAAA;AACF,OAAQ,CAAC,CAAA;AAET,MAAA,OAAOusB,KAAK,CAAA;KACb,CAAA;AAAC,GAAA,CACE,CAAC,CAAA;AAEX,CAAA;AAEAF,gBAAgB,CAACF,WAAW,GAAGC,oBAAoB;;ACrE5C,IAAMI,QAAQ,gBAAGj5B,UAAU,CAA6B,UAAApU,IAAA,EAA8BqU,GAAG,EAAmB;EAAA,IAA9CL,KAAK,GAAA+P,QAAA,CAAA,EAAA,GAAAC,yBAAA,CAAAhkB,IAAA,GAAAA,IAAA,EAAA,CAAA;AACxE,EAAA,oBAAOsT,GAAA,CAACqgB,SAAS,EAAAjzB,aAAA,CAAA;AAAC2T,IAAAA,GAAG,EAAEA,GAAI;IAACigB,SAAS,EAAA,IAAA;AAACgZ,IAAAA,iBAAiB,EAAC,KAAK;AAAC7nC,IAAAA,SAAS,EAAC,+BAAA;GAAoCuO,EAAAA,KAAK,CAAG,CAAC,CAAA;AACvH,CAAC;;;ACEM,SAASu5B,mBAAmBA,CAAAvtC,IAAA,EAMK;AAAA,EAAA,IALtC+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRy6B,uBAAuB,GAAAxtC,IAAA,CAAvBwtC,uBAAuB;IACvBh6B,KAAK,GAAAxT,IAAA,CAALwT,KAAK;IACLi6B,oBAAoB,GAAAztC,IAAA,CAApBytC,oBAAoB;AACjBz5B,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,IAAAw5B,kBAAA,GAAwBC,iBAAiB,EAAE;IAAnC3uB,MAAM,GAAA0uB,kBAAA,CAAN1uB,MAAM;IAAED,GAAG,GAAA2uB,kBAAA,CAAH3uB,GAAG,CAAA;AACnB,EAAA,IAAAG,SAAA,GAMI9M,QAAQ,EAAE;IAHAzJ,eAAe,GAAAuW,SAAA,CAF3BhN,IAAI,CACF9G,eAAe,CACbE,IAAI,CAAI3C,eAAe,CAAA;AAI7B,EAAA,IAAMkkB,aAAa,GAAG2gB,uBAAuB,GAAG3/B,IAAI,CAAC8D,GAAG,CAACqN,MAAM,EAAErW,eAAe,CAAC,GAAGA,eAAe,CAAA;AACnG,EAAA,IAAM+nB,UAAU,GAAG+c,oBAAoB,GAAG5/B,IAAI,CAAC8D,GAAG,CAACoN,GAAG,EAAEpW,eAAe,CAAC,GAAGA,eAAe,CAAA;EAE1F,oBACE2K,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,KACCsT,KAAK,CAAA,EAAA,EAAA,EAAA;AACT4K,IAAAA,QAAQ,EAAC,wCAAwC;AACjD8R,IAAAA,UAAU,EAAEA,UAAW;AACvB7D,IAAAA,aAAa,EAAEA,aAAc;AAC7BrZ,IAAAA,KAAK,EAAEA,KAAM;AAAAT,IAAAA,QAAA,EAEZA,QAAAA;AAAQ,GAAA,CACL,CAAC,CAAA;AAEX;;;AC/BO,SAAS66B,qBAAqBA,CAAA5tC,IAAA,EAKK;AAAA,EAAA,IAAA6tC,qBAAA,GAAA7tC,IAAA,CAJxCwtC,uBAAuB;AAAvBA,IAAAA,uBAAuB,GAAAK,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IAAAvhB,iBAAA,GAAAtsB,IAAA,CAC9BusB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,iBAAA;IACnBvZ,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;AACLiB,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,IAAAw5B,kBAAA,GAAmBC,iBAAiB,EAAE;IAA9B3uB,MAAM,GAAA0uB,kBAAA,CAAN1uB,MAAM,CAAA;AAEd,EAAA,oBACE1L,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AACHotC,IAAAA,cAAc,EAAC,gBAAgB;AAC/BrhB,IAAAA,cAAc,EAAEF,YAAY,GAAG,CAAC,GAAG9tB,SAAU;AAC7CiyB,IAAAA,UAAU,EAAC,6CAA6C;AACxD7D,IAAAA,aAAa,EAAE2gB,uBAAuB,GAAGxuB,MAAM,GAAGvgB,SAAU;AAC5DmgB,IAAAA,QAAQ,EAAC,wCAAA;AAAwC,GAAA,EAC7C5K,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAjB,QAAA,eAETO,GAAA,CAAC9V,IAAI,EAAA;AAACqvB,MAAAA,aAAa,EAAC,6CAA6C;AAAA9Z,MAAAA,QAAA,EAAEA,QAAAA;KAAe,CAAA;AAAC,GAAA,CAC/E,CAAC,CAAA;AAEX;;ACpBO,SAAS0W,sBAAsBA,CAAAzpB,IAAA,EAAgE;AAAA,EAAA,IAA7DqpB,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IAAEtW,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;AACxD,EAAA,IAAMnB,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AAExB,EAAA,IAAMyX,YAAY,GAAGjK,gBAAgB,CAAC,YAAM;IAC1C,IAAAmuB,qBAAA,GAA6Bn8B,KAAK,CAACM,IAAI,CAAC9G,eAAe,CAAC1D,SAAS,CAACpE,OAAO;MAAjE+C,QAAQ,GAAA0nC,qBAAA,CAAR1nC,QAAQ;MAAEsB,MAAM,GAAAomC,qBAAA,CAANpmC,MAAM,CAAA;AACxB,IAAA,IAAAoiB,OAAA,GAAA7pB,cAAA,CAAyByH,MAAM,EAAA,CAAA,CAAA;AAAxBqiB,MAAAA,EAAE,GAAAD,OAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,EAAE,GAAAF,OAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,EAAE,GAAAH,OAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,EAAE,GAAAJ,OAAA,CAAA,CAAA,CAAA,CAAA;IAErB,OAAO;MACL7lB,OAAO,EAAEkmB,UAAU,CAACf,OAAO,GAAG,CAAC,GAAG,CAAC,EAAE;AAAEhjB,QAAAA,QAAQ,EAARA,QAAQ;QAAEsB,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;OAAG,CAAA;KACzF,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,oBAAO7W,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE,CAACgX,UAAU,CAACC,kBAAkB,EAAEZ,YAAY,CAAE;AAAA9W,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AACxG;;ACTO,SAASi7B,sBAAsBA,CAAAhuC,IAAA,EAKK;AAAA,EAAA,IAJzCqpB,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IACPtW,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACR4X,SAAS,GAAA3qB,IAAA,CAAT2qB,SAAS;IACTjB,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ,CAAA;AAER,EAAA,IAAM9X,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAA67B,oBAAA,GAA4BC,mBAAmB,EAAE;IAAjCC,OAAO,GAAAF,oBAAA,CAAf1mC,MAAM,CAAA;AACd,EAAA,IAAMoiB,kBAAkB,GAAGvI,MAAM,CAAC,KAAK,CAAC,CAAA;EAExC,SAASwI,uBAAuBA,GAAS;AACvC,IAAA,IAAIP,OAAO,EAAE;AACX,MAAA,IAAIsB,SAAS,EAAEA,SAAS,EAAE,CAAA;MAC1BhB,kBAAkB,CAACpI,OAAO,GAAG,IAAI,CAAA;AACnC,KAAA;;AAEA;IACA,IAAI,CAAC8H,OAAO,IAAIM,kBAAkB,CAACpI,OAAO,EAAEmI,QAAQ,EAAE,CAAA;AACxD,GAAA;AAEA,EAAA,IAAM0kB,cAAc,GAAGxuB,gBAAgB,CAAC,YAAM;IAC5C,IAAAmuB,qBAAA,GAA6Bn8B,KAAK,CAACM,IAAI,CAAC9G,eAAe,CAAC1D,SAAS,CAACE,OAAO;MAAjEvB,QAAQ,GAAA0nC,qBAAA,CAAR1nC,QAAQ;MAAEsB,MAAM,GAAAomC,qBAAA,CAANpmC,MAAM,CAAA;AACxB,IAAA,IAAAoiB,OAAA,GAAA7pB,cAAA,CAAyByH,MAAM,EAAA,CAAA,CAAA;AAAxBqiB,MAAAA,EAAE,GAAAD,OAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,EAAE,GAAAF,OAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,EAAE,GAAAH,OAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,EAAE,GAAAJ,OAAA,CAAA,CAAA,CAAA,CAAA;IAErB,OAAO;AACL3W,MAAAA,SAAS,EAAE,CACT;QACEhP,UAAU,EAAEgmB,UAAU,CACpBf,OAAO,GAAG,CAAC,GAAG8kB,OAAO,EACrB;AAAE9nC,UAAAA,QAAQ,EAARA,QAAQ;UAAEsB,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;SAAG,EACnD,UAACG,UAAU,EAAK;UACd,IAAI,CAACA,UAAU,EAAE,OAAA;AACjBC,UAAAA,OAAO,CAACX,uBAAuB,CAAC,EAAE,CAAA;SAEtC,CAAA;OACD,CAAA;KAEJ,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,oBACEtW,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE,CAAC;AAAEJ,MAAAA,SAAS,EAAE,CAAC;AAAEhP,QAAAA,UAAU,EAAE+pC,OAAAA;OAAS,CAAA;KAAG,EAAEC,cAAc,EAAE;AAAE/lC,MAAAA,KAAK,EAAE,MAAM;AAAEgmC,MAAAA,IAAI,EAAE,CAAA;AAAE,KAAC,CAAE;AAAAt7B,IAAAA,QAAA,EAC1GA,QAAAA;AAAQ,GACI,CAAC,CAAA;AAEpB;;AC7CO,SAASu7B,wBAAwBA,CAAAtuC,IAAA,EAOK;AAAA,EAAA,IAN3CqpB,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IACPtW,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRgY,OAAO,GAAA/qB,IAAA,CAAP+qB,OAAO;IACPJ,SAAS,GAAA3qB,IAAA,CAAT2qB,SAAS;IACTK,MAAM,GAAAhrB,IAAA,CAANgrB,MAAM;IACNtB,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ,CAAA;AAER,EAAA,IAAAhH,SAAA,GAA4CC,QAAQ,CAAC0G,OAAO,CAAC;IAAAzG,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAtDuI,IAAAA,cAAc,GAAArI,UAAA,CAAA,CAAA,CAAA;AAAEsI,IAAAA,iBAAiB,GAAAtI,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAuI,UAAA,GAAgDxI,QAAQ,CAAC,KAAK,CAAC;IAAAyI,UAAA,GAAAlrB,cAAA,CAAAirB,UAAA,EAAA,CAAA,CAAA;AAAxDE,IAAAA,gBAAgB,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,mBAAmB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE5C,EAAA,IAAMG,qBAAqB,GAAG,YAAY;IACxCL,iBAAiB,CAAC,KAAK,CAAC,CAAA;AACxB;IACA,IAAIjQ,QAAQ,CAACC,EAAE,KAAK,SAAS,IAAIwO,QAAQ,EAAEA,QAAQ,EAAE,CAAA;GACtD,CAAA;;AAED;AACA;AACA;AACA/H,EAAAA,SAAS,CAAC,YAAM;AAGd,IAAA,IAAI,EAFsB,CAAC0H,OAAO,IAAIgC,gBAAgB,CAEhC,EAAE,OAAA;AAExB,IAAA,IAAIL,MAAM,EAAEA,MAAM,EAAE,CAAA;IACpBM,mBAAmB,CAAC,KAAK,CAAC,CAAA;GAC3B,EAAE,CAACjC,OAAO,EAAEgC,gBAAgB,EAAEL,MAAM,CAAC,CAAC,CAAA;EAEvC,oBACE1X,GAAA,CAACkY,KAAK,EAAA;IACJvpB,WAAW,EAAA,IAAA;AACXwpB,IAAAA,qBAAqB,EAAE,CAAC,WAAW,EAAE,UAAU,CAAE;AACjDpC,IAAAA,OAAO,EAAE4B,cAAe;IACxBS,MAAM,EAAE,SAAAA,MAAAA,GAAM;AACZ,MAAA,IAAIX,OAAO,EAAEA,OAAO,EAAE,CAAA;MACtBO,mBAAmB,CAAC,IAAI,CAAC,CAAA;KACzB;IACF9E,SAAS,EAAE,SAAAA,SAAAA,GAAM;AACf,MAAA,IAAIkD,QAAQ,EAAEA,QAAQ,EAAE,CAAA;KACxB;IAAA3W,QAAA,eAEFkL,IAAA,CAACzgB,IAAI,EAAA;AAACmhB,MAAAA,QAAQ,EAAC,UAAU;AAAChL,MAAAA,QAAQ,EAAE,CAAE;AAACwK,MAAAA,cAAc,EAAC,QAAQ;AAACD,MAAAA,UAAU,EAAC,QAAQ;MAAAnL,QAAA,EAAA,cAChFO,GAAA,CAACmW,sBAAsB,EAAA;AAACJ,QAAAA,OAAO,EAAEgC,gBAAiB;QAAAtY,QAAA,eAChDO,GAAA,CAACgW,OAAO,EAAA;AAACtU,UAAAA,OAAO,EAAEuW,qBAAAA;SAAwB,CAAA;AAAC,OACrB,CAAC,eACzBjY,GAAA,CAAC06B,sBAAsB,EAAA;AAAC3kB,QAAAA,OAAO,EAAEgC,gBAAiB;AAAC3B,QAAAA,QAAQ,EAAE6B,qBAAsB;AAACZ,QAAAA,SAAS,EAAEA,SAAU;QAAA5X,QAAA,eACvGO,GAAA,CAAC9V,IAAI,EAAA;AAACmW,UAAAA,QAAQ,EAAE,CAAE;AAAAZ,UAAAA,QAAA,EAAEA,QAAAA;SAAe,CAAA;AAAC,OACd,CAAC,CAAA;KACrB,CAAA;AAAC,GACF,CAAC,CAAA;AAEZ;;;ACvDO,SAASw7B,wBAAwBA,CAAAvuC,IAAA,EAMK;AAAA,EAAA,IAL3C+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRsW,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IACPN,OAAO,GAAA/oB,IAAA,CAAP+oB,OAAO;IACPW,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ;AACL1V,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,IAAAwO,SAAA,GAA8DC,QAAQ,CAAC0G,OAAO,CAAC;IAAAzG,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAxEkJ,IAAAA,uBAAuB,GAAAhJ,UAAA,CAAA,CAAA,CAAA;AAAEiJ,IAAAA,0BAA0B,GAAAjJ,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1DjB,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI0H,OAAO,KAAK,IAAI,EAAE;MACpBwC,0BAA0B,CAAC,IAAI,CAAC,CAAA;AAClC,KAAA;AACF,GAAC,EAAE,CAACxC,OAAO,CAAC,CAAC,CAAA;EAOb,oBACE/V,GAAA,CAAC8V,cAAc,EAAA;AAACC,IAAAA,OAAO,EAAEuC,uBAAwB;AAAC7C,IAAAA,OAAO,EAAEA,OAAQ;IAAAhW,QAAA,eACjEO,GAAA,CAACg7B,wBAAwB,EAAA5tC,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAKsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEqV,MAAAA,OAAO,EAAEA,OAAQ;AAACK,MAAAA,QAAQ,EAPnC,SAA1BoC,uBAAuBA,GAAe;AAC1C,QAAA,IAAIpC,QAAQ,EAAEA,QAAQ,EAAE,CAAA;QACxBmC,0BAA0B,CAAC,KAAK,CAAC,CAAA;OAK0D;AAAA9Y,MAAAA,QAAA,EACtFA,QAAAA;KACuB,CAAA,CAAA;AAAC,GACb,CAAC,CAAA;AAErB;;AC7BO,SAASy7B,wBAAwBA,CAAAxuC,IAAA,EAA0E;AAAA,EAAA,IAAvE+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEpP,eAAe,GAAA3D,IAAA,CAAf2D,eAAe,CAAA;EAClE,oBACE2P,GAAA,CAAC9V,IAAI,EAAA;AACHmhB,IAAAA,QAAQ,EAAC,UAAU;AACnBhL,IAAAA,QAAQ,EAAE,CAAE;AACZqK,IAAAA,UAAU,EAAE,CAAE;AACdO,IAAAA,SAAS,EAAC,MAAA;AACV;AACN;AACA;AACA;AACA;AACA;AACM7K,IAAAA,IAAI,EAAE;AAAEjO,MAAAA,SAAS,EAAE,QAAQ;AAAE+jB,MAAAA,SAAS,EAAE,QAAA;KAAW;AACnD7lB,IAAAA,eAAe,EAAEA,eAAe,KAAA,IAAA,IAAfA,eAAe,KAAfA,KAAAA,CAAAA,GAAAA,eAAe,GAAI,wBAAyB;AAAAoP,IAAAA,QAAA,EAE5DA,QAAAA;AAAQ,GACL,CAAC,CAAA;AAEX;;;ACDO,SAAS07B,qBAAqBA,CAAAzuC,IAAA,EASK;AAAA,EAAA,IAAAssB,iBAAA,GAAAtsB,IAAA,CARxCusB,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,iBAAA;IACnBoiB,aAAa,GAAA1uC,IAAA,CAAb0uC,aAAa;IACb/hB,KAAK,GAAA3sB,IAAA,CAAL2sB,KAAK;IACL5Z,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRjD,KAAK,GAAA9P,IAAA,CAAL8P,KAAK;IACLD,IAAI,GAAA7P,IAAA,CAAJ6P,IAAI;IAAA8+B,qBAAA,GAAA3uC,IAAA,CACJytC,oBAAoB;AAApBA,IAAAA,oBAAoB,GAAAkB,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;AACxB36B,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,IAAAw5B,kBAAA,GAAgBC,iBAAiB,EAAE;IAA3B5uB,GAAG,GAAA2uB,kBAAA,CAAH3uB,GAAG,CAAA;AACX,EAAA,IAAM6vB,QAAQ,GAAG7gB,OAAO,CAACje,KAAK,CAAC,CAAA;AAC/B,EAAA,IAAM++B,OAAO,GAAG9gB,OAAO,CAACle,IAAI,CAAC,CAAA;AAC7B,EAAA,IAAMi/B,UAAU,GAAG/gB,OAAO,CAACpB,KAAK,IAAI5Z,QAAQ,CAAC,CAAA;AAE7C,EAAA,oBACEO,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AACHiD,IAAAA,eAAe,EAAE+qC,aAAa,GAAG,kBAAkB,GAAG,wBAAyB;AAC/EjpC,IAAAA,SAAS,EAAC,oCAAoC;AAC9C4C,IAAAA,KAAK,EAAC,MAAM;AACZ8V,IAAAA,cAAc,EAAC,QAAQ;AACvBuS,IAAAA,UAAU,EAAE+c,oBAAoB,GAAG1uB,GAAG,GAAGtgB,SAAU;AACnDuuB,IAAAA,YAAY,EAAE4hB,QAAQ,GAAG,QAAQ,GAAG,wCAAyC;AAC7E3hB,IAAAA,WAAW,EAAE4hB,OAAO,GAAG,QAAQ,GAAG,wCAAyC;AAC3EE,IAAAA,iBAAiB,EAAC,gBAAgB;AAClChiB,IAAAA,iBAAiB,EAAER,YAAY,GAAG,CAAC,GAAG9tB,SAAAA;AAAU,GAAA,EAC5CuV,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAjB,QAAA,eAETkL,IAAA,CAACzgB,IAAI,EAAA;AACH4gB,MAAAA,aAAa,EAAC,KAAK;AACnBF,MAAAA,UAAU,EAAC,QAAQ;MACnBC,cAAc,EAAE,CAAC2wB,UAAU,IAAI,CAACD,OAAO,GAAG,UAAU,GAAG,eAAgB;AAAA97B,MAAAA,QAAA,EAEtElD,CAAAA,IAAI,gBAAGyD,GAAA,CAAC9V,IAAI,EAAA;AAAC6K,QAAAA,KAAK,EAAC,uBAAuB;AAAA0K,QAAAA,QAAA,EAAElD,IAAAA;OAAW,CAAC,GAAG,IAAI,EAE/D8c,KAAK,gBACJrZ,GAAA,CAAC9V,IAAI,EAAA;AACHmW,QAAAA,QAAQ,EAAE,CAAE;AACZqK,QAAAA,UAAU,EAAE,CAAE;AACdiP,QAAAA,WAAW,EAAE4hB,OAAO,GAAG,QAAQ,GAAGpwC,SAAU;AAC5CuuB,QAAAA,YAAY,EAAE4hB,QAAQ,GAAG,QAAQ,GAAG,CAAE;AAAA77B,QAAAA,QAAA,eAEtCO,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC9I,UAAAA,OAAO,EAAC,MAAM;UAAC0L,SAAS,EAAE,CAACwwB,OAAO,IAAID,QAAQ,GAAG,MAAM,GAAG,QAAS;AAAA77B,UAAAA,QAAA,EACjF4Z,KAAAA;SACc,CAAA;OACb,CAAC,GACL,IAAI,EAEP5Z,QAAQ,gBACPO,GAAA,CAAC9V,IAAI,EAAA;AACHmW,QAAAA,QAAQ,EAAE,CAAE;AACZqK,QAAAA,UAAU,EAAE,CAAE;AACdE,QAAAA,UAAU,EAAC,QAAQ;AACnB+O,QAAAA,WAAW,EAAE4hB,OAAO,GAAG,QAAQ,GAAGpwC,SAAU;AAC5CuuB,QAAAA,YAAY,EAAE4hB,QAAQ,GAAG,QAAQ,GAAGnwC,SAAU;AAAAsU,QAAAA,QAAA,EAE7CA,QAAAA;OACG,CAAC,GACL,IAAI,EAEPjD,KAAK,IAAID,IAAI,gBAAGyD,GAAA,CAAC9V,IAAI,EAAA;AAAC6K,QAAAA,KAAK,EAAC,uBAAuB;AAAA0K,QAAAA,QAAA,EAAEjD,KAAAA;OAAY,CAAC,GAAG,IAAI,CAAA;KACtE,CAAA;AAAC,GAAA,CACH,CAAC,CAAA;AAEX;;AC1EO,SAASk/B,eAAeA,CAAAhvC,IAAA,EAA6E;AAAA,EAAA,IAA1EsL,IAAI,GAAAtL,IAAA,CAAJsL,IAAI;IAAEhE,MAAM,GAAAtH,IAAA,CAANsH,MAAM;IAAEE,MAAM,GAAAxH,IAAA,CAANwH,MAAM;IAAE7D,eAAe,GAAA3D,IAAA,CAAf2D,eAAe,CAAA;EACrE,oBACEsa,IAAA,CAACuwB,wBAAwB,EAAA;AAAC7qC,IAAAA,eAAe,EAAEA,eAAgB;AAAAoP,IAAAA,QAAA,EACxDzL,CAAAA,MAAM,gBAAGgM,GAAA,CAAC9V,IAAI,EAAA;AAAAuV,MAAAA,QAAA,EAAEzL,MAAAA;AAAM,KAAO,CAAC,GAAG,IAAI,eACtC2W,IAAA,CAACzgB,IAAI,EAAA;AAACmW,MAAAA,QAAQ,EAAE,CAAE;AAACqK,MAAAA,UAAU,EAAE,CAAE;AAACG,MAAAA,cAAc,EAAC,eAAe;MAAApL,QAAA,EAAA,cAC9DO,GAAA,CAAC5V,YAAU,EAAA;AAAC2yB,QAAAA,OAAO,EAAE,KAAM;AAACC,QAAAA,qBAAqB,EAAE;AAAE3c,UAAAA,QAAQ,EAAE,CAAC;AAAEgL,UAAAA,QAAQ,EAAE,UAAA;SAAa;AAAA5L,QAAAA,QAAA,EACtFzH,IAAAA;AAAI,OACK,CAAC,EACZ9D,MAAM,IAAI,IAAI,CAAA;AAAA,KACX,CAAC,CAAA;AAAA,GACiB,CAAC,CAAA;AAE/B,CAAA;AAEAwnC,eAAe,CAACzhB,MAAM,GAAGkhB,qBAAqB,CAAA;AAC9CO,eAAe,CAACxhB,MAAM,GAAGogB,qBAAqB,CAAA;AAC9CoB,eAAe,CAAC1hB,IAAI,GAAGigB,mBAAmB,CAAA;AAC1CyB,eAAe,CAAC5lB,cAAc,GAAGmlB,wBAAwB;;ACtBlD,SAASU,aAAaA,CAAAjvC,IAAA,EAA8D;AAAA,EAAA,IAA3D+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEmE,cAAc,GAAAlX,IAAA,CAAdkX,cAAc,CAAA;AACtD,EAAA,oBAAO5D,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;IAACgW,KAAK,EAAE,CAAC0D,cAAc,CAAE;AAAAnE,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AAC3E;;ACEO,SAASkE,iBAAiBA,CAAAjX,IAAA,EAAwE;AAAA,EAAA,IAArE+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEhO,IAAI,GAAA/E,IAAA,CAAJ+E,IAAI;IAAEmS,cAAc,GAAAlX,IAAA,CAAdkX,cAAc,CAAA;AAChE,EAAA,IAAME,EAAE,GAAGC,KAAK,EAAE,CAAA;AAClB,EAAA,IAAMzF,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EAExB,IAAMkF,MAAM,GAAGF,EAAE,CAAC;AAChB1T,IAAAA,YAAY,EAAEkO,KAAK,CAACM,IAAI,CAACzN,SAAS,CAACf,YAAY;IAC/C2B,OAAO,EAAEuM,KAAK,CAACM,IAAI,CAACzN,SAAS,CAACY,OAAO,CAACN,IAAI,CAAA;AAC5C,GAAC,CAAC,CAAA;AAEF,EAAA,oBAAOuO,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE,CAAC8D,MAAM,EAAEJ,cAAc,CAAE;AAAAnE,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AACnF;;ACbO,SAASm8B,eAAeA,CAAAlvC,IAAA,EAAgE;AAAA,EAAA,IAA7D+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEmE,cAAc,GAAAlX,IAAA,CAAdkX,cAAc,CAAA;AACxD,EAAA,oBAAO5D,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE,CAAC;AAAEuS,MAAAA,QAAQ,EAAE,QAAA;KAAU,EAAE7O,cAAc,CAAE;AAAAnE,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AACnG;;ACMA,IAAMo8B,gBAAgB,GAAG;AACvB9oC,EAAAA,QAAQ,EAAE,GAAG;EACbsB,MAAM,EAAEoa,QAAM,CAACqtB,IAAAA;AACjB,CAAC,CAAA;AAEM,IAAM3vB,oBAAkB,GAAG,UAAAzf,IAAA,EAKgB;AAAA,EAAA,IAJhD2S,OAAO,GAAA3S,IAAA,CAAP2S,OAAO;IACP08B,UAAU,GAAArvC,IAAA,CAAVqvC,UAAU;IACVC,eAAe,GAAAtvC,IAAA,CAAfsvC,eAAe;IACftnB,aAAa,GAAAhoB,IAAA,CAAbgoB,aAAa,CAAA;AAEb,EAAA,IAAMpW,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAMrO,KAAK,GAAG2b,cAAc,CAAC,CAAC,CAAC,CAAA;AAC/B,EAAA,IAAM4B,QAAQ,GAAG5B,cAAc,CAAC,CAAC,CAAC,CAAA;AAClC,EAAA,IAAM6vB,SAAS,GAAG7vB,cAAc,CAAC,CAAC,CAAC,CAAA;AAEnC,EAAA,IAAM8vB,uBAAuB,GAAG5vB,gBAAgB,CAAC,YAAM;IACrD,OAAO;AACLjc,MAAAA,eAAe,EAAEkc,gBAAgB,CAC/B9b,KAAK,CAACuU,KAAK,EACX,CAAC,CAAC,EAAE,CAAC,CAAC,EACN,CAAC1G,KAAK,CAACM,IAAI,CAACzN,SAAS,CAACkO,OAAO,CAAC,CAAQ,SAAA,CAAA,CAAChP,eAAe,EAAEiO,KAAK,CAACM,IAAI,CAACzN,SAAS,CAACkO,OAAO,CAAC,CAAC5P,KAAK,CAACY,eAAe,CAC7G,CAAA;KACD,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,IAAM8rC,mBAAmB,GAAG7vB,gBAAgB,CAAC,YAAM;IACjD0B,QAAQ,CAAChJ,KAAK,GAAG8R,UAAU,CAACilB,UAAU,GAAG,GAAG,GAAG,CAAC,EAAE;AAChDhpC,MAAAA,QAAQ,EAAE,GAAG;MACbsB,MAAM,EAAEoa,QAAM,CAACqtB,IAAAA;AACjB,KAAC,CAAC,CAAA;IAEF,OAAO;AACLh8B,MAAAA,SAAS,EAAE,CACT;AACEgP,QAAAA,MAAM,EAAArjB,EAAAA,CAAAA,MAAA,CAAKuiB,QAAQ,CAAChJ,KAAK,EAAA,KAAA,CAAA;AAC3B,OAAC,EACD;QACElU,UAAU,EAAEmrC,SAAS,CAACj3B,KAAAA;OACvB,CAAA;KAEJ,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,IAAMo3B,qBAAqB,GAAG9vB,gBAAgB,CAAC,YAAM;IACnD,OAAO;MACLrY,MAAM,EAAE6iB,UAAU,CAACilB,UAAU,GAAGrnB,aAAa,GAAG,CAAC,EAAE;AACjD3hB,QAAAA,QAAQ,EAAEipC,eAAe,GAAG,CAAC,GAAG,GAAG;QACnC3nC,MAAM,EAAEoa,QAAM,CAACqtB,IAAAA;OAChB,CAAA;KACF,CAAA;AACH,GAAC,CAAC,CAAA;EAYF,OAAO;AACLrvB,IAAAA,SAAS,EAXW,SAAhB4vB,aAAaA,GAAe;MAChC5rC,KAAK,CAACuU,KAAK,GAAG8R,UAAU,CAAC,CAAC,EAAE+kB,gBAAgB,CAAC,CAAA;MAC7CI,SAAS,CAACj3B,KAAK,GAAG8R,UAAU,CAAC,CAAC,EAAE+kB,gBAAgB,CAAC,CAAA;KASzB;AACxBlvB,IAAAA,UAAU,EAPW,SAAjB2vB,cAAcA,GAAe;MACjC7rC,KAAK,CAACuU,KAAK,GAAG8R,UAAU,CAAC,CAAC,EAAE+kB,gBAAgB,CAAC,CAAA;MAC7CI,SAAS,CAACj3B,KAAK,GAAG8R,UAAU,CAAC,CAAC,EAAE+kB,gBAAgB,CAAC,CAAA;KAKvB;AAC1BK,IAAAA,uBAAuB,EAAvBA,uBAAuB;AACvBC,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,IAAAA,qBAAqB,EAArBA,qBAAAA;GACD,CAAA;AACH,CAAC;;AC/DM,SAASG,SAASA,CAAA7vC,IAAA,EAQK;AAAA,EAAA,IAAA+T,YAAA,GAAA/T,IAAA,CAP5B2S,OAAO;AAAPA,IAAAA,OAAO,GAAAoB,YAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,YAAA;IAAA+7B,gBAAA,GAAA9vC,IAAA,CACnB+vC,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,gBAAA;IAAAE,qBAAA,GAAAhwC,IAAA,CACnBiwC,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA;IACzBrjB,KAAK,GAAA3sB,IAAA,CAAL2sB,KAAK;IAAAujB,SAAA,GAAAlwC,IAAA,CACLgK,IAAI;AAAJA,IAAAA,IAAI,GAAAkmC,SAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,SAAA;IAAA3zB,SAAA,GAAAvc,IAAA,CACX+E,IAAI;AAAJA,IAAAA,IAAI,GAAAwX,SAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,SAAA;IACfxJ,SAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;AAER,EAAA,IAAMnB,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AAExB,EAAA,IAAAsQ,SAAA,GAAoCC,QAAQ,CAAC,CAACstB,kBAAkB,CAAC;IAAArtB,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAA1D2sB,IAAAA,UAAU,GAAAzsB,UAAA,CAAA,CAAA,CAAA;AAAEutB,IAAAA,aAAa,GAAAvtB,UAAA,CAAA,CAAA,CAAA,CAAA;AAChC,EAAA,IAAAuI,UAAA,GAA0CxI,QAAQ,CAAC,CAAC,CAAC;IAAAyI,UAAA,GAAAlrB,cAAA,CAAAirB,UAAA,EAAA,CAAA,CAAA;AAA9CnD,IAAAA,aAAa,GAAAoD,UAAA,CAAA,CAAA,CAAA;AAAEglB,IAAAA,gBAAgB,GAAAhlB,UAAA,CAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAAyW,UAAA,GAA8Clf,QAAQ,CAAC,IAAI,CAAC;IAAAmf,UAAA,GAAA5hC,cAAA,CAAA2hC,UAAA,EAAA,CAAA,CAAA;AAArDyN,IAAAA,eAAe,GAAAxN,UAAA,CAAA,CAAA,CAAA;AAAEuO,IAAAA,kBAAkB,GAAAvO,UAAA,CAAA,CAAA,CAAA,CAAA;AAE1C,EAAA,IAAMwO,cAAc,GAAG;AACrBvqC,IAAAA,MAAM,EAAE;AACNipB,MAAAA,YAAY,EAAE,QAAQ;AACtBuhB,MAAAA,YAAY,EAAE,QAAQ;AACtBC,MAAAA,cAAc,EAAE,CAAA;KACjB;AACDvrC,IAAAA,KAAK,EAAE;AACL+pB,MAAAA,YAAY,EAAE,QAAQ;AACtBuhB,MAAAA,YAAY,EAAE,QAAQ;AACtBC,MAAAA,cAAc,EAAE,EAAA;AAClB,KAAA;GACD,CAAA;EAED,IAAA1vB,mBAAA,GACErB,oBAAkB,CAAC;AACjB9M,MAAAA,OAAO,EAAPA,OAAO;AACP08B,MAAAA,UAAU,EAAVA,UAAU;AACVC,MAAAA,eAAe,EAAfA,eAAe;AACftnB,MAAAA,aAAa,EAAbA,aAAAA;AACF,KAAC,CAAC;IANIwnB,uBAAuB,GAAA1uB,mBAAA,CAAvB0uB,uBAAuB;IAAEC,mBAAmB,GAAA3uB,mBAAA,CAAnB2uB,mBAAmB;IAAEC,qBAAqB,GAAA5uB,mBAAA,CAArB4uB,qBAAqB;IAAE3vB,SAAS,GAAAe,mBAAA,CAATf,SAAS;IAAEE,UAAU,GAAAa,mBAAA,CAAVb,UAAU,CAAA;AAalG,EAAA,IAAMwwB,YAAY,GAAG,UAACtb,KAAwB,EAAW;IACvD,IAAMub,YAAY,GAAGvb,KAAK,CAACgK,WAAW,CAACjb,MAAM,CAAC3c,MAAM,CAAA;IACpD,IAAMopC,gBAAgB,GAAGD,YAAY,GAAGJ,cAAc,CAACvrC,IAAI,CAAC,CAACyrC,cAAc,CAAA;AAE3E,IAAA,IAAIE,YAAY,GAAG,CAAC,IAAIC,gBAAgB,KAAK3oB,aAAa,EAAE;MAC1DooB,gBAAgB,CAACO,gBAAgB,CAAC,CAAA;AACpC,KAAA;GACD,CAAA;EAED,IAAI,CAACZ,WAAW,EAAE;IAChB,oBACEz8B,GAAA,CAAC9V,IAAI,EAAA;AACHkG,MAAAA,YAAY,EAAC,6BAA6B;MAC1C2B,OAAO,EAAEuM,KAAK,CAACM,IAAI,CAACzN,SAAS,CAACY,OAAO,CAACN,IAAI,CAAE;AAC5CpB,MAAAA,eAAe,EAAA5E,iBAAAA,CAAAA,MAAA,CAAoB4T,OAAO,EAA2B,0BAAA,CAAA;MAAAI,QAAA,eAErEkL,IAAA,CAAC5I,MAAM,EAAA;AAACsP,QAAAA,KAAK,EAAE2rB,cAAc,CAACvrC,IAAI,CAAC,CAACwrC,YAAa;AAAAx9B,QAAAA,QAAA,EAC9C/I,CAAAA,IAAI,iBAAIsJ,GAAA,CAAC9V,IAAI,EAAA;AAAAuV,UAAAA,QAAA,EAAE/I,IAAAA;AAAI,SAAO,CAAC,eAC5BiU,IAAA,CAACzgB,IAAI,EAAA;AAACmW,UAAAA,QAAQ,EAAE,CAAE;AAACqK,UAAAA,UAAU,EAAE,CAAE;AAAAjL,UAAAA,QAAA,EAC9B4Z,CAAAA,KAAK,iBACJrZ,GAAA,CAAC9V,IAAI,EAAA;AAACwxB,YAAAA,YAAY,EAAEshB,cAAc,CAACvrC,IAAI,CAAC,CAACiqB,YAAa;AAAAjc,YAAAA,QAAA,eACpDO,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC9I,cAAAA,OAAO,EAAC,MAAM;AAAC9M,cAAAA,IAAI,EAAC,MAAM;AAAC+qC,cAAAA,aAAa,EAAC,MAAM;AAAA79B,cAAAA,QAAA,EAC7D4Z,KAAAA;aACc,CAAA;WACb,CACP,EACA5Z,SAAQ,CAAA;AAAA,SACL,CAAC,CAAA;OACD,CAAA;AAAC,KACL,CAAC,CAAA;AAEX,GAAA;EAEA,oBACEO,GAAA,CAAC1V,SAAS,EAAA;AAACoX,IAAAA,OAAO,EAvCA,SAAdgO,WAAWA,GAAe;MAC9BmtB,aAAa,CAAC,CAACd,UAAU,CAAC,CAAA;MAC1BgB,kBAAkB,CAAC,KAAK,CAAC,CAAA;KAqCO;AAACtwB,IAAAA,SAAS,EAAEA,SAAU;AAACE,IAAAA,UAAU,EAAEA,UAAW;AAAAlN,IAAAA,QAAA,EAC3E,SAAAA,QAAA9S,CAAAA,KAAA,EAAmB;AAAA,MAAA,IAAhBsS,SAAS,GAAAtS,KAAA,CAATsS,SAAS,CAAA;MACX,oBACE0L,IAAA,CAAChH,iBAAiB,EAAA;AAChB1E,QAAAA,SAAS,EAAEA,SAAU;AACrBxN,QAAAA,IAAI,EAAEA,IAAK;AACX4N,QAAAA,OAAO,EAAEA,OAAQ;AACjBuE,QAAAA,cAAc,EAAEs4B,uBAAwB;AAAAz8B,QAAAA,QAAA,EAEvC4Z,CAAAA,KAAK,iBACJ1O,IAAA,CAAC5I,MAAM,EAAA;AAACsP,UAAAA,KAAK,EAAE2rB,cAAc,CAACvrC,IAAI,CAAC,CAACwrC,YAAa;AAACryB,UAAAA,UAAU,EAAC,QAAQ;AAAAnL,UAAAA,QAAA,EAClE/I,CAAAA,IAAI,iBAAIsJ,GAAA,CAAC9V,IAAI,EAAA;AAACmW,YAAAA,QAAQ,EAAE,CAAE;AAAAZ,YAAAA,QAAA,EAAE/I,IAAAA;AAAI,WAAO,CAAC,eACzCsJ,GAAA,CAAC9V,IAAI,EAAA;AAACmW,YAAAA,QAAQ,EAAE,CAAE;AAACqK,YAAAA,UAAU,EAAE,CAAE;AAAC3V,YAAAA,KAAK,EAAC,MAAM;AAAA0K,YAAAA,QAAA,eAC5CO,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC9I,cAAAA,OAAO,EAAC,MAAM;AAAC9M,cAAAA,IAAI,EAAC,MAAM;AAAC+qC,cAAAA,aAAa,EAAC,MAAM;AAAA79B,cAAAA,QAAA,EAC7D4Z,KAAAA;aACc,CAAA;AAAC,WACd,CAAC,eACPrZ,GAAA,CAAC9V,IAAI,EAAA;AAACmW,YAAAA,QAAQ,EAAE,CAAE;AAACqK,YAAAA,UAAU,EAAE,CAAE;AAACE,YAAAA,UAAU,EAAC,QAAQ;AAACC,YAAAA,cAAc,EAAC,QAAQ;YAAApL,QAAA,eAC3EO,GAAA,CAAC27B,aAAa,EAAA;AAAC18B,cAAAA,SAAS,EAAEA,SAAU;AAAC88B,cAAAA,UAAU,EAAEA,UAAW;AAACn4B,cAAAA,cAAc,EAAEu4B,mBAAoB;cAAA18B,QAAA,eAC/FO,GAAA,CAAC+J,cAAc,EAAA;AAACrT,gBAAAA,IAAI,eAAEsJ,GAAA,CAACu9B,oBAAoB,EAAE,EAAA,CAAA;eAAI,CAAA;aACpC,CAAA;AAAC,WACZ,CAAC,CAAA;AAAA,SACD,CACT,eACDv9B,GAAA,CAAC47B,eAAe,EAAA;AACdG,UAAAA,UAAU,EAAEA,UAAW;AACvBC,UAAAA,eAAe,EAAEA,eAAgB;AACjCtnB,UAAAA,aAAa,EAAEA,aAAc;AAC7B9Q,UAAAA,cAAc,EAAEw4B,qBAAsB;UAAA38B,QAAA,eAEtCO,GAAA,CAAC9V,IAAI,EAAA;AAACgvB,YAAAA,SAAS,EAAE8jB,cAAc,CAACvrC,IAAI,CAAC,CAACyrC,cAAe;AAAC7xB,YAAAA,QAAQ,EAAC,UAAU;AAACyJ,YAAAA,QAAQ,EAAEqoB,YAAa;AAAA19B,YAAAA,QAAA,EAC9FA,SAAAA;WACG,CAAA;AAAC,SACQ,CAAC,CAAA;AAAA,OACD,CAAC,CAAA;AAExB,KAAA;AAAC,GACQ,CAAC,CAAA;AAEhB;;AC9IA;AAcO,IAAM+9B,kBAAkB,GAAGC;;;ACTlC,SAAStjB,kBAAkBA,CAAC1pB,KAAsB,EAAEgT,UAAoB,EAAU;AAChF,EAAA,IAAIA,UAAU,EAAE;AACd,IAAA,OAAO,0CAA0C,CAAA;AACnD,GAAA;AAEA,EAAA,QAAQhT,KAAK;AACX,IAAA,KAAK,SAAS;AACZ,MAAA,OAAO,iDAAiD,CAAA;AAC1D,IAAA,KAAK,OAAO;AACV,MAAA,OAAO,+CAA+C,CAAA;AACxD,IAAA,KAAK,OAAO,CAAA;AACZ,IAAA;AACE,MAAA,OAAO,+CAA+C,CAAA;AAC1D,GAAA;AACF,CAAA;AAQO,SAASitC,UAAUA,CAAAhxC,IAAA,EAA8D;AAAA,EAAA,IAA3D+D,KAAK,GAAA/D,IAAA,CAAL+D,KAAK;IAAEgT,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;AAAK/C,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;EACtD,oBACEZ,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,KACCsT,KAAK,CAAA,EAAA,EAAA,EAAA;AACT3L,IAAAA,KAAK,EAAC,MAAM;AACZd,IAAAA,MAAM,EAAC,MAAM;AACb7D,IAAAA,YAAY,EAAC,8BAA8B;AAC3CC,IAAAA,eAAe,EAAE8pB,kBAAkB,CAAC1pB,KAAK,EAAEgT,UAAU,CAAA;AAAE,GAAA,CACxD,CAAC,CAAA;AAEN;;ACrBO,SAASk6B,kBAAkBA,CAAAjxC,IAAA,EAA2E;AAAA,EAAA,IAAxE+D,KAAK,GAAA/D,IAAA,CAAL+D,KAAK;IAAEgT,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IAAEm6B,aAAa,GAAAlxC,IAAA,CAAbkxC,aAAa,CAAA;AACnE,EAAA,IAAM95B,EAAE,GAAGC,KAAK,EAAE,CAAA;EAElB,IAAM85B,oBAAoB,GAAGp6B,UAAU,GAAG;AAAE7S,IAAAA,OAAO,EAAE,CAAA;AAAE,GAAC,GAAGgtC,aAAa,CAAA;EAExE,IAAM55B,MAAM,GAAGF,EAAE,CAAC;AAChBuH,IAAAA,QAAQ,EAAE,UAAU;AACpBI,IAAAA,GAAG,EAAE,CAAC;AACNlP,IAAAA,IAAI,EAAE,CAAC;AACPxH,IAAAA,KAAK,EAAE,MAAM;AACbd,IAAAA,MAAM,EAAE,MAAA;AACV,GAAC,CAAC,CAAA;AAEF,EAAA,oBACE+L,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE,CAAC8D,MAAM,EAAE65B,oBAAoB,CAAE;IAAAp+B,QAAA,eACnDO,GAAA,CAAC09B,UAAU,EAAA;AAACjtC,MAAAA,KAAK,EAAEA,KAAM;AAACgT,MAAAA,UAAU,EAAEA,UAAAA;KAAa,CAAA;AAAC,GACvC,CAAC,CAAA;AAEpB;;ACpBO,SAASq6B,aAAaA,CAAApxC,IAAA,EAAuE;AAAA,EAAA,IAApE+W,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IAAEs6B,WAAW,GAAArxC,IAAA,CAAXqxC,WAAW;IAAEt+B,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;AAC/D,EAAA,IAAMqE,EAAE,GAAGC,KAAK,EAAE,CAAA;EAElB,IAAM85B,oBAAoB,GAAGp6B,UAAU,GAAG;AAAE3D,IAAAA,SAAS,EAAE,CAAC;AAAExN,MAAAA,KAAK,EAAE,CAAA;KAAG,CAAA;AAAE,GAAC,GAAGyrC,WAAW,CAAA;EAErF,IAAM/5B,MAAM,GAAGF,EAAE,CAAC;AAChBuH,IAAAA,QAAQ,EAAE,UAAU;AACpBT,IAAAA,UAAU,EAAE,QAAQ;AACpBC,IAAAA,cAAc,EAAE,QAAQ;AACxB9V,IAAAA,KAAK,EAAE,MAAM;AACbd,IAAAA,MAAM,EAAE,MAAA;AACV,GAAC,CAAC,CAAA;AAEF,EAAA,oBAAO+L,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE,CAAC8D,MAAM,EAAE65B,oBAAoB,CAAE;AAAAp+B,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AACzF;;ACTO,SAAS0M,kBAAkBA,CAAAzf,IAAA,EAA8D;AAAA,EAAA,IAA3DwS,SAAS,GAAAxS,IAAA,CAATwS,SAAS,CAAA;AAC5C,EAAA,IAAMZ,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAM7N,OAAO,GAAGmb,cAAc,CAAC,CAAC,CAAClN,SAAS,CAAC,CAAA;AAE3C,EAAA,IAAM0+B,aAAa,GAAGtxB,gBAAgB,CAAC,YAAM;IAC3C,OAAO;MACL1b,OAAO,EAAE4b,UAAU,CAACvb,OAAO,CAAC+T,KAAK,GAAG,CAAC,GAAG,CAAC,CAAA;KAC1C,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,IAAM+4B,WAAW,GAAGzxB,gBAAgB,CAAC,YAAM;IACzC,OAAO;AACLxM,MAAAA,SAAS,EAAE,CACT;AACExN,QAAAA,KAAK,EAAEka,UAAU,CACfvb,OAAO,CAAC+T,KAAK,GAAG1G,KAAK,CAACM,IAAI,CAAC1F,UAAU,CAAC5G,KAAK,CAACC,IAAI,CAACC,MAAM,GAAG8L,KAAK,CAACM,IAAI,CAAC1F,UAAU,CAAC5G,KAAK,CAACC,IAAI,CAC5F,SAAA,CAAA,CAAA;OACD,CAAA;KAEJ,CAAA;AACH,GAAC,CAAC,CAAA;EAUF,OAAO;AACLqrC,IAAAA,aAAa,EAAbA,aAAa;AACbG,IAAAA,WAAW,EAAXA,WAAW;AACXtxB,IAAAA,SAAS,EAXW,SAAhBC,aAAaA,GAAe;MAChCzb,OAAO,CAAC+T,KAAK,GAAG,IAAI,CAAA;KAUI;AACxB2H,IAAAA,UAAU,EARW,SAAjBC,cAAcA,GAAe;MACjC3b,OAAO,CAAC+T,KAAK,GAAG,KAAK,CAAA;AACvB,KAAA;GAOC,CAAA;AACH;;ACpDO,IAAMg5B,6BAA6B,GAAG,UAACvtC,KAAsB,EAAEV,QAAkB,EAAsB;AAC5G,EAAA,IAAIA,QAAQ,EAAE;AACZ,IAAA,OAAO,aAAa,CAAA;AACtB,GAAA;AAEA,EAAA,QAAQU,KAAK;AACX,IAAA,KAAK,OAAO;AACV,MAAA,OAAO,OAAO,CAAA;AAChB,IAAA;AACE,MAAA,OAAOA,KAAK,CAAA;AAChB,GAAA;AACF,CAAC;;ACeM,SAASwtC,UAAUA,CAAAvxC,IAAA,EAWK;AAAA,EAAA,IAV7BgK,IAAI,GAAAhK,IAAA,CAAJgK,IAAI;IAAAwnC,UAAA,GAAAxxC,IAAA,CACJ+D,KAAK;AAALA,IAAAA,KAAK,GAAAytC,UAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,UAAA;IACfnuC,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACRmR,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IACNi9B,SAAS,GAAAzxC,IAAA,CAATyxC,SAAS;IAAAhxB,qBAAA,GAAAzgB,IAAA,CACT4U,iBAAiB;AAAjBA,IAAAA,iBAAiB,GAAA6L,qBAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,qBAAA;IAC5B5L,iBAAiB,GAAA7U,IAAA,CAAjB6U,iBAAiB;IACjBC,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB;IACjBC,iBAAiB,GAAA/U,IAAA,CAAjB+U,iBAAiB;IACjBC,OAAO,GAAAhV,IAAA,CAAPgV,OAAO,CAAA;EAEP,IAAA8L,mBAAA,GAA8DrB,kBAAkB,CAAC;AAC/E1I,MAAAA,UAAU,EAAE1T,QAAQ;AACpBmP,MAAAA,SAAS,EAAEsC,iBAAAA;AACb,KAAC,CAAC;IAHMiL,SAAS,GAAAe,mBAAA,CAATf,SAAS;IAAEE,UAAU,GAAAa,mBAAA,CAAVb,UAAU;IAAEixB,aAAa,GAAApwB,mBAAA,CAAbowB,aAAa;IAAEG,WAAW,GAAAvwB,mBAAA,CAAXuwB,WAAW,CAAA;EAKzD,oBACE/9B,GAAA,CAAC1V,SAAS,EAAA;AACR4W,IAAAA,MAAM,EAAEA,MAAO;AACfnR,IAAAA,QAAQ,EAAEA,QAAS;AACnBgF,IAAAA,KAAK,EAAC,uBAAuB;AAC7Bd,IAAAA,MAAM,EAAC,wBAAwB;AAC/B,IAAA,YAAA,EAAYkqC,SAAU;AACtB78B,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrClB,IAAAA,IAAI,EAAE;AACJF,MAAAA,KAAK,EAAE;AACLk+B,QAAAA,kBAAkB,EAAE,QAAQ;AAC5Bt+B,QAAAA,SAAS,EAAE,kBAAA;AACb,OAAA;KACA;AACF1P,IAAAA,YAAY,EAAC,8BAA8B;AAC3CE,IAAAA,WAAW,EAAEP,QAAQ,GAAG,sCAAsC,GAAG,6BAA8B;AAC/FQ,IAAAA,WAAW,EAAER,QAAQ,GAAG,6BAA6B,GAAG,CAAE;AAC1D2R,IAAAA,OAAO,EAAEA,OAAQ;AACjB+K,IAAAA,SAAS,EAAEA,SAAU;AACrBE,IAAAA,UAAU,EAAEA,UAAW;AAAAlN,IAAAA,QAAA,EAEtB,SAAAA,QAAA9S,CAAAA,KAAA,EAAyC;AAAA,MAAA,IAAtCsS,SAAS,GAAAtS,KAAA,CAATsS,SAAS;QAAEC,SAAS,GAAAvS,KAAA,CAATuS,SAAS;QAAEC,SAAS,GAAAxS,KAAA,CAATwS,SAAS,CAAA;AACjC,MAAA,IAAMk/B,gBAAgB,GAAGp/B,SAAS,IAAIsC,iBAAiB,CAAA;AACvD,MAAA,IAAM+8B,gBAAgB,GAAGp/B,SAAS,IAAIsC,iBAAiB,CAAA;MAGvD,oBACEmJ,IAAA,CAACmzB,aAAa,EAAA;AACZr6B,QAAAA,UAAU,EAAE1T,QAAS;AACrBkP,QAAAA,SAAS,EAAEo/B,gBAAiB;AAC5Bn/B,QAAAA,SAAS,EAAEo/B,gBAAiB;AAC5BP,QAAAA,WAAW,EAAEA,WAAY;QAAAt+B,QAAA,EAAA,cAEzBO,GAAA,CAAC29B,kBAAkB,EAAA;AACjBltC,UAAAA,KAAK,EAAEA,KAAM;AACbgT,UAAAA,UAAU,EAAE1T,QAAS;AACrBkP,UAAAA,SAAS,EAAEo/B,gBAAiB;AAC5Bn/B,UAAAA,SAAS,EAAEo/B,gBAAiB;UAC5Bn/B,SAAS,EAdUA,SAAS,IAAIsC,iBAcJ;AAC5Bm8B,UAAAA,aAAa,EAAEA,aAAAA;AAAc,SAC9B,CAAC,eACF59B,GAAA,CAAC9V,IAAI,EAAA;AAAC0gB,UAAAA,UAAU,EAAC,QAAQ;AAACC,UAAAA,cAAc,EAAC,QAAQ;UAAApL,QAAA,eAC/CO,GAAA,CAAC+J,cAAc,EAAA;AAACtZ,YAAAA,KAAK,EAAEutC,6BAA6B,CAACvtC,KAAK,EAAEV,QAAQ,CAAE;AAAC2G,YAAAA,IAAI,EAAEA,IAAAA;WAAO,CAAA;AAAC,SACjF,CAAC,CAAA;AAAA,OACM,CAAC,CAAA;AAEpB,KAAA;AAAC,GACQ,CAAC,CAAA;AAEhB,CAAA;AAEO,SAAS6nC,eAAeA,CAAC79B,KAAsC,EAAa;AACjF,EAAA,oBAAOV,GAAA,CAACi+B,UAAU,EAAA7wC,aAAA,CAAA;AAACsJ,IAAAA,IAAI,eAAEsJ,GAAA,CAACw+B,YAAY,EAAE,EAAA,CAAA;GAAO99B,EAAAA,KAAK,CAAG,CAAC,CAAA;AAC1D;;AC3FO,IAAM+9B,4BAA4B,gBAAG9/B,aAAa,CAA0CxT,SAAS,CAAC,CAAA;AAQtG,SAASuzC,qBAAqBA,CAAAhyC,IAAA,EAAiE;AAAA,EAAA,IAA9D+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEk/B,KAAK,GAAAjyC,IAAA,CAALiyC,KAAK;IAAEC,QAAQ,GAAAlyC,IAAA,CAARkyC,QAAQ,CAAA;EAC/D,IAAMC,aAAa,GAAGzrB,OAAO,CAC3B,YAAA;IAAA,OAAO;AACLurB,MAAAA,KAAK,EAALA,KAAK;AACLC,MAAAA,QAAQ,EAARA,QAAAA;KACD,CAAA;AAAA,GAAC,EACF,CAACD,KAAK,EAAEC,QAAQ,CAClB,CAAC,CAAA;AAED,EAAA,oBACE5+B,GAAA,CAACy+B,4BAA4B,CAACj3B,QAAQ,EAAA;AAACxC,IAAAA,KAAK,EAAE65B,aAAc;AAAAp/B,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAwC,CAAC,CAAA;AAEnH;;ACxBO,SAASq/B,gBAAgBA,GAAgC;AAC9D,EAAA,IAAM5P,OAAO,GAAGnwB,UAAU,CAAC0/B,4BAA4B,CAAC,CAAA;EAExD,IAAI,CAACvP,OAAO,EAAE;AACZ,IAAA,MAAM,IAAItvB,KAAK,CAAC,mDAAmD,CAAC,CAAA;AACtE,GAAA;AAEA,EAAA,OAAOsvB,OAAO,CAAA;AAChB;;;ACJO,SAAS6P,eAAeA,CAAAryC,IAAA,EAAyD;AAAA,EAAA,IAAtD+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;AAAK2e,IAAAA,IAAI,GAAAzd,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AACjD,EAAA,oBACEZ,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AAACkc,IAAAA,SAAS,EAAC,QAAQ;AAAC2B,IAAAA,SAAS,EAAC,IAAI;AAAC5K,IAAAA,QAAQ,EAAE,CAAE;AAACqK,IAAAA,UAAU,EAAE,CAAA;AAAE,GAAA,EAAK0T,IAAI,CAAA,EAAA,EAAA,EAAA;AAAA3e,IAAAA,QAAA,EACzEA,QAAAA;AAAQ,GAAA,CACL,CAAC,CAAA;AAEX;;;;ACLA;AACO,SAASu/B,qBAAqBA,CAAAtyC,IAAA,EAA8E;AAAA,EAAA,IAA3E+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAAw/B,SAAA,GAAAvyC,IAAA,CAAEwyC,IAAI;AAAJA,IAAAA,IAAI,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;AAAK7gB,IAAAA,IAAI,GAAAzd,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AACtE,EAAA,oBACEZ,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AACH0d,IAAAA,aAAa,EAAC,KAAK;AACnBR,IAAAA,UAAU,EAAE40B,IAAI,KAAK,OAAO,GAAG,QAAQ,GAAG/zC,SAAU;AACpDkf,IAAAA,WAAW,EAAE60B,IAAI,KAAK,MAAM,GAAG,QAAQ,GAAG/zC,SAAAA;AAAU,GAAA,EAChDizB,IAAI,CAAA,EAAA,EAAA,EAAA;AAAA3e,IAAAA,QAAA,EAEPA,QAAAA;AAAQ,GAAA,CACL,CAAC,CAAA;AAEX,CAAA;AAOO,SAAS0/B,mBAAmBA,CAAAxyC,KAAA,EAA6E;AAAA,EAAA,IAA1E8S,QAAQ,GAAA9S,KAAA,CAAR8S,QAAQ;IAAA2/B,WAAA,GAAAzyC,KAAA,CAAEwc,KAAK;AAALA,IAAAA,KAAK,GAAAi2B,WAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,WAAA;AAAKhhB,IAAAA,IAAI,GAAAzd,wBAAA,CAAAhU,KAAA,EAAAqd,YAAA,CAAA,CAAA;AACrE,EAAA,oBACEhK,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AAACkc,IAAAA,SAAS,EAAEH,KAAAA;AAAM,GAAA,EAAKiV,IAAI,CAAA,EAAA,EAAA,EAAA;AAAA3e,IAAAA,QAAA,EAC7BA,QAAAA;AAAQ,GAAA,CACL,CAAC,CAAA;AAEX;;;ACfO,SAAS4/B,QAAQA,CAAA3yC,IAAA,EAA8F;AAAA,EAAA,IAA3F+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE6/B,WAAW,GAAA5yC,IAAA,CAAX4yC,WAAW;IAAEC,OAAO,GAAA7yC,IAAA,CAAP6yC,OAAO;IAAEhjC,IAAI,GAAA7P,IAAA,CAAJ6P,IAAI;IAAEC,KAAK,GAAA9P,IAAA,CAAL8P,KAAK;IAAEkF,OAAO,GAAAhV,IAAA,CAAPgV,OAAO;AAAK0c,IAAAA,IAAI,GAAAzd,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AACtF,EAAA,IAAMuS,OAAO,GAAGzR,OAAO,GAAGpX,WAAS,GAAGk1C,UAAQ,CAAA;AAC9C,EAAA,IAAMC,YAAY,GAAG/9B,OAAO,GAAAtU,aAAA,CAAA;AAAKkU,IAAAA,iBAAiB,EAAE,QAAQ;AAAEI,IAAAA,OAAO,EAAPA,OAAAA;GAAY0c,EAAAA,IAAI,IAAKjzB,SAAS,CAAA;AAC5F,EAAA,IAAMk3B,cAAc,GAAG3gB,OAAO,GAAGvW,SAAS,GAAGizB,IAAI,CAAA;EAEjD,oBACEpe,GAAA,CAACmT,OAAO,EAAA/lB,aAAA,CAAAA,aAAA,KAAMqyC,YAAY,CAAA,EAAA,EAAA,EAAA;AAAAhgC,IAAAA,QAAA,eACxBkL,IAAA,CAACzgB,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AACH0d,MAAAA,aAAa,EAAC,KAAK;AACnBQ,MAAAA,QAAQ,EAAEg0B,WAAW,GAAG,iCAAiC,GAAGn0C,SAAU;AACtEogB,MAAAA,QAAQ,EAAE+zB,WAAW,GAAG,+BAA+B,GAAGn0C,SAAU;AACpEmF,MAAAA,WAAW,EAAC,2BAA2B;AACvCD,MAAAA,eAAe,EAAC,wBAAwB;MACxC8oB,cAAc,EAAEomB,OAAO,KAAK,KAAK,IAAIA,OAAO,KAAK,MAAM,GAAG,2BAA2B,GAAGp0C,SAAU;MAClGsuB,iBAAiB,EAAE8lB,OAAO,KAAK,QAAQ,IAAIA,OAAO,KAAK,MAAM,GAAG,2BAA2B,GAAGp0C,SAAAA;AAAU,KAAA,EACpGk3B,cAAc,CAAA,EAAA,EAAA,EAAA;AAAA5iB,MAAAA,QAAA,EAEjBlD,CAAAA,IAAI,gBAAGyD,GAAA,CAACg/B,qBAAqB,EAAA;AAACE,QAAAA,IAAI,EAAC,MAAM;AAAAz/B,QAAAA,QAAA,EAAElD,IAAAA;AAAI,OAAwB,CAAC,GAAG,IAAI,eAEhFyD,GAAA,CAAC++B,eAAe,EAAA;AAAAt/B,QAAAA,QAAA,EAAEA,QAAAA;AAAQ,OAAkB,CAAC,EAE5CjD,KAAK,gBAAGwD,GAAA,CAACg/B,qBAAqB,EAAA;AAACE,QAAAA,IAAI,EAAC,OAAO;AAAAz/B,QAAAA,QAAA,EAAEjD,KAAAA;OAA6B,CAAC,GAAG,IAAI,CAAA;KAC/E,CAAA,CAAA;AAAC,GAAA,CACA,CAAC,CAAA;AAEd,CAAA;AAEA6iC,QAAQ,CAAC1sB,OAAO,GAAGosB,eAAe,CAAA;AAClCM,QAAQ,CAACK,WAAW,GAAGP,mBAAmB,CAAA;AAC1CE,QAAQ,CAACM,aAAa,GAAGX,qBAAqB;;AC7C9C,IAAI,oBAAoB,GAAG,SAAS,oBAAoB,CAAC,KAAK,EAAE;AAChE,EAAE,oBAAoBr0B,IAAK,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;AAC/D,IAAI,IAAI,EAAE,cAAc;AACxB,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,KAAK,EAAE,EAAE;AACb,IAAI,KAAK,EAAE,4BAA4B;AACvC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;AACjB,IAAI,QAAQ,EAAE,cAAcA,IAAK,CAAC,gBAAgB,EAAE;AACpD,MAAM,EAAE,EAAE,4BAA4B;AACtC,MAAM,aAAa,EAAE,gBAAgB;AACrC,MAAM,EAAE,EAAE,MAAM;AAChB,MAAM,EAAE,EAAE,KAAK;AACf,MAAM,EAAE,EAAE,KAAK;AACf,MAAM,EAAE,EAAE,MAAM;AAChB,MAAM,QAAQ,EAAE,cAAc3K,GAAI,CAAC,MAAM,EAAE;AAC3C,QAAQ,MAAM,EAAE,CAAC;AACjB,QAAQ,WAAW,EAAE,IAAI;AACzB,OAAO,CAAC,eAAeA,GAAI,CAAC,MAAM,EAAE;AACpC,QAAQ,MAAM,EAAE,CAAC;AACjB,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,eAAe2K,IAAK,CAAC,QAAQ,EAAE;AACrC,MAAM,EAAE,EAAE,4BAA4B;AACtC,MAAM,yBAAyB,EAAE,MAAM;AACvC,MAAM,WAAW,EAAE,gBAAgB;AACnC,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,KAAK,EAAE,MAAM;AACnB,MAAM,CAAC,EAAE,MAAM;AACf,MAAM,CAAC,EAAE,KAAK;AACd,MAAM,QAAQ,EAAE,cAAc3K,GAAI,CAAC,SAAS,EAAE;AAC9C,QAAQ,YAAY,EAAE,CAAC;AACvB,QAAQ,MAAM,EAAE,oBAAoB;AACpC,OAAO,CAAC,eAAeA,GAAI,CAAC,SAAS,EAAE;AACvC,QAAQ,IAAI,EAAE,eAAe;AAC7B,QAAQ,GAAG,EAAE,oBAAoB;AACjC,QAAQ,MAAM,EAAE,OAAO;AACvB,OAAO,CAAC,eAAeA,GAAI,CAAC,gBAAgB,EAAE;AAC9C,QAAQ,MAAM,EAAE,iCAAiC;AACjD,QAAQ,YAAY,EAAE,KAAK;AAC3B,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,eAAeA,GAAI,CAAC,MAAM,EAAE;AAClC,MAAM,EAAE,EAAE,4BAA4B;AACtC,MAAM,MAAM,EAAE,EAAE;AAChB,MAAM,SAAS,EAAE,gBAAgB;AACjC,MAAM,KAAK,EAAE,EAAE;AACf,MAAM,CAAC,EAAE,CAAC;AACV,MAAM,CAAC,EAAE,CAAC;AACV,MAAM,QAAQ,eAAeA,GAAI,CAAC,MAAM,EAAE;AAC1C,QAAQ,CAAC,EAAE,sJAAsJ;AACjK,QAAQ,IAAI,EAAE,MAAM;AACpB,OAAO,CAAC;AACR,KAAK,CAAC,eAAeA,GAAI,CAAC,GAAG,EAAE;AAC/B,MAAM,MAAM,EAAE,kCAAkC;AAChD,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,QAAQ,eAAeA,GAAI,CAAC,MAAM,EAAE;AAC1C,QAAQ,CAAC,EAAE,wMAAwM;AACnN,QAAQ,IAAI,EAAE,kCAAkC;AAChD,OAAO,CAAC;AACR,KAAK,CAAC,eAAeA,GAAI,CAAC,GAAG,EAAE;AAC/B,MAAM,IAAI,EAAE,kCAAkC;AAC9C,MAAM,QAAQ,eAAeA,GAAI,CAAC,MAAM,EAAE;AAC1C,QAAQ,CAAC,EAAE,eAAe;AAC1B,OAAO,CAAC;AACR,KAAK,CAAC,eAAeA,GAAI,CAAC,MAAM,EAAE;AAClC,MAAM,CAAC,EAAE,sPAAsP;AAC/P,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,WAAW,EAAE,CAAC;AACpB,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;;ACpED,IAAI,eAAe,GAAG,SAAS,eAAe,CAAC,KAAK,EAAE;AACtD,EAAE,oBAAoB2K,IAAK,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;AAC/D,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,IAAI,EAAE,cAAc;AACxB,IAAI,KAAK,EAAE,4BAA4B;AACvC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;AACjB,IAAI,QAAQ,EAAE,cAAc3K,GAAI,CAAC,MAAM,EAAE;AACzC,MAAM,CAAC,EAAE,qMAAqM;AAC9M,MAAM,IAAI,EAAE,4BAA4B;AACxC,MAAM,OAAO,EAAE,IAAI;AACnB,MAAM,MAAM,EAAE,4BAA4B;AAC1C,KAAK,CAAC,eAAeA,GAAI,CAAC,MAAM,EAAE;AAClC,MAAM,CAAC,EAAE,+IAA+I;AACxJ,KAAK,CAAC,eAAeA,GAAI,CAAC,MAAM,EAAE;AAClC,MAAM,EAAE,EAAE,sBAAsB;AAChC,MAAM,KAAK,EAAE;AACb,QAAQ,QAAQ,EAAE,OAAO;AACzB,OAAO;AACP,MAAM,SAAS,EAAE,gBAAgB;AACjC,MAAM,CAAC,EAAE,CAAC;AACV,MAAM,CAAC,EAAE,CAAC;AACV,MAAM,KAAK,EAAE,EAAE;AACf,MAAM,MAAM,EAAE,EAAE;AAChB,MAAM,QAAQ,eAAeA,GAAI,CAAC,MAAM,EAAE;AAC1C,QAAQ,CAAC,EAAE,+IAA+I;AAC1J,QAAQ,IAAI,EAAE,MAAM;AACpB,OAAO,CAAC;AACR,KAAK,CAAC,eAAeA,GAAI,CAAC,GAAG,EAAE;AAC/B,MAAM,IAAI,EAAE,4BAA4B;AACxC,MAAM,QAAQ,eAAeA,GAAI,CAAC,MAAM,EAAE;AAC1C,QAAQ,CAAC,EAAE,eAAe;AAC1B,OAAO,CAAC;AACR,KAAK,CAAC,eAAeA,GAAI,CAAC,MAAM,EAAE;AAClC,MAAM,CAAC,EAAE,wOAAwO;AACjP,MAAM,MAAM,EAAE,MAAM;AACpB,MAAM,WAAW,EAAE,CAAC;AACpB,KAAK,CAAC,eAAe2K,IAAK,CAAC,MAAM,EAAE;AACnC,MAAM,QAAQ,EAAE,cAAcA,IAAK,CAAC,gBAAgB,EAAE;AACtD,QAAQ,EAAE,EAAE,sBAAsB;AAClC,QAAQ,EAAE,EAAE,MAAM;AAClB,QAAQ,EAAE,EAAE,KAAK;AACjB,QAAQ,EAAE,EAAE,KAAK;AACjB,QAAQ,EAAE,EAAE,MAAM;AAClB,QAAQ,aAAa,EAAE,gBAAgB;AACvC,QAAQ,QAAQ,EAAE,cAAc3K,GAAI,CAAC,MAAM,EAAE;AAC7C,UAAU,WAAW,EAAE,IAAI;AAC3B,SAAS,CAAC,eAAeA,GAAI,CAAC,MAAM,EAAE;AACtC,UAAU,MAAM,EAAE,CAAC;AACnB,SAAS,CAAC,CAAC;AACX,OAAO,CAAC,eAAe2K,IAAK,CAAC,QAAQ,EAAE;AACvC,QAAQ,EAAE,EAAE,sBAAsB;AAClC,QAAQ,CAAC,EAAE,KAAK;AAChB,QAAQ,CAAC,EAAE,KAAK;AAChB,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,MAAM,EAAE,IAAI;AACpB,QAAQ,WAAW,EAAE,gBAAgB;AACrC,QAAQ,yBAAyB,EAAE,MAAM;AACzC,QAAQ,QAAQ,EAAE,cAAc3K,GAAI,CAAC,SAAS,EAAE;AAChD,UAAU,YAAY,EAAE,CAAC;AACzB,UAAU,MAAM,EAAE,oBAAoB;AACtC,SAAS,CAAC,eAAeA,GAAI,CAAC,SAAS,EAAE;AACzC,UAAU,IAAI,EAAE,eAAe;AAC/B,UAAU,GAAG,EAAE,oBAAoB;AACnC,UAAU,MAAM,EAAE,OAAO;AACzB,SAAS,CAAC,eAAeA,GAAI,CAAC,gBAAgB,EAAE;AAChD,UAAU,YAAY,EAAE,KAAK;AAC7B,UAAU,MAAM,EAAE,iCAAiC;AACnD,SAAS,CAAC,CAAC;AACX,OAAO,CAAC,CAAC;AACT,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;;ACvED,IAAI,uBAAuB,GAAG,SAAS,uBAAuB,CAAC,KAAK,EAAE;AACtE,EAAE,oBAAoB2K,IAAK,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;AAC/D,IAAI,OAAO,EAAE,WAAW;AACxB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,KAAK,EAAE,4BAA4B;AACvC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;AACjB,IAAI,QAAQ,EAAE,cAAc3K,GAAI,CAAC,MAAM,EAAE;AACzC,MAAM,QAAQ,EAAE,SAAS;AACzB,MAAM,QAAQ,EAAE,SAAS;AACzB,MAAM,CAAC,EAAE,6FAA6F;AACtG,MAAM,IAAI,EAAE,cAAc;AAC1B,MAAM,OAAO,EAAE,GAAG;AAClB,MAAM,MAAM,EAAE,qCAAqC;AACnD,KAAK,CAAC,eAAeA,GAAI,CAAC,MAAM,EAAE;AAClC,MAAM,CAAC,EAAE,iDAAiD;AAC1D,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,MAAM,EAAE,cAAc;AAC5B,MAAM,WAAW,EAAE,EAAE;AACrB,KAAK,CAAC,eAAeA,GAAI,CAAC,QAAQ,EAAE;AACpC,MAAM,EAAE,EAAE,IAAI;AACd,MAAM,EAAE,EAAE,IAAI;AACd,MAAM,CAAC,EAAE,GAAG;AACZ,MAAM,IAAI,EAAE,MAAM;AAClB,KAAK,CAAC,eAAeA,GAAI,CAAC,MAAM,EAAE;AAClC,MAAM,QAAQ,eAAe2K,IAAK,CAAC,QAAQ,EAAE;AAC7C,QAAQ,EAAE,EAAE,+BAA+B;AAC3C,QAAQ,CAAC,EAAE,KAAK;AAChB,QAAQ,CAAC,EAAE,KAAK;AAChB,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,WAAW,EAAE,gBAAgB;AACrC,QAAQ,yBAAyB,EAAE,MAAM;AACzC,QAAQ,QAAQ,EAAE,cAAc3K,GAAI,CAAC,SAAS,EAAE;AAChD,UAAU,YAAY,EAAE,CAAC;AACzB,UAAU,MAAM,EAAE,oBAAoB;AACtC,SAAS,CAAC,eAAeA,GAAI,CAAC,SAAS,EAAE;AACzC,UAAU,IAAI,EAAE,eAAe;AAC/B,UAAU,GAAG,EAAE,oBAAoB;AACnC,UAAU,MAAM,EAAE,OAAO;AACzB,SAAS,CAAC,eAAeA,GAAI,CAAC,gBAAgB,EAAE;AAChD,UAAU,YAAY,EAAE,KAAK;AAC7B,UAAU,MAAM,EAAE,iCAAiC;AACnD,SAAS,CAAC,CAAC;AACX,OAAO,CAAC;AACR,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;;AC1BM,SAAS4/B,eAAeA,CAAAlzC,IAAA,EAIyB;AAAA,EAAA,IAAAmzC,UAAA,GAAAnzC,IAAA,CAHtDqI,KAAK;AAALA,IAAAA,KAAK,GAAA8qC,UAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,UAAA;IAAAC,WAAA,GAAApzC,IAAA,CACVuH,MAAM;AAANA,IAAAA,MAAM,GAAA6rC,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IAAA5B,UAAA,GAAAxxC,IAAA,CACX+D,KAAK;AAALA,IAAAA,KAAK,GAAAytC,UAAA,KAAG,KAAA,CAAA,GAAA,cAAc,GAAAA,UAAA,CAAA;AAEtB,EAAA,IAAMp6B,EAAE,GAAGC,KAAK,EAAE,CAAA;EAClB,IAAMC,MAAM,GAAGF,EAAE,CAAC;AAAErT,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA;EAE5B,oBAAOuP,GAAA,CAAC+/B,eAAgB,EAAA;AAAChrC,IAAAA,KAAK,EAAEA,KAAM;AAACd,IAAAA,MAAM,EAAEA,MAAO;IAACxD,KAAK,EAAEuT,MAAM,CAACvT,KAAAA;AAAM,GAAE,CAAC,CAAA;AAChF,CAAA;AAEO,SAASuvC,cAAcA,CAAArzC,KAAA,EAI0B;AAAA,EAAA,IAAAszC,WAAA,GAAAtzC,KAAA,CAHtDoI,KAAK;AAALA,IAAAA,KAAK,GAAAkrC,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IAAAC,YAAA,GAAAvzC,KAAA,CACVsH,MAAM;AAANA,IAAAA,MAAM,GAAAisC,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IAAAC,WAAA,GAAAxzC,KAAA,CACX8D,KAAK;AAALA,IAAAA,KAAK,GAAA0vC,WAAA,KAAG,KAAA,CAAA,GAAA,cAAc,GAAAA,WAAA,CAAA;AAEtB,EAAA,IAAMr8B,EAAE,GAAGC,KAAK,EAAE,CAAA;EAClB,IAAMC,MAAM,GAAGF,EAAE,CAAC;AAAErT,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA;EAE5B,oBAAOuP,GAAA,CAACogC,oBAAc,EAAA;AAACrrC,IAAAA,KAAK,EAAEA,KAAM;AAACd,IAAAA,MAAM,EAAEA,MAAO;IAACxD,KAAK,EAAEuT,MAAM,CAACvT,KAAAA;AAAM,GAAE,CAAC,CAAA;AAC9E,CAAA;AAEO,SAAS4vC,iBAAiBA,CAAAtzC,KAAA,EAAiF;AAAA,EAAA,IAAAuzC,WAAA,GAAAvzC,KAAA,CAA9EgI,KAAK;AAALA,IAAAA,KAAK,GAAAurC,WAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,WAAA;IAAAC,YAAA,GAAAxzC,KAAA,CAAEkH,MAAM;AAANA,IAAAA,MAAM,GAAAssC,YAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,YAAA;IAAAC,WAAA,GAAAzzC,KAAA,CAAE0D,KAAK;AAALA,IAAAA,KAAK,GAAA+vC,WAAA,KAAG,KAAA,CAAA,GAAA,cAAc,GAAAA,WAAA,CAAA;AACjF,EAAA,IAAM18B,EAAE,GAAGC,KAAK,EAAE,CAAA;EAClB,IAAMC,MAAM,GAAGF,EAAE,CAAC;AAAErT,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA;EAE5B,oBAAOuP,GAAA,CAACygC,uBAAiB,EAAA;AAAC1rC,IAAAA,KAAK,EAAEA,KAAM;AAACd,IAAAA,MAAM,EAAEA,MAAO;IAACxD,KAAK,EAAEuT,MAAM,CAACvT,KAAAA;AAAM,GAAE,CAAC,CAAA;AACjF;;ACxCO,SAASiwC,WAAWA,CAAAh0C,IAAA,EAA+C;AAAA,EAAA,IAA5C8W,IAAI,GAAA9W,IAAA,CAAJ8W,IAAI;IAAE/S,KAAK,GAAA/D,IAAA,CAAL+D,KAAK,CAAA;AACvC,EAAA,QAAQ+S,IAAI;AACV,IAAA,KAAK,SAAS;MACZ,oBAAOxD,GAAA,CAAC2gC,eAAe,EAAA;AAAClwC,QAAAA,KAAK,EAAEA,KAAAA;AAAM,OAAE,CAAC,CAAA;AAC1C,IAAA,KAAK,SAAS;MACZ,oBAAOuP,GAAA,CAAC4gC,SAAS,EAAA;AAACnwC,QAAAA,KAAK,EAAEA,KAAAA;AAAM,OAAE,CAAC,CAAA;AACpC,IAAA,KAAK,QAAQ;MACX,oBAAOuP,GAAA,CAAC6gC,iBAAiB,EAAA;AAACpwC,QAAAA,KAAK,EAAEA,KAAAA;AAAM,OAAE,CAAC,CAAA;AAC5C,IAAA;MACE,oBAAOuP,GAAA,CAAC8gC,QAAQ,EAAA;AAACrwC,QAAAA,KAAK,EAAEA,KAAAA;AAAM,OAAE,CAAC,CAAA;AACrC,GAAA;AACF;;ACjBO,IAAMswC,cAAc,GAAG,UAACv9B,IAAiB,EAAsB;AACpE,EAAA,QAAQA,IAAI;AACV,IAAA,KAAK,SAAS,CAAA;AACd,IAAA,KAAK,QAAQ,CAAA;AACb,IAAA,KAAK,SAAS,CAAA;AACd,IAAA;AACE,MAAA,OAAO,OAAO,CAAA;AAClB,GAAA;AACF,CAAC,CAAA;AAEM,IAAMw9B,kBAAkB,GAAG,UAACC,WAAwB,EAA+B;AACxF,EAAA,QAAQA,WAAW;AACjB,IAAA,KAAK,SAAS,CAAA;AACd,IAAA,KAAK,QAAQ,CAAA;AACb,IAAA,KAAK,SAAS,CAAA;AACd,IAAA;AACE,MAAA,OAAO,OAAO,CAAA;AAClB,GAAA;AACF,CAAC;;ACEM,SAASC,WAAWA,CAAAx0C,IAAA,EAOK;AAAA,EAAA,IAAAga,SAAA,GAAAha,IAAA,CAN9B8W,IAAI;AAAJA,IAAAA,IAAI,GAAAkD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;IACbjH,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACR0hC,WAAW,GAAAz0C,IAAA,CAAXy0C,WAAW;IACXC,YAAY,GAAA10C,IAAA,CAAZ00C,YAAY;IACZC,MAAM,GAAA30C,IAAA,CAAN20C,MAAM;IACNnuB,SAAS,GAAAxmB,IAAA,CAATwmB,SAAS,CAAA;AAET,EAAA,IAAMziB,KAAK,GAAGswC,cAAc,CAACv9B,IAAI,CAAC,CAAA;EAElC,oBACEmH,IAAA,CAAC5I,MAAM,EAAA;AACL6I,IAAAA,UAAU,EAAC,YAAY;AACvBC,IAAAA,cAAc,EAAC,eAAe;AAC9B1Y,IAAAA,SAAS,EAAC,gCAAgC;AAC1CirB,IAAAA,UAAU,EAAEikB,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAE51B,GAAI;AACxBrb,IAAAA,YAAY,EAAE+wC,WAAW,GAAGh2C,SAAS,GAAG,QAAS;AACjDkF,IAAAA,eAAe,EAAA5E,uBAAAA,CAAAA,MAAA,CAA0B+X,IAAI,EAAmB,kBAAA,CAAA;IAAA/D,QAAA,EAAA,cAEhEkL,IAAA,CAAC5I,MAAM,EAAA;AACL1B,MAAAA,QAAQ,EAAE,CAAE;AACZqK,MAAAA,UAAU,EAAE,CAAE;AACdpB,MAAAA,SAAS,EAAC,QAAQ;AAClBsB,MAAAA,UAAU,EAAC,YAAY;AACvBW,MAAAA,QAAQ,EAAC,QAAQ;AACjBD,MAAAA,QAAQ,EAAC,QAAQ;AAAA7L,MAAAA,QAAA,GAEhB2hC,YAAY,GAAG,IAAI,gBAClBphC,GAAA,CAAC9V,IAAI,EAAA;AAACmgB,QAAAA,WAAW,EAAC,QAAQ;QAAA5K,QAAA,eACxBO,GAAA,CAACgJ,IAAI,EAAA;AAACvY,UAAAA,KAAK,EAAEA,KAAM;UAACiG,IAAI,eAAEsJ,GAAA,CAAC0gC,WAAW,EAAA;AAACl9B,YAAAA,IAAI,EAAEA,IAAK;AAAC/S,YAAAA,KAAK,EAAEA,KAAAA;WAAQ,CAAA;SAAI,CAAA;AAAC,OACnE,CACP,eACDuP,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AACd9H,QAAAA,QAAQ,EAAE,CAAE;AACZqK,QAAAA,UAAU,EAAE,CAAE;AACdK,QAAAA,SAAS,EAAEq2B,YAAY,GAAG,QAAQ,GAAG,MAAO;AAC5C7uC,QAAAA,IAAI,EAAC,MAAM;AACX9B,QAAAA,KAAK,EAAEA,KAAM;AAAAgP,QAAAA,QAAA,EAEZA,QAAAA;AAAQ,OACM,CAAC,CAAA;AAAA,KACZ,CAAC,EAERyT,SAAS,gBACRlT,GAAA,CAAC9V,IAAI,EAAA;AAAC0gB,MAAAA,UAAU,EAAC,QAAQ;AAACsO,MAAAA,SAAS,EAAE,EAAG;AAAC7O,MAAAA,WAAW,EAAC,QAAQ;AAACC,MAAAA,UAAU,EAAC,QAAQ;MAAA7K,QAAA,eAC/EO,GAAA,CAACu+B,eAAe,EAAA;AAAC9tC,QAAAA,KAAK,EAAEuwC,kBAAkB,CAACx9B,IAAI,CAAE;AAAC9B,QAAAA,OAAO,EAAEwR,SAAAA;OAAY,CAAA;KACnE,CAAC,GACL,IAAI,CAAA;AAAA,GACF,CAAC,CAAA;AAEb;;ACpEO,SAASouB,OAAOA,CAAA50C,IAAA,EAOK;AAAA,EAAA,IAAAga,SAAA,GAAAha,IAAA,CAN1B8W,IAAI;AAAJA,IAAAA,IAAI,GAAAkD,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;IACbjH,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACR0hC,WAAW,GAAAz0C,IAAA,CAAXy0C,WAAW;IACXC,YAAY,GAAA10C,IAAA,CAAZ00C,YAAY;IACZC,MAAM,GAAA30C,IAAA,CAAN20C,MAAM;IACNnuB,SAAS,GAAAxmB,IAAA,CAATwmB,SAAS,CAAA;EAET,oBACElT,GAAA,CAACkhC,WAAW,EAAA;AACVG,IAAAA,MAAM,EAAEA,MAAO;AACfF,IAAAA,WAAW,EAAEA,WAAY;AACzB39B,IAAAA,IAAI,EAAEA,IAAK;AACX49B,IAAAA,YAAY,EAAEA,YAAa;AAC3BluB,IAAAA,SAAS,EAAEA,SAAU;AAAAzT,IAAAA,QAAA,EAEpBA,QAAAA;AAAQ,GACE,CAAC,CAAA;AAElB;;ACDA,IAAM8hC,gBAAgB,GAAG,UAACjjC,KAAY,EAAqB;AAEzD,EAAA,IAAMkjC,KAAqB,GAAG;IAC5BC,QAAQ,EAAE,EAAE;AACZC,IAAAA,QAAQ,EAAE,EAAC;GACZ,CAAA;EACD,KAAK,IAAIjwC,IAAI,GAAG,CAAC,EAAEA,IAAI,IALN,EAKkB,EAAEA,IAAI,EAAE,EAAE;AAC3C+vC,IAAAA,KAAK,CAACC,QAAQ,CAAAh2C,OAAAA,CAAAA,MAAA,CAASgG,IAAI,CAAe,CAAA,GAAG6M,KAAK,CAACC,UAAU,CAAC9M,IAAI,CAAC,CAAA;AACnE+vC,IAAAA,KAAK,CAACE,QAAQ,CAAAj2C,QAAAA,CAAAA,MAAA,CAAUgG,IAAI,CAAA,CAAuB,GAAG,CAAC6M,KAAK,CAACC,UAAU,CAAC9M,IAAI,CAAC,CAAA;AAC/E,GAAA;AACA,EAAA,OAAO+vC,KAAK,CAAA;AACd,CAAC,CAAA;;AAED;AACA;AACA,IAAMG,oCAAoC,GAAGr1C,MAAM,CAACC,WAAW,CAC7D,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAACO,GAAG,CAAC,UAACkY,KAAK,EAAA;AAAA,EAAA,OAAK,CACjHA,KAAK,EACLA,KAAK,CACN,CAAA;AAAA,CAAA,CACH,CAAC,CAAA;AAsCD;AACO,SAAS48B,+BAA+BA,CAACtjC,KAAY,EAAEujC,QAAmB,EAAE;AACjF,EAAA,IAAMC,MAAM,GAAGP,gBAAgB,CAACjjC,KAAK,CAAC,CAAA;AAEtC,EAAA,IAAMyjC,cAAiD,GACrD,CAAAF,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAEhkC,WAAW,KAAK,EAAwC,CAAA;EAEpE,IAAMmkC,aAAa,GAAGC,WAAW,CAAC;AAChCnzC,IAAAA,MAAM,EAAE;AACN8P,MAAAA,IAAI,EAAAxR,aAAA,CAAAA,aAAA,CACCkR,EAAAA,EAAAA,KAAK,CAACxP,MAAM,CAAA,EAAA,EAAA,EAAA;AACfqB,QAAAA,UAAU,EAAE;AACVe,UAAAA,SAAS,EAAE;YACT,SAAS,EAAA;cACPb,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACe,SAAS,CAAA,SAAA,CAAQ,CAACb,eAAe;AACnEC,cAAAA,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACe,SAAS,WAAQ,CAACZ,WAAAA;aACjD;AACDP,YAAAA,QAAQ,EAAE;cACRM,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACnB,QAAQ,CAACM,eAAe;cACpEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACnB,QAAQ,CAACO,WAAAA;aAClD;AACDS,YAAAA,OAAO,EAAE;cACPV,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACH,OAAO,CAACV,eAAe;cACnEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACH,OAAO,CAACT,WAAAA;aACjD;AACDU,YAAAA,OAAO,EAAE;cACPX,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACF,OAAO,CAACX,eAAe;cACnEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACF,OAAO,CAACV,WAAAA;aACjD;AACDW,YAAAA,OAAO,EAAE;cACPZ,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACD,OAAO,CAACZ,eAAe;cACnEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACD,OAAO,CAACX,WAAAA;AAClD,aAAA;WACD;AACDvB,UAAAA,OAAO,EAAE;YACP,SAAS,EAAA;cACPsB,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAAA,SAAA,CAAQ,CAACsB,eAAe;AACjEC,cAAAA,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACpB,OAAO,WAAQ,CAACuB,WAAAA;aAC/C;AACDP,YAAAA,QAAQ,EAAE;cACRM,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgB,QAAQ,CAACM,eAAe;cAClEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgB,QAAQ,CAACO,WAAAA;aAChD;AACDS,YAAAA,OAAO,EAAE;cACPV,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgC,OAAO,CAACV,eAAe;cACjEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgC,OAAO,CAACT,WAAAA;aAC/C;AACDU,YAAAA,OAAO,EAAE;cACPX,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACiC,OAAO,CAACX,eAAe;cACjEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACiC,OAAO,CAACV,WAAAA;aAC/C;AACDW,YAAAA,OAAO,EAAE;cACPZ,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACkC,OAAO,CAACZ,eAAe;cACjEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACkC,OAAO,CAACX,WAAAA;AAChD,aAAA;WACD;AACD,UAAA,qBAAqB,EAAE;YACrB,SAAS,EAAA;cACPD,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAQ,SAAA,CAAA,CAACE,eAAe;cAChFC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,WAAQ,CAACG,WAAAA;aAC9D;AACDP,YAAAA,QAAQ,EAAE;cACRM,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACM,eAAe;cACjFC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACO,WAAAA;aAC/D;AACDS,YAAAA,OAAO,EAAE;cACPV,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACV,eAAe;cAChFC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACT,WAAAA;aAC9D;AACDU,YAAAA,OAAO,EAAE;cACPX,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACX,eAAe;cAChFC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACV,WAAAA;aAC9D;AACDW,YAAAA,OAAO,EAAE;cACPZ,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACZ,eAAe;cAChFC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACX,WAAAA;AAC/D,aAAA;WACD;AACD,UAAA,qBAAqB,EAAE;YACrB,SAAS,EAAA;cACPD,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAQ,SAAA,CAAA,CAACE,eAAe;cAChFC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,WAAQ,CAACG,WAAAA;aAC9D;AACDP,YAAAA,QAAQ,EAAE;cACRM,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACM,eAAe;cACjFC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACO,WAAAA;aAC/D;AACDS,YAAAA,OAAO,EAAE;cACPV,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACV,eAAe;cAChFC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACT,WAAAA;aAC9D;AACDU,YAAAA,OAAO,EAAE;cACPX,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACX,eAAe;cAChFC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACV,WAAAA;aAC9D;AACDW,YAAAA,OAAO,EAAE;cACPZ,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACZ,eAAe;cAChFC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACX,WAAAA;AAC/D,aAAA;WACD;AACDa,UAAAA,SAAS,EAAE;YACT,SAAS,EAAA;cACPd,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAAA,SAAA,CAAQ,CAACd,eAAe;AACnEC,cAAAA,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACgB,SAAS,WAAQ,CAACb,WAAAA;aACjD;AACDP,YAAAA,QAAQ,EAAE;cACRM,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACpB,QAAQ,CAACM,eAAe;cACpEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACpB,QAAQ,CAACO,WAAAA;aAClD;AACDS,YAAAA,OAAO,EAAE;cACPV,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACJ,OAAO,CAACV,eAAe;cACnEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACJ,OAAO,CAACT,WAAAA;aACjD;AACDU,YAAAA,OAAO,EAAE;cACPX,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACH,OAAO,CAACX,eAAe;cACnEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACH,OAAO,CAACV,WAAAA;aACjD;AACDW,YAAAA,OAAO,EAAE;cACPZ,eAAe,EAAEiO,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACF,OAAO,CAACZ,eAAe;cACnEC,WAAW,EAAEgO,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACF,OAAO,CAACX,WAAAA;AAClD,aAAA;AACF,WAAA;SACD;AACDkB,QAAAA,MAAM,EAAE;UACN,SAAS,EAAA;AACPnB,YAAAA,eAAe,EAAEiO,KAAK,CAACxP,MAAM,CAACC,OAAAA;WAC/B;AACDmB,UAAAA,KAAK,EAAE;AACLG,YAAAA,eAAe,EAAEiO,KAAK,CAACG,QAAQ,CAACpR,SAAS,CAACc,QAAAA;AAC5C,WAAA;SACD;AACD8D,QAAAA,MAAM,EAAE;UACN,SAASqM,EAAAA,KAAK,CAACrM,MAAM,CAAQ,SAAA,CAAA;AAC7BlD,UAAAA,OAAO,EAAEuP,KAAK,CAACrM,MAAM,CAAClD,OAAO;AAC7BM,UAAAA,MAAM,EAAEiP,KAAK,CAACrM,MAAM,CAAC5C,MAAM;AAC3BkE,UAAAA,MAAM,EAAE+K,KAAK,CAACrM,MAAM,CAACsB,MAAM;AAC3B,UAAA,aAAa,EAAE+K,KAAK,CAACrM,MAAM,CAAC,aAAa,CAAC;AAC1ClC,UAAAA,QAAQ,EAAEuO,KAAK,CAACrM,MAAM,CAAClC,QAAAA;SACxB;AACDwE,QAAAA,OAAO,EAAE;AACPG,UAAAA,IAAI,EAAE;YACJ,SAAS,EAAA;AACPrE,cAAAA,eAAe,EAAEiO,KAAK,CAAC/J,OAAO,CAACG,IAAI,CAACrE,eAAe,CAAA,SAAA,CAAA;aACpD;AACDN,YAAAA,QAAQ,EAAE;cACRM,eAAe,EAAEiO,KAAK,CAAC/J,OAAO,CAACG,IAAI,CAACrE,eAAe,CAACN,QAAQ;cAC5DO,WAAW,EAAEgO,KAAK,CAAC/J,OAAO,CAACG,IAAI,CAAC3E,QAAQ,CAAC+E,MAAM,CAACrE,KAAAA;aACjD;AACDmE,YAAAA,QAAQ,EAAE;cACRvE,eAAe,EAAEiO,KAAK,CAAC/J,OAAO,CAACG,IAAI,CAACrE,eAAe,CAACuE,QAAAA;aACrD;AACD3D,YAAAA,OAAO,EAAE;cACPZ,eAAe,EAAEiO,KAAK,CAAC/J,OAAO,CAACG,IAAI,CAACrE,eAAe,CAACY,OAAAA;aACrD;AACDxB,YAAAA,KAAK,EAAE;cACLY,eAAe,EAAEiO,KAAK,CAAC/J,OAAO,CAACG,IAAI,CAACrE,eAAe,CAACZ,KAAAA;aACrD;AACDoF,YAAAA,iBAAiB,EAAE;cACjBxE,eAAe,EAAEiO,KAAK,CAAC/J,OAAO,CAACG,IAAI,CAACrE,eAAe,CAACwE,iBAAAA;AACtD,aAAA;AACF,WAAA;SACD;AACDsI,QAAAA,GAAG,EAAE;AACHpO,UAAAA,OAAO,EAAE;AACPgL,YAAAA,IAAI,EAAE;cACJ1J,eAAe,EAAEiO,KAAK,CAACnB,GAAG,CAACpO,OAAO,CAACgL,IAAI,CAAC1J,eAAe;cACvDC,WAAW,EAAEgO,KAAK,CAACnB,GAAG,CAACpO,OAAO,CAACgL,IAAI,CAACzJ,WAAAA;aACrC;AACD8M,YAAAA,OAAO,EAAE;cACP/M,eAAe,EAAEiO,KAAK,CAACnB,GAAG,CAACpO,OAAO,CAACqO,OAAO,CAAC/M,eAAe;cAC1DC,WAAW,EAAEgO,KAAK,CAACnB,GAAG,CAACpO,OAAO,CAACqO,OAAO,CAAC9M,WAAAA;AACzC,aAAA;WACD;UACD,SAAS,EAAA;AACPyJ,YAAAA,IAAI,EAAE;cACJ1J,eAAe,EAAEiO,KAAK,CAACnB,GAAG,WAAQ,CAACpD,IAAI,CAAC1J,eAAe;AACvDC,cAAAA,WAAW,EAAEgO,KAAK,CAACnB,GAAG,CAAQ,SAAA,CAAA,CAACpD,IAAI,CAACzJ,WAAAA;aACrC;AACD8M,YAAAA,OAAO,EAAE;cACP/M,eAAe,EAAEiO,KAAK,CAACnB,GAAG,WAAQ,CAACC,OAAO,CAAC/M,eAAe;AAC1DC,cAAAA,WAAW,EAAEgO,KAAK,CAACnB,GAAG,CAAQ,SAAA,CAAA,CAACC,OAAO,CAAC9M,WAAAA;AACzC,aAAA;WACD;AACDjB,UAAAA,MAAM,EAAE;AACN0K,YAAAA,IAAI,EAAE;cACJ1J,eAAe,EAAEiO,KAAK,CAACnB,GAAG,CAAC9N,MAAM,CAAC0K,IAAI,CAAC1J,eAAe;cACtDC,WAAW,EAAEgO,KAAK,CAACnB,GAAG,CAAC9N,MAAM,CAAC0K,IAAI,CAACzJ,WAAAA;aACpC;AACD8M,YAAAA,OAAO,EAAE;cACP/M,eAAe,EAAEiO,KAAK,CAACnB,GAAG,CAAC9N,MAAM,CAAC+N,OAAO,CAAC/M,eAAe;cACzDC,WAAW,EAAEgO,KAAK,CAACnB,GAAG,CAAC9N,MAAM,CAAC+N,OAAO,CAAC9M,WAAAA;AACxC,aAAA;WACD;AACD+M,UAAAA,IAAI,EAAE;AACJtD,YAAAA,IAAI,EAAE;cACJ1J,eAAe,EAAEiO,KAAK,CAACnB,GAAG,CAACE,IAAI,CAACtD,IAAI,CAAC1J,eAAe;cACpDC,WAAW,EAAEgO,KAAK,CAACnB,GAAG,CAACE,IAAI,CAACtD,IAAI,CAACzJ,WAAAA;aAClC;AACD8M,YAAAA,OAAO,EAAE;cACP/M,eAAe,EAAEiO,KAAK,CAACnB,GAAG,CAACE,IAAI,CAACD,OAAO,CAAC/M,eAAe;cACvDC,WAAW,EAAEgO,KAAK,CAACnB,GAAG,CAACE,IAAI,CAACD,OAAO,CAAC9M,WAAAA;AACtC,aAAA;AACF,WAAA;SACD;AACDgN,QAAAA,OAAO,EAAE;AACPjN,UAAAA,eAAe,EAAEiO,KAAK,CAAChB,OAAO,CAACjN,eAAAA;SAChC;AACD0K,QAAAA,UAAU,EAAEuD,KAAK,CAACvD,UAAU,CAACjM,MAAM;QACnC2P,QAAQ,EAAEH,KAAK,CAACG,QAAQ;AACxBvJ,QAAAA,eAAe,EAAE;AACf7F,UAAAA,MAAM,EAAE;AAAEgB,YAAAA,eAAe,EAAEiO,KAAK,CAACpJ,eAAe,CAAC7F,MAAM,CAACgB,eAAAA;WAAiB;AACzEf,UAAAA,IAAI,EAAE;AAAEe,YAAAA,eAAe,EAAEiO,KAAK,CAACpJ,eAAe,CAAC5F,IAAI,CAACe,eAAAA;WAAiB;AACrElB,UAAAA,OAAO,EAAE;AAAEkB,YAAAA,eAAe,EAAEiO,KAAK,CAACpJ,eAAe,CAAC/F,OAAO,CAACkB,eAAAA;WAAiB;AAC3Ed,UAAAA,OAAO,EAAE;AAAEc,YAAAA,eAAe,EAAEiO,KAAK,CAACpJ,eAAe,CAAC3F,OAAO,CAACc,eAAAA;AAAgB,WAAA;SAC3E;AACDwH,QAAAA,KAAK,EAAE;AACL1C,UAAAA,YAAY,EAAE;AACZC,YAAAA,MAAM,EAAE;cACN,SAAS,EAAA;gBAAE/E,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACC,MAAM,CAAA,SAAA,CAAQ,CAAC/E,eAAAA;eAAiB;AACrFU,cAAAA,OAAO,EAAE;gBAAEV,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACC,MAAM,CAACrE,OAAO,CAACV,eAAAA;eAAiB;AACrFW,cAAAA,OAAO,EAAE;gBAAEX,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACC,MAAM,CAACpE,OAAO,CAACX,eAAAA;eAAiB;AACrFuE,cAAAA,QAAQ,EAAE;gBAAEvE,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACC,MAAM,CAACR,QAAQ,CAACvE,eAAAA;eAAiB;AACvFiF,cAAAA,WAAW,EAAE;gBAAEjF,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACC,MAAM,CAACE,WAAW,CAACjF,eAAAA;eAAiB;AAC7FY,cAAAA,OAAO,EAAE;gBAAEZ,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACC,MAAM,CAACnE,OAAO,CAACZ,eAAAA;AAAgB,eAAA;aACrF;AACDkF,YAAAA,gBAAgB,EAAE;cAChBlF,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACI,gBAAgB,CAAClF,eAAAA;AAC7D,aAAA;WACD;AACDkG,UAAAA,KAAK,EAAE;AACLM,YAAAA,MAAM,EAAEyH,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAAA;WAC3B;AACDO,UAAAA,QAAQ,EAAE;AACR/H,YAAAA,MAAM,EAAE;cACNgB,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACT,QAAQ,CAAC/H,MAAM,CAACgB,eAAAA;aAC9C;YACD,SAAS,EAAA;AACPA,cAAAA,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACT,QAAQ,WAAQ,CAAC/G,eAAAA;aAC/C;AACDlB,YAAAA,OAAO,EAAE;cACPkB,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACT,QAAQ,CAACjI,OAAO,CAACkB,eAAAA;AAChD,aAAA;WACD;AACDqH,UAAAA,gBAAgB,EAAE;AAChBhD,YAAAA,IAAI,EAAE;cACJpE,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACpE,WAAW;cAC1DD,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACrE,eAAAA;AACrD,aAAA;WACD;AACDmF,UAAAA,QAAQ,EAAE;AACRC,YAAAA,SAAS,EAAE6I,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACC,SAAS;AACzCE,YAAAA,OAAO,EAAE;cACPtF,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACG,OAAO,CAACtF,eAAe;cAC7DC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACG,OAAO,CAACrF,WAAAA;aAC3C;AACDb,YAAAA,KAAK,EAAE;cACLY,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAAC/F,KAAK,CAACY,eAAe;cAC3DC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAAC/F,KAAK,CAACa,WAAAA;aACzC;AACDW,YAAAA,OAAO,EAAE;cACPZ,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACvE,OAAO,CAACZ,eAAe;cAC7DC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACvE,OAAO,CAACX,WAAAA;aAC3C;AACD4B,YAAAA,KAAK,EAAE;cACL7B,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACtD,KAAK,CAAC7B,eAAe;cAC3DC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACtD,KAAK,CAAC5B,WAAAA;aACzC;YACD,SAAS,EAAA;cACPD,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAAA,SAAA,CAAQ,CAACnF,eAAe;AAC7DC,cAAAA,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACrC,QAAQ,WAAQ,CAAClF,WAAAA;AAC5C,aAAA;WACD;AACDgH,UAAAA,KAAK,EAAE;AACL3B,YAAAA,OAAO,EAAE;cACPtF,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAAC3B,OAAO,CAACtF,eAAe;cAC1DC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAAC3B,OAAO,CAACrF,WAAAA;aACxC;AACDb,YAAAA,KAAK,EAAE;cACLY,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAAC7H,KAAK,CAACY,eAAe;cACxDC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAAC7H,KAAK,CAACa,WAAAA;aACtC;AACDW,YAAAA,OAAO,EAAE;cACPZ,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAACrG,OAAO,CAACZ,eAAe;cAC1DC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAACrG,OAAO,CAACX,WAAAA;aACxC;AACD4B,YAAAA,KAAK,EAAE;cACL7B,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAACrG,OAAO,CAACZ,eAAe;cAC1DC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAACrG,OAAO,CAACX,WAAAA;aACxC;AACDP,YAAAA,QAAQ,EAAE;cACRM,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAACvH,QAAQ,CAACM,eAAe;cAC3DC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAACvH,QAAQ,CAACO,WAAAA;aACzC;YACD,SAAS,EAAA;cACPD,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAACC,SAAS,CAAClH,eAAe;cAC5DC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAACC,SAAS,CAACjH,WAAAA;aAC1C;AACD4xC,YAAAA,WAAW,EAAE;cACX7xC,eAAe,EAAEiO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAAC3B,OAAO,CAAC8B,oBAAAA;AAC7C,aAAA;AACF,WAAA;SACD;AACDmF,QAAAA,QAAQ,EAAE;AACRvM,UAAAA,eAAe,EAAEiO,KAAK,CAAC1B,QAAQ,CAACvM,eAAe;AAC/CwM,UAAAA,UAAU,EAAEyB,KAAK,CAAC1B,QAAQ,CAACC,UAAAA;SAC5B;AACD3D,QAAAA,UAAU,EAAE;AACV5I,UAAAA,WAAW,EAAEgO,KAAK,CAACpF,UAAU,CAAC5I,WAAW;AACzCP,UAAAA,QAAQ,EAAE;AACRO,YAAAA,WAAW,EAAEgO,KAAK,CAACpF,UAAU,CAACnJ,QAAQ,CAACO,WAAW;AAClDD,YAAAA,eAAe,EAAEiO,KAAK,CAACpF,UAAU,CAACnJ,QAAQ,CAACM,eAAAA;WAC5C;AACDxC,UAAAA,KAAK,EAAE;AACLoD,YAAAA,OAAO,EAAE;AACPZ,cAAAA,eAAe,EAAEiO,KAAK,CAACpF,UAAU,WAAQ,CAACjG,sBAAAA;AAC5C,aAAA;WACD;AACDG,UAAAA,KAAK,EAAE;AACLnC,YAAAA,OAAO,EAAE;AACPZ,cAAAA,eAAe,EAAEiO,KAAK,CAACpF,UAAU,CAAC9F,KAAK,CAACH,sBAAAA;AAC1C,aAAA;WACD;AACDlE,UAAAA,OAAO,EAAE;AACPkC,YAAAA,OAAO,EAAE;AACPZ,cAAAA,eAAe,EAAEiO,KAAK,CAACpF,UAAU,CAACnK,OAAO,CAACkE,sBAAAA;AAC5C,aAAA;AACF,WAAA;SACD;AACD9B,QAAAA,SAAS,EAAE;AACT8G,UAAAA,OAAO,EAAE;YACP,SAAS,EAAA;AACP5H,cAAAA,eAAe,EAAEiO,KAAK,CAACnN,SAAS,CAAC8G,OAAO,WAAQ,CAAC5H,eAAAA;aAClD;AACDZ,YAAAA,KAAK,EAAE;cACLY,eAAe,EAAEiO,KAAK,CAACnN,SAAS,CAAC8G,OAAO,CAACxI,KAAK,CAACY,eAAAA;AACjD,aAAA;WACD;AACDtB,UAAAA,OAAO,EAAE;YACP,SAAS,EAAA;AACPsB,cAAAA,eAAe,EAAEiO,KAAK,CAACnN,SAAS,CAACpC,OAAO,WAAQ,CAACsB,eAAAA;aAClD;AACDZ,YAAAA,KAAK,EAAE;cACLY,eAAe,EAAEiO,KAAK,CAACnN,SAAS,CAACpC,OAAO,CAACU,KAAK,CAACY,eAAAA;AACjD,aAAA;WACD;AACDa,UAAAA,SAAS,EAAE;YACT,SAAS,EAAA;AACPb,cAAAA,eAAe,EAAEiO,KAAK,CAACnN,SAAS,CAACD,SAAS,WAAQ,CAACb,eAAAA;aACpD;AACDZ,YAAAA,KAAK,EAAE;cACLY,eAAe,EAAEiO,KAAK,CAACnN,SAAS,CAACD,SAAS,CAACzB,KAAK,CAACY,eAAAA;AACnD,aAAA;WACD;AACDJ,UAAAA,IAAI,EAAE;YACJ,SAAS,EAAA;AACPI,cAAAA,eAAe,EAAEiO,KAAK,CAACnN,SAAS,CAAClB,IAAI,WAAQ,CAACI,eAAAA;aAC/C;AACDZ,YAAAA,KAAK,EAAE;cACLY,eAAe,EAAEiO,KAAK,CAACnN,SAAS,CAAClB,IAAI,CAACR,KAAK,CAACY,eAAAA;AAC9C,aAAA;WACD;AACD+C,UAAAA,KAAK,EAAE;YACL,SAAS,EAAA;AACP/C,cAAAA,eAAe,EAAEiO,KAAK,CAACnN,SAAS,CAACiC,KAAK,WAAQ,CAAC/C,eAAAA;aAChD;AACDZ,YAAAA,KAAK,EAAE;cACLY,eAAe,EAAEiO,KAAK,CAACnN,SAAS,CAACiC,KAAK,CAAC3D,KAAK,CAACY,eAAAA;AAC/C,aAAA;AACF,WAAA;SACD;AACDqN,QAAAA,aAAa,EAAE;AACblL,UAAAA,MAAM,EAAE;AACNkE,YAAAA,IAAI,EAAE;cACJrG,eAAe,EAAEiO,KAAK,CAACZ,aAAa,CAAClL,MAAM,CAACkE,IAAI,CAACrG,eAAe;cAChEsN,SAAS,EAAEW,KAAK,CAACZ,aAAa,CAAClL,MAAM,CAACkE,IAAI,CAACiH,SAAAA;AAC7C,aAAA;WACD;AACDC,UAAAA,IAAI,EAAE;AACJlH,YAAAA,IAAI,EAAE;cACJrG,eAAe,EAAEiO,KAAK,CAACZ,aAAa,CAACE,IAAI,CAAClH,IAAI,CAACrG,eAAe;cAC9DsN,SAAS,EAAEW,KAAK,CAACZ,aAAa,CAACE,IAAI,CAAClH,IAAI,CAACiH,SAAAA;AAC3C,aAAA;WACD;UACD,SAAS,EAAA;AACPjH,YAAAA,IAAI,EAAE;cACJrG,eAAe,EAAEiO,KAAK,CAACZ,aAAa,WAAQ,CAAChH,IAAI,CAACrG,eAAe;AACjEsN,cAAAA,SAAS,EAAEW,KAAK,CAACZ,aAAa,CAAQ,SAAA,CAAA,CAAChH,IAAI,CAACiH,SAAAA;AAC9C,aAAA;AACF,WAAA;SACD;AACDxE,QAAAA,QAAQ,EAAE;AACR7I,UAAAA,WAAW,EAAEgO,KAAK,CAACnF,QAAQ,CAAC7I,WAAAA;SAC7B;AACDsL,QAAAA,MAAM,EAAE;AACNC,UAAAA,GAAG,EAAE;AACHzG,YAAAA,MAAM,EAAE;AACNR,cAAAA,QAAQ,EAAE;gBACRnE,KAAK,EAAE6N,KAAK,CAAC1C,MAAM,CAACC,GAAG,CAACjH,QAAQ,CAACnE,KAAAA;AACnC,eAAA;AACF,aAAA;WACD;AACDsL,UAAAA,OAAO,EAAE;AACP3G,YAAAA,MAAM,EAAE;cACN,SAAS,EAAA;gBACP/E,eAAe,EAAEiO,KAAK,CAAC1C,MAAM,CAACG,OAAO,CAAC3G,MAAM,CAAA,SAAA,CAAQ,CAAC/E,eAAAA;eACtD;AACDuE,cAAAA,QAAQ,EAAE;gBACRnE,KAAK,EAAE6N,KAAK,CAAC1C,MAAM,CAACG,OAAO,CAAC3G,MAAM,CAACR,QAAQ,CAACnE,KAAK;gBACjDJ,eAAe,EAAEiO,KAAK,CAAC1C,MAAM,CAACG,OAAO,CAAC3G,MAAM,CAACR,QAAQ,CAACvE,eAAAA;AACxD,eAAA;AACF,aAAA;WACD;AACDgL,UAAAA,GAAG,EAAE;AACHjG,YAAAA,MAAM,EAAE;cACN,SAAS,EAAA;gBAAE/E,eAAe,EAAEiO,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAACjG,MAAM,CAAA,SAAA,CAAQ,CAAC/E,eAAAA;eAAiB;AAC7EU,cAAAA,OAAO,EAAE;gBAAEV,eAAe,EAAEiO,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAACjG,MAAM,CAACrE,OAAO,CAACV,eAAAA;eAAiB;AAC7EW,cAAAA,OAAO,EAAE;gBAAEX,eAAe,EAAEiO,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAACjG,MAAM,CAACpE,OAAO,CAACX,eAAAA;eAAiB;AAC7EuE,cAAAA,QAAQ,EAAE;gBAAEvE,eAAe,EAAEiO,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAACjG,MAAM,CAACR,QAAQ,CAACvE,eAAAA;eAAiB;AAC/EiF,cAAAA,WAAW,EAAE;gBAAEjF,eAAe,EAAEiO,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAACjG,MAAM,CAACE,WAAW,CAACjF,eAAAA;eAAiB;AACrFY,cAAAA,OAAO,EAAE;gBAAEZ,eAAe,EAAEiO,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAACjG,MAAM,CAACnE,OAAO,CAACZ,eAAAA;AAAgB,eAAA;aAC7E;AACDkF,YAAAA,gBAAgB,EAAE;cAChBlF,eAAe,EAAEiO,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAAC9F,gBAAgB,CAAClF,eAAAA;AACrD,aAAA;AACF,WAAA;AACF,SAAA;OACD,CAAA;AACD8xC,MAAAA,GAAG,EAAEN,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAE/yC,MAAAA;KAChB;IACDszC,KAAK,EAAAh1C,aAAA,CAAAA,aAAA,CAAA;AACH;MACAi1C,EAAE,EAAE/nB,MAAM,CAACC,gBAAgB;MAC3B+nB,EAAE,EAAEhoB,MAAM,CAACC,gBAAgB;MAC3BgoB,EAAE,EAAEjoB,MAAM,CAACC,gBAAgB;MAC3BioB,EAAE,EAAEloB,MAAM,CAACC,gBAAgB;MAC3B,KAAK,EAAED,MAAM,CAACC,gBAAgB;MAC9B,KAAK,EAAED,MAAM,CAACC,gBAAgB;MAC9BkoB,EAAE,EAAEnoB,MAAM,CAACC,gBAAAA;KAGRunB,EAAAA,MAAM,CAACL,QAAQ,CAAA,EAAA,EAAA,EAAA;AAElB7iC,MAAAA,IAAI,EAAE;AACJzO,QAAAA,UAAU,EAAE;AACVC,UAAAA,YAAY,EAAEkO,KAAK,CAACnO,UAAU,CAACC,YAAAA;SAChC;AACDoB,QAAAA,MAAM,EAAE;AACNpB,UAAAA,YAAY,EAAEkO,KAAK,CAAC9M,MAAM,CAACpB,YAAY;AACvCuB,UAAAA,KAAK,EAAE;AACLvB,YAAAA,YAAY,EAAEkO,KAAK,CAAC9M,MAAM,CAACG,KAAK,CAACvB,YAAAA;AACnC,WAAA;SACD;AACDA,QAAAA,YAAY,EAAEkO,KAAK,CAAC9K,IAAI,CAACpD,YAAY;AACrC6B,QAAAA,MAAM,EAAE;AACN7B,UAAAA,YAAY,EAAEkO,KAAK,CAACrM,MAAM,CAAC7B,YAAAA;SAC5B;AACDoD,QAAAA,IAAI,EAAE;AACJpD,UAAAA,YAAY,EAAEkO,KAAK,CAAC9K,IAAI,CAACpD,YAAAA;SAC1B;AACD0D,QAAAA,SAAS,EAAE;AACT1D,UAAAA,YAAY,EAAEkO,KAAK,CAACxK,SAAS,CAAC1D,YAAAA;SAC/B;AACDmE,QAAAA,OAAO,EAAE;AACPG,UAAAA,IAAI,EAAE;AACJtE,YAAAA,YAAY,EAAEkO,KAAK,CAAC/J,OAAO,CAACG,IAAI,CAACtE,YAAAA;AACnC,WAAA;SACD;AACD6E,QAAAA,WAAW,EAAE;AACX7E,UAAAA,YAAY,EAAEkO,KAAK,CAACrJ,WAAW,CAAC7E,YAAAA;SACjC;AACDyH,QAAAA,KAAK,EAAE;AACL1C,UAAAA,YAAY,EAAE;AACZI,YAAAA,gBAAgB,EAAE;cAChBnF,YAAY,EAAEkO,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACI,gBAAgB,CAACnF,YAAAA;AAC1D,aAAA;WACD;AACDmG,UAAAA,KAAK,EAAE;AACLnG,YAAAA,YAAY,EAAEkO,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACnG,YAAAA;WACjC;AACDgH,UAAAA,QAAQ,EAAE;AACRhH,YAAAA,YAAY,EAAEkO,KAAK,CAACzG,KAAK,CAACT,QAAQ,CAAChH,YAAAA;WACpC;AACDsH,UAAAA,gBAAgB,EAAE;AAChBhD,YAAAA,IAAI,EAAE;cACJtE,YAAY,EAAEkO,KAAK,CAACzG,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACtE,YAAAA;AAClD,aAAA;WACD;AACDoF,UAAAA,QAAQ,EAAE;AACRpF,YAAAA,YAAY,EAAEkO,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACpF,YAAAA;WACpC;AACDkH,UAAAA,KAAK,EAAE;YACLlH,YAAY,EAAEkO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAAC7F,IAAI,GAAG,GAAG;AAC1CywC,YAAAA,WAAW,EAAE;cACX9xC,YAAY,EAAEkO,KAAK,CAACzG,KAAK,CAACP,KAAK,CAAC3B,OAAO,CAAC6B,SAAS,GAAG,GAAA;AACtD,aAAA;AACF,WAAA;SACD;AACDrG,QAAAA,SAAS,EAAE;AACTf,UAAAA,YAAY,EAAEkO,KAAK,CAACnN,SAAS,CAACf,YAAAA;SAC/B;AACD8I,QAAAA,UAAU,EAAE;AACV9I,UAAAA,YAAY,EAAEkO,KAAK,CAACpF,UAAU,CAAC9I,YAAAA;SAChC;AACD+M,QAAAA,GAAG,EAAE;AACH/M,UAAAA,YAAY,EAAEkO,KAAK,CAACnB,GAAG,CAAC/M,YAAAA;SACzB;AACDkN,QAAAA,OAAO,EAAE;AACPlN,UAAAA,YAAY,EAAEkO,KAAK,CAAChB,OAAO,CAAClN,YAAAA;SAC7B;AACDwM,QAAAA,QAAQ,EAAE;AACRG,UAAAA,KAAK,EAAE;AACLC,YAAAA,GAAG,EAAE;cACH5M,YAAY,EAAEkO,KAAK,CAAC1B,QAAQ,CAACG,KAAK,CAACC,GAAG,CAAC5M,YAAAA;aACxC;AACD6M,YAAAA,MAAM,EAAE;cACN7M,YAAY,EAAEkO,KAAK,CAAC1B,QAAQ,CAACG,KAAK,CAACE,MAAM,CAAC7M,YAAAA;aAC3C;AACD8M,YAAAA,MAAM,EAAE;cACN9M,YAAY,EAAEkO,KAAK,CAAC1B,QAAQ,CAACG,KAAK,CAACG,MAAM,CAAC9M,YAAAA;AAC5C,aAAA;AACF,WAAA;SACD;AACDwL,QAAAA,MAAM,EAAE;AACNP,UAAAA,GAAG,EAAE;AACH9F,YAAAA,gBAAgB,EAAE;cAChBnF,YAAY,EAAEkO,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAAC9F,gBAAgB,CAACnF,YAAAA;AAClD,aAAA;AACF,WAAA;AACF,SAAA;OACD;AACD+xC,MAAAA,GAAG,EAAEN,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAEO,KAAAA;KAChB,CAAA;AACDM,IAAAA,YAAY,EAAE;AACZ9jC,MAAAA,IAAI,EAAE;AACJzO,QAAAA,UAAU,EAAE;AACVe,UAAAA,SAAS,EAAE;YACT,SAAS,EAAA;AACPX,cAAAA,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACe,SAAS,WAAQ,CAACX,WAAAA;aACjD;AACDR,YAAAA,QAAQ,EAAE;cACRQ,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACnB,QAAQ,CAACQ,WAAAA;aAClD;AACDQ,YAAAA,OAAO,EAAE;cACPR,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACH,OAAO,CAACR,WAAAA;aACjD;AACDS,YAAAA,OAAO,EAAE;cACPT,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACF,OAAO,CAACT,WAAAA;aACjD;AACDU,YAAAA,OAAO,EAAE;cACPV,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACD,OAAO,CAACV,WAAAA;AAClD,aAAA;WACD;AACDxB,UAAAA,OAAO,EAAE;YACP,SAAS,EAAA;AACPwB,cAAAA,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACpB,OAAO,WAAQ,CAACwB,WAAAA;aAC/C;AACDR,YAAAA,QAAQ,EAAE;cACRQ,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgB,QAAQ,CAACQ,WAAAA;aAChD;AACDQ,YAAAA,OAAO,EAAE;cACPR,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgC,OAAO,CAACR,WAAAA;aAC/C;AACDS,YAAAA,OAAO,EAAE;cACPT,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACiC,OAAO,CAACT,WAAAA;aAC/C;AACDU,YAAAA,OAAO,EAAE;cACPV,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACkC,OAAO,CAACV,WAAAA;AAChD,aAAA;WACD;AACD,UAAA,qBAAqB,EAAE;YACrB,SAAS,EAAA;cACPA,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,WAAQ,CAACI,WAAAA;aAC9D;AACDR,YAAAA,QAAQ,EAAE;cACRQ,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACQ,WAAAA;aAC/D;AACDQ,YAAAA,OAAO,EAAE;cACPR,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACR,WAAAA;aAC9D;AACDS,YAAAA,OAAO,EAAE;cACPT,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACT,WAAAA;aAC9D;AACDU,YAAAA,OAAO,EAAE;cACPV,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACV,WAAAA;AAC/D,aAAA;WACD;AACD,UAAA,qBAAqB,EAAE;YACrB,SAAS,EAAA;cACPA,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,WAAQ,CAACI,WAAAA;aAC9D;AACDR,YAAAA,QAAQ,EAAE;cACRQ,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACQ,WAAAA;aAC/D;AACDQ,YAAAA,OAAO,EAAE;cACPR,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACR,WAAAA;aAC9D;AACDS,YAAAA,OAAO,EAAE;cACPT,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACT,WAAAA;aAC9D;AACDU,YAAAA,OAAO,EAAE;cACPV,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACV,WAAAA;AAC/D,aAAA;WACD;AACDY,UAAAA,SAAS,EAAE;YACT,SAAS,EAAA;AACPZ,cAAAA,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACgB,SAAS,WAAQ,CAACZ,WAAAA;aACjD;AACDR,YAAAA,QAAQ,EAAE;cACRQ,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACpB,QAAQ,CAACQ,WAAAA;aAClD;AACDQ,YAAAA,OAAO,EAAE;cACPR,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACJ,OAAO,CAACR,WAAAA;aACjD;AACDS,YAAAA,OAAO,EAAE;cACPT,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACH,OAAO,CAACT,WAAAA;aACjD;AACDU,YAAAA,OAAO,EAAE;cACPV,WAAW,EAAE+N,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACF,OAAO,CAACV,WAAAA;AAClD,aAAA;AACF,WAAA;SACD;AACD0B,QAAAA,MAAM,EAAE;AACN1B,UAAAA,WAAW,EAAE+N,KAAK,CAACrM,MAAM,CAAC1B,WAAAA;SAC3B;AACDgE,QAAAA,OAAO,EAAE;AACPG,UAAAA,IAAI,EAAE;AACJ3E,YAAAA,QAAQ,EAAE;cACRQ,WAAW,EAAE+N,KAAK,CAAC/J,OAAO,CAACG,IAAI,CAAC3E,QAAQ,CAAC+E,MAAM,CAACC,KAAAA;AAClD,aAAA;AACF,WAAA;SACD;AACDmE,QAAAA,UAAU,EAAE;AACV3I,UAAAA,WAAW,EAAE+N,KAAK,CAACpF,UAAU,CAAC3I,WAAAA;SAC/B;AACDsH,QAAAA,KAAK,EAAE;AACLtB,UAAAA,KAAK,EAAE;AACLhG,YAAAA,WAAW,EAAE+N,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAAChG,WAAAA;WAChC;AACDmH,UAAAA,gBAAgB,EAAE;AAChBhD,YAAAA,IAAI,EAAE;cACJnE,WAAW,EAAE+N,KAAK,CAACzG,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACnE,WAAAA;AACjD,aAAA;WACD;AACDiF,UAAAA,QAAQ,EAAE;AACRjF,YAAAA,WAAW,EAAE+N,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACjF,WAAAA;WACnC;AACD+G,UAAAA,KAAK,EAAE;YACL/G,WAAW,EAAE+N,KAAK,CAACzG,KAAK,CAACP,KAAK,CAACC,SAAS,CAAChH,WAAAA;AAC3C,WAAA;SACD;AACDuD,QAAAA,SAAS,EAAE;AACTE,UAAAA,MAAM,EAAE;AACNzD,YAAAA,WAAW,EAAE+N,KAAK,CAACxK,SAAS,CAACE,MAAM,CAACzD,WAAAA;WACrC;AACD2D,UAAAA,MAAM,EAAE;AACN3D,YAAAA,WAAW,EAAE+N,KAAK,CAACxK,SAAS,CAACI,MAAM,CAAC3D,WAAAA;AACtC,WAAA;SACD;AACD4I,QAAAA,QAAQ,EAAE;AACR5I,UAAAA,WAAW,EAAE+N,KAAK,CAACnF,QAAQ,CAAC5I,WAAAA;SAC7B;AACD4M,QAAAA,GAAG,EAAE;AACHpO,UAAAA,OAAO,EAAE;AACPgL,YAAAA,IAAI,EAAE;cACJxJ,WAAW,EAAE+N,KAAK,CAACnB,GAAG,CAACpO,OAAO,CAACgL,IAAI,CAACxJ,WAAAA;aACrC;AACD6M,YAAAA,OAAO,EAAE;cACP7M,WAAW,EAAE+N,KAAK,CAACnB,GAAG,CAACpO,OAAO,CAACqO,OAAO,CAAC7M,WAAAA;AACzC,aAAA;WACD;UACD,SAAS,EAAA;AACPwJ,YAAAA,IAAI,EAAE;AACJxJ,cAAAA,WAAW,EAAE+N,KAAK,CAACnB,GAAG,CAAQ,SAAA,CAAA,CAACpD,IAAI,CAACxJ,WAAAA;aACrC;AACD6M,YAAAA,OAAO,EAAE;AACP7M,cAAAA,WAAW,EAAE+N,KAAK,CAACnB,GAAG,CAAQ,SAAA,CAAA,CAACC,OAAO,CAAC7M,WAAAA;AACzC,aAAA;WACD;AACDlB,UAAAA,MAAM,EAAE;AACN0K,YAAAA,IAAI,EAAE;cACJxJ,WAAW,EAAE+N,KAAK,CAACnB,GAAG,CAAC9N,MAAM,CAAC0K,IAAI,CAACxJ,WAAAA;aACpC;AACD6M,YAAAA,OAAO,EAAE;cACP7M,WAAW,EAAE+N,KAAK,CAACnB,GAAG,CAAC9N,MAAM,CAAC+N,OAAO,CAAC7M,WAAAA;AACxC,aAAA;WACD;AACD8M,UAAAA,IAAI,EAAE;AACJtD,YAAAA,IAAI,EAAE;cACJxJ,WAAW,EAAE+N,KAAK,CAACnB,GAAG,CAACE,IAAI,CAACtD,IAAI,CAACxJ,WAAAA;aAClC;AACD6M,YAAAA,OAAO,EAAE;cACP7M,WAAW,EAAE+N,KAAK,CAACnB,GAAG,CAACE,IAAI,CAACD,OAAO,CAAC7M,WAAAA;AACtC,aAAA;AACF,WAAA;AACF,SAAA;OACD;AACD4xC,MAAAA,GAAG,EAAEN,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAEa,YAAAA;KAChB;AACDlB,IAAAA,KAAK,EAAAp0C,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CACA00C,EAAAA,EAAAA,MAAM,CAACL,QAAQ,CAAA,EACfK,MAAM,CAACJ,QAAQ,GACfC,oCAAoC,CAAA,EAAA,EAAA,EAAA;AACvC/iC,MAAAA,IAAI,EAAE;AACJpN,QAAAA,MAAM,EAAE;AACNC,UAAAA,IAAI,EAAE6M,KAAK,CAAC9M,MAAM,CAACC,IAAI;AACvBC,UAAAA,QAAQ,EAAE4M,KAAK,CAAC9M,MAAM,CAACE,QAAQ;AAC/BC,UAAAA,KAAK,EAAE;AACLF,YAAAA,IAAI,EAAE6M,KAAK,CAAC9M,MAAM,CAACG,KAAK,CAACF,IAAI;AAC7BC,YAAAA,QAAQ,EAAE4M,KAAK,CAAC9M,MAAM,CAACG,KAAK,CAACD,QAAAA;AAC/B,WAAA;SACD;AACDO,QAAAA,MAAM,EAAE;AACNG,UAAAA,QAAQ,EAAEkM,KAAK,CAACrM,MAAM,CAACG,QAAQ;AAC/BC,UAAAA,QAAQ,EAAEiM,KAAK,CAACrM,MAAM,CAACI,QAAQ;AAC/BF,UAAAA,SAAS,EAAEmM,KAAK,CAACrM,MAAM,CAACE,SAAAA;SACzB;QACDuE,IAAI,EAAE4H,KAAK,CAAC5H,IAAI;AAChB5C,QAAAA,SAAS,EAAE;AACTE,UAAAA,MAAM,EAAE;AACNC,YAAAA,MAAM,EAAEqK,KAAK,CAACxK,SAAS,CAACE,MAAM,CAACC,MAAAA;WAChC;AACD5B,UAAAA,QAAQ,EAAEiM,KAAK,CAACxK,SAAS,CAACzB,QAAQ;AAClC0B,UAAAA,mBAAmB,EAAEuK,KAAK,CAACxK,SAAS,CAACC,mBAAmB;AACxD5B,UAAAA,SAAS,EAAEmM,KAAK,CAACxK,SAAS,CAAC3B,SAAAA;SAC5B;AACD8C,QAAAA,WAAW,EAAE;AACX5C,UAAAA,QAAQ,EAAEiM,KAAK,CAACrJ,WAAW,CAAC5C,QAAQ;AACpC8B,UAAAA,cAAc,EAAEmK,KAAK,CAACrJ,WAAW,CAACd,cAAAA;SACnC;AACDe,QAAAA,eAAe,EAAE;AACf/C,UAAAA,SAAS,EAAEmM,KAAK,CAACpJ,eAAe,CAAC/C,SAAAA;SAClC;AACD0F,QAAAA,KAAK,EAAE;AACL1C,UAAAA,YAAY,EAAE;AACZC,YAAAA,MAAM,EAAE;cACNjD,SAAS,EAAEmM,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACC,MAAM,CAACjD,SAAAA;AAC7C,aAAA;WACD;AACDyD,UAAAA,UAAU,EAAE;AACVzD,YAAAA,SAAS,EAAEmM,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACpE,SAAS;AACtC0D,YAAAA,GAAG,EAAE;cACHzD,QAAQ,EAAEkM,KAAK,CAACzG,KAAK,CAACjC,UAAU,CAACC,GAAG,CAACzD,QAAAA;aACtC;AACD0D,YAAAA,KAAK,EAAE;cACL1D,QAAQ,EAAEkM,KAAK,CAACzG,KAAK,CAACjC,UAAU,CAACE,KAAK,CAAC1D,QAAAA;aACxC;AACD2D,YAAAA,IAAI,EAAE;cACJ3D,QAAQ,EAAEkM,KAAK,CAACzG,KAAK,CAACjC,UAAU,CAACG,IAAI,CAAC3D,QAAAA;AACxC,aAAA;WACD;AACDmE,UAAAA,KAAK,EAAE;AACLpE,YAAAA,SAAS,EAAEmM,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACpE,SAAAA;WAC9B;AACDuF,UAAAA,gBAAgB,EAAE;AAChBhD,YAAAA,IAAI,EAAE;cACJvC,SAAS,EAAEmM,KAAK,CAACzG,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAACvC,SAAAA;AAC/C,aAAA;WACD;AACDqD,UAAAA,QAAQ,EAAE;AACRvB,YAAAA,MAAM,EAAEqK,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACvB,MAAM;AACnCc,YAAAA,KAAK,EAAEuJ,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACT,KAAK;AACjCrD,YAAAA,QAAQ,EAAE4M,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAAC9D,QAAQ;AACvCgE,YAAAA,WAAW,EAAE4I,KAAK,CAACzG,KAAK,CAACrC,QAAQ,CAACE,WAAAA;WACnC;AACD4B,UAAAA,KAAK,EAAE;AACL7F,YAAAA,IAAI,EAAE6M,KAAK,CAACzG,KAAK,CAACP,KAAK,CAAC7F,IAAI;AAC5BywC,YAAAA,WAAW,EAAE;cACXzwC,IAAI,EAAE6M,KAAK,CAACzG,KAAK,CAACP,KAAK,CAAC3B,OAAO,CAAC6B,SAAAA;AAClC,aAAA;WACD;AACDG,UAAAA,QAAQ,EAAE;AACRxF,YAAAA,SAAS,EAAEmM,KAAK,CAACzG,KAAK,CAACF,QAAQ,CAACxF,SAAAA;WACjC;AACDyF,UAAAA,UAAU,EAAE;AACVxF,YAAAA,QAAQ,EAAEkM,KAAK,CAACzG,KAAK,CAACD,UAAU,CAACxF,QAAAA;AACnC,WAAA;SACD;AAED8G,QAAAA,UAAU,EAAE;UACVzH,IAAI,EAAE6M,KAAK,CAACpF,UAAU,CAACnE,KAAK,GAAGuJ,KAAK,CAACpF,UAAU,CAAC3I,WAAW;AAC3DwE,UAAAA,KAAK,EAAEuJ,KAAK,CAACpF,UAAU,CAACnE,KAAK;AAC7Bd,UAAAA,MAAM,EAAEqK,KAAK,CAACpF,UAAU,CAACjF,MAAAA;SAC1B;AACD6D,QAAAA,eAAe,EAAE;AACf9D,UAAAA,MAAM,EAAE;AACNC,YAAAA,MAAM,EAAEqK,KAAK,CAACxG,eAAe,CAAC9D,MAAM,CAACC,MAAAA;AACvC,WAAA;SACD;AACD4F,QAAAA,UAAU,EAAE;AACVpI,UAAAA,IAAI,EAAE6M,KAAK,CAACzE,UAAU,CAACpI,IAAAA;SACxB;AACD6L,QAAAA,OAAO,EAAE;AACPjL,UAAAA,QAAQ,EAAEiM,KAAK,CAAChB,OAAO,CAACjL,QAAQ;AAChCoL,UAAAA,KAAK,EAAE;AACL1I,YAAAA,KAAK,EAAEuJ,KAAK,CAAChB,OAAO,CAACG,KAAK,CAAC1I,KAAK;AAChCd,YAAAA,MAAM,EAAEqK,KAAK,CAAChB,OAAO,CAACG,KAAK,CAACxJ,MAAAA;AAC9B,WAAA;SACD;AACD2I,QAAAA,QAAQ,EAAE;AACRG,UAAAA,KAAK,EAAE;AACLC,YAAAA,GAAG,EAAE;cACHvL,IAAI,EAAE6M,KAAK,CAAC1B,QAAQ,CAACG,KAAK,CAACC,GAAG,CAACvL,IAAAA;aAChC;AACDwL,YAAAA,MAAM,EAAE;cACNxL,IAAI,EAAE6M,KAAK,CAAC1B,QAAQ,CAACG,KAAK,CAACE,MAAM,CAACxL,IAAAA;aACnC;AACDyL,YAAAA,MAAM,EAAE;cACNzL,IAAI,EAAE6M,KAAK,CAAC1B,QAAQ,CAACG,KAAK,CAACG,MAAM,CAACzL,IAAAA;AACpC,aAAA;AACF,WAAA;SACD;AACDmK,QAAAA,MAAM,EAAE;AACNC,UAAAA,GAAG,EAAE;YACH,SAAS,EAAA;AACP5H,cAAAA,MAAM,EAAEqK,KAAK,CAAC1C,MAAM,CAACC,GAAG,WAAQ,CAAC5H,MAAAA;aAClC;AACD6H,YAAAA,SAAS,EAAE;cACT7H,MAAM,EAAEqK,KAAK,CAAC1C,MAAM,CAACC,GAAG,CAACC,SAAS,CAAC7H,MAAAA;AACrC,aAAA;AACF,WAAA;AACF,SAAA;OACD;AACDkuC,MAAAA,GAAG,EAAEN,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAEL,KAAAA;KAChB,CAAA;AACDnwB,IAAAA,KAAK,EAAAjkB,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA,CACA00C,EAAAA,EAAAA,MAAM,CAACL,QAAQ,CAAA,EACfK,MAAM,CAACJ,QAAQ,GACfC,oCAAoC,CAAA,EAAA,EAAA,EAAA;AACvC/iC,MAAAA,IAAI,EAAE;AACJ/M,QAAAA,WAAW,EAAE;AACXC,UAAAA,SAAS,EAAE;AACTC,YAAAA,OAAO,EAAEuM,KAAK,CAACzM,WAAW,CAACC,SAAS,CAACC,OAAAA;AACvC,WAAA;SACD;AACDE,QAAAA,MAAM,EAAE;AACNF,UAAAA,OAAO,EAAEuM,KAAK,CAACrM,MAAM,CAACF,OAAAA;SACvB;AACD+B,QAAAA,SAAS,EAAE;AACTK,UAAAA,cAAc,EAAEmK,KAAK,CAACxK,SAAS,CAACK,cAAAA;SACjC;AACDc,QAAAA,WAAW,EAAE;AACXd,UAAAA,cAAc,EAAEmK,KAAK,CAACrJ,WAAW,CAACd,cAAAA;SACnC;AACD0D,QAAAA,KAAK,EAAE;AACL1C,UAAAA,YAAY,EAAE;AACZC,YAAAA,MAAM,EAAE;cACNC,eAAe,EAAEiJ,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACC,MAAM,CAACC,eAAAA;AACnD,aAAA;WACD;AACDO,UAAAA,UAAU,EAAE;AACV7D,YAAAA,OAAO,EAAEuM,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACxE,OAAAA;WAC5B;AACDwE,UAAAA,KAAK,EAAE;AACLxE,YAAAA,OAAO,EAAEuM,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACxE,OAAAA;WAC5B;AACD2F,UAAAA,gBAAgB,EAAE;AAChBhD,YAAAA,IAAI,EAAE;cACJ3C,OAAO,EAAEuM,KAAK,CAACzG,KAAK,CAACH,gBAAgB,CAAChD,IAAI,CAAC3C,OAAAA;AAC7C,aAAA;AACF,WAAA;SACD;AACD+F,QAAAA,eAAe,EAAE;AACfsB,UAAAA,iBAAiB,EAAEkF,KAAK,CAACxG,eAAe,CAACC,uBAAuB;AAChEC,UAAAA,IAAI,EAAE;AACJ3C,YAAAA,eAAe,EAAEiJ,KAAK,CAACxG,eAAe,CAACE,IAAI,CAAC3C,eAAAA;WAC7C;AACDnB,UAAAA,MAAM,EAAE;AACNmB,YAAAA,eAAe,EAAEiJ,KAAK,CAACxG,eAAe,CAAC5D,MAAM,CAACmB,eAAAA;AAChD,WAAA;SACD;AACDlE,QAAAA,SAAS,EAAE;AACTsB,UAAAA,MAAM,EAAE;AACNV,YAAAA,OAAO,EAAEuM,KAAK,CAACnN,SAAS,CAACY,OAAO,CAACU,MAAAA;WAClC;AACDd,UAAAA,KAAK,EAAE;AACLI,YAAAA,OAAO,EAAEuM,KAAK,CAACnN,SAAS,CAACY,OAAO,CAACJ,KAAAA;AACnC,WAAA;SACD;AACDwH,QAAAA,QAAQ,EAAE;AACR9D,UAAAA,eAAe,EAAEiJ,KAAK,CAACnF,QAAQ,CAAC9D,eAAe;AAC/C+D,UAAAA,iBAAiB,EAAEkF,KAAK,CAACnF,QAAQ,CAACC,iBAAAA;SACnC;AACD+D,QAAAA,GAAG,EAAE;AACH9H,UAAAA,eAAe,EAAEiJ,KAAK,CAACnB,GAAG,CAAC9H,eAAe;AAC1C+D,UAAAA,iBAAiB,EAAEkF,KAAK,CAACnB,GAAG,CAAC/D,iBAAAA;SAC9B;AACDkE,QAAAA,OAAO,EAAE;AACPlE,UAAAA,iBAAiB,EAAEkF,KAAK,CAAChB,OAAO,CAAClE,iBAAiB;AAClD/D,UAAAA,eAAe,EAAEiJ,KAAK,CAAChB,OAAO,CAACjI,eAAe;AAC9CkI,UAAAA,eAAe,EAAEe,KAAK,CAAChB,OAAO,CAACC,eAAAA;SAChC;AACD3B,QAAAA,MAAM,EAAE;AACNG,UAAAA,OAAO,EAAE;AACP3G,YAAAA,MAAM,EAAE;cACNC,eAAe,EAAEiJ,KAAK,CAAC1C,MAAM,CAACG,OAAO,CAAC3G,MAAM,CAACC,eAAe;cAC5D+D,iBAAiB,EAAEkF,KAAK,CAAC1C,MAAM,CAACG,OAAO,CAAC3G,MAAM,CAACgE,iBAAAA;AACjD,aAAA;WACD;AACDiC,UAAAA,GAAG,EAAE;AACHjG,YAAAA,MAAM,EAAE;cACNC,eAAe,EAAEiJ,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAACjG,MAAM,CAACC,eAAe;cACxD+D,iBAAiB,EAAEkF,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAACjG,MAAM,CAACgE,iBAAAA;AAC7C,aAAA;AACF,WAAA;AACF,SAAA;OACD;AACD+oC,MAAAA,GAAG,EAAEN,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAExwB,KAAAA;KAChB,CAAA;AACDxT,IAAAA,WAAW,EAAAzQ,aAAA,CAAA;AACT;MACAmF,IAAI,EAAE2R,eAAe,CAACC,IAAI;MAC1BxP,KAAK,EAAEuP,eAAe,CAACE,KAAK;MAC5B3R,MAAM,EAAEyR,eAAe,CAACG,MAAM;MAC9B1S,KAAK,EAAEuS,eAAe,CAACI,KAAK;MAC5BvG,IAAI,EAAEmG,eAAe,CAACK,IAAI;AAE1B;MACAg+B,EAAE,EAAEjoB,MAAM,CAACC,gBAAgB;MAC3B+nB,EAAE,EAAEhoB,MAAM,CAACC,gBAAgB;MAC3B8nB,EAAE,EAAE/nB,MAAM,CAACC,gBAAgB;MAC3BioB,EAAE,EAAEloB,MAAM,CAACC,gBAAgB;MAC3B,KAAK,EAAED,MAAM,CAACC,gBAAAA;AAAgB,KAAA,EAG3BwnB,cAAc,CAClB;AAEDY,IAAAA,SAAS,EAAE;AACTlqC,MAAAA,YAAY,EAAE;AACZ;AACAI,QAAAA,OAAO,KAAApN,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC3C,OAAO,CAACJ,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AACrFW,QAAAA,OAAO,KAAArN,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC1C,OAAO,CAACL,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AACrFY,QAAAA,OAAO,KAAAtN,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACzC,OAAO,CAACN,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AACrFa,QAAAA,OAAO,KAAAvN,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACxC,OAAO,CAACP,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AACrFc,QAAAA,OAAO,KAAAxN,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACvC,OAAO,CAACR,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AACrF,QAAA,YAAY,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,YAAY,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAC9F,QAAA,aAAa,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,aAAa,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAChGH,QAAAA,IAAI,KAAAvM,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAACxD,IAAI,CAACS,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAC7E,QAAA,YAAY,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,YAAY,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAC9F,QAAA,aAAa,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,aAAa,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QAChG,mBAAmB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACxH,kBAAkB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACtH,iBAAiB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACpH,iBAAiB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACpH,iBAAiB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACpH,kBAAkB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACtH,mBAAmB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACxH,oBAAoB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAC1H;QACA,oBAAoB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QAC1H,mBAAmB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACxH,kBAAkB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACtH,kBAAkB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACtH,kBAAkB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACtH,mBAAmB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QACxH,oBAAoB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;QAC1H,qBAAqB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,qBAAqB,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAC5H,QAAA,aAAa,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,aAAa,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAClG,QAAA,YAAY,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,YAAY,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAChG,QAAA,WAAW,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAC9F,QAAA,WAAW,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAC9F,QAAA,WAAW,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAC9F,QAAA,YAAY,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,YAAY,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAChG,QAAA,aAAa,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,aAAa,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AAClG,QAAA,SAAS,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,SAAS,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AACxF,QAAA,QAAQ,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AACtF,QAAA,QAAQ,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AACtF,QAAA,QAAQ,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAI,IAAA,CAAA;AACtF,QAAA,SAAS,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,SAAS,CAAC,CAAC/C,YAAY,CAACN,QAAQ,EAAA,IAAA,CAAA;OACrF;AACDO,MAAAA,aAAa,EAAE;AACb;AACAG,QAAAA,OAAO,KAAApN,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC3C,OAAO,CAACH,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACtFW,QAAAA,OAAO,KAAArN,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC1C,OAAO,CAACJ,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACtFY,QAAAA,OAAO,KAAAtN,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACzC,OAAO,CAACL,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACtFa,QAAAA,OAAO,KAAAvN,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACxC,OAAO,CAACN,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACtFc,QAAAA,OAAO,KAAAxN,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACvC,OAAO,CAACP,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACtF,QAAA,YAAY,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,YAAY,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AAC/F,QAAA,aAAa,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,aAAa,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACjGH,QAAAA,IAAI,KAAAvM,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAACxD,IAAI,CAACU,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AAC9E,QAAA,YAAY,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,YAAY,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AAC/F,QAAA,aAAa,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,aAAa,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACjG,mBAAmB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACzH,kBAAkB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACvH,iBAAiB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACrH,iBAAiB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACrH,iBAAiB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACrH,kBAAkB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACvH,mBAAmB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACzH,oBAAoB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AAC3H;QACA,oBAAoB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QAC3H,mBAAmB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACzH,kBAAkB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACvH,kBAAkB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACvH,kBAAkB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACvH,mBAAmB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QACzH,oBAAoB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;QAC3H,qBAAqB,EAAA,EAAA,CAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,qBAAqB,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AAC7H,QAAA,aAAa,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,aAAa,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACnG,QAAA,YAAY,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,YAAY,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACjG,QAAA,WAAW,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AAC/F,QAAA,WAAW,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AAC/F,QAAA,WAAW,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AAC/F,QAAA,YAAY,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,YAAY,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACjG,QAAA,aAAa,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,aAAa,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACnG,QAAA,SAAS,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,SAAS,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACzF,QAAA,QAAQ,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACvF,QAAA,QAAQ,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACvF,QAAA,QAAQ,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAI,IAAA,CAAA;AACvF,QAAA,SAAS,KAAA1M,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,SAAS,CAAC,CAAC9C,aAAa,CAACP,QAAQ,EAAA,IAAA,CAAA;AACvF,OAAA;KACD;AACDyqC,IAAAA,WAAW,EAAE;AACXnqC,MAAAA,YAAY,EAAE;AACZ;AACAI,QAAAA,OAAO,EAAEyF,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC3C,OAAO,CAACJ,YAAY,CAACmC,UAAU;AAChF9B,QAAAA,OAAO,EAAEwF,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC1C,OAAO,CAACL,YAAY,CAACmC,UAAU;AAChF7B,QAAAA,OAAO,EAAEuF,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACzC,OAAO,CAACN,YAAY,CAACmC,UAAU;AAChF5B,QAAAA,OAAO,EAAEsF,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACxC,OAAO,CAACP,YAAY,CAACmC,UAAU;AAChF3B,QAAAA,OAAO,EAAEqF,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACvC,OAAO,CAACR,YAAY,CAACmC,UAAU;AAChF,QAAA,YAAY,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,YAAY,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AACzF,QAAA,aAAa,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,aAAa,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AAC3F5C,QAAAA,IAAI,EAAEsG,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAACxD,IAAI,CAACS,YAAY,CAACmC,UAAU;AACxE,QAAA,YAAY,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,YAAY,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AACzF,QAAA,aAAa,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,aAAa,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AAC3F,QAAA,mBAAmB,EACjB0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AAChG,QAAA,kBAAkB,EAChB0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AAC/F,QAAA,iBAAiB,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AAC/G,QAAA,iBAAiB,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AAC/G,QAAA,iBAAiB,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AAC/G,QAAA,kBAAkB,EAChB0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AAC/F,QAAA,mBAAmB,EACjB0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AAChG,QAAA,oBAAoB,EAClB0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC/C,YAAY,CAACmC,UAAU;AACjG;QACA,oBAAoB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;QAC5H,mBAAmB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;QAC1H,kBAAkB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;QACxH,kBAAkB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;QACxH,kBAAkB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;QACxH,mBAAmB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;QAC1H,oBAAoB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;QAC5H,qBAAqB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,qBAAqB,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AAC9H,QAAA,aAAa,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,aAAa,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AACpG,QAAA,YAAY,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,YAAY,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AAClG,QAAA,WAAW,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AAChG,QAAA,WAAW,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AAChG,QAAA,WAAW,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AAChG,QAAA,YAAY,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,YAAY,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AAClG,QAAA,aAAa,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,aAAa,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AACpG,QAAA,SAAS,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,SAAS,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AAC1F,QAAA,QAAQ,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AACxF,QAAA,QAAQ,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AACxF,QAAA,QAAQ,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAI,IAAA,CAAA;AACxF,QAAA,SAAS,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,SAAS,CAAC,CAAC/C,YAAY,CAACmC,UAAU,EAAA,IAAA,CAAA;OACvF;AACDlC,MAAAA,aAAa,EAAE;AACb;AACAG,QAAAA,OAAO,EAAEyF,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC3C,OAAO,CAACH,aAAa,CAACkC,UAAU;AACjF9B,QAAAA,OAAO,EAAEwF,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC1C,OAAO,CAACJ,aAAa,CAACkC,UAAU;AACjF7B,QAAAA,OAAO,EAAEuF,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACzC,OAAO,CAACL,aAAa,CAACkC,UAAU;AACjF5B,QAAAA,OAAO,EAAEsF,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACxC,OAAO,CAACN,aAAa,CAACkC,UAAU;AACjF3B,QAAAA,OAAO,EAAEqF,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAACvC,OAAO,CAACP,aAAa,CAACkC,UAAU;AACjF,QAAA,YAAY,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,YAAY,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AAC1F,QAAA,aAAa,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,aAAa,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AAC5F5C,QAAAA,IAAI,EAAEsG,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAACxD,IAAI,CAACU,aAAa,CAACkC,UAAU;AACzE,QAAA,YAAY,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,YAAY,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AAC1F,QAAA,aAAa,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,aAAa,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AAC5F,QAAA,mBAAmB,EACjB0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AACjG,QAAA,kBAAkB,EAChB0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AAChG,QAAA,iBAAiB,EACf0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AAC/F,QAAA,iBAAiB,EACf0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AAC/F,QAAA,iBAAiB,EACf0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,iBAAiB,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AAC/F,QAAA,kBAAkB,EAChB0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AAChG,QAAA,mBAAmB,EACjB0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AACjG,QAAA,oBAAoB,EAClB0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC9C,aAAa,CAACkC,UAAU;AAClG;QACA,oBAAoB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;QAC7H,mBAAmB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;QAC3H,kBAAkB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;QACzH,kBAAkB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;QACzH,kBAAkB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,kBAAkB,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;QACzH,mBAAmB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,mBAAmB,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;QAC3H,oBAAoB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,oBAAoB,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;QAC7H,qBAAqB,EAAA,EAAA,CAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACO,OAAO,CAAC,qBAAqB,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AAC/H,QAAA,aAAa,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,aAAa,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AACrG,QAAA,YAAY,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,YAAY,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AACnG,QAAA,WAAW,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AACjG,QAAA,WAAW,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AACjG,QAAA,WAAW,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,WAAW,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AACjG,QAAA,YAAY,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,YAAY,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AACnG,QAAA,aAAa,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACM,OAAO,CAAC,aAAa,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AACrG,QAAA,SAAS,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,SAAS,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AAC3F,QAAA,QAAQ,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AACzF,QAAA,QAAQ,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AACzF,QAAA,QAAQ,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,QAAQ,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAI,IAAA,CAAA;AACzF,QAAA,SAAS,KAAAnP,MAAA,CAAK6S,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAAC,SAAS,CAAC,CAAC9C,aAAa,CAACkC,UAAU,EAAA,IAAA,CAAA;AACzF,OAAA;KACD;AACDioC,IAAAA,WAAW,EAAE;AACX3nC,MAAAA,QAAQ,EAAE;QACRjD,OAAO,EAAEqG,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACI,UAAU,CAACrD,OAAO;QAC3DmD,IAAI,EAAEkD,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACI,UAAU,CAACF,IAAAA;OAClD;AACD,MAAA,iBAAiB,EAAE;QACjBnD,OAAO,EAAEqG,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACK,UAAU;QAC7DF,IAAI,EAAEkD,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACK,UAAAA;OACjD;AACDG,MAAAA,MAAM,EAAE;QACNxD,OAAO,EAAEqG,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACH,UAAU,CAACrD,OAAO;AACzD;AACAmD,QAAAA,IAAI,EAAEuM,QAAQ,CAACC,EAAE,KAAK,SAAS,GAAG,GAAG,GAAGtJ,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACH,UAAU,CAACF,IAAAA;AACnF,OAAA;KACD;AACD0nC,IAAAA,KAAK,EAAE;AACL5nC,MAAAA,QAAQ,EACNyM,QAAQ,CAACC,EAAE,KAAK,KAAK,GACjBtJ,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACE,GAAG,GAC9CiD,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACC,QAAQ,CAACC,UAAU,CAAO,QAAA,CAAA;AACvD,MAAA,iBAAiB,EACfwM,QAAQ,CAACC,EAAE,KAAK,KAAK,GACjBtJ,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACE,UAAU,CAACE,GAAG,GACxDiD,KAAK,CAACvD,UAAU,CAACE,KAAK,CAAC,iBAAiB,CAAC,CAACE,UAAU,CAAO,QAAA,CAAA;MACjEM,MAAM,EACJkM,QAAQ,CAACC,EAAE,KAAK,KAAK,GACjBtJ,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACN,UAAU,CAACE,GAAG,GAC5CiD,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACN,UAAU,CAAA,QAAA,CAAA;KAC/C;AAEDa,IAAAA,OAAO,EAAE;AACP4C,MAAAA,IAAI,EAAE;AACJ5C,QAAAA,OAAO,EAAE;AACPC,UAAAA,KAAK,EAAE;AACLC,YAAAA,GAAG,EAAE;cACH6mC,WAAW,EAAEzkC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACC,GAAG,CAACzL,KAAK;AAC1CuyC,cAAAA,YAAY,EAAE;gBAAEjuC,KAAK,EAAEuJ,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACC,GAAG,CAACxL,OAAO;gBAAEuD,MAAM,EAAEqK,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACC,GAAG,CAACvL,OAAAA;eAAS;cACjGsyC,aAAa,EAAE3kC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACC,GAAG,CAACtL,OAAO;cAC9CsyC,YAAY,EAAE5kC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACC,GAAG,CAACrL,MAAAA;aACvC;AACD4B,YAAAA,MAAM,EAAE;cACNswC,WAAW,EAAEzkC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACxJ,MAAM,CAAChC,KAAK;AAC7CuyC,cAAAA,YAAY,EAAE;gBAAEjuC,KAAK,EAAEuJ,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACxJ,MAAM,CAAC/B,OAAO;gBAAEuD,MAAM,EAAEqK,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACxJ,MAAM,CAAC9B,OAAAA;eAAS;cACvGsyC,aAAa,EAAE3kC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACxJ,MAAM,CAAC7B,OAAO;cACjDsyC,YAAY,EAAE5kC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACxJ,MAAM,CAAC5B,MAAAA;aAC1C;AACDsL,YAAAA,QAAQ,EAAE;cACR4mC,WAAW,EAAEzkC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACE,QAAQ,CAAC1L,KAAK;AAC/CuyC,cAAAA,YAAY,EAAE;gBACZjuC,KAAK,EAAEuJ,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACE,QAAQ,CAACzL,OAAO;gBAC3CuD,MAAM,EAAEqK,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACE,QAAQ,CAACxL,OAAAA;eACtC;cACDsyC,aAAa,EAAE3kC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACE,QAAQ,CAACvL,OAAO;cACnDsyC,YAAY,EAAE5kC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACE,QAAQ,CAACtL,MAAAA;aAC5C;AACDuL,YAAAA,UAAU,EAAE;cACV2mC,WAAW,EAAEzkC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACG,UAAU,CAAC3L,KAAK;AACjDuyC,cAAAA,YAAY,EAAE;gBACZjuC,KAAK,EAAEuJ,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACG,UAAU,CAAC1L,OAAO;gBAC7CuD,MAAM,EAAEqK,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACG,UAAU,CAACzL,OAAAA;eACxC;cACDsyC,aAAa,EAAE3kC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACG,UAAU,CAACxL,OAAO;cACrDsyC,YAAY,EAAE5kC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACG,UAAU,CAACvL,MAAAA;aAC9C;AACDwL,YAAAA,SAAS,EAAE;cACT0mC,WAAW,EAAEzkC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACI,SAAS,CAAC5L,KAAK;AAChDuyC,cAAAA,YAAY,EAAE;gBACZjuC,KAAK,EAAEuJ,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACI,SAAS,CAAC3L,OAAO;gBAC5CuD,MAAM,EAAEqK,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACI,SAAS,CAAC1L,OAAAA;eACvC;cACDsyC,aAAa,EAAE3kC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACI,SAAS,CAACzL,OAAO;cACpDsyC,YAAY,EAAE5kC,KAAK,CAACtC,OAAO,CAACC,KAAK,CAACI,SAAS,CAACxL,MAAAA;AAC9C,aAAA;WACD;AACDyL,UAAAA,UAAU,EAAE;AACVC,YAAAA,IAAI,EAAE;cACJwmC,WAAW,EAAEzkC,KAAK,CAACtC,OAAO,CAACM,UAAU,CAACC,IAAI,CAAC9L,KAAK;AAChDuyC,cAAAA,YAAY,EAAE;gBACZjuC,KAAK,EAAEuJ,KAAK,CAACtC,OAAO,CAACM,UAAU,CAACC,IAAI,CAAC7L,OAAO;gBAC5CuD,MAAM,EAAEqK,KAAK,CAACtC,OAAO,CAACM,UAAU,CAACC,IAAI,CAAC5L,OAAAA;eACvC;cACDsyC,aAAa,EAAE3kC,KAAK,CAACtC,OAAO,CAACM,UAAU,CAACC,IAAI,CAAC3L,OAAO;cACpDsyC,YAAY,EAAE5kC,KAAK,CAACtC,OAAO,CAACM,UAAU,CAACC,IAAI,CAAC1L,MAAAA;aAC7C;AACD2L,YAAAA,KAAK,EAAE;cACLumC,WAAW,EAAEzkC,KAAK,CAACtC,OAAO,CAACM,UAAU,CAACE,KAAK,CAAC/L,KAAK;AACjDuyC,cAAAA,YAAY,EAAE;gBACZjuC,KAAK,EAAEuJ,KAAK,CAACtC,OAAO,CAACM,UAAU,CAACE,KAAK,CAAC9L,OAAO;gBAC7CuD,MAAM,EAAEqK,KAAK,CAACtC,OAAO,CAACM,UAAU,CAACE,KAAK,CAAC7L,OAAAA;eACxC;cACDsyC,aAAa,EAAE3kC,KAAK,CAACtC,OAAO,CAACM,UAAU,CAACE,KAAK,CAAC5L,OAAO;cACrDsyC,YAAY,EAAE5kC,KAAK,CAACtC,OAAO,CAACM,UAAU,CAACE,KAAK,CAAC3L,MAAAA;AAC/C,aAAA;WACD;AACD4L,UAAAA,KAAK,EAAE;AACLsmC,YAAAA,WAAW,EAAEzkC,KAAK,CAACtC,OAAO,CAACS,KAAK,CAAChM,KAAK;AACtCuyC,YAAAA,YAAY,EAAE;AAAEjuC,cAAAA,KAAK,EAAEuJ,KAAK,CAACtC,OAAO,CAACS,KAAK,CAAC/L,OAAO;AAAEuD,cAAAA,MAAM,EAAEqK,KAAK,CAACtC,OAAO,CAACS,KAAK,CAAC9L,OAAAA;aAAS;AACzFsyC,YAAAA,aAAa,EAAE3kC,KAAK,CAACtC,OAAO,CAACS,KAAK,CAAC7L,OAAO;AAC1CsyC,YAAAA,YAAY,EAAE5kC,KAAK,CAACtC,OAAO,CAACS,KAAK,CAAC5L,MAAAA;AACpC,WAAA;SACD;AACDV,QAAAA,UAAU,EAAE;AACVe,UAAAA,SAAS,EAAE;YACT,SAAS,EAAA;AACPV,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAAQ,SAAA,CAAA,CAACV,MAAM,CAACC,KAAK;AAC5DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACe,SAAS,CAAQ,SAAA,CAAA,CAACV,MAAM,CAACE,OAAO;kBACxDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACe,SAAS,CAAA,SAAA,CAAQ,CAACV,MAAM,CAACG,OAAAA;iBACnD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAAQ,SAAA,CAAA,CAACV,MAAM,CAACI,OAAO;gBAChEsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAAA,SAAA,CAAQ,CAACV,MAAM,CAACK,MAAAA;AAC1D,eAAA;aACD;AACDE,YAAAA,OAAO,EAAE;AACPP,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACH,OAAO,CAACP,MAAM,CAACC,KAAK;AAC5DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACH,OAAO,CAACP,MAAM,CAACE,OAAO;kBACxDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACH,OAAO,CAACP,MAAM,CAACG,OAAAA;iBACnD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACH,OAAO,CAACP,MAAM,CAACI,OAAO;gBAChEsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACH,OAAO,CAACP,MAAM,CAACK,MAAAA;AAC1D,eAAA;aACD;AACDG,YAAAA,OAAO,EAAE;AACPR,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACF,OAAO,CAACR,MAAM,CAACC,KAAK;AAC5DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACF,OAAO,CAACR,MAAM,CAACE,OAAO;kBACxDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACF,OAAO,CAACR,MAAM,CAACG,OAAAA;iBACnD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACF,OAAO,CAACR,MAAM,CAACI,OAAO;gBAChEsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACF,OAAO,CAACR,MAAM,CAACK,MAAAA;AAC1D,eAAA;aACD;AACDI,YAAAA,OAAO,EAAE;AACPT,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACD,OAAO,CAACT,MAAM,CAACC,KAAK;AAC5DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACD,OAAO,CAACT,MAAM,CAACE,OAAO;kBACxDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACD,OAAO,CAACT,MAAM,CAACG,OAAAA;iBACnD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACD,OAAO,CAACT,MAAM,CAACI,OAAO;gBAChEsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACD,OAAO,CAACT,MAAM,CAACK,MAAAA;AAC1D,eAAA;aACD;AACDd,YAAAA,QAAQ,EAAE;AACRS,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACnB,QAAQ,CAACS,MAAM,CAACC,KAAK;AAC7DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACnB,QAAQ,CAACS,MAAM,CAACE,OAAO;kBACzDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACnB,QAAQ,CAACS,MAAM,CAACG,OAAAA;iBACpD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACnB,QAAQ,CAACS,MAAM,CAACI,OAAO;gBACjEsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACe,SAAS,CAACnB,QAAQ,CAACS,MAAM,CAACK,MAAAA;AAC3D,eAAA;AACF,aAAA;WACD;AACD9B,UAAAA,OAAO,EAAE;YACP,SAAS,EAAA;AACPyB,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAAQ,SAAA,CAAA,CAACyB,MAAM,CAACC,KAAK;AAC1DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAAQ,SAAA,CAAA,CAACyB,MAAM,CAACE,OAAO;kBACtDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAAA,SAAA,CAAQ,CAACyB,MAAM,CAACG,OAAAA;iBACjD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAAQ,SAAA,CAAA,CAACyB,MAAM,CAACI,OAAO;gBAC9DsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAAA,SAAA,CAAQ,CAACyB,MAAM,CAACK,MAAAA;AACxD,eAAA;aACD;AACDE,YAAAA,OAAO,EAAE;AACPP,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgC,OAAO,CAACP,MAAM,CAACC,KAAK;AAC1DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgC,OAAO,CAACP,MAAM,CAACE,OAAO;kBACtDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgC,OAAO,CAACP,MAAM,CAACG,OAAAA;iBACjD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgC,OAAO,CAACP,MAAM,CAACI,OAAO;gBAC9DsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgC,OAAO,CAACP,MAAM,CAACK,MAAAA;AACxD,eAAA;aACD;AACDG,YAAAA,OAAO,EAAE;AACPR,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACiC,OAAO,CAACR,MAAM,CAACC,KAAK;AAC1DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACiC,OAAO,CAACR,MAAM,CAACE,OAAO;kBACtDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACiC,OAAO,CAACR,MAAM,CAACG,OAAAA;iBACjD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACiC,OAAO,CAACR,MAAM,CAACI,OAAO;gBAC9DsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACiC,OAAO,CAACR,MAAM,CAACK,MAAAA;AACxD,eAAA;aACD;AACDI,YAAAA,OAAO,EAAE;AACPT,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACkC,OAAO,CAACT,MAAM,CAACC,KAAK;AAC1DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACkC,OAAO,CAACT,MAAM,CAACE,OAAO;kBACtDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACkC,OAAO,CAACT,MAAM,CAACG,OAAAA;iBACjD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACkC,OAAO,CAACT,MAAM,CAACI,OAAO;gBAC9DsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACkC,OAAO,CAACT,MAAM,CAACK,MAAAA;AACxD,eAAA;aACD;AACDd,YAAAA,QAAQ,EAAE;AACRS,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgB,QAAQ,CAACS,MAAM,CAACC,KAAK;AAC3DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgB,QAAQ,CAACS,MAAM,CAACE,OAAO;kBACvDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgB,QAAQ,CAACS,MAAM,CAACG,OAAAA;iBAClD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgB,QAAQ,CAACS,MAAM,CAACI,OAAO;gBAC/DsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACpB,OAAO,CAACgB,QAAQ,CAACS,MAAM,CAACK,MAAAA;AACzD,eAAA;AACF,aAAA;WACD;AACD,UAAA,qBAAqB,EAAE;YACrB,SAAS,EAAA;AACPL,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAQ,SAAA,CAAA,CAACK,MAAM,CAACC,KAAK;AACzEuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAQ,SAAA,CAAA,CAACK,MAAM,CAACE,OAAO;kBACrEuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAA,SAAA,CAAQ,CAACK,MAAM,CAACG,OAAAA;iBAChE;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAQ,SAAA,CAAA,CAACK,MAAM,CAACI,OAAO;gBAC7EsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAA,SAAA,CAAQ,CAACK,MAAM,CAACK,MAAAA;AACvE,eAAA;aACD;AACDE,YAAAA,OAAO,EAAE;AACPP,cAAAA,MAAM,EAAE;AACNuyC,gBAAAA,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACP,MAAM,CAACC,KAAK;AACzEuyC,gBAAAA,YAAY,EAAE;AACZjuC,kBAAAA,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACP,MAAM,CAACE,OAAO;kBACrEuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACP,MAAM,CAACG,OAAAA;iBAChE;AACDsyC,gBAAAA,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACP,MAAM,CAACI,OAAO;gBAC7EsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACP,MAAM,CAACK,MAAAA;AACvE,eAAA;aACD;AACDG,YAAAA,OAAO,EAAE;AACPR,cAAAA,MAAM,EAAE;AACNuyC,gBAAAA,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACR,MAAM,CAACC,KAAK;AACzEuyC,gBAAAA,YAAY,EAAE;AACZjuC,kBAAAA,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACR,MAAM,CAACE,OAAO;kBACrEuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACR,MAAM,CAACG,OAAAA;iBAChE;AACDsyC,gBAAAA,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACR,MAAM,CAACI,OAAO;gBAC7EsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACR,MAAM,CAACK,MAAAA;AACvE,eAAA;aACD;AACDI,YAAAA,OAAO,EAAE;AACPT,cAAAA,MAAM,EAAE;AACNuyC,gBAAAA,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACT,MAAM,CAACC,KAAK;AACzEuyC,gBAAAA,YAAY,EAAE;AACZjuC,kBAAAA,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACT,MAAM,CAACE,OAAO;kBACrEuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACT,MAAM,CAACG,OAAAA;iBAChE;AACDsyC,gBAAAA,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACT,MAAM,CAACI,OAAO;gBAC7EsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACT,MAAM,CAACK,MAAAA;AACvE,eAAA;aACD;AACDd,YAAAA,QAAQ,EAAE;AACRS,cAAAA,MAAM,EAAE;AACNuyC,gBAAAA,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACS,MAAM,CAACC,KAAK;AAC1EuyC,gBAAAA,YAAY,EAAE;AACZjuC,kBAAAA,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACS,MAAM,CAACE,OAAO;kBACtEuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACS,MAAM,CAACG,OAAAA;iBACjE;AACDsyC,gBAAAA,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACS,MAAM,CAACI,OAAO;gBAC9EsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACS,MAAM,CAACK,MAAAA;AACxE,eAAA;AACF,aAAA;WACD;AACD,UAAA,qBAAqB,EAAE;YACrB,SAAS,EAAA;AACPL,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAQ,SAAA,CAAA,CAACK,MAAM,CAACC,KAAK;AACzEuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAQ,SAAA,CAAA,CAACK,MAAM,CAACE,OAAO;kBACrEuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAA,SAAA,CAAQ,CAACK,MAAM,CAACG,OAAAA;iBAChE;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAQ,SAAA,CAAA,CAACK,MAAM,CAACI,OAAO;gBAC7EsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAAA,SAAA,CAAQ,CAACK,MAAM,CAACK,MAAAA;AACvE,eAAA;aACD;AACDE,YAAAA,OAAO,EAAE;AACPP,cAAAA,MAAM,EAAE;AACNuyC,gBAAAA,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACP,MAAM,CAACC,KAAK;AACzEuyC,gBAAAA,YAAY,EAAE;AACZjuC,kBAAAA,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACP,MAAM,CAACE,OAAO;kBACrEuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACP,MAAM,CAACG,OAAAA;iBAChE;AACDsyC,gBAAAA,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACP,MAAM,CAACI,OAAO;gBAC7EsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACY,OAAO,CAACP,MAAM,CAACK,MAAAA;AACvE,eAAA;aACD;AACDG,YAAAA,OAAO,EAAE;AACPR,cAAAA,MAAM,EAAE;AACNuyC,gBAAAA,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACR,MAAM,CAACC,KAAK;AACzEuyC,gBAAAA,YAAY,EAAE;AACZjuC,kBAAAA,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACR,MAAM,CAACE,OAAO;kBACrEuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACR,MAAM,CAACG,OAAAA;iBAChE;AACDsyC,gBAAAA,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACR,MAAM,CAACI,OAAO;gBAC7EsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACa,OAAO,CAACR,MAAM,CAACK,MAAAA;AACvE,eAAA;aACD;AACDI,YAAAA,OAAO,EAAE;AACPT,cAAAA,MAAM,EAAE;AACNuyC,gBAAAA,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACT,MAAM,CAACC,KAAK;AACzEuyC,gBAAAA,YAAY,EAAE;AACZjuC,kBAAAA,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACT,MAAM,CAACE,OAAO;kBACrEuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACT,MAAM,CAACG,OAAAA;iBAChE;AACDsyC,gBAAAA,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACT,MAAM,CAACI,OAAO;gBAC7EsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACc,OAAO,CAACT,MAAM,CAACK,MAAAA;AACvE,eAAA;aACD;AACDd,YAAAA,QAAQ,EAAE;AACRS,cAAAA,MAAM,EAAE;AACNuyC,gBAAAA,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACS,MAAM,CAACC,KAAK;AAC1EuyC,gBAAAA,YAAY,EAAE;AACZjuC,kBAAAA,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACS,MAAM,CAACE,OAAO;kBACtEuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACS,MAAM,CAACG,OAAAA;iBACjE;AACDsyC,gBAAAA,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACS,MAAM,CAACI,OAAO;gBAC9EsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAAC,qBAAqB,CAAC,CAACJ,QAAQ,CAACS,MAAM,CAACK,MAAAA;AACxE,eAAA;AACF,aAAA;WACD;AACDM,UAAAA,SAAS,EAAE;YACT,SAAS,EAAA;AACPX,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAAQ,SAAA,CAAA,CAACX,MAAM,CAACC,KAAK;AAC5DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAAQ,SAAA,CAAA,CAACX,MAAM,CAACE,OAAO;kBACxDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAAA,SAAA,CAAQ,CAACX,MAAM,CAACG,OAAAA;iBACnD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAAQ,SAAA,CAAA,CAACX,MAAM,CAACI,OAAO;gBAChEsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAAA,SAAA,CAAQ,CAACX,MAAM,CAACK,MAAAA;AAC1D,eAAA;aACD;AACDE,YAAAA,OAAO,EAAE;AACPP,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACJ,OAAO,CAACP,MAAM,CAACC,KAAK;AAC5DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACJ,OAAO,CAACP,MAAM,CAACE,OAAO;kBACxDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACJ,OAAO,CAACP,MAAM,CAACG,OAAAA;iBACnD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACJ,OAAO,CAACP,MAAM,CAACI,OAAO;gBAChEsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACJ,OAAO,CAACP,MAAM,CAACK,MAAAA;AAC1D,eAAA;aACD;AACDG,YAAAA,OAAO,EAAE;AACPR,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACH,OAAO,CAACR,MAAM,CAACC,KAAK;AAC5DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACH,OAAO,CAACR,MAAM,CAACE,OAAO;kBACxDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACH,OAAO,CAACR,MAAM,CAACG,OAAAA;iBACnD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACH,OAAO,CAACR,MAAM,CAACI,OAAO;gBAChEsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACH,OAAO,CAACR,MAAM,CAACK,MAAAA;AAC1D,eAAA;aACD;AACDI,YAAAA,OAAO,EAAE;AACPT,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACF,OAAO,CAACT,MAAM,CAACC,KAAK;AAC5DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACF,OAAO,CAACT,MAAM,CAACE,OAAO;kBACxDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACF,OAAO,CAACT,MAAM,CAACG,OAAAA;iBACnD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACF,OAAO,CAACT,MAAM,CAACI,OAAO;gBAChEsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACF,OAAO,CAACT,MAAM,CAACK,MAAAA;AAC1D,eAAA;aACD;AACDd,YAAAA,QAAQ,EAAE;AACRS,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACpB,QAAQ,CAACS,MAAM,CAACC,KAAK;AAC7DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACpB,QAAQ,CAACS,MAAM,CAACE,OAAO;kBACzDuD,MAAM,EAAEqK,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACpB,QAAQ,CAACS,MAAM,CAACG,OAAAA;iBACpD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACpB,QAAQ,CAACS,MAAM,CAACI,OAAO;gBACjEsyC,YAAY,EAAE5kC,KAAK,CAACnO,UAAU,CAACgB,SAAS,CAACpB,QAAQ,CAACS,MAAM,CAACK,MAAAA;AAC3D,eAAA;AACF,aAAA;AACF,WAAA;SACD;AACDiD,QAAAA,SAAS,EAAE;AACTtD,UAAAA,MAAM,EAAE;AACNuyC,YAAAA,WAAW,EAAEzkC,KAAK,CAACxK,SAAS,CAACtD,MAAM,CAACC,KAAK;AACzCuyC,YAAAA,YAAY,EAAE;AAAEjuC,cAAAA,KAAK,EAAEuJ,KAAK,CAACxK,SAAS,CAACtD,MAAM,CAACE,OAAO;AAAEuD,cAAAA,MAAM,EAAEqK,KAAK,CAACxK,SAAS,CAACtD,MAAM,CAACG,OAAAA;aAAS;AAC/FsyC,YAAAA,aAAa,EAAE3kC,KAAK,CAACxK,SAAS,CAACtD,MAAM,CAACI,OAAO;AAC7CsyC,YAAAA,YAAY,EAAE5kC,KAAK,CAACxK,SAAS,CAACtD,MAAM,CAACK,MAAAA;AACvC,WAAA;SACD;AACDoE,QAAAA,WAAW,EAAE;AACXzE,UAAAA,MAAM,EAAE;AACNuyC,YAAAA,WAAW,EAAEzkC,KAAK,CAACrJ,WAAW,CAACzE,MAAM,CAACC,KAAK;AAC3CuyC,YAAAA,YAAY,EAAE;AAAEjuC,cAAAA,KAAK,EAAEuJ,KAAK,CAACrJ,WAAW,CAACzE,MAAM,CAACE,OAAO;AAAEuD,cAAAA,MAAM,EAAEqK,KAAK,CAACrJ,WAAW,CAACzE,MAAM,CAACG,OAAAA;aAAS;AACnGsyC,YAAAA,aAAa,EAAE3kC,KAAK,CAACrJ,WAAW,CAACzE,MAAM,CAACI,OAAO;AAC/CsyC,YAAAA,YAAY,EAAE5kC,KAAK,CAACrJ,WAAW,CAACzE,MAAM,CAACK,MAAAA;AACzC,WAAA;SACD;AACD+K,QAAAA,MAAM,EAAE;AACNP,UAAAA,GAAG,EAAE;AACH9F,YAAAA,gBAAgB,EAAE;AAChB/E,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAAC9F,gBAAgB,CAAC/E,MAAM,CAACC,KAAK;AAC3DuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAAC9F,gBAAgB,CAAC/E,MAAM,CAACE,OAAO;kBACvDuD,MAAM,EAAEqK,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAAC9F,gBAAgB,CAAC/E,MAAM,CAACG,OAAAA;iBAClD;gBACDsyC,aAAa,EAAE3kC,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAAC9F,gBAAgB,CAAC/E,MAAM,CAACI,OAAO;gBAC/DsyC,YAAY,EAAE5kC,KAAK,CAAC1C,MAAM,CAACP,GAAG,CAAC9F,gBAAgB,CAAC/E,MAAM,CAACK,MAAAA;AACzD,eAAA;AACF,aAAA;AACF,WAAA;SACD;AACDgH,QAAAA,KAAK,EAAE;AACL1C,UAAAA,YAAY,EAAE;AACZI,YAAAA,gBAAgB,EAAE;AAChB/E,cAAAA,MAAM,EAAE;gBACNuyC,WAAW,EAAEzkC,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACI,gBAAgB,CAAC/E,MAAM,CAACC,KAAK;AACnEuyC,gBAAAA,YAAY,EAAE;kBACZjuC,KAAK,EAAEuJ,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACI,gBAAgB,CAAC/E,MAAM,CAACE,OAAO;kBAC/DuD,MAAM,EAAEqK,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACI,gBAAgB,CAAC/E,MAAM,CAACG,OAAAA;iBAC1D;gBACDsyC,aAAa,EAAE3kC,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACI,gBAAgB,CAAC/E,MAAM,CAACI,OAAO;gBACvEsyC,YAAY,EAAE5kC,KAAK,CAACzG,KAAK,CAAC1C,YAAY,CAACI,gBAAgB,CAAC/E,MAAM,CAACK,MAAAA;AACjE,eAAA;AACF,aAAA;AACF,WAAA;AACF,SAAA;OACD;AACDsxC,MAAAA,GAAG,EAAEN,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAE7lC,OAAAA;KAChB;AAEDpL,IAAAA,OAAO,EAAE;AACPuxC,MAAAA,GAAG,EAAEN,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAEjxC,OAAO;AACtBgO,MAAAA,IAAI,EAAE;AACJtB,QAAAA,OAAO,EAAE;AACP1M,UAAAA,OAAO,EAAE0N,KAAK,CAAChB,OAAO,CAAC1M,OAAAA;AACzB,SAAA;AACF,OAAA;KACD;AAED6gC,IAAAA,UAAU,EAAE;AACVtQ,MAAAA,KAAK,EAAE;AACLgiB,QAAAA,SAAS,EAAE;AACTpuC,UAAAA,KAAK,EAAE,MAAM;AACb5C,UAAAA,SAAS,EAAEmM,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACpE,SAAS;UACtCivB,EAAE,EAAE9iB,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACxE,OAAO,CAACc,QAAQ;UACtCuwC,EAAE,EAAE9kC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACxE,OAAO,CAACa,UAAU;AACxCxC,UAAAA,YAAY,EAAEkO,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACnG,YAAY;AAC5CizC,UAAAA,SAAS,EAAE;YACTzyC,OAAO,EAAE,CAAC;WACX;;AACD0yC,UAAAA,MAAM,EAAE;YACN7yC,KAAK,EAAE6N,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAQ,SAAA,CAAA,CAACpG,KAAK;YAC7C8yC,oBAAoB,EAAEjlC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAAC9F,KAAK,CAACgG,WAAW;YACzDnG,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAQ,SAAA,CAAA,CAACvG,WAAW;YACzDkzC,EAAE,EAAEllC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAQ,SAAA,CAAA,CAACxG,eAAe;AACpDozC,YAAAA,MAAM,EAAE;cACND,EAAE,EAAEllC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAACpH,KAAK,CAACY,eAAe;cAClDC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAACpH,KAAK,CAACa,WAAW;cACvDG,KAAK,EAAE6N,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAACpH,KAAK,CAACgB,KAAK;AAC3CizC,cAAAA,MAAM,EAAE;gBACNF,EAAE,EAAEllC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAQ,SAAA,CAAA,CAACxG,eAAe;gBACpDC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAC3E,KAAK,CAAC5B,WAAW;gBACvDG,KAAK,EAAE6N,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAC3E,KAAK,CAACzB,KAAAA;AACxC,eAAA;aACD;AACDizC,YAAAA,MAAM,EAAE;cACNpzC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAC3E,KAAK,CAAC5B,WAAW;cACvDG,KAAK,EAAE6N,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAC3E,KAAK,CAACzB,KAAK;AAC3CgzC,cAAAA,MAAM,EAAE;gBACNnzC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAC3E,KAAK,CAAC5B,WAAW;gBACvDG,KAAK,EAAE6N,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAC3E,KAAK,CAACzB,KAAAA;eACvC;AACDkzC,cAAAA,MAAM,EAAE;AACNzjC,gBAAAA,KAAK,EAAE;AACL0jC,kBAAAA,YAAY,EAAE,CAAC;AACfC,kBAAAA,SAAS,EAAE,MAAA;AACb,iBAAA;eACD;AACD5jC,cAAAA,IAAI,EAAE;gBACJ6jC,cAAc,EAAExlC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAAC9F,KAAK,CAAC+F,SAAAA;eACzC;AACD2J,cAAAA,QAAQ,EAAE;gBACR2jC,cAAc,EAAExlC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAAC9F,KAAK,CAAC+F,SAAAA;AAC1C,eAAA;aACD;AACDutC,YAAAA,QAAQ,EAAE;cACRzzC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAACV,OAAO,CAAC7F,WAAW;cACzDG,KAAK,EAAE6N,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAACV,OAAO,CAAC1F,KAAK;AAC7CgzC,cAAAA,MAAM,EAAE;gBACNnzC,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAACpH,KAAK,CAACa,WAAW;gBACvDG,KAAK,EAAE6N,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAACpH,KAAK,CAACgB,KAAAA;AACxC,eAAA;aACD;AACDwP,YAAAA,IAAI,EAAE;cACJ6jC,cAAc,EAAExlC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAAC9F,KAAK,CAAC+F,SAAAA;aACzC;AACD2J,YAAAA,QAAQ,EAAE;cACR2jC,cAAc,EAAExlC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAAC9F,KAAK,CAAC+F,SAAAA;aACzC;AACD6sC,YAAAA,SAAS,EAAE;cACTE,oBAAoB,EAAEjlC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAC9G,QAAQ,CAACU,KAAK;cAC7DA,KAAK,EAAE6N,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAC9G,QAAQ,CAACU,KAAK;cAC9CH,WAAW,EAAEgO,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAC9G,QAAQ,CAACO,WAAW;cAC1DkzC,EAAE,EAAEllC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAC9G,QAAQ,CAACM,eAAAA;AACxC,aAAA;AACF,WAAA;SACD;AACD2zC,QAAAA,QAAQ,EAAE;AACR5mC,UAAAA,OAAO,EAAE;AACP7M,YAAAA,WAAW,EAAE+N,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAAChG,WAAW;AAC1CmzC,YAAAA,MAAM,EAAE;cACNF,EAAE,EAAEllC,KAAK,CAACzG,KAAK,CAACtB,KAAK,CAACM,MAAM,CAAA,SAAA,CAAQ,CAACxG,eAAAA;AACvC,aAAA;WACD;UACD4zC,UAAU,EAAE,EAAE;UACdC,OAAO,EAAE,EAAE;UACXC,MAAM,EAAE,EAAE;AACVC,UAAAA,QAAQ,EAAE,EAAC;AACb,SAAA;OACD;AACDj8B,MAAAA,IAAI,EAAE;AACJg7B,QAAAA,SAAS,EAAE;AACTG,UAAAA,MAAM,EAAE;AACN7yC,YAAAA,KAAK,EAAE,uBAAA;WACR;AACD4zC,UAAAA,KAAK,EAAE;AACL5zC,YAAAA,KAAK,EAAE,uBAAA;WACR;AACD0K,UAAAA,UAAU,EACRwM,QAAQ,CAACC,EAAE,KAAK,KAAK,GACjBtJ,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACN,UAAU,CAACE,GAAG,CAACpD,OAAO,GACpDqG,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACN,UAAU,CAAA,QAAA,CAAO,CAAClD,OAAO;UAC7DsD,SAAS,EAAE+C,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACF,SAAS,CAACtD,OAAO;UAC1DqD,UAAU,EAAEgD,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACH,UAAU,CAACrD,OAAO;AAC5DE,UAAAA,QAAQ,EAAEhN,SAAS;AACnByP,UAAAA,UAAU,EAAE0D,KAAK,CAACvD,UAAU,CAACE,KAAK,CAACQ,MAAM,CAACD,OAAO,CAACxD,IAAI,CAACS,YAAY,CAACmC,UAAAA;AACtE,SAAA;AACF,OAAA;AACF,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,OAAAxN,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAY40C,aAAa,CAAA,EAAA,EAAA,EAAA;IAAE3wB,KAAK,EAAE2wB,aAAa,CAAC3wB,KAAAA;AAAwD,GAAA,CAAA,CAAA;AAC1G,CAAA;AAsBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASizB,sBAAsBA,CAAA53C,IAAA,EAA+E;AAAA,EAAA,IAA5E4R,KAAK,GAAA5R,IAAA,CAAL4R,KAAK;IAAEimC,KAAK,GAAA73C,IAAA,CAAL63C,KAAK;IAAE1C,QAAQ,GAAAn1C,IAAA,CAARm1C,QAAQ;IAAEpiC,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;AACvE,EAAA,IAAMZ,SAAS,GAAGP,KAAK,CAACM,IAAI,CAAA;EAE5B,IAAM4lC,qBAAqB,GAAGpxB,OAAO,CACnC,YAAA;AAAA,IAAA,OAAMwuB,+BAA+B,CAAC/iC,SAAS,EAAEgjC,QAAQ,CAAC,CAAA;AAAA,GAAA,EAC1D,CAAChjC,SAAS,EAAEgjC,QAAQ,CACtB,CAAC,CAAA;EAED,IAAM4C,iBAAiB,GAAGrxB,OAAO,CAAC,YAAA;IAAA,OAAO;AAAExU,MAAAA,IAAI,EAAEC,SAAAA;KAAW,CAAA;AAAA,GAAC,EAAE,CAACA,SAAS,CAAC,CAAC,CAAA;EAE3E,oBACEmB,GAAA,CAAC0kC,kBAAkB,EAAA;AAACpmC,IAAAA,KAAK,EAAEkmC,qBAAsB;AAACD,IAAAA,KAAK,EAAEA,KAAM;AAAA9kC,IAAAA,QAAA,eAC7DO,GAAA,CAACtB,gBAAgB,CAAC8I,QAAQ,EAAA;AAACxC,MAAAA,KAAK,EAAEy/B,iBAAkB;AAAAhlC,MAAAA,QAAA,EAAEA,QAAAA;KAAoC,CAAA;AAAC,GACzE,CAAC,CAAA;AAEzB;;;ACpvDO,SAASklC,wBAAwBA,CAAAj4C,IAAA,EASK;AAAA,EAAA,IAR3C+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRsW,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IAAA6uB,WAAA,GAAAl4C,IAAA,CACPm4C,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,WAAA;IACbxuB,QAAQ,GAAA1pB,IAAA,CAAR0pB,QAAQ;IACRqB,OAAO,GAAA/qB,IAAA,CAAP+qB,OAAO;IACPC,MAAM,GAAAhrB,IAAA,CAANgrB,MAAM;IACNjC,OAAO,GAAA/oB,IAAA,CAAP+oB,OAAO;AACJ/U,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;EAER,IAAMkkC,kBAAkB,GAAGtH,kBAAkB,CAAyB;AACpEjrC,IAAAA,IAAI,EAAEyoC,wBAAwB;AAC9BrmC,IAAAA,KAAK,EAAE6iB,kBAAAA;AACT,GAAC,CAAC,CAAA;AAEF,EAAA,IAAApI,SAAA,GAA8DC,QAAQ,CAAC0G,OAAO,CAAC;IAAAzG,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAxEkJ,IAAAA,uBAAuB,GAAAhJ,UAAA,CAAA,CAAA,CAAA;AAAEiJ,IAAAA,0BAA0B,GAAAjJ,UAAA,CAAA,CAAA,CAAA,CAAA;AAC1D,EAAA,IAAAuI,UAAA,GAAwCxI,QAAQ,CAACw1B,MAAM,CAAC;IAAA/sB,UAAA,GAAAlrB,cAAA,CAAAirB,UAAA,EAAA,CAAA,CAAA;AAAjDktB,IAAAA,YAAY,GAAAjtB,UAAA,CAAA,CAAA,CAAA;AAAEktB,IAAAA,eAAe,GAAAltB,UAAA,CAAA,CAAA,CAAA,CAAA;AAEpCzJ,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI0H,OAAO,KAAK,IAAI,EAAE;MACpBwC,0BAA0B,CAAC,IAAI,CAAC,CAAA;AAClC,KAAA;AACF,GAAC,EAAE,CAACxC,OAAO,CAAC,CAAC,CAAA;EAqBb,oBACE/V,GAAA,CAAC8V,cAAc,EAAA;AAACC,IAAAA,OAAO,EAAEuC,uBAAwB;AAAC7C,IAAAA,OAAO,EAAEA,OAAQ;IAAAhW,QAAA,eACjEO,GAAA,CAAC8kC,kBAAkB,EAAA13C,aAAA,CAAAA,aAAA,CAAA,EAAA,EACbsT,KAAK,CAAA,EAAA,EAAA,EAAA;AACTmkC,MAAAA,MAAM,EAAEE,YAAa;AACrBhvB,MAAAA,OAAO,EAAEA,OAAQ;AACjB0B,MAAAA,OAAO,EApBO,SAAdwtB,WAAWA,GAAe;AAC9B,QAAA,IAAIxtB,OAAO,EAAEA,OAAO,EAAE,CAAA;;AAEtB;QACAutB,eAAe,CAAC,KAAK,CAAC,CAAA;OAgBG;AACrBttB,MAAAA,MAAM,EAdO,SAAbwtB,UAAUA,GAAe;AAC7B,QAAA,IAAIxtB,MAAM,EAAEA,MAAM,EAAE,CAAA;;AAEpB;QACAstB,eAAe,CAACH,MAAM,CAAC,CAAA;OAUA;AACnBzuB,MAAAA,QAAQ,EA3BkB,SAA1BoC,uBAAuBA,GAAe;AAC1C,QAAA,IAAIpC,QAAQ,EAAEA,QAAQ,EAAE,CAAA;QACxBmC,0BAA0B,CAAC,KAAK,CAAC,CAAA;OAyBK;AAClC9C,MAAAA,OAAO,EAAEA,OAAQ;AAAAhW,MAAAA,QAAA,EAEhBA,QAAAA;KACiB,CAAA,CAAA;AAAC,GACP,CAAC,CAAA;AAErB;;AC1DO,SAAS0lC,eAAeA,CAAAz4C,IAAA,EAA6E;AAAA,EAAA,IAA1EsL,IAAI,GAAAtL,IAAA,CAAJsL,IAAI;IAAE3H,eAAe,GAAA3D,IAAA,CAAf2D,eAAe;IAAE6D,MAAM,GAAAxH,IAAA,CAANwH,MAAM;IAAEF,MAAM,GAAAtH,IAAA,CAANsH,MAAM,CAAA;EACrE,IAAMgqB,SAAS,GAAGwf,kBAAkB,CAA4C;AAC9EjrC,IAAAA,IAAI,EAAEmpC,eAAe;AACrB/mC,IAAAA,KAAK,EAAEilB,SAAAA;AACT,GAAC,CAAC,CAAA;EAEF,oBAAO5Z,GAAA,CAACge,SAAS,EAAA;AAAChmB,IAAAA,IAAI,EAAEA,IAAK;AAAC3H,IAAAA,eAAe,EAAEA,eAAgB;AAAC6D,IAAAA,MAAM,EAAEA,MAAO;AAACF,IAAAA,MAAM,EAAEA,MAAAA;AAAO,GAAE,CAAC,CAAA;AACpG,CAAA;AAIA,SAASimB,MAAMA,CAACvZ,KAAkB,EAAa;EAC7C,IAAMsd,SAAkE,GAAGwf,kBAAkB,CAAC;IAC5FjrC,IAAI,EAAEmpC,eAAe,CAACzhB,MAAM;IAC5BtlB,KAAK,EAAEilB,SAAS,CAACK,MAAAA;AACnB,GAAC,CAAC,CAAA;EACF,oBAAOja,GAAA,CAACge,SAAS,EAAA5wB,aAAA,CAAKsT,EAAAA,EAAAA,KAAK,CAAG,CAAC,CAAA;AACjC,CAAA;AAIA,SAASsZ,IAAIA,CAACtZ,KAAgB,EAAa;EACzC,IAAMsd,SAA8D,GAAGwf,kBAAkB,CAAC;IACxFjrC,IAAI,EAAEmpC,eAAe,CAAC1hB,IAAI;IAC1BrlB,KAAK,EAAEilB,SAAS,CAACI,IAAAA;AACnB,GAAC,CAAC,CAAA;EACF,oBAAOha,GAAA,CAACge,SAAS,EAAA5wB,aAAA,CAAKsT,EAAAA,EAAAA,KAAK,CAAG,CAAC,CAAA;AACjC,CAAA;AAIA,SAASwZ,MAAMA,CAACxZ,KAAkB,EAAa;EAC7C,IAAMsd,SAAkE,GAAGwf,kBAAkB,CAAC;IAC5FjrC,IAAI,EAAEmpC,eAAe,CAACxhB,MAAM;IAC5BvlB,KAAK,EAAEilB,SAAS,CAACM,MAAAA;AACnB,GAAC,CAAC,CAAA;EACF,oBAAOla,GAAA,CAACge,SAAS,EAAA5wB,aAAA,CAAKsT,EAAAA,EAAAA,KAAK,CAAG,CAAC,CAAA;AACjC,CAAA;AAEAykC,eAAe,CAAClrB,MAAM,GAAGA,MAAM,CAAA;AAC/BkrB,eAAe,CAACnrB,IAAI,GAAGA,IAAI,CAAA;AAC3BmrB,eAAe,CAACjrB,MAAM,GAAGA,MAAM,CAAA;AAC/BirB,eAAe,CAACrvB,cAAc,GAAG6uB,wBAAwB;;ACnDlD,SAASS,YAAYA,CAAA14C,IAAA,EAAoF;AAAA,EAAA,IAAjF8W,IAAI,GAAA9W,IAAA,CAAJ8W,IAAI;IAAE/D,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE2hC,YAAY,GAAA10C,IAAA,CAAZ00C,YAAY;IAAEC,MAAM,GAAA30C,IAAA,CAAN20C,MAAM;IAAEnuB,SAAS,GAAAxmB,IAAA,CAATwmB,SAAS,CAAA;EAC5E,oBACElT,GAAA,CAACkhC,WAAW,EAAA;IAACC,WAAW,EAAA,IAAA;AAAC39B,IAAAA,IAAI,EAAEA,IAAK;AAAC49B,IAAAA,YAAY,EAAEA,YAAa;AAACC,IAAAA,MAAM,EAAEA,MAAO;AAACnuB,IAAAA,SAAS,EAAEA,SAAU;AAAAzT,IAAAA,QAAA,EACnGA,QAAAA;AAAQ,GACE,CAAC,CAAA;AAElB;;ACNA,IAAM4lC,cAAc,GAAGphC,QAAQ,CAACqhC,uBAAuB,CAACC,QAAM,CAAC,CAAA;AAOxD,SAASC,oBAAoBA,CAAA94C,IAAA,EAAwD;AAAA,EAAA,IAArD+D,KAAK,GAAA/D,IAAA,CAAL+D,KAAK;IAAEiqB,QAAQ,GAAAhuB,IAAA,CAARguB,QAAQ,CAAA;AACpD,EAAA,IAAMpc,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AAExB,EAAA,IAAA2mC,qBAAA,GAA8BnnC,KAAK,CAACM,IAAI,CAAC/E,UAAU;IAA3CC,WAAW,GAAA2rC,qBAAA,CAAX3rC,WAAW;IAAErI,IAAI,GAAAg0C,qBAAA,CAAJh0C,IAAI,CAAA;AAEzB,EAAA,IAAMi0C,WAAW,GAAGj0C,IAAI,GAAG,GAAG,CAAA;AAE9B,EAAA,IAAMk0C,eAAe,GAAG,CAAC,GAAGprC,IAAI,CAACqrC,EAAE,IAAIn0C,IAAI,GAAG,GAAG,GAAGqI,WAAW,CAAC,CAAA;AAEhE,EAAA,IAAM+rC,eAAe,GAAGC,gBAAgB,CAAC,YAAM;IAC7C,OAAO;AACLC,MAAAA,gBAAgB,EAAEJ,eAAe,GAAGA,eAAe,GAAGjrB,QAAQ,CAAC1V,KAAAA;KAChE,CAAA;AACH,GAAC,CAAC,CAAA;EAEF,oBACEhF,GAAA,CAACqlC,cAAc,EAAA;AACb,IAAA,kBAAA,EAAiB,eAAe;AAChCvrC,IAAAA,WAAW,EAAEA,WAAY;AACzBksC,IAAAA,MAAM,EAAEv1C,KAAM;AACdw1C,IAAAA,aAAa,EAAC,OAAO;AACrBC,IAAAA,EAAE,EAAER,WAAY;AAChBS,IAAAA,EAAE,EAAET,WAAY;IAChBt6C,CAAC,EAjBUs6C,WAAW,GAAG5rC,WAiBf;AACVC,IAAAA,IAAI,EAAC,MAAM;AACXqsC,IAAAA,eAAe,EAAET,eAAgB;AACjCU,IAAAA,aAAa,EAAER,eAAAA;AAAgB,GAChC,CAAC,CAAA;AAEN;;ACnCO,SAASS,wBAAwBA,GAAc;AACpD,EAAA,IAAMhoC,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAM4b,QAAQ,GAAGtO,cAAc,CAAC,CAAC,CAAC,CAAA;AAElC,EAAA,IAAAq5B,qBAAA,GAAoCnnC,KAAK,CAACM,IAAI,CAAC/E,UAAU;IAAjDzF,SAAS,GAAAqxC,qBAAA,CAATrxC,SAAS;IAAEtF,MAAM,GAAA22C,qBAAA,CAAN32C,MAAM;IAAE2C,IAAI,GAAAg0C,qBAAA,CAAJh0C,IAAI,CAAA;AAE/B4c,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAQrU,KAAK,GAAuD5F,SAAS,CAArE4F,KAAK;MAAEC,4BAA4B,GAAyB7F,SAAS,CAA9D6F,4BAA4B;MAAEL,kBAAkB,GAAKxF,SAAS,CAAhCwF,kBAAkB,CAAA;AAC/D,IAAA,IAAA2sC,mBAAA,GAAA35C,cAAA,CAAyBgN,kBAAkB,EAAA,CAAA,CAAA;AAApC8c,MAAAA,EAAE,GAAA6vB,mBAAA,CAAA,CAAA,CAAA;AAAE5vB,MAAAA,EAAE,GAAA4vB,mBAAA,CAAA,CAAA,CAAA;AAAE3vB,MAAAA,EAAE,GAAA2vB,mBAAA,CAAA,CAAA,CAAA;AAAE1vB,MAAAA,EAAE,GAAA0vB,mBAAA,CAAA,CAAA,CAAA,CAAA;IAErB7rB,QAAQ,CAAC1V,KAAK,GAAGwhC,SAAS,CACxBxsC,KAAK,EACL8c,UAAU,CAAC,CAAC,EAAE;AAAE/jB,MAAAA,QAAQ,EAAEkH,4BAA4B;MAAE5F,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;AAAE,KAAC,CACjG,CAAC,CAAA;AACH,GAAC,EAAE,CAAC6D,QAAQ,EAAEtmB,SAAS,CAAC,CAAC,CAAA;EAEzB,oBACE4L,GAAA,CAACymC,GAAG,EAAA;AAAC1xC,IAAAA,KAAK,EAAEtD,IAAK;AAACwC,IAAAA,MAAM,EAAExC,IAAK;IAACi1C,OAAO,EAAA,MAAA,CAAAj7C,MAAA,CAASgG,IAAI,OAAAhG,MAAA,CAAIgG,IAAI,CAAG;IAAAgO,QAAA,eAC7DO,GAAA,CAACwlC,oBAAoB,EAAA;MAAC/0C,KAAK,EAAE3B,MAAM,CAACyD,IAAK;AAACmoB,MAAAA,QAAQ,EAAEA,QAAAA;KAAW,CAAA;AAAC,GAC7D,CAAC,CAAA;AAEV;;ACfA,IAAMisB,oBAAkB,GAAG,CAAC,CAAC,CAAA;AAOtB,SAASC,2BAA2BA,CAAAl6C,IAAA,EAAsE;AAAA,EAAA,IAAnE+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE1M,QAAQ,GAAArG,IAAA,CAARqG,QAAQ,CAAA;AAC9D,EAAA,IAAMuL,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAM4b,QAAQ,GAAGtO,cAAc,CAAC,CAAC,CAAC,CAAA;EAElC,IAAQhY,SAAS,GAAKkK,KAAK,CAACM,IAAI,CAAC/E,UAAU,CAAnCzF,SAAS,CAAA;AAEjBia,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAQrU,KAAK,GAAK5F,SAAS,CAAnB4F,KAAK,CAAA;AAEb0gB,IAAAA,QAAQ,CAAC1V,KAAK,GAAGwhC,SAAS,CACxBxsC,KAAK,EACL6sC,UAAU,CAAC/vB,UAAU,CAAC,CAAC,EAAE;AAAE/jB,MAAAA,QAAQ,EAARA,QAAQ;MAAEsB,MAAM,EAAEoa,QAAM,CAACC,MAAAA;AAAO,KAAC,CAAC,EAAEi4B,oBAAkB,CACnF,CAAC,CAAA;GACF,EAAE,CAACjsB,QAAQ,EAAEtmB,SAAS,EAAErB,QAAQ,CAAC,CAAC,CAAA;AAEnC,EAAA,IAAM+zC,cAAc,GAAGx6B,gBAAgB,CAAC,YAAM;IAC5C,OAAO;AACLxM,MAAAA,SAAS,EAAE,CACT;AACEgP,QAAAA,MAAM,KAAArjB,MAAA,CAAK,GAAG,GAAGivB,QAAQ,CAAC1V,KAAK,EAAA,KAAA,CAAA;OAChC,CAAA;KAEJ,CAAA;AACH,GAAC,CAAC,CAAA;AAEF,EAAA,oBAAOhF,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;AAACgW,IAAAA,KAAK,EAAE,CAACgX,UAAU,CAAC6vB,YAAY,EAAED,cAAc,CAAE;AAAArnC,IAAAA,QAAA,EAAEA,QAAAA;AAAQ,GAAgB,CAAC,CAAA;AACpG;;ACtCA,IAAMknC,kBAAkB,GAAG,CAAC,CAAC,CAAA;AAC7B,IAAMK,aAAa,GAAG,IAAI,CAAA;AAEnB,SAASC,oBAAoBA,GAAc;AAChD,EAAA,IAAM3oC,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAM4b,QAAQ,GAAGtO,cAAc,CAAC,CAAC,CAAC,CAAA;AAElC,EAAA,IAAAq5B,qBAAA,GAAoCnnC,KAAK,CAACM,IAAI,CAAC/E,UAAU;IAAjDpI,IAAI,GAAAg0C,qBAAA,CAAJh0C,IAAI;IAAE2C,SAAS,GAAAqxC,qBAAA,CAATrxC,SAAS;IAAEtF,MAAM,GAAA22C,qBAAA,CAAN32C,MAAM,CAAA;AAE/Buf,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAQrU,KAAK,GAAmD5F,SAAS,CAAjE4F,KAAK;MAAEE,wBAAwB,GAAyB9F,SAAS,CAA1D8F,wBAAwB;MAAEN,kBAAkB,GAAKxF,SAAS,CAAhCwF,kBAAkB,CAAA;AAC3D,IAAA,IAAA2sC,mBAAA,GAAA35C,cAAA,CAAyBgN,kBAAkB,EAAA,CAAA,CAAA;AAApC8c,MAAAA,EAAE,GAAA6vB,mBAAA,CAAA,CAAA,CAAA;AAAE5vB,MAAAA,EAAE,GAAA4vB,mBAAA,CAAA,CAAA,CAAA;AAAE3vB,MAAAA,EAAE,GAAA2vB,mBAAA,CAAA,CAAA,CAAA;AAAE1vB,MAAAA,EAAE,GAAA0vB,mBAAA,CAAA,CAAA,CAAA,CAAA;AAErB7rB,IAAAA,QAAQ,CAAC1V,KAAK,GAAGwhC,SAAS,CACxBxsC,KAAK,EACL6sC,UAAU,CACR/vB,UAAU,CAAC,GAAG,EAAE;AAAE/jB,MAAAA,QAAQ,EAAEmH,wBAAwB;MAAE7F,MAAM,EAAEoa,QAAM,CAACsI,MAAM,CAACL,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAA;AAAE,KAAC,CAAC,EAC9F8vB,kBAAkB,EAClBK,aACF,CACF,CAAC,CAAA;AACH,GAAC,EAAE,CAACtsB,QAAQ,EAAEtmB,SAAS,CAAC,CAAC,CAAA;EAEzB,oBACE4L,GAAA,CAAC4mC,2BAA2B,EAAA;IAAC7zC,QAAQ,EAAEqB,SAAS,CAAC+F,iCAAkC;IAAAsF,QAAA,eACjFO,GAAA,CAAC4mC,2BAA2B,EAAA;MAAC7zC,QAAQ,EAAEqB,SAAS,CAACgG,4BAA6B;MAAAqF,QAAA,eAC5EO,GAAA,CAACymC,GAAG,EAAA;AAAC1xC,QAAAA,KAAK,EAAEtD,IAAK;AAACwC,QAAAA,MAAM,EAAExC,IAAK;QAACi1C,OAAO,EAAA,MAAA,CAAAj7C,MAAA,CAASgG,IAAI,OAAAhG,MAAA,CAAIgG,IAAI,CAAG;QAAAgO,QAAA,eAC7DO,GAAA,CAACwlC,oBAAoB,EAAA;UAAC/0C,KAAK,EAAE3B,MAAM,CAACiL,IAAK;AAAC2gB,UAAAA,QAAQ,EAAEA,QAAAA;SAAW,CAAA;OAC5D,CAAA;KACsB,CAAA;AAAC,GACH,CAAC,CAAA;AAElC;;ACjCO,SAASwsB,UAAUA,GAAoC;AAC5D,EAAA,IAAMC,oBAAoB,GAAG;AAC3BjnC,IAAAA,KAAK,EAAE;AACL;AACAJ,MAAAA,SAAS,EAAE,CAAC;AAAEgP,QAAAA,MAAM,EAAE,OAAA;AAAQ,OAAC,EAAE;AAAExc,QAAAA,KAAK,EAAE,CAAC,CAAA;OAAG,CAAA;AAChD,KAAA;GACD,CAAA;EAED,oBACEqY,IAAA,CAACzgB,IAAI,EAAA;AACHmhB,IAAAA,QAAQ,EAAC,UAAU;AACnBpX,IAAAA,MAAM,EAAC,sBAAsB;AAC7Bc,IAAAA,KAAK,EAAC,sBAAsB;AAC5BkL,IAAAA,IAAI,EAAEknC,oBAAqB;AAC3BhnC,IAAAA,QAAQ,EAAEgnC,oBAAqB;IAAA1nC,QAAA,EAAA,cAE/BO,GAAA,CAACsmC,wBAAwB,EAAA,EAAE,CAAC,eAC5BtmC,GAAA,CAACinC,oBAAoB,EAAA,EAAE,CAAC,CAAA;AAAA,GACpB,CAAC,CAAA;AAEX;;ACdA;AACO,SAASG,UAAUA,CAAA16C,IAAA,EAAuD;AAAA,EAAA,IAApD+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE2a,UAAU,GAAA1tB,IAAA,CAAV0tB,UAAU,CAAA;EAC/C,oBACEpa,GAAA,CAAC9V,IAAI,EAAA;AACHmG,IAAAA,eAAe,EACb+pB,UAAU,GACN,qDAAqD,GACrD,oDACL;AACD9O,IAAAA,QAAQ,EAAC,8CAA8C;AACvDC,IAAAA,QAAQ,EAAC,4CAA4C;AAAA9L,IAAAA,QAAA,eAErDO,GAAA,CAACmG,UAAU,CAAC+B,eAAe,EAAA;AAAClD,MAAAA,KAAK,EAAEoV,UAAU,GAAG,OAAO,GAAGjvB,SAAU;AAAAsU,MAAAA,QAAA,EAAEA,QAAAA;KAAqC,CAAA;AAAC,GACxG,CAAC,CAAA;AAEX;;ACbA;AACO,SAAS4nC,YAAYA,CAAA36C,IAAA,EAAsF;AAAA,EAAA,IAAhF+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEyB,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IAAEmgB,aAAa,GAAA30B,IAAA,CAAb20B,aAAa;IAAEjH,UAAU,GAAA1tB,IAAA,CAAV0tB,UAAU,CAAA;AAC3E,EAAA,oBACEpa,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAACjH,IAAAA,MAAM,EAAEA,MAAO;AAAC3O,IAAAA,IAAI,EAAC,MAAM;AAAAkN,IAAAA,QAAA,EACzC,OAAOA,QAAQ,KAAK,UAAU,GAAGA,QAAQ,CAAC;AAAE4hB,MAAAA,aAAa,EAAbA,aAAa;AAAEjH,MAAAA,UAAU,EAAVA,UAAAA;AAAW,KAAC,CAAC,GAAG3a,QAAAA;AAAQ,GACrE,CAAC,CAAA;AAEtB;;ACOO,IAAM6nC,mBAA4C,GAAG,UAAC5nC,KAAK,EAAEyoB,MAAM,EAAK;EAC7E,QAAQA,MAAM,CAAC3kB,IAAI;AACjB,IAAA,KAAK,uBAAuB;AAAE,MAAA;AAC5B,QAAA,OAAApW,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACR6nC,UAAAA,aAAa,EAAEpf,MAAM,CAACiJ,OAAO,CAACoW,iBAAAA;AAAiB,SAAA,CAAA,CAAA;AAEnD,OAAA;AAEA,IAAA,KAAK,aAAa;AAAE,MAAA;AAClB,QAAA,OAAAp6C,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACR6kB,UAAAA,MAAM,EAAE,KAAK;UACbgjB,aAAa,EAAE7nC,KAAK,CAACqc,YAAY,GAAGrc,KAAK,CAAC6nC,aAAa,GAAGp8C,SAAAA;AAAS,SAAA,CAAA,CAAA;AAEvE,OAAA;AAEA,IAAA,KAAK,YAAY;AAAE,MAAA;AACjB,QAAA,OAAAiC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;AACR6kB,UAAAA,MAAM,EAAE,IAAA;AAAI,SAAA,CAAA,CAAA;AAEhB,OAAA;AAEA,IAAA,KAAK,cAAc;AAAE,MAAA;AACnB,QAAA,OAAAn3B,aAAA,CAAAA,aAAA,CAAA,EAAA,EACKsS,KAAK,CAAA,EAAA,EAAA,EAAA;UACRqc,YAAY,EAAErc,KAAK,CAAC6nC,aAAa;AACjChjB,UAAAA,MAAM,EAAE,KAAA;AAAK,SAAA,CAAA,CAAA;AAEjB,OAAA;AAEA,IAAA;AACE,MAAA,OAAO7kB,KAAK,CAAA;AAChB,GAAA;AACF,CAAC;;ACAM,SAAS+nC,MAAMA,CAAA/6C,IAAA,EAcQ;AAAA,EAAA,IAb5B+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACRioC,aAAa,GAAAh7C,IAAA,CAAbg7C,aAAa;IACbruB,KAAK,GAAA3sB,IAAA,CAAL2sB,KAAK;IACL+I,YAAY,GAAA11B,IAAA,CAAZ01B,YAAY;IACZ0L,mBAAmB,GAAAphC,IAAA,CAAnBohC,mBAAmB;IACnB/9B,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACRoyB,aAAa,GAAAz1B,IAAA,CAAby1B,aAAa;IACbjhB,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IACNshB,YAAY,GAAA91B,IAAA,CAAZ81B,YAAY;IACZD,iBAAiB,GAAA71B,IAAA,CAAjB61B,iBAAiB;IACjBnH,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;IACR3F,OAAO,GAAA/oB,IAAA,CAAP+oB,OAAO;IAAAkyB,qBAAA,GAAAj7C,IAAA,CACPk7C,8BAA8B;AAA9BA,IAAAA,8BAA8B,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,IAAI,GAAAA,qBAAA,CAAA;AAErC,EAAA,IAAAvc,WAAA,GAA0BC,UAAU,CAACic,mBAAmB,EAAE;AACxD/iB,MAAAA,MAAM,EAAEpC,aAAa;AACrBpG,MAAAA,YAAY,EAAEqG,YAAY;AAC1BmlB,MAAAA,aAAa,EAAEnlB,YAAAA;AACjB,KAAC,CAAC;IAAAkJ,YAAA,GAAA1+B,cAAA,CAAAw+B,WAAA,EAAA,CAAA,CAAA;AAJK1rB,IAAAA,KAAK,GAAA4rB,YAAA,CAAA,CAAA,CAAA;AAAEC,IAAAA,QAAQ,GAAAD,YAAA,CAAA,CAAA,CAAA,CAAA;AAMtB,EAAA,IAAMxnB,EAAE,GAAGC,KAAK,EAAE,CAAA;EAClB,IAAM8jC,YAAY,GAAG/jC,EAAE,CAAC;AACtBrT,IAAAA,KAAK,EAAE,uCAAA;AACT,GAAC,CAAC,CAAA;;AAEF;EACA,IAAAq3C,cAAA,GAA8BC,aAAa,CAAC;AAC1C7xB,MAAAA,SAAS,EAAE,GAAA;AACb,KAAC,CAAC;IAAA8xB,eAAA,GAAAp7C,cAAA,CAAAk7C,cAAA,EAAA,CAAA,CAAA;AAFKG,IAAAA,mBAAmB,GAAAD,eAAA,CAAA,CAAA,CAAA,CAAA;EAI1B,IAAME,YAAY,GAAGpkC,EAAE,CAAC;AACtB3L,IAAAA,QAAQ,EAAE,mBAAmB;AAC7ByC,IAAAA,UAAU,EAAE,mBAAmB;AAC/BO,IAAAA,UAAU,EAAE,gBAAgB;AAC5B1K,IAAAA,KAAK,EAAE,6BAA6B;AAEpC;AACA;AACAwD,IAAAA,MAAM,EAAEg0C,mBAAmB,GAAG,kCAAkC,GAAG,gCAAA;AACrE,GAAC,CAAC,CAAA;AAEF,EAAA,IAAMpyB,WAAW,GAAG,YAAY;AAC9B0V,IAAAA,QAAQ,CAAC;AAAE/nB,MAAAA,IAAI,EAAE,aAAA;AAAc,KAAC,CAAC,CAAA;AAEjC,IAAA,IAAIiS,OAAO,EAAEA,OAAO,EAAE,CAAA;GACvB,CAAA;AAUD,EAAA,IAAM0yB,oBAAoB,GAAG,UAACC,SAAY,EAAW;AACnD7c,IAAAA,QAAQ,CAAC;AACP/nB,MAAAA,IAAI,EAAE,uBAAuB;AAC7B4tB,MAAAA,OAAO,EAAE;AACPoW,QAAAA,iBAAiB,EAAEY,SAAAA;AACrB,OAAA;AACF,KAAC,CAAC,CAAA;GACH,CAAA;EAMD,oBACEz9B,IAAA,CAAA2K,QAAA,EAAA;IAAA7V,QAAA,EAAA,CACGioC,aAAa,CAAC;MAAEnjB,MAAM,EAAE7kB,KAAK,CAAC6kB,MAAM;MAAEV,YAAY,EAAEnkB,KAAK,CAACqc,YAAY;AAAEhsB,MAAAA,QAAQ,EAARA,QAAQ;AAAE2R,MAAAA,OAAO,EANnE,SAArB2mC,kBAAkBA,GAAe;AACrC9c,QAAAA,QAAQ,CAAC;AAAE/nB,UAAAA,IAAI,EAAE,YAAA;AAAa,SAAC,CAAC,CAAA;AAClC,OAAA;AAImH,KAAC,CAAC,eAEjHxD,GAAA,CAAC4Z,SAAS,CAAC9D,cAAc,EAAA;MAACC,OAAO,EAAErW,KAAK,CAAC6kB,MAAO;AAAC9O,MAAAA,OAAO,EAAEI,WAAY;MAAApW,QAAA,eACpEkL,IAAA,CAACiP,SAAS,EAAA;AAAAna,QAAAA,QAAA,EACRO,cAAAA,GAAA,CAAC4Z,SAAS,CAACK,MAAM,EAAA;UAACzd,KAAK,eAAEwD,GAAA,CAACi+B,UAAU,EAAA;AAACvnC,YAAAA,IAAI,eAAEsJ,GAAA,CAACsoC,KAAK,IAAE,CAAE;AAAC5mC,YAAAA,OAAO,EAAEmU,WAAAA;AAAY,WAAE,CAAE;AAAApW,UAAAA,QAAA,eAC7EO,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC5V,YAAAA,IAAI,EAAC,MAAM;AAAC8M,YAAAA,OAAO,EAAC,MAAM;AAAAI,YAAAA,QAAA,EACxC4Z,KAAAA;WACc,CAAA;AAAC,SACF,CAAC,EAElB1R,QAAQ,CAACC,EAAE,KAAK,KAAK,IAAIggC,8BAA8B,gBACtD5nC,GAAA,CAACuoC,QAAY,EAAA;AACXrnC,UAAAA,MAAM,EAAEA,MAAO;UACfsnC,aAAa,EAAE9oC,KAAK,CAAC6nC,aAAc;AACnCkB,UAAAA,SAAS,EAAEP,YAAa;AACxBQ,UAAAA,aAAa,EAAEP,oBAAqB;UAAA1oC,QAAA,EAEnCkpC,KAAK,CAACxsB,QAAQ,CAACrvB,GAAG,CAAC2S,QAAQ,EAAE,UAAC8c,KAAK,EAAK;YACvC,IAAM7nB,IAAI,GAAG6nB,KAA+C,CAAA;;AAE5D;YACA,oBAAOlT,YAAY,CAAC3U,IAAI,EAAE;AACxBjE,cAAAA,KAAK,EAAEiE,IAAI,CAACgM,KAAK,CAACsE,KAAK,KAAKtF,KAAK,CAACqc,YAAY,GAAG8rB,YAAY,CAACp3C,KAAK,GAAGtF,SAAS;AAC/E2rC,cAAAA,KAAK,EAAEtU,YAAY,CAAC9tB,IAAI,CAACgM,KAAK,CAACsE,KAAU,CAAA;AAC3C,aAAC,CAAC,CAAA;WACH,CAAA;AAAC,SACU,CAAC,gBAEfhF,GAAA,CAAC5V,YAAU,EAAA;AAAC8W,UAAAA,MAAM,EAAEA,MAAO;AAAAzB,UAAAA,QAAA,EACxBkpC,KAAK,CAACxsB,QAAQ,CAACrvB,GAAG,CAAC2S,QAAQ,EAAE,UAAC8c,KAAK,EAAEtI,KAAK,EAAK;YAC9C,IAAMvf,IAAI,GAAG6nB,KAA2C,CAAA;AAExD,YAAA,IAAMnC,UAAU,GAAGmI,iBAAiB,CAAC7iB,KAAK,CAAC6nC,aAAa,EAAE7yC,IAAI,CAACgM,KAAK,CAACsE,KAAK,CAAC,CAAA;AAE3E,YAAA,oBACEhF,GAAA,CAAC1V,SAAAA;AACC;AAAA,cAAA;AAEAgX,cAAAA,iBAAiB,EAAC,QAAQ;AAC1Bga,cAAAA,kBAAkB,EAAE;AAClB1mB,gBAAAA,QAAQ,EAAEwlB,UAAAA;eACV;cACF1Y,OAAO,EAAE,SAAAA,OAAAA,GAAM;AACbymC,gBAAAA,oBAAoB,CAACzzC,IAAI,CAACgM,KAAK,CAACsE,KAAK,CAAC,CAAA;eACtC;cAAAvF,QAAA,EAED,UAAA9S,KAAA,EAAA;AAAA,gBAAA,IAAGsS,SAAS,GAAAtS,KAAA,CAATsS,SAAS;kBAAEE,SAAS,GAAAxS,KAAA,CAATwS,SAAS;kBAAED,SAAS,GAAAvS,KAAA,CAATuS,SAAS,CAAA;gBAAA,oBACjCc,GAAA,CAAConC,UAAU,EAAA;AACThtB,kBAAAA,UAAU,EAAEA,UAAW;AACvBnb,kBAAAA,SAAS,EAAEA,SAAU;AACrBE,kBAAAA,SAAS,EAAEA,SAAU;AACrBD,kBAAAA,SAAS,EAAEA,SAAU;AAAAO,kBAAAA,QAAA,EAEpB8c,KAAAA;AAAK,iBACI,CAAC,CAAA;AAAA,eAAA;AACd,aAAA,EAlBItI,KAmBI,CAAC,CAAA;WAEf,CAAA;AAAC,SACQ,CACb,eAEDjU,GAAA,CAAC4Z,SAAS,CAACM,MAAM,EAAA;UAAAza,QAAA,eACfO,GAAA,CAAC+M,MAAM,EAAA;YAACC,OAAO,EAAA,IAAA;AAACxJ,YAAAA,IAAI,EAAC,SAAS;AAAC9B,YAAAA,OAAO,EAtF3B,SAAf2Z,YAAYA,GAAe;AAC/B,cAAA,IAAID,QAAQ,EAAEA,QAAQ,CAAC1b,KAAK,CAAC6nC,aAAa,CAAC,CAAA;AAE3Chc,cAAAA,QAAQ,CAAC;AAAE/nB,gBAAAA,IAAI,EAAE,cAAA;AAAe,eAAC,CAAC,CAAA;AAElC,cAAA,IAAIiS,OAAO,EAAEA,OAAO,EAAE,CAAA;aAiFuC;AAAAhW,YAAAA,QAAA,EAClDquB,mBAAmB,iBAAI9tB,GAAA,CAACiuB,gBAAgB,EAAA;cAA0BpS,EAAE,EAAA,gCAAA;aAAmC,CAAA;WAClG,CAAA;AAAC,SACO,CAAC,CAAA;OACV,CAAA;AAAC,KACY,CAAC,CAAA;AAAA,GAC3B,CAAC,CAAA;AAEP,CAAA;AAEA4rB,MAAM,CAAClhB,MAAM,GAAG8gB,YAAY,CAAA;;AAE5B;AACA;AACA;AACAI,MAAM,CAACjhB,kBAAkB,GAAG4gB,UAAU;;ACnNtC,IAAI,gBAAgB,GAAG,SAAS,gBAAgB,CAAC,KAAK,EAAE;AACxD,EAAE,oBAAoBpnC,GAAI,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;AAC9D,IAAI,OAAO,EAAE,YAAY;AACzB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,KAAK,EAAE,4BAA4B;AACvC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;AACjB,IAAI,QAAQ,eAAeA,GAAI,CAAC,MAAM,EAAE;AACxC,MAAM,IAAI,EAAE,MAAM;AAClB,MAAM,CAAC,EAAE,y+CAAy+C;AACl/C,KAAK,CAAC;AACN,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;;ACEM,SAAS4oC,oBAAoBA,CAAAl8C,IAAA,EAMK;AAAA,EAAA,IAAAm8C,gBAAA,GAAAn8C,IAAA,CALvCo8C,WAAW;AAAXA,IAAAA,WAAW,GAAAD,gBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,gBAAA;IACfE,UAAU,GAAAr8C,IAAA,CAAVq8C,UAAU;IAAA9/B,SAAA,GAAAvc,IAAA,CACV+E,IAAI;AAAJA,IAAAA,IAAI,GAAAwX,SAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,SAAA;IAAA+/B,iBAAA,GAAAt8C,IAAA,CAChBu8C,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,iBAAA;IACxBE,qBAAqB,GAAAx8C,IAAA,CAArBw8C,qBAAqB,CAAA;EAErB,IAAMj1C,MAAM,GAAGxC,IAAI,KAAK,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;EACrD,IAAM03C,SAAS,GACbF,YAAY,KAAK,WAAW,GAAG,gCAAgC,GAAG,yCAAyC,CAAA;AAE7G,EAAA,IAAMG,KAAK,GAAAC,kBAAA,CAAOC,KAAK,CAACC,IAAI,CAAC;AAAEr+C,IAAAA,MAAM,EAAE69C,UAAAA;AAAW,GAAC,CAAC,CAACxmC,IAAI,EAAE,CAAC,CAAA;EAE5D,oBACEvC,GAAA,CAAC+B,QAAM,EAAA;AAAC9N,IAAAA,MAAM,EAAEA,MAAO;AAACod,IAAAA,KAAK,EAAE,CAAE;AAACjhB,IAAAA,YAAY,EAAE6D,MAAO;AAACwe,IAAAA,QAAQ,EAAC,QAAQ;AAAAhT,IAAAA,QAAA,EACtE2pC,KAAK,CAACt8C,GAAG,CAAC,UAAC08C,UAAU,EAAK;MACzB,IAAMC,0BAA0B,GAAGP,qBAAqB,IAAIM,UAAU,KAAKV,WAAW,GAAG,CAAC,CAAA;MAC1F,IAAMr4C,KAAK,GAAG+4C,UAAU,GAAGV,WAAW,GAAGK,SAAS,GAAG,iCAAiC,CAAA;MAEtF,oBACEnpC,GAAA,CAAC9V,MAAI,EAAA;AAEH+J,QAAAA,MAAM,EAAC,MAAM;AACboM,QAAAA,QAAQ,EAAE,CAAE;AACZqK,QAAAA,UAAU,EAAE,CAAE;AACdO,QAAAA,SAAS,EAAE,CAAE;AACb5a,QAAAA,eAAe,EAAEo5C,0BAA0B,GAAG,yCAAyC,GAAGh5C,KAAM;AAChGL,QAAAA,YAAY,EAAE,CAAE;AAChBqiB,QAAAA,QAAQ,EAAC,QAAQ;AACjB7H,QAAAA,UAAU,EAAC,QAAQ;AACnBC,QAAAA,cAAc,EAAC,QAAQ;AAAApL,QAAAA,QAAA,EAEtBgqC,0BAA0B,gBACzBzpC,GAAA,CAAC9V,MAAI,EAAA;AAAC6K,UAAAA,KAAK,EAAC,KAAK;AAACd,UAAAA,MAAM,EAAC,IAAI;AAAAwL,UAAAA,QAAA,eAC3BO,GAAA,CAAC0pC,gBAAO,EAAE,EAAA,CAAA;AAAC,SACP,CAAC,GACL,IAAA;AAAI,OAAA,EAfHF,UAgBD,CAAC,CAAA;KAEV,CAAA;AAAC,GACI,CAAC,CAAA;AAEb;;ACrCA,IAAMG,sBAAsB,GAAG1lC,QAAQ,CAACqhC,uBAAuB,CAACsE,cAAc,CAAC,CAAA;AAExE,SAASC,eAAeA,CAAAn9C,IAAA,EAAiD;AAAA,EAAA,IAA9C6iB,SAAS,GAAA7iB,IAAA,CAAT6iB,SAAS;IAAExa,KAAK,GAAArI,IAAA,CAALqI,KAAK,CAAA;AAChD,EAAA,IAAMuJ,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAMgrC,OAAO,GAAG19B,cAAc,CAAC,CAAC,CAAC,CAAA;AAEjCiC,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAIkB,SAAS,EAAE;MACbu6B,OAAO,CAAC9kC,KAAK,GAAG6hC,UAAU,CACxB/vB,UAAU,CAAC,CAAC,EAAE;AAAE/jB,QAAAA,QAAQ,EAAEuL,KAAK,CAACM,IAAI,CAAChC,QAAQ,CAACE,iBAAiB;AAAEzI,QAAAA,MAAM,EAAEoa,QAAM,CAACs7B,KAAK,CAACt7B,QAAM,CAACqtB,IAAI,CAAA;AAAE,OAAC,CAAC,EACrG,CAAC,CACH,CAAC,CAAA;AACH,KAAA;GACD,EAAE,CAACgO,OAAO,EAAE/0C,KAAK,EAAEwa,SAAS,EAAEjR,KAAK,CAAC,CAAC,CAAA;AAEtC,EAAA,IAAM0rC,mBAAmB,GAAG19B,gBAAgB,CAAC,YAAM;IACjD,OAAO;AACLxM,MAAAA,SAAS,EAAE,CAAC;AAAEmqC,QAAAA,UAAU,EAAE/7B,WAAW,CAAC47B,OAAO,CAAC9kC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAACjQ,KAAK,EAAEA,KAAK,CAAC,CAAA;OAAG,CAAA;KAChF,CAAA;AACH,GAAC,CAAC,CAAA;EAEF,oBACEiL,GAAA,CAAC9V,IAAI,EAAA;AACH+J,IAAAA,MAAM,EAAC,MAAM;AACbc,IAAAA,KAAK,EAAC,MAAM;AACZ1E,IAAAA,eAAe,EAAC,+BAA+B;AAC/CC,IAAAA,WAAW,EAAC,0BAA0B;IAAAmP,QAAA,eAEtCO,GAAA,CAAC2pC,sBAAsB,EAAA;MACrB76C,MAAM,EAAE,CACNwP,KAAK,CAACM,IAAI,CAAChC,QAAQ,CAACvM,eAAe,EACnCiO,KAAK,CAACM,IAAI,CAAChC,QAAQ,CAACC,UAAU,EAC9ByB,KAAK,CAACM,IAAI,CAAChC,QAAQ,CAACvM,eAAe,CACnC;AACF65C,MAAAA,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAE;AAC3Bt7B,MAAAA,KAAK,EAAE;AAAEu7B,QAAAA,CAAC,EAAE,CAAC;AAAEC,QAAAA,CAAC,EAAE,CAAA;OAAI;AACtBC,MAAAA,GAAG,EAAE;AAAEF,QAAAA,CAAC,EAAE,CAAC;AAAEC,QAAAA,CAAC,EAAE,CAAA;OAAI;AACpBlqC,MAAAA,KAAK,EAAE,CAACgX,UAAU,CAAC6vB,YAAY,EAAEiD,mBAAmB,CAAA;KACrD,CAAA;AAAC,GACE,CAAC,CAAA;AAEX;;;;;;ACjDO,SAASM,QAAQA,CAAA59C,IAAA,EAAmE;AAAA,EAAA,IAAA69C,cAAA,GAAA79C,IAAA,CAAhE6iB,SAAS;AAATA,IAAAA,SAAS,GAAAg7B,cAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,cAAA;IAAErqC,KAAK,GAAAxT,IAAA,CAALwT,KAAK;AAAKQ,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAC3D,EAAA,IAAAwO,SAAA,GAA0BC,QAAQ,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAA9Bra,IAAAA,KAAK,GAAAua,UAAA,CAAA,CAAA,CAAA;AAAEk7B,IAAAA,QAAQ,GAAAl7B,UAAA,CAAA,CAAA,CAAA,CAAA;EAEtB,oBACEtP,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,KAAKsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAE+R,IAAAA,QAAQ,EAAC,QAAQ;AAACvS,IAAAA,KAAK,EAAEA,KAAM;IAAC4U,QAAQ,EAAE,SAAAA,QAAAA,CAAAnoB,KAAA,EAAA;AAAA,MAAA,IAAGk/B,WAAW,GAAAl/B,KAAA,CAAXk/B,WAAW,CAAA;AAAA,MAAA,OAAO2e,QAAQ,CAAC3e,WAAW,CAACjb,MAAM,CAAC7b,KAAK,CAAC,CAAA;KAAC;IAAA0K,QAAA,eACjHO,GAAA,CAAC6pC,eAAe,EAAA;AAACt6B,MAAAA,SAAS,EAAEA,SAAU;AAACxa,MAAAA,KAAK,EAAEA,KAAAA;KAAQ,CAAA;AAAC,GAAA,CACnD,CAAC,CAAA;AAEX,CAAA;AAMA,SAAS01C,GAAGA,CAAA19C,KAAA,EAAkD;AAAA,EAAA,IAA/C0E,IAAI,GAAA1E,KAAA,CAAJ0E,IAAI;AAAKiP,IAAAA,KAAK,GAAAC,wBAAA,CAAA5T,KAAA,EAAAid,YAAA,CAAA,CAAA;EAC3B,IAAMwI,mBAAmB,GAAG/gB,IAAI,GAAGA,IAAI,GAAG,GAAG,GAAG,sCAAsC,CAAA;EAEtF,oBACEuO,GAAA,CAACsqC,QAAQ,EAAAl9C,aAAA,CAAAA,aAAA,KACHsT,KAAK,CAAA,EAAA,EAAA,EAAA;AACT3L,IAAAA,KAAK,EAAC,MAAM;IACZd,MAAM,EAAExC,IAAI,IAAI,8BAA+B;AAC/CrB,IAAAA,YAAY,EAAEoiB,mBAAAA;AAAoB,GAAA,CACnC,CAAC,CAAA;AAEN,CAAA;AAMA,SAAS+yB,MAAMA,CAAAv4C,KAAA,EAAqD;AAAA,EAAA,IAAlDyE,IAAI,GAAAzE,KAAA,CAAJyE,IAAI;AAAKiP,IAAAA,KAAK,GAAAC,wBAAA,CAAA3T,KAAA,EAAAgyB,YAAA,CAAA,CAAA;AAC9B,EAAA,IAAMzM,WAAW,GAAG9gB,IAAI,IAAI,iCAAiC,CAAA;EAC7D,IAAM+gB,mBAAmB,GAAG/gB,IAAI,GAAGA,IAAI,GAAG,GAAG,GAAG,yCAAyC,CAAA;EAEzF,oBAAOuO,GAAA,CAACsqC,QAAQ,EAAAl9C,aAAA,CAAAA,aAAA,KAAKsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAE3L,IAAAA,KAAK,EAAEwd,WAAY;AAACte,IAAAA,MAAM,EAAEse,WAAY;AAACniB,IAAAA,YAAY,EAAEoiB,mBAAAA;AAAoB,GAAA,CAAE,CAAC,CAAA;AAC5G,CAAA;AAMA,SAASk4B,MAAMA,CAAAxrB,KAAA,EAAqD;AAAA,EAAA,IAAlDztB,IAAI,GAAAytB,KAAA,CAAJztB,IAAI;AAAKiP,IAAAA,KAAK,GAAAC,wBAAA,CAAAue,KAAA,EAAAE,YAAA,CAAA,CAAA;AAC9B,EAAA,IAAM7M,WAAW,GAAG9gB,IAAI,IAAI,iCAAiC,CAAA;EAC7D,IAAM+gB,mBAAmB,GAAG/gB,IAAI,GAAGA,IAAI,GAAG,GAAG,GAAG,yCAAyC,CAAA;EAEzF,oBAAOuO,GAAA,CAACsqC,QAAQ,EAAAl9C,aAAA,CAAAA,aAAA,KAAKsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAE3L,IAAAA,KAAK,EAAEwd,WAAY;AAACte,IAAAA,MAAM,EAAEse,WAAY;AAACniB,IAAAA,YAAY,EAAEoiB,mBAAAA;AAAoB,GAAA,CAAE,CAAC,CAAA;AAC5G,CAAA;AAEA83B,QAAQ,CAACG,GAAG,GAAGA,GAAG,CAAA;AAClBH,QAAQ,CAAC/E,MAAM,GAAGA,MAAM,CAAA;AACxB+E,QAAQ,CAACI,MAAM,GAAGA,MAAM;;AChDjB,SAASC,oBAAoBA,CAAAj+C,IAAA,EAOG;AAAA,EAAA,IANrCiyC,KAAK,GAAAjyC,IAAA,CAALiyC,KAAK;IACLC,QAAQ,GAAAlyC,IAAA,CAARkyC,QAAQ;IACRgM,QAAQ,GAAAl+C,IAAA,CAARk+C,QAAQ;IACRC,SAAS,GAAAn+C,IAAA,CAATm+C,SAAS;IACTC,MAAM,GAAAp+C,IAAA,CAANo+C,MAAM;IACNC,IAAI,GAAAr+C,IAAA,CAAJq+C,IAAI,CAAA;AAEJ,EAAA,IAAMh2C,KAAK,GAAGwF,IAAI,CAACC,KAAK,CAACowC,QAAQ,CAAC,CAAA;AAClC,EAAA,IAAM32C,MAAM,GAAGsG,IAAI,CAACC,KAAK,CAACqwC,SAAS,CAAC,CAAA;AAEpC,EAAA,IAAMG,UAAU,GAAAv/C,EAAAA,CAAAA,MAAA,CAAMq/C,MAAM,CAAA,MAAA,CAAK,OAAAr/C,MAAA,CAAIq/C,MAAM,CAAC3X,GAAG,EAAA1nC,GAAAA,CAAAA,CAAAA,MAAA,CAAIq/C,MAAM,CAACG,IAAI,EAAG,GAAA,CAAA,CAAA;EAEjE,IAAMC,QAAQ,MAAAz/C,MAAA,CAAMsJ,KAAK,EAAAtJ,GAAAA,CAAAA,CAAAA,MAAA,CAAIwI,MAAM,CAAE,CAAA;AAErC,EAAA,IAAMk3C,QAAQ,GAAG,CAAA,2CAAA,CAAA1/C,MAAA,CAC6BkzC,KAAK,EACjDqM,UAAAA,CAAAA,EAAAA,UAAU,EACVE,QAAQ,EACRH,IAAI,GAAG,KAAK,GAAG,EAAE,CAClB,CAAA;EAED,IAAMK,WAAW,GAAG,IAAIC,GAAG,CAACF,QAAQ,CAAChV,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;EAC9CiV,WAAW,CAACE,YAAY,CAACC,MAAM,CAAC,cAAc,EAAE3M,QAAQ,CAAC,CAAA;AAEzD,EAAA,OAAOwM,WAAW,CAACnjB,QAAQ,EAAE,CAAA;AAC/B;;AC/BO,SAASujB,uBAAuBA,CAAA9+C,IAAA,EAOG;AAAA,EAAA,IANxC++C,UAAU,GAAA/+C,IAAA,CAAV++C,UAAU;IACVC,aAAa,GAAAh/C,IAAA,CAAbg/C,aAAa;IACbd,QAAQ,GAAAl+C,IAAA,CAARk+C,QAAQ;IACRC,SAAS,GAAAn+C,IAAA,CAATm+C,SAAS;IACTC,MAAM,GAAAp+C,IAAA,CAANo+C,MAAM;IACNC,IAAI,GAAAr+C,IAAA,CAAJq+C,IAAI,CAAA;AAEJ,EAAA,IAAAY,iBAAA,GAA4B7M,gBAAgB,EAAE;IAAtCH,KAAK,GAAAgN,iBAAA,CAALhN,KAAK;IAAEC,QAAQ,GAAA+M,iBAAA,CAAR/M,QAAQ,CAAA;AACvB,EAAA,IAAAxvB,SAAA,GAAoCC,QAAQ,CAAS,EAAE,CAAC;IAAAC,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAjDw8B,IAAAA,UAAU,GAAAt8B,UAAA,CAAA,CAAA,CAAA;AAAEu8B,IAAAA,aAAa,GAAAv8B,UAAA,CAAA,CAAA,CAAA,CAAA;AAEhC,EAAA,IAAMw8B,eAAe,GAAGh+B,MAAM,CAAC29B,UAAU,IAAI9M,KAAK,CAAC,CAAA;AACnD,EAAA,IAAMoN,kBAAkB,GAAGj+B,MAAM,CAAC49B,aAAa,IAAI9M,QAAQ,CAAC,CAAA;AAE5DvwB,EAAAA,SAAS,CAAC,YAAM;IACd,IAAM29B,MAAM,GAAGrB,oBAAoB,CAAC;AAClCG,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,IAAI,EAAJA,IAAI;AACJF,MAAAA,SAAS,EAATA,SAAS;AACTD,MAAAA,QAAQ,EAARA,QAAQ;MACRjM,KAAK,EAAEmN,eAAe,CAAC79B,OAAO;MAC9B2wB,QAAQ,EAAEmN,kBAAkB,CAAC99B,OAAAA;AAC/B,KAAC,CAAC,CAAA;IAEF49B,aAAa,CAACG,MAAM,CAAC,CAAA;GACtB,EAAE,CAACnB,SAAS,EAAED,QAAQ,EAAEE,MAAM,EAAEC,IAAI,CAAC,CAAC,CAAA;AAEvC,EAAA,OAAOa,UAAU,CAAA;AACnB;;AC7BO,SAASK,cAAcA,CAAAv/C,IAAA,EAA+C;AAAA,EAAA,IAA5Cw/C,QAAQ,GAAAx/C,IAAA,CAARw/C,QAAQ,CAAA;EACvC,oBACElsC,GAAA,CAAC9V,IAAI,EAAA;AAAC0gB,IAAAA,UAAU,EAAC,QAAQ;AAACC,IAAAA,cAAc,EAAC,QAAQ;AAAC5W,IAAAA,MAAM,EAAC,MAAM;AAAC5D,IAAAA,eAAe,EAAC,gBAAgB;IAAAoP,QAAA,eAC9FO,GAAA,CAACi+B,UAAU,EAAA;AAACvnC,MAAAA,IAAI,eAAEsJ,GAAA,CAACmsC,aAAa,IAAE,CAAE;AAACzqC,MAAAA,OAAO,EAAEwqC,QAAAA;KAAW,CAAA;AAAC,GACtD,CAAC,CAAA;AAEX;;ACHO,SAASE,cAAcA,CAAA1/C,IAAA,EAAkF;AAAA,EAAA,IAA/EoxB,GAAG,GAAApxB,IAAA,CAAHoxB,GAAG;IAAE7L,GAAG,GAAAvlB,IAAA,CAAHulB,GAAG;IAAEld,KAAK,GAAArI,IAAA,CAALqI,KAAK;IAAEd,MAAM,GAAAvH,IAAA,CAANuH,MAAM;IAAEo4C,SAAS,GAAA3/C,IAAA,CAAT2/C,SAAS;IAAEC,OAAO,GAAA5/C,IAAA,CAAP4/C,OAAO,CAAA;EAC1E,oBACEtsC,GAAA,CAACxV,KAAK,EAAA;AAAC2nB,IAAAA,MAAM,EAAE;AAAEC,MAAAA,GAAG,EAAE0L,GAAAA;KAAM;AAAC/oB,IAAAA,KAAK,EAAEA,KAAM;AAACd,IAAAA,MAAM,EAAEA,MAAO;AAACge,IAAAA,GAAG,EAAEA,GAAI;AAACq6B,IAAAA,OAAO,EAAEA,OAAQ;AAACD,IAAAA,SAAS,EAAEA,SAAAA;AAAU,GAAE,CAAC,CAAA;AAEnH;;ACZO,SAASE,eAAeA,GAAc;EAC3C,oBACEvsC,GAAA,CAAC9V,IAAI,EAAA;AAAC0gB,IAAAA,UAAU,EAAC,QAAQ;AAACC,IAAAA,cAAc,EAAC,QAAQ;AAAC5W,IAAAA,MAAM,EAAC,MAAM;IAAAwL,QAAA,eAC7DO,GAAA,CAACsqC,QAAQ,EAAA;MAAC/6B,SAAS,EAAA,IAAA;AAACxa,MAAAA,KAAK,EAAC,MAAM;AAACd,MAAAA,MAAM,EAAC,MAAA;KAAQ,CAAA;AAAC,GAC7C,CAAC,CAAA;AAEX;;ACAA,SAASu4C,iBAAiBA,CAACntC,OAAsB,EAAoD;AACnG,EAAA,IAAIA,OAAO,KAAK,UAAU,EAAE,OAAO,CAAC;AAAE4qC,IAAAA,UAAU,EAAE,CAAC,CAAA;AAAE,GAAC,EAAE;AAAEn5C,IAAAA,UAAU,EAAE,CAAA;AAAE,GAAC,CAAC,CAAA;AAE1E,EAAA,IAAIuO,OAAO,KAAK,OAAO,EAAE,OAAO,CAAC;AAAE4qC,IAAAA,UAAU,EAAE,CAAA;AAAE,GAAC,EAAE;AAAEn5C,IAAAA,UAAU,EAAE,CAAC,EAAA;AAAG,GAAC,CAAC,CAAA;AAExE,EAAA,OAAO,CAAC;AAAEm5C,IAAAA,UAAU,EAAE,CAAA;AAAE,GAAC,EAAE;AAAEn5C,IAAAA,UAAU,EAAE,CAAC,EAAA;AAAG,GAAC,CAAC,CAAA;AACjD,CAAA;AAEO,SAAS27C,eAAeA,CAAA//C,IAAA,EAAiD;AAAA,EAAA,IAAA+T,YAAA,GAAA/T,IAAA,CAA9C2S,OAAO;AAAPA,IAAAA,OAAO,GAAAoB,YAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,YAAA,CAAA;EAClD,oBACET,GAAA,CAAC9V,IAAI,EAAA;AAACmhB,IAAAA,QAAQ,EAAC,UAAU;AAACI,IAAAA,GAAG,EAAC,GAAG;AAAClP,IAAAA,IAAI,EAAC,GAAG;AAACxH,IAAAA,KAAK,EAAC,MAAM;AAACd,IAAAA,MAAM,EAAC,MAAM;IAAAwL,QAAA,eACnEkL,IAAA,CAACzgB,IAAI,EAAA;AACH2gB,MAAAA,cAAc,EAAC,QAAQ;AACvBD,MAAAA,UAAU,EAAC,QAAQ;AACnB3W,MAAAA,MAAM,EAAC,MAAM;AACbiM,MAAAA,KAAK,EAAE;QACLJ,SAAS,EAAE0sC,iBAAiB,CAACntC,OAAO,CAAA;OACpC;AAAAI,MAAAA,QAAA,EAEDJ,CAAAA,OAAO,KAAK,UAAU,gBAAGW,GAAA,CAACqgC,iBAAiB,EAAA,EAAE,CAAC,GAAG,IAAI,EACrDhhC,OAAO,KAAK,OAAO,gBAAGW,GAAA,CAACggC,cAAc,EAAE,EAAA,CAAC,GAAG,IAAI,EAC/C3gC,OAAO,KAAK,QAAQ,gBAAGW,GAAA,CAAC4/B,eAAe,EAAE,EAAA,CAAC,GAAG,IAAI,CAAA;KAC9C,CAAA;AAAC,GACH,CAAC,CAAA;AAEX;;ACnCO,SAAS8M,mBAAmBA,CAACC,SAAiB,EAAE9kB,QAAgB,EAAU;AAC/E,EAAA,IAAM+kB,cAAc,GAAGryC,IAAI,CAAC8D,GAAG,CAAC,CAAC,EAAE9D,IAAI,CAACyD,GAAG,CAAC2uC,SAAS,EAAE9kB,QAAQ,CAAC,CAAC,CAAA;AAEjE,EAAA,OAAO+kB,cAAc,CAAA;AACvB;;ACFO,SAASC,kBAAkBA,GAAY;AAC5C,EAAA,IAAMC,uBAAuB,GAAGC,UAAU,CAACC,GAAG,EAAE,CAAA;EAEhD,OAAOF,uBAAuB,GAAG,CAAC,CAAA;AACpC;;;ACQA,IAAMG,qBAAqB,GAAG,IAAI,CAAA;;AAElC;AACA,SAASC,eAAeA,CAACP,SAAiB,EAAU;AAClD,EAAA,OAAOD,mBAAmB,CAACC,SAAS,EAAEM,qBAAqB,CAAC,CAAA;AAC9D,CAAA;AAuBO,SAASE,SAASA,CAAAzgD,IAAA,EAWK;AAAA,EAAA,IAAAmzC,UAAA,GAAAnzC,IAAA,CAV5BqI,KAAK;AAALA,IAAAA,KAAK,GAAA8qC,UAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,UAAA;IACT5rC,MAAM,GAAAvH,IAAA,CAANuH,MAAM;IACNge,GAAG,GAAAvlB,IAAA,CAAHulB,GAAG;IACH2sB,QAAQ,GAAAlyC,IAAA,CAARkyC,QAAQ;IACRD,KAAK,GAAAjyC,IAAA,CAALiyC,KAAK;IACLyO,MAAM,GAAA1gD,IAAA,CAAN0gD,MAAM;IACNtC,MAAM,GAAAp+C,IAAA,CAANo+C,MAAM;IACNuC,QAAQ,GAAA3gD,IAAA,CAAR2gD,QAAQ;IACRf,OAAO,GAAA5/C,IAAA,CAAP4/C,OAAO;AACJ5rC,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;EAER,IAAAwO,SAAA,GAAwCC,QAAQ,CAAC69B,eAAe,CAACn4C,KAAK,CAAC,CAAC;IAAAua,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAjEk+B,IAAAA,YAAY,GAAAh+B,UAAA,CAAA,CAAA,CAAA;AAAEi+B,IAAAA,eAAe,GAAAj+B,UAAA,CAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAuI,UAAA,GAAkCxI,QAAQ,CAAC,IAAI,CAAC;IAAAyI,UAAA,GAAAlrB,cAAA,CAAAirB,UAAA,EAAA,CAAA,CAAA;AAAzCtI,IAAAA,SAAS,GAAAuI,UAAA,CAAA,CAAA,CAAA;AAAEtI,IAAAA,YAAY,GAAAsI,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,EAAA,IAAAyW,UAAA,GAAgClf,QAAQ,CAAC,KAAK,CAAC;IAAAmf,UAAA,GAAA5hC,cAAA,CAAA2hC,UAAA,EAAA,CAAA,CAAA;AAAxCif,IAAAA,QAAQ,GAAAhf,UAAA,CAAA,CAAA,CAAA;AAAEif,IAAAA,WAAW,GAAAjf,UAAA,CAAA,CAAA,CAAA,CAAA;AAC5B,EAAA,IAAAkf,UAAA,GAA0Cr+B,QAAQ,CAAC,CAAC,CAAC;IAAAs+B,UAAA,GAAA/gD,cAAA,CAAA8gD,UAAA,EAAA,CAAA,CAAA;AAA9CE,IAAAA,aAAa,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,gBAAgB,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAEtC,EAAA,IAAMG,oBAAoB,GAAGjB,kBAAkB,EAAE,CAAA;EAEjD,IAAMkB,MAAM,GAAGvC,uBAAuB,CAAC;AACrCE,IAAAA,aAAa,EAAE9M,QAAQ;AACvB6M,IAAAA,UAAU,EAAE9M,KAAK;AACjBiM,IAAAA,QAAQ,EAAE0C,YAAY;AACtBzC,IAAAA,SAAS,EAAE52C,MAAM;AACjB62C,IAAAA,MAAM,EAANA,MAAM;AACNC,IAAAA,IAAI,EAAE+C,oBAAAA;AACR,GAAC,CAAC,CAAA;;AA6BF;;AAGA,EAAA,oBACEnjC,IAAA,CAACzgB,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AACHie,IAAAA,QAAQ,EAAC,UAAU;AACnBhZ,IAAAA,QAAQ,EAAE46C,qBAAsB;AAChCh5C,IAAAA,MAAM,EAAEA,MAAO;AACf6gB,IAAAA,QAAQ,EAnCe,SAArBk5B,kBAAkBA,CAAInsB,KAAwB,EAAW;AAC7D,MAAA,IAAQgK,WAAW,GAAKhK,KAAK,CAArBgK,WAAW,CAAA;MACnB,IAAM+gB,cAAc,GAAGM,eAAe,CAACrhB,WAAW,CAACjb,MAAM,CAAC7b,KAAK,CAAC,CAAA;MAEhEw4C,eAAe,CAACX,cAAc,CAAC,CAAA;AACjC,KAAA;AA8BiC,GAAA,EACzBlsC,KAAK,CAAA,EAAA,EAAA,EAAA;IACT,gBAAgBkC,EAAAA,OAAO,CAACC,GAAG,CAACorC,yBAAyB,KAAK,MAAM,GAAG,QAAQ,GAAG9iD,SAAU;IAAAsU,QAAA,EAAA,CAT/D6tC,YAAY,GAAG,CAAC,IAAIS,MAAM,gBAYjD/tC,GAAA,CAACosC,cAAc,EAAA;AAEbtuB,MAAAA,GAAG,EAAEiwB,MAAO;AACZh5C,MAAAA,KAAK,EAAEu4C,YAAa;AACpBr5C,MAAAA,MAAM,EAAEA,MAAO;AACfge,MAAAA,GAAG,EAAEA,GAAI;AACTo6B,MAAAA,SAAS,EAvCU,SAArB6B,kBAAkBA,GAAe;QACrC1+B,YAAY,CAAC,KAAK,CAAC,CAAA;AAEnB,QAAA,IAAI69B,QAAQ,EAAEA,QAAQ,EAAE,CAAA;OAoCY;AAC9Bf,MAAAA,OAAO,EAlCK,SAAd6B,WAAWA,GAAe;QAC9BV,WAAW,CAAC,IAAI,CAAC,CAAA;AAEjB,QAAA,IAAInB,OAAO,EAAEA,OAAO,EAAE,CAAA;AACxB,OAAA;AA8B6B,KAAA,EAAA,UAAA,CAAA7gD,MAAA,CANLmiD,aAAa,CAO9B,CAAC,GACA,IAAI,EAxBgBR,MAAM,IAAI,CAAC79B,SAAS,IAAI,CAACi+B,QAAQ,gBA2BvDxtC,GAAA,CAAC9V,IAAI,EAAA;AAACmhB,MAAAA,QAAQ,EAAC,UAAU;AAACI,MAAAA,GAAG,EAAC,GAAG;AAAClP,MAAAA,IAAI,EAAC,GAAG;AAACxH,MAAAA,KAAK,EAAC,MAAM;AAACd,MAAAA,MAAM,EAAC,MAAM;AAAAwL,MAAAA,QAAA,EAClE2tC,MAAAA;KACG,CAAC,GACL,IAAI,EAEP79B,SAAS,gBACRvP,GAAA,CAAC9V,IAAI,EAAA;AAACmhB,MAAAA,QAAQ,EAAC,UAAU;AAACI,MAAAA,GAAG,EAAC,GAAG;AAAClP,MAAAA,IAAI,EAAC,GAAG;AAACxH,MAAAA,KAAK,EAAC,MAAM;AAACd,MAAAA,MAAM,EAAC,MAAM;AAAAwL,MAAAA,QAAA,eACnEO,GAAA,CAACusC,eAAe,EAAE,EAAA,CAAA;KACd,CAAC,GACL,IAAI,EAEPiB,QAAQ,gBACPxtC,GAAA,CAAC9V,IAAI,EAAA;AAACmhB,MAAAA,QAAQ,EAAC,UAAU;AAACI,MAAAA,GAAG,EAAC,GAAG;AAAClP,MAAAA,IAAI,EAAC,GAAG;AAACxH,MAAAA,KAAK,EAAC,MAAM;AAACd,MAAAA,MAAM,EAAC,MAAM;MAAAwL,QAAA,eACnEO,GAAA,CAACisC,cAAc,EAAA;AAACC,QAAAA,QAAQ,EA9CX,SAAfkC,YAAYA,GAAe;UAC/BX,WAAW,CAAC,KAAK,CAAC,CAAA;UAClBj+B,YAAY,CAAC,IAAI,CAAC,CAAA;UAClBq+B,gBAAgB,CAAC,UAAC19B,IAAI,EAAA;YAAA,OAAKA,IAAI,GAAG,CAAC,CAAA;WAAC,CAAA,CAAA;AACtC,SAAA;OA0CiD,CAAA;KACrC,CAAC,GACL,IAAI,CAAA;AAAA,GAAA,CACJ,CAAC,CAAA;AAEX,CAAA;AAEAg9B,SAAS,CAAC3iD,KAAK,GAAG4hD,cAAc,CAAA;AAChCe,SAAS,CAACkB,MAAM,GAAG9B,eAAe,CAAA;AAClCY,SAAS,CAACvtC,KAAK,GAAGqsC,cAAc,CAAA;AAChCkB,SAAS,CAACmB,MAAM,GAAG7B,eAAe;;;ACtI3B,SAAS8B,IAAIA,CAAA7hD,IAAA,EAA+D;AAAA,EAAA,IAA5D0kB,SAAS,GAAA1kB,IAAA,CAAT0kB,SAAS;IAAAo9B,SAAA,GAAA9hD,IAAA,CAAEujB,IAAI;AAAJA,IAAAA,IAAI,GAAAu+B,SAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,SAAA;AAAK9tC,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;EACvD,oBAAOZ,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,KAAKsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEoK,IAAAA,aAAa,EAAEsG,SAAU;AAACyoB,IAAAA,QAAQ,EAAE5pB,IAAAA;AAAK,GAAA,CAAE,CAAC,CAAA;AACtE;;ACbO,IAAMw+B,YAAY,GAAG;;ACa5B,IAAMC,gCAAgC,GAAG,UACvCpwC,KAA4B,EAEjB;AAAA,EAAA,IADX7N,KAAoC,GAAAxF,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,aAAa,CAAA;AAEpD,EAAA,QAAQwF,KAAK;AACX,IAAA,KAAK,MAAM;AACT,MAAA,OAAO,SAAS,CAAA;AAClB,IAAA,KAAK,OAAO;AACV,MAAA,OAAO,SAAS,CAAA;AAClB,IAAA,KAAK,SAAS;MACZ,OAAO6N,KAAK,CAACM,IAAI,CAACH,QAAQ,CAACpR,SAAS,CAACA,SAAS,CAAA;AAChD,IAAA;AACE,MAAA,OAAO,aAAa,CAAA;AACxB,GAAA;AACF,CAAC,CAAA;AAED,IAAMshD,gCAAgC,GAAG,YAEX;AAAA,EAAA,IAD5Bl+C,KAAoC,GAAAxF,SAAA,CAAAC,MAAA,GAAA,CAAA,IAAAD,SAAA,CAAA,CAAA,CAAA,KAAAE,SAAA,GAAAF,SAAA,CAAA,CAAA,CAAA,GAAG,aAAa,CAAA;AAEpD,EAAA,QAAQwF,KAAK;AACX,IAAA,KAAK,MAAM,CAAA;AACX,IAAA,KAAK,SAAS;AACZ,MAAA,OAAO,OAAO,CAAA;AAChB,IAAA,KAAK,OAAO,CAAA;AACZ,IAAA;AACE,MAAA,OAAO,OAAO,CAAA;AAClB,GAAA;AACF,CAAC,CAAA;AAEM,IAAMm+C,2BAA2B,gBAAGjwC,aAAa,CAAgC,aAAa,CAAC,CAAA;AACtG,IAAMkwC,sBAAsB,gBAAGlwC,aAAa,CAA0B,OAAO,CAAC,CAAA;IAEjEmwC,kBAAkB,GAAG,UAACr+C,KAA2C,EAA8B;AAC1G,EAAA,IAAMs+C,eAAe,GAAGhwC,UAAU,CAAC8vC,sBAAsB,CAAC,CAAA;EAC1D,OAAOp+C,KAAK,IAAIs+C,eAAe,CAAA;AACjC,EAAC;AAEM,SAASC,UAAUA,CAAAtiD,IAAA,EAAuD;AAAA,EAAA,IAApD+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEwvC,UAAU,GAAAviD,IAAA,CAAVuiD,UAAU,CAAA;AAC/C,EAAA,IAAM3wC,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EACxB,oBACEkB,GAAA,CAAC9V,IAAI,EAAA;AACHkzB,IAAAA,UAAU,EAAC,QAAQ;AACnB9R,IAAAA,QAAQ,EAAEmjC,YAAa;AACvBS,IAAAA,OAAO,EAAAzjD,GAAAA,CAAAA,MAAA,CAAMgjD,YAAY,CAAG;AAC5BQ,IAAAA,UAAU,EAAEP,gCAAgC,CAACpwC,KAAK,EAAE2wC,UAAU,CAAE;AAAAxvC,IAAAA,QAAA,eAEhEO,GAAA,CAAC6uC,sBAAsB,CAACrnC,QAAQ,EAAA;AAACxC,MAAAA,KAAK,EAAE2pC,gCAAgC,CAACM,UAAU,CAAE;AAAAxvC,MAAAA,QAAA,eACnFO,GAAA,CAAC4uC,2BAA2B,CAACpnC,QAAQ,EAAA;AAACxC,QAAAA,KAAK,EAAEiqC,UAAW;AAAAxvC,QAAAA,QAAA,EAAEA,QAAAA;OAA+C,CAAA;KAC1E,CAAA;AAAC,GAC9B,CAAC,CAAA;AAEX;;ACpDO,SAAS0vC,UAAUA,CAAAziD,IAAA,EAAiE;AAAA,EAAA,IAA9D+D,KAAK,GAAA/D,IAAA,CAAL+D,KAAK;IAAEgP,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE2vC,aAAa,GAAA1iD,IAAA,CAAb0iD,aAAa,CAAA;EACzD,oBACEpvC,GAAA,CAAC9V,IAAI,EAAA;AAACwxB,IAAAA,YAAY,EAAE,EAAG;AAAAjc,IAAAA,QAAA,eACrBO,GAAA,CAACmG,UAAU,CAACkC,OAAO,EAAA;AAAChJ,MAAAA,OAAO,EAAC,MAAM;AAAC9M,MAAAA,IAAI,EAAC,SAAS;AAAC9B,MAAAA,KAAK,EAAEq+C,kBAAkB,CAACr+C,KAAK,CAAE;AAAC2+C,MAAAA,aAAa,EAAEA,aAAc;AAAA3vC,MAAAA,QAAA,EAC9GA,QAAAA;KACiB,CAAA;AAAC,GACjB,CAAC,CAAA;AAEX,CAAA;AAEA,SAAS4vC,gBAAgBA,CAAA1iD,KAAA,EAAiE;AAAA,EAAA,IAA9D8D,KAAK,GAAA9D,KAAA,CAAL8D,KAAK;IAAEgP,QAAQ,GAAA9S,KAAA,CAAR8S,QAAQ;IAAE2vC,aAAa,GAAAziD,KAAA,CAAbyiD,aAAa,CAAA;EACxD,oBACEpvC,GAAA,CAAC9V,IAAI,EAAA;AAACwxB,IAAAA,YAAY,EAAE,EAAG;AAAAjc,IAAAA,QAAA,eACrBO,GAAA,CAACmG,UAAU,CAACmC,OAAO,EAAA;AAACjJ,MAAAA,OAAO,EAAC,MAAM;AAAC9M,MAAAA,IAAI,EAAC,SAAS;AAAC9B,MAAAA,KAAK,EAAEq+C,kBAAkB,CAACr+C,KAAK,CAAE;AAAC2+C,MAAAA,aAAa,EAAEA,aAAc;AAAA3vC,MAAAA,QAAA,EAC9GA,QAAAA;KACiB,CAAA;AAAC,GACjB,CAAC,CAAA;AAEX,CAAA;AAEA4vC,gBAAgB,CAACpnC,WAAW,GAAG,mBAAmB,CAAA;AAElD,SAASqnC,gBAAgBA,CAAAviD,KAAA,EAAiE;AAAA,EAAA,IAA9D0D,KAAK,GAAA1D,KAAA,CAAL0D,KAAK;IAAEgP,QAAQ,GAAA1S,KAAA,CAAR0S,QAAQ;IAAE2vC,aAAa,GAAAriD,KAAA,CAAbqiD,aAAa,CAAA;EACxD,oBACEpvC,GAAA,CAAC9V,IAAI,EAAA;AAACwxB,IAAAA,YAAY,EAAE,EAAG;AAAAjc,IAAAA,QAAA,eACrBO,GAAA,CAACmG,UAAU,CAACoC,OAAO,EAAA;AACjBlJ,MAAAA,OAAO,EAAC,MAAM;AACd9M,MAAAA,IAAI,EAAC,SAAS;AACdE,MAAAA,MAAM,EAAC,SAAS;AAChBhC,MAAAA,KAAK,EAAEq+C,kBAAkB,CAACr+C,KAAK,CAAE;AACjC2+C,MAAAA,aAAa,EAAEA,aAAc;AAAA3vC,MAAAA,QAAA,EAE5BA,QAAAA;KACiB,CAAA;AAAC,GACjB,CAAC,CAAA;AAEX,CAAA;AAEA6vC,gBAAgB,CAACrnC,WAAW,GAAG,mBAAmB,CAAA;AAElD,SAASsnC,gBAAgBA,CAAAviD,KAAA,EAAiE;AAAA,EAAA,IAA9DyD,KAAK,GAAAzD,KAAA,CAALyD,KAAK;IAAEgP,QAAQ,GAAAzS,KAAA,CAARyS,QAAQ;IAAE2vC,aAAa,GAAApiD,KAAA,CAAboiD,aAAa,CAAA;EACxD,oBACEpvC,GAAA,CAAC9V,IAAI,EAAA;AAACwxB,IAAAA,YAAY,EAAE,EAAG;AAAAjc,IAAAA,QAAA,eACrBO,GAAA,CAACmG,UAAU,CAACqC,OAAO,EAAA;AACjBnJ,MAAAA,OAAO,EAAC,MAAM;AACd9M,MAAAA,IAAI,EAAC,SAAS;AACdE,MAAAA,MAAM,EAAC,SAAS;AAChBhC,MAAAA,KAAK,EAAEq+C,kBAAkB,CAACr+C,KAAK,CAAE;AACjC2+C,MAAAA,aAAa,EAAEA,aAAc;AAAA3vC,MAAAA,QAAA,EAE5BA,QAAAA;KACiB,CAAA;AAAC,GACjB,CAAC,CAAA;AAEX,CAAA;AAEA8vC,gBAAgB,CAACtnC,WAAW,GAAG,mBAAmB,CAAA;AAElDknC,UAAU,CAACK,MAAM,GAAGH,gBAAgB,CAAA;AACpCF,UAAU,CAACM,MAAM,GAAGH,gBAAgB,CAAA;AACpCH,UAAU,CAACO,MAAM,GAAGH,gBAAgB;;AC5D7B,SAASI,KAAKA,CAAAjjD,IAAA,EAAoE;AAAA,EAAA,IAAjE2sB,KAAK,GAAA3sB,IAAA,CAAL2sB,KAAK;IAAE2D,qBAAqB,GAAAtwB,IAAA,CAArBswB,qBAAqB;IAAEvd,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;EAC5D,oBACEkL,IAAA,CAACvgB,UAAU,EAAA;AAAC6kD,IAAAA,UAAU,EAAC,MAAM;AAACl9C,IAAAA,OAAO,EAAE08C,YAAa;AAACzxB,IAAAA,qBAAqB,EAAEA,qBAAsB;IAAAvd,QAAA,EAAA,cAChGO,GAAA,CAACmvC,UAAU,EAAA;AAAA1vC,MAAAA,QAAA,EAAE4Z,KAAAA;KAAkB,CAAC,EAC/B5Z,QAAQ,CAAA;AAAA,GACC,CAAC,CAAA;AAEjB;;;;;;ACNO,SAASmwC,YAAYA,CAAAljD,IAAA,EAAqF;AAAA,EAAA,IAAlF2sB,KAAK,GAAA3sB,IAAA,CAAL2sB,KAAK;IAAE5Z,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEowC,qBAAqB,GAAAnjD,IAAA,CAArBmjD,qBAAqB;AAAKnvC,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAC7E,EAAA,IAAIyY,KAAK,KAAK,MAAM,IAAI,CAACw2B,qBAAqB,EAAE,MAAM,IAAIjwC,KAAK,CAAC,+BAA+B,CAAC,CAAA;AAChG,EAAA,oBACE+K,IAAA,CAACzgB,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AAACsuB,IAAAA,YAAY,EAAC,QAAA;AAAQ,GAAA,EAAKhb,KAAK,CAAA,EAAA,EAAA,EAAA;AAAAjB,IAAAA,QAAA,EACnCO,cAAAA,GAAA,CAACmvC,UAAU,CAACK,MAAM,EAAA;AAAA/vC,MAAAA,QAAA,EAAE4Z,KAAAA;KAAyB,CAAC,EAC7C5Z,QAAQ,CAAA;AAAA,GAAA,CACL,CAAC,CAAA;AAEX,CAAA;AAEA,SAASqwC,UAAUA,CAAAnjD,KAAA,EAA8D;AAAA,EAAA,IAA3D0sB,KAAK,GAAA1sB,KAAA,CAAL0sB,KAAK;IAAE5Z,QAAQ,GAAA9S,KAAA,CAAR8S,QAAQ;AAAKiB,IAAAA,KAAK,GAAAC,wBAAA,CAAAhU,KAAA,EAAAqd,UAAA,CAAA,CAAA;AAC7C,EAAA,oBACEW,IAAA,CAACzgB,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AAACsuB,IAAAA,YAAY,EAAC,QAAA;AAAQ,GAAA,EAAKhb,KAAK,CAAA,EAAA,EAAA,EAAA;AAAAjB,IAAAA,QAAA,EACnCO,cAAAA,GAAA,CAACmvC,UAAU,CAACM,MAAM,EAAA;AAAAhwC,MAAAA,QAAA,EAAE4Z,KAAAA;KAAyB,CAAC,EAC7C5Z,QAAQ,CAAA;AAAA,GAAA,CACL,CAAC,CAAA;AAEX,CAAA;AAEA,SAASswC,YAAYA,CAAAhjD,KAAA,EAA8D;AAAA,EAAA,IAA3DssB,KAAK,GAAAtsB,KAAA,CAALssB,KAAK;IAAE5Z,QAAQ,GAAA1S,KAAA,CAAR0S,QAAQ;AAAKiB,IAAAA,KAAK,GAAAC,wBAAA,CAAA5T,KAAA,EAAAiyB,UAAA,CAAA,CAAA;AAC/C,EAAA,oBACErU,IAAA,CAACzgB,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AAACsuB,IAAAA,YAAY,EAAC,QAAA;AAAQ,GAAA,EAAKhb,KAAK,CAAA,EAAA,EAAA,EAAA;AAAAjB,IAAAA,QAAA,EACnCO,cAAAA,GAAA,CAACmvC,UAAU,CAACO,MAAM,EAAA;AAAAjwC,MAAAA,QAAA,EAAE4Z,KAAAA;KAAyB,CAAC,EAC7C5Z,QAAQ,CAAA;AAAA,GAAA,CACL,CAAC,CAAA;AAEX,CAAA;AAMA,SAASuwC,WAAWA,CAAAhjD,KAAA,EAAsD;AAAA,EAAA,IAAnDyS,QAAQ,GAAAzS,KAAA,CAARyS,QAAQ;AAAKiB,IAAAA,KAAK,GAAAC,wBAAA,CAAA3T,KAAA,EAAAoyB,UAAA,CAAA,CAAA;AACvC,EAAA,oBACEpf,GAAA,CAAC9V,IAAI,EAAAkD,aAAA,CAAAA,aAAA,CAAA;AAACsuB,IAAAA,YAAY,EAAC,SAAA;AAAS,GAAA,EAAKhb,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAjB,QAAA,eACpCO,GAAA,CAAC4vC,YAAY,EAAA;MAACC,qBAAqB,EAAA,IAAA;AAACx2B,MAAAA,KAAK,EAAC,MAAM;AAAA5Z,MAAAA,QAAA,EAC7CA,QAAAA;KACW,CAAA;AAAC,GAAA,CACX,CAAC,CAAA;AAEX,CAAA;AAEAmwC,YAAY,CAACE,UAAU,GAAGA,UAAU,CAAA;AACpCF,YAAY,CAACG,YAAY,GAAGA,YAAY,CAAA;AACxC;AACAH,YAAY,CAACI,WAAW,GAAGA,WAAW,CAAA;AACtCJ,YAAY,CAACK,IAAI,GAAGD,WAAW,CAAA;;AAE/B;AACO,IAAME,iBAAiB,GAAGN;;ACpD1B,SAASO,cAAcA,CAAAzjD,IAAA,EAAwF;AAAA,EAAA,IAArF+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE4Z,KAAK,GAAA3sB,IAAA,CAAL2sB,KAAK;IAAA+2B,UAAA,GAAA1jD,IAAA,CAAEgT,KAAK;AAALA,IAAAA,KAAK,GAAA0wC,UAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,UAAA;IAAAC,aAAA,GAAA3jD,IAAA,CAAE4jD,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA,CAAA;AAChF,EAAA,IAAIC,QAAQ,KAAK,KAAK,EAAE,OAAO,IAAI,CAAA;AAEnC,EAAA,oBACEtwC,GAAA,CAAC4vC,YAAY,CAACG,YAAY,EAAA;AAAC7uC,IAAAA,MAAM,EAAExB,KAAM;AAAC2Z,IAAAA,KAAK,EAAEA,KAAM;AAAA5Z,IAAAA,QAAA,EACpDA,QAAAA;AAAQ,GACgB,CAAC,CAAA;AAEhC;;ACbO,IAAM8wC,cAA4C,GAAG,UAACC,OAAO,EAAEthB,OAAO,EAAK;AAChF,EAAA,IAAIA,OAAO,CAACuhB,UAAU,CAACC,qBAAqB,EAAE;IAC5C,OAAOF,OAAO,EAAE,CAAA;AAClB,GAAA;EACA,oBAAOxwC,GAAA,CAACmwC,KAAc,EAAA;IAAC92B,KAAK,EAAE6V,OAAO,CAAChN,IAAK;IAAAziB,QAAA,EAAE+wC,OAAO,EAAC;AAAC,GAAiB,CAAC,CAAA;AAC1E;;ACGA,SAASG,YAAYA,CAAAjkD,IAAA,EAA6E;AAAA,EAAA,IAA1E+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAAmxC,eAAA,GAAAlkD,IAAA,CAAEmkD,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,eAAA;IAAE/W,QAAQ,GAAAntC,IAAA,CAARmtC,QAAQ,CAAA;EAC9D,oBACE75B,GAAA,CAAC9V,IAAI,EAAA;AACH4gB,IAAAA,aAAa,EAAAgmC,eAAA,CAAA;AAAIv+C,MAAAA,IAAI,EAAE,QAAA;KAAWs+C,EAAAA,UAAU,EAAG,KAAK,CAAG;AACvDhX,IAAAA,QAAQ,EAAEA,QAAQ,GAAG,MAAM,GAAG1uC,SAAU;AACxC+jD,IAAAA,OAAO,EAAA4B,eAAA,CAAA,EAAA,EAAKD,UAAU,EAAG,SAAS,CAAG;AACrCn1B,IAAAA,YAAY,EAAAo1B,eAAA,CAAA,EAAA,EAAKD,UAAU,EAAG,QAAQ,CAAG;IAAApxC,QAAA,EAExC0c,QAAQ,CAACrvB,GAAG,CAAC2S,QAAQ,EAAE,UAAC8c,KAAK,EAAA;MAAA,oBAC5Bvc,GAAA,CAAC9V,IAAI,EAAA;AACHmW,QAAAA,QAAQ,EAAAywC,eAAA,CAAA,EAAA,EAAKD,UAAU,EAAG,CAAC,CAAG;QAC9B5lC,SAAS,EAAE4uB,QAAQ,GAAG1uC,SAAS,GAAA2lD,eAAA,CAAMD,EAAAA,EAAAA,UAAU,EAAG,CAAC,CAAG;AACtDzzB,QAAAA,UAAU,EAAA0zB,eAAA,CAAA;AAAIv+C,UAAAA,IAAI,EAAE,QAAA;SAAWs+C,EAAAA,UAAU,EAAG,CAAC,CAAG;AAChDt3B,QAAAA,aAAa,EAAAu3B,eAAA,CAAA;AAAIv+C,UAAAA,IAAI,EAAE,QAAA;SAAWs+C,EAAAA,UAAU,EAAG,CAAC,CAAG;AACnD3B,QAAAA,OAAO,EAAA4B,eAAA,CAAA,EAAA,EAAKD,UAAU,EAAG,QAAQ,CAAG;AAAApxC,QAAAA,QAAA,EAEnC8c,KAAAA;AAAK,OACF,CAAC,CAAA;KACR,CAAA;AAAC,GACE,CAAC,CAAA;AAEX,CAAA;AASA,SAASw0B,YAAYA,CAAAC,MAAA,EAAkF;AAAA,EAAA,IAA/E33B,KAAK,GAAA23B,MAAA,CAAL33B,KAAK;IAAE43B,UAAU,GAAAD,MAAA,CAAVC,UAAU;IAAExxC,QAAQ,GAAAuxC,MAAA,CAARvxC,QAAQ;IAAAyxC,eAAA,GAAAF,MAAA,CAAEV,QAAQ;AAARA,IAAAA,QAAQ,GAAAY,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA,CAAA;AACnE,EAAA,IAAMC,QAAQ,GAAGxpC,QAAQ,CAACC,EAAE,KAAK,KAAK,IAAID,QAAQ,CAACC,EAAE,KAAK,SAAS,CAAA;EAEnE,IAAID,QAAQ,CAACC,EAAE,KAAK,KAAK,IAAI0oC,QAAQ,KAAK,QAAQ,EAAE;AAClD,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEA,EAAA,IAAIa,QAAQ,IAAIb,QAAQ,KAAK,KAAK,EAAE;AAClC,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,oBACE3lC,IAAA,CAAA2K,QAAA,EAAA;AAAA7V,IAAAA,QAAA,GACG4Z,KAAK,gBACJrZ,GAAA,CAACmvC,UAAU,CAACO,MAAM,EAAA;AAACN,MAAAA,aAAa,EAAE,CAAE;AAAC3+C,MAAAA,KAAK,EAAEwgD,UAAW;AAAAxxC,MAAAA,QAAA,EACpD4Z,KAAAA;AAAK,KACW,CAAC,GAClB,IAAI,EACP5Z,QAAQ,CAAA;AAAA,GACT,CAAC,CAAA;AAEP,CAAA;AAEO,IAAM2xC,SAAS,GAAG;AACvBC,EAAAA,GAAG,EAAEV,YAAY;AACjBW,EAAAA,GAAG,EAAEP,YAAAA;AACP;;ACtDO,IAAMQ,aAAa,GAAG,UAAC/tC,IAAa,EAAEnE,OAAmB,EAAsB;AACpF,EAAA,QAAQmE,IAAI;AACV,IAAA,KAAK,QAAQ;AAAE,MAAA;AACb,QAAA,OAAOnE,OAAO,KAAK,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAA;AACnD,OAAA;AACA,IAAA,KAAK,MAAM;AAAE,MAAA;AACX,QAAA,OAAOA,OAAO,KAAK,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AACpD,OAAA;AACA,IAAA,KAAK,SAAS;AAAE,MAAA;AACd,QAAA,OAAO,SAAS,CAAA;AAClB,OAAA;AACA,IAAA,KAAK,SAAS;AAAE,MAAA;AACd,QAAA,OAAO,OAAO,CAAA;AAChB,OAAA;AACA,IAAA;AAAS,MAAA;AACP,QAAA,OAAO,OAAO,CAAA;AAChB,OAAA;AACF,GAAA;AACF,CAAC,CAAA;AAEM,SAASmyC,GAAGA,CAAA9kD,IAAA,EAAqE;AAAA,EAAA,IAAlEoqC,KAAK,GAAApqC,IAAA,CAALoqC,KAAK;IAAApwB,SAAA,GAAAha,IAAA,CAAE8W,IAAI;AAAJA,IAAAA,IAAI,GAAAkD,SAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,SAAA;IAAAjG,YAAA,GAAA/T,IAAA,CAAE2S,OAAO;AAAPA,IAAAA,OAAO,GAAAoB,YAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,YAAA,CAAA;EAC7D,oBACET,GAAA,CAAC9V,IAAI,EAAA;AACHof,IAAAA,SAAS,EAAC,YAAY;AACtBlZ,IAAAA,YAAY,EAAC,uBAAuB;AACpCkb,IAAAA,QAAQ,EAAC,4BAA4B;AACrCC,IAAAA,QAAQ,EAAC,0BAA0B;IACnClb,eAAe,EAAA,WAAA,CAAA5E,MAAA,CAAc+X,IAAI,OAAA/X,MAAA,CAAI4T,OAAO,EAAmB,kBAAA,CAAA;IAC/D/O,WAAW,EAAA,WAAA,CAAA7E,MAAA,CAAc+X,IAAI,OAAA/X,MAAA,CAAI4T,OAAO,EAAe,cAAA,CAAA;IACvD9O,WAAW,EAAA,WAAA,CAAA9E,MAAA,CAAc+X,IAAI,OAAA/X,MAAA,CAAI4T,OAAO,EAAe,cAAA,CAAA;AAAAI,IAAAA,QAAA,eAEvDO,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC5V,MAAAA,IAAI,EAAC,aAAa;AAAC9B,MAAAA,KAAK,EAAE8gD,aAAa,CAAC/tC,IAAI,EAAEnE,OAAO,CAAE;AAAAI,MAAAA,QAAA,EACrEq3B,KAAAA;KACc,CAAA;AAAC,GACd,CAAC,CAAA;AAEX;;ACzBO,SAAS2a,mBAAmBA,CAAA/kD,IAAA,EAUK;AAAA,EAAA,IATtC2sB,KAAK,GAAA3sB,IAAA,CAAL2sB,KAAK;IACLtD,OAAO,GAAArpB,IAAA,CAAPqpB,OAAO;IACP/Q,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IACL0sC,cAAc,GAAAhlD,IAAA,CAAdglD,cAAc;IACd5jB,mBAAmB,GAAAphC,IAAA,CAAnBohC,mBAAmB;IACnB5sB,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IACNywC,YAAY,GAAAjlD,IAAA,CAAZilD,YAAY;IACZv2B,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;IACR3F,OAAO,GAAA/oB,IAAA,CAAP+oB,OAAO,CAAA;AAEP,EAAA,IAAArG,SAAA,GAAwCC,QAAQ,CAACrK,KAAK,CAAC;IAAAsK,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAhD2M,IAAAA,YAAY,GAAAzM,UAAA,CAAA,CAAA,CAAA;AAAE0M,IAAAA,eAAe,GAAA1M,UAAA,CAAA,CAAA,CAAA,CAAA;;AAEpC;AACA,EAAA,IAAMuG,WAAW,GAAG,YAAY;IAC9BmG,eAAe,CAAChX,KAAK,CAAC,CAAA;AACtByQ,IAAAA,OAAO,EAAE,CAAA;GACV,CAAA;AAMD,EAAA,IAAM4F,YAAY,GAAG,UAACu2B,QAAe,EAAW;AAC9C,IAAA,IAAIA,QAAQ,EAAE51B,eAAe,CAAC41B,QAAQ,CAAC,CAAA;GACxC,CAAA;AAED,EAAA,IAAMC,aAAa,GAAG/jB,mBAAmB,iBACvC9tB,GAAA,CAACiuB,gBAAgB,EAAA;IAACpS,EAAE,EAAA,4CAAA;AAA6C,GAA2B,CAC7F,CAAA;AAED,EAAA,oBACE7b,GAAA,CAAC4Z,SAAS,CAAC9D,cAAc,EAAA;AAACC,IAAAA,OAAO,EAAE0E,OAAO,CAAC1E,OAAO,CAAE;AAACN,IAAAA,OAAO,EAAEI,WAAY;IAAApW,QAAA,eACxEkL,IAAA,CAACiP,SAAS,EAAA;AAAC1Y,MAAAA,MAAM,EAAEA,MAAO;AAAAzB,MAAAA,QAAA,GACvB4Z,KAAK,gBACJrZ,GAAA,CAAC4Z,SAAS,CAACK,MAAM,EAAA;AACfZ,QAAAA,KAAK,EAAEA,KAAM;QACb7c,KAAK,eACHwD,GAAA,CAACi+B,UAAU,EAAA;AAAC/8B,UAAAA,MAAM,EAAC,4CAA4C;AAACxK,UAAAA,IAAI,eAAEsJ,GAAA,CAACsoC,KAAK,IAAE,CAAE;AAAC5mC,UAAAA,OAAO,EAAEmU,WAAAA;SAAc,CAAA;OAE3G,CAAC,GACA,IAAI,eAER7V,GAAA,CAAC4Z,SAAS,CAACI,IAAI,EAAA;QAAAva,QAAA,eACbO,GAAA,CAACstB,cAAc,EAAA;UACbC,QAAQ,EAAA,IAAA;AACRmkB,UAAAA,cAAc,EAAEA,cAAe;AAC/BxwC,UAAAA,MAAM,EAAEywC,YAAa;AACrB3sC,UAAAA,KAAK,EAAE+W,YAAa;AACpByR,UAAAA,IAAI,EAAC,MAAM;UACX3G,OAAO,EAAElf,QAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,SAAS,GAAG,SAAU;AACvDwT,UAAAA,QAAQ,EAAE,UAACyG,KAA0B,EAAE+K,IAAW,EAAA;YAAA,OAAKvR,YAAY,CAACuR,IAAI,CAAC,CAAA;AAAA,WAAA;SAC1E,CAAA;AAAC,OACY,CAAC,eACjB5sB,GAAA,CAAC4Z,SAAS,CAACM,MAAM,EAAA;QAAAza,QAAA,eACfO,GAAA,CAAC+M,MAAM,EAAA;UAACC,OAAO,EAAA,IAAA;AAAC9L,UAAAA,MAAM,EAAC,6CAA6C;AAACsC,UAAAA,IAAI,EAAC,SAAS;AAAC9B,UAAAA,OAAO,EApC9E,SAAfssB,YAAYA,GAAe;YAC/B5S,QAAQ,CAACW,YAAY,CAAC,CAAA;WAmC0F;AAAAtc,UAAAA,QAAA,EACvGoyC,aAAAA;SACK,CAAA;AAAC,OACO,CAAC,CAAA;KACV,CAAA;AAAC,GACY,CAAC,CAAA;AAE/B;;ACxFA,SAASC,wBAAwBA,CAACC,IAAY,EAAU;AACtD,EAAA,OAAA,EAAA,CAAAtmD,MAAA,CAAUmiB,MAAM,CAACmkC,IAAI,CAAC,CAAC5qB,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAA;AACzC,CAAA;AAEO,SAAS6qB,sBAAsBA,CAACplB,IAAU,EAAU;EACzD,OAAAnhC,EAAAA,CAAAA,MAAA,CAAUqmD,wBAAwB,CAACllB,IAAI,CAACqlB,QAAQ,EAAE,CAAC,OAAAxmD,MAAA,CAAIqmD,wBAAwB,CAACllB,IAAI,CAACslB,UAAU,EAAE,CAAC,CAAA,CAAA;AACpG;;ACGO,SAASznB,6BAA6BA,CAAA/9B,IAAA,EAKsB;AAAA,EAAA,IAJjE+W,UAAU,GAAA/W,IAAA,CAAV+W,UAAU;IACVlC,iBAAiB,GAAA7U,IAAA,CAAjB6U,iBAAiB;IACjBE,iBAAiB,GAAA/U,IAAA,CAAjB+U,iBAAiB;IACjBD,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB,CAAA;EAEjB,IAAIiC,UAAU,EAAE,OAAO,UAAU,CAAA;EAEjC,IAAIlC,iBAAiB,EAAE,OAAO,OAAO,CAAA;EAErC,IAAIE,iBAAiB,EAAE,OAAO,OAAO,CAAA;EAErC,IAAID,iBAAiB,EAAE,OAAO,OAAO,CAAA;AAErC,EAAA,OAAO,SAAS,CAAA;AAClB;;ACCO,IAAM2wC,mBAAmB,gBAAGrxC,UAAU,CAC3C,UAAApU,IAAA,EAYEqU,GAAG,EACc;AAAA,EAAA,IAXfG,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IACNnR,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACRid,OAAO,GAAAtgB,IAAA,CAAPsgB,OAAO;IACPhI,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IACLvO,WAAW,GAAA/J,IAAA,CAAX+J,WAAW;IACX8K,iBAAiB,GAAA7U,IAAA,CAAjB6U,iBAAiB;IACjBE,iBAAiB,GAAA/U,IAAA,CAAjB+U,iBAAiB;IACjBD,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB;IACjBE,OAAO,GAAAhV,IAAA,CAAPgV,OAAO,CAAA;EAIT,oBACE1B,GAAA,CAAC1V,SAAS,EAAA;AACRyW,IAAAA,GAAG,EAAEA,GAAI;AACTG,IAAAA,MAAM,EAAEA,MAAO;AACfnR,IAAAA,QAAQ,EAAEA,QAAS;AACnBuR,IAAAA,iBAAiB,EAAC,QAAQ;IAC1BvM,KAAK,EAAEoN,6BAA6B,CAAC6K,OAAO,EAAE,MAAM,EAAE,gCAAgC,CAAE;AACxFif,IAAAA,aAAa,EAAC,UAAU;AACxBvqB,IAAAA,OAAO,EAAEA,OAAQ;IAAAjC,QAAA,EAEhB,SAAAA,QAAAA,CAAA9S,KAAA,EAAA;AAAA,MAAA,IAAGsS,SAAS,GAAAtS,KAAA,CAATsS,SAAS;QAAEE,SAAS,GAAAxS,KAAA,CAATwS,SAAS;QAAED,SAAS,GAAAvS,KAAA,CAATuS,SAAS,CAAA;MAAA,oBACjCyL,IAAA,CAACzgB,IAAI,EAAA;AAACmhB,QAAAA,QAAQ,EAAC,UAAU;QAAA5L,QAAA,EAAA,cACvBO,GAAA,CAACqgB,SAAS,EAAA;UACRC,kBAAkB,EAAEmK,6BAA6B,CAAC;AAChDhnB,YAAAA,UAAU,EAAE1T,QAAQ;YACpBwR,iBAAiB,EAAEtC,SAAS,IAAIsC,iBAAiB;YACjDE,iBAAiB,EAAEtC,SAAS,IAAIsC,iBAAiB;YACjDD,iBAAiB,EAAEtC,SAAS,IAAIsC,iBAAAA;AAClC,WAAC,CAAE;UACHwD,KAAK,EAAEA,KAAK,GAAGgtC,sBAAsB,CAAChtC,KAAK,CAAC,GAAG7Z,SAAU;AACzDsL,UAAAA,WAAW,EAAEA,WAAY;AACzB1G,UAAAA,QAAQ,EAAEA,QAAS;AACnBgb,UAAAA,SAAS,EAAC,QAAA;AAAQ,SACnB,CAAC,eACF/K,GAAA,CAAC9V,IAAI,EAAA;AAACmhB,UAAAA,QAAQ,EAAC,UAAU;AAACI,UAAAA,GAAG,EAAC,GAAG;AAAClP,UAAAA,IAAI,EAAC,GAAG;AAACtI,UAAAA,MAAM,EAAC,MAAM;AAACc,UAAAA,KAAK,EAAC,MAAA;AAAM,SAAE,CAAC,CAAA;AAAA,OACpE,CAAC,CAAA;AAAA,KAAA;AACR,GACQ,CAAC,CAAA;AAEhB,CACF,CAAC;;AC/BM,IAAMq9C,UAAU,gBAAGtxC,UAAU,CAClC,UAAApU,IAAA,EAmBEqU,GAAG,EACc;AAAA,EAAA,IAlBfsY,KAAK,GAAA3sB,IAAA,CAAL2sB,KAAK;IAAAkH,aAAA,GAAA7zB,IAAA,CACLqD,QAAQ;AAARA,IAAAA,QAAQ,GAAAwwB,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA;IAChBvT,OAAO,GAAAtgB,IAAA,CAAPsgB,OAAO;IACPhI,KAAK,GAAAtY,IAAA,CAALsY,KAAK;IACL0sC,cAAc,GAAAhlD,IAAA,CAAdglD,cAAc;IACd5jB,mBAAmB,GAAAphC,IAAA,CAAnBohC,mBAAmB;IACnBzB,gBAAgB,GAAA3/B,IAAA,CAAhB2/B,gBAAgB;IAAAgmB,gBAAA,GAAA3lD,IAAA,CAChB+J,WAAW;AAAXA,IAAAA,WAAW,GAAA47C,gBAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,gBAAA;IACrBnxC,MAAM,GAAAxU,IAAA,CAANwU,MAAM;IACNoxC,WAAW,GAAA5lD,IAAA,CAAX4lD,WAAW;IAAAC,iBAAA,GAAA7lD,IAAA,CACXilD,YAAY;AAAZA,IAAAA,YAAY,GAAAY,iBAAA,KAAG,KAAA,CAAA,GAAA,qDAAqD,GAAAA,iBAAA;IACpEhxC,iBAAiB,GAAA7U,IAAA,CAAjB6U,iBAAiB;IACjBE,iBAAiB,GAAA/U,IAAA,CAAjB+U,iBAAiB;IACjBD,iBAAiB,GAAA9U,IAAA,CAAjB8U,iBAAiB;IACjB4Z,QAAQ,GAAA1uB,IAAA,CAAR0uB,QAAQ;IACR7N,MAAM,GAAA7gB,IAAA,CAAN6gB,MAAM,CAAA;AAIR,EAAA,IAAA6B,SAAA,GAAwCC,QAAQ,CAAmBrK,KAAK,CAAC;IAAAsK,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAAlE2M,IAAAA,YAAY,GAAAzM,UAAA,CAAA,CAAA,CAAA;AAAE0M,IAAAA,eAAe,GAAA1M,UAAA,CAAA,CAAA,CAAA,CAAA;AACpC,EAAA,IAAAuI,UAAA,GAA8CxI,QAAQ,CAACgd,gBAAgB,CAAC;IAAAvU,UAAA,GAAAlrB,cAAA,CAAAirB,UAAA,EAAA,CAAA,CAAA;AAAjE26B,IAAAA,eAAe,GAAA16B,UAAA,CAAA,CAAA,CAAA;AAAE26B,IAAAA,kBAAkB,GAAA36B,UAAA,CAAA,CAAA,CAAA,CAAA;AAM1C,EAAA,IAAMuD,YAAY,GAAG,UAACu2B,QAA2B,EAAW;IAC1Da,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAEzBz2B,eAAe,CAAC41B,QAAQ,CAAC,CAAA;AAEzB,IAAA,IAAIx2B,QAAQ,EAAEA,QAAQ,CAACw2B,QAAQ,CAAC,CAAA;AAEhC,IAAA,IAAIrkC,MAAM,EAAEA,MAAM,EAAE,CAAA;GACrB,CAAA;AAMD,EAAA,IAAMmlC,WAAW,GAAG32B,YAAY,IAAI,IAAI4N,IAAI,EAAE,CAAA;EAE9C,oBACEhf,IAAA,CAAA2K,QAAA,EAAA;IAAA7V,QAAA,EAAA,cACEO,GAAA,CAACmyC,mBAAmB,EAAA;AAClBpxC,MAAAA,GAAG,EAAEA,GAAI;AACTG,MAAAA,MAAM,EAAEA,MAAO;AACfnR,MAAAA,QAAQ,EAAEA,QAAS;AACnBid,MAAAA,OAAO,EAAEA,OAAQ;AACjBhI,MAAAA,KAAK,EAAE+W,YAAa;AACpBtlB,MAAAA,WAAW,EAAEA,WAAY;AACzB8K,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCE,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCD,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCE,MAAAA,OAAO,EAlBO,SAAdgO,WAAWA,GAAe;QAC9B+iC,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAC1B,OAAA;AAgB2B,KACtB,CAAC,EAED9qC,QAAQ,CAACC,EAAE,KAAK,SAAS,IAAI4qC,eAAe,gBAC3CxyC,GAAA,CAACstB,cAAc,EAAA;MACbC,QAAQ,EAAA,IAAA;AACRrsB,MAAAA,MAAM,EAAEywC,YAAa;AACrB3sC,MAAAA,KAAK,EAAE0tC,WAAY;AACnBhB,MAAAA,cAAc,EAAEA,cAAe;AAC/BlkB,MAAAA,IAAI,EAAC,MAAM;AACX3G,MAAAA,OAAO,EAAC,SAAS;AACjBzL,MAAAA,QAAQ,EAAE,UAACyG,KAA0B,EAAE+K,IAAW,EAAA;QAAA,OAAKvR,YAAY,CAACuR,IAAI,CAAC,CAAA;AAAA,OAAA;AAAC,KAC3E,CAAC,GACA,IAAI,EAEPjlB,QAAQ,CAACC,EAAE,KAAK,SAAS,gBACxB5H,GAAA,CAACyxC,mBAAmB,EAAA;AAClB17B,MAAAA,OAAO,EAAEy8B,eAAgB;AACzBd,MAAAA,cAAc,EAAEA,cAAe;AAC/Br4B,MAAAA,KAAK,EAAEA,KAAM;AACbnY,MAAAA,MAAM,EAAEoxC,WAAY;AACpBX,MAAAA,YAAY,EAAEA,YAAa;AAC3B3sC,MAAAA,KAAK,EAAE0tC,WAAY;AACnB5kB,MAAAA,mBAAmB,EAAEA,mBAAoB;AACzC1S,MAAAA,QAAQ,EAAEC,YAAa;AACvB5F,MAAAA,OAAO,EAzDK,SAAdI,WAAWA,GAAe;QAC9B48B,kBAAkB,CAAC,KAAK,CAAC,CAAA;AAC3B,OAAA;KAwDO,CAAC,GACA,IAAI,CAAA;AAAA,GACR,CAAC,CAAA;AAEP,CACF;;AC7HA,IAAI,cAAc,GAAG,SAAS,cAAc,CAAC,KAAK,EAAE;AACpD,EAAE,oBAAoBzyC,GAAI,CAAC,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC;AAC9D,IAAI,OAAO,EAAE,UAAU;AACvB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,KAAK,EAAE,4BAA4B;AACvC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE;AACjB,IAAI,QAAQ,eAAeA,GAAI,CAAC,MAAM,EAAE;AACxC,MAAM,IAAI,EAAE,cAAc;AAC1B,MAAM,QAAQ,EAAE,SAAS;AACzB,MAAM,QAAQ,EAAE,SAAS;AACzB,MAAM,CAAC,EAAE,mIAAmI;AAC5I,KAAK,CAAC;AACN,GAAG,CAAC,CAAC,CAAC;AACN,CAAC;;ACAM,IAAM2yC,KAAK,gBAAG7xC,UAAU,CAC7B,UAAApU,IAAA,EAA+CqU,GAAG,EAAmB;AAAA,EAAA,IAAlEsK,QAAQ,GAAA3e,IAAA,CAAR2e,QAAQ;IAAEI,GAAG,GAAA/e,IAAA,CAAH+e,GAAG;IAAElP,IAAI,GAAA7P,IAAA,CAAJ6P,IAAI;IAAEsqB,OAAO,GAAAn6B,IAAA,CAAPm6B,OAAO,CAAA;AAC7B,EAAA,IAAMvoB,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EACxB,oBACEkB,GAAA,CAAC9V,IAAI,EAAA;AACH6W,IAAAA,GAAG,EAAEA,GAAI;IACT8lB,OAAO,EAAEA,OAAO,IAAI;AAAEt0B,MAAAA,IAAI,EAAE,MAAM;AAAEoC,MAAAA,KAAK,EAAE,MAAA;KAAS;AACpDI,IAAAA,KAAK,EAAC,0BAA0B;AAChCd,IAAAA,MAAM,EAAC,2BAA2B;AAClCsI,IAAAA,IAAI,EAAEA,IAAK;AACXkP,IAAAA,GAAG,EAAEA,GAAI;AACTvL,IAAAA,KAAK,EAAE;MACLJ,SAAS,EAAA,SAAA,CAAArU,MAAA,CAAY4f,QAAQ,KAAK,QAAQ,GAAG,QAAQ,GAAG,MAAM,EAAA,GAAA,CAAA;KAC9D;IAAA5L,QAAA,eAEFO,GAAA,CAAC4yC,cAAiB,EAAA;AAACniD,MAAAA,KAAK,EAAE6N,KAAK,CAACM,IAAI,CAACtB,OAAO,CAACjN,eAAgB;AAACO,MAAAA,OAAO,EAAE0N,KAAK,CAACM,IAAI,CAACtB,OAAO,CAAC1M,OAAAA;KAAU,CAAA;AAAC,GACjG,CAAC,CAAA;AAEX,CACF,CAAC;;AC1BM,SAASiiD,cAAcA,CAAAnmD,IAAA,EAA+C;AAAA,EAAA,IAA5C+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;EACvC,oBACEO,GAAA,CAAC9V,IAAI,EAAA;AACHmG,IAAAA,eAAe,EAAC,8BAA8B;AAC9CD,IAAAA,YAAY,EAAC,2BAA2B;AACxCQ,IAAAA,OAAO,EAAC,sBAAsB;AAC9B2a,IAAAA,QAAQ,EAAC,8BAA8B;AACvCD,IAAAA,QAAQ,EAAC,gCAAgC;AAAA7L,IAAAA,QAAA,eAEzCO,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AAAC5V,MAAAA,IAAI,EAAC,YAAY;AAAC9B,MAAAA,KAAK,EAAC,aAAa;AAAAgP,MAAAA,QAAA,EACnDA,QAAAA;KACc,CAAA;AAAC,GACd,CAAC,CAAA;AAEX;;ACZA;AACA;AACO,SAASqzC,WAAWA,CAAApmD,IAAA,EAGzB;AAAA,EAAA,IAH4BqmD,QAAQ,GAAArmD,IAAA,CAARqmD,QAAQ;IAAEC,QAAQ,GAAAtmD,IAAA,CAARsmD,QAAQ;IAAEC,QAAQ,GAAAvmD,IAAA,CAARumD,QAAQ;IAAEC,aAAa,GAAAxmD,IAAA,CAAbwmD,aAAa;IAAEC,MAAM,GAAAzmD,IAAA,CAANymD,MAAM,CAAA;AAI/E,EAAA,IAAMC,iBAAiB,GAAGJ,QAAQ,GAAGC,QAAQ,GAAG,GAAG,CAAA;AACnD,EAAA,IAAMI,gBAAgB,GAAGH,aAAa,GAAG,GAAG,CAAA;;AAE5C;AACA,EAAA,IAAIE,iBAAiB,GAAGC,gBAAgB,GAAG,CAAC,EAAE;IAC5C,OAAO;AACL92C,MAAAA,IAAI,EAAE,CAAC;AACPC,MAAAA,KAAK,EAAErR,SAAAA;KACR,CAAA;AACH,GAAA;;AAEA;AACA,EAAA,IAAIioD,iBAAiB,GAAGC,gBAAgB,GAAGF,MAAM,EAAE;IACjD,OAAO;AACL52C,MAAAA,IAAI,EAAEpR,SAAS;AACfqR,MAAAA,KAAK,EAAE,CAAA;KACR,CAAA;AACH,GAAA;;AAEA;EACA,OAAO;AACLD,IAAAA,IAAI,EAAEw2C,QAAQ;AACdv2C,IAAAA,KAAK,EAAErR,SAAAA;GACR,CAAA;AACH,CAAA;AAWO,SAASmoD,cAAcA,CAAA3mD,KAAA,EAG5B;AAAA,EAAA,IAH+BomD,QAAQ,GAAApmD,KAAA,CAARomD,QAAQ;IAAEQ,aAAa,GAAA5mD,KAAA,CAAb4mD,aAAa;IAAEL,aAAa,GAAAvmD,KAAA,CAAbumD,aAAa,CAAA;AAIrE,EAAA,IAAMM,gBAAgB,GAAG5Y,mBAAmB,EAAE,CAAA;EAC9C,IAAAxrB,SAAA,GAA8CC,QAAQ,CAAoC;AACxF9S,MAAAA,IAAI,EAAEpR,SAAS;AACfqR,MAAAA,KAAK,EAAErR,SAAAA;AACT,KAAC,CAAC;IAAAmkB,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAHKqkC,IAAAA,eAAe,GAAAnkC,UAAA,CAAA,CAAA,CAAA;AAAEokC,IAAAA,kBAAkB,GAAApkC,UAAA,CAAA,CAAA,CAAA,CAAA;AAK1CjB,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI0kC,QAAQ,KAAK5nD,SAAS,IAAI,CAACooD,aAAa,IAAIL,aAAa,KAAK/nD,SAAS,EAAE,OAAA;IAE7E,IAAMwoD,GAAG,GAAGb,WAAW,CAAC;AACtBC,MAAAA,QAAQ,EAARA,QAAQ;MACRC,QAAQ,EAAEO,aAAa,CAACK,KAAK;MAC7BX,QAAQ,EAAEM,aAAa,CAACx+C,KAAK;MAC7Bo+C,MAAM,EAAEK,gBAAgB,CAACz+C,KAAK;AAC9Bm+C,MAAAA,aAAa,EAAbA,aAAAA;AACF,KAAC,CAAC,CAAA;IAEFQ,kBAAkB,CAACC,GAAG,CAAC,CAAA;GACxB,EAAE,CAACT,aAAa,EAAEH,QAAQ,EAAES,gBAAgB,EAAED,aAAa,CAAC,CAAC,CAAA;AAE9D,EAAA,OAAOE,eAAe,CAAA;AACxB;;ACQA;AACA;AACO,SAASI,OAAOA,CAAAnnD,IAAA,EAgBK;AAAA,EAAA,IAf1B+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;IACR6J,SAAS,GAAA5c,IAAA,CAAT4c,SAAS,CAAA;IACTwqC,cAAc,GAAApnD,IAAA,CAAdonD,cAAc,CAAA;IAAAC,aAAA,GAAArnD,IAAA,CACd2e,QAAQ,CAAA;AAARA,IAAAA,QAAQ,GAAA0oC,aAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,aAAA,CAAA;IAChBz/C,OAAO,GAAA5H,IAAA,CAAP4H,OAAO,CAAA;IACPiJ,eAAe,GAAA7Q,IAAA,CAAf6Q,eAAe,CAAA;IAAA7Q,IAAA,CACf+0B,MAAM,CAAA;AAANA,QACAuyB,SAAS,GAAAtnD,IAAA,CAATsnD,SAAS,CAAA;IAAAC,oBAAA,GAAAvnD,IAAA,CACTwnD,eAAe,CAAA;AAAfA,IAAAA,eAAe,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,UAACE,oBAAoB,EAAA;AAAA,MAAA,oBACrCn0C,GAAA,CAAC1V,SAAS,EAAA8C,aAAA,CAAAA,aAAA,CAAA;AAACkU,QAAAA,iBAAiB,EAAC,QAAA;AAAQ,OAAA,EAAK6yC,oBAAoB,CAAA,EAAA,EAAA,EAAA;AAAA10C,QAAAA,QAAA,EAC3DA,QAAAA;AAAQ,OAAA,CACA,CAAC,CAAA;AAAA,KACb,GAAAw0C,oBAAA,CAAA;IACDG,QAAQ,GAAA1nD,IAAA,CAAR0nD,QAAQ,CAAA;IACRC,QAAQ,GAAA3nD,IAAA,CAAR2nD,SAAQ;AAER,EAAA,IAAM/1C,KAAK,GAAGQ,QAAQ,EAAE,CAAA;EACxB,IAAMw1C,sBAAsB,GAAG/2C,eAAe,IAAIe,KAAK,CAACM,IAAI,CAACtB,OAAO,CAACC,eAAe,CAAA;AAEpF,EAAA,IAAA6R,SAAA,GAA0CC,QAAQ,CAAqBlkB,SAAS,CAAC;IAAAmkB,UAAA,GAAA1iB,cAAA,CAAAwiB,SAAA,EAAA,CAAA,CAAA;AAA1E8jC,IAAAA,aAAa,GAAA5jC,UAAA,CAAA,CAAA,CAAA;AAAEilC,IAAAA,gBAAgB,GAAAjlC,UAAA,CAAA,CAAA,CAAA,CAAA;AACtC,EAAA,IAAMklC,gBAAgB,GAAG1mC,MAAM,CAA+C3iB,SAAS,CAAC,CAAA;AAExF,EAAA,IAAM8F,OAAO,GAAGmb,cAAc,CAAC0nC,cAAc,CAAC,CAAA;AAE9C,EAAA,IAAMlwC,cAAc,GAAG0I,gBAAgB,CAAC,YAAM;IAC5C,OAAO;AACL1b,MAAAA,OAAO,EAAE4b,UAAU,CAACvb,OAAO,CAAC+T,KAAK,GAAG1G,KAAK,CAACM,IAAI,CAACtB,OAAO,CAAC1M,OAAO,GAAG,CAAC,CAAC;AACnEkP,MAAAA,SAAS,EAAE,CACT;QACExN,KAAK,EAAEka,UAAU,CAACvb,OAAO,CAAC+T,KAAK,GAAG,CAAC,GAAG,GAAG,CAAA;OAC1C,CAAA;KAEJ,CAAA;AACH,GAAC,CAAC,CAAA;EAEF,IAAAyvC,YAAA,GAAyFC,WAAW,CAAC;AACnGC,MAAAA,SAAS,EAAEtpC,QAAQ;AACnBupC,MAAAA,UAAU,EAAE;AACV;MACAC,MAAM,CAACP,sBAAsB,CAAC;AAC9B;AACAQ,MAAAA,aAAa,CAAC;AACZC,QAAAA,iBAAiB,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC;AACpChjD,QAAAA,OAAO,EAAEuiD,sBAAAA;OACV,CAAA;AACD;AACA;AAAA,OAAA;AAEJ,KAAC,CAAC;IAbMnK,CAAC,GAAAsK,YAAA,CAADtK,CAAC;IAAEC,CAAC,GAAAqK,YAAA,CAADrK,CAAC;IAAEpU,SAAS,GAAAye,YAAA,CAATze,SAAS;IAAEgf,QAAQ,GAAAP,YAAA,CAARO,QAAQ;IAAEC,MAAM,GAAAR,YAAA,CAANQ,MAAM;IAAEC,IAAI,GAAAT,YAAA,CAAJS,IAAI;IAAEC,cAAc,GAAAV,YAAA,CAAdU,cAAc;IAAEC,QAAQ,GAAAX,YAAA,CAARW,QAAQ;IAAET,SAAS,GAAAF,YAAA,CAATE,SAAS,CAAA;AAepF,EAAA,IAAMU,QAAQ,GAAG96C,IAAI,CAACC,KAAK,CAAC4vC,CAAC,KAAA,IAAA,IAADA,CAAC,KAAA,KAAA,CAAA,GAADA,CAAC,GAAI,CAAC,CAAC,CAAA;AACnC,EAAA,IAAM2I,QAAQ,GAAGx4C,IAAI,CAACC,KAAK,CAAC2vC,CAAC,KAAA,IAAA,IAADA,CAAC,KAAA,KAAA,CAAA,GAADA,CAAC,GAAI,CAAC,CAAC,CAAA;AAEnC97B,EAAAA,SAAS,CAAC,YAAM;IACd,IAAI,CAAC+lC,QAAQ,EAAE,OAAA;AACfA,IAAAA,QAAQ,CAAC;AACPjK,MAAAA,CAAC,EAAE4I,QAAQ;AACX3I,MAAAA,CAAC,EAAEiL,QAAQ;AACXV,MAAAA,SAAS,EAATA,SAAS;AACTS,MAAAA,QAAQ,EAARA,QAAQ;AACRH,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,IAAI,EAAJA,IAAI;AACJC,MAAAA,cAAc,EAAdA,cAAAA;AACF,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACpC,QAAQ,EAAEsC,QAAQ,EAAEV,SAAS,EAAES,QAAQ,EAAEH,MAAM,EAAEC,IAAI,EAAEC,cAAc,EAAEf,QAAQ,CAAC,CAAC,CAAA;AAErF,EAAA,IAAMkB,gBAAgB,GAAGzgB,WAAW,CAClC,UAACrY,OAAY,EAAK;AAChB,IAAA,IAAIA,OAAO,EAAE;AACXA,MAAAA,OAAO,CAAC+4B,OAAO,CAAC,UAACC,EAAU,EAAEC,EAAU,EAAE1gD,KAAa,EAAE2gD,EAAU,EAAE9B,KAAa,EAAK;QACpFY,gBAAgB,CAACvmC,OAAO,GAAG;AAAElZ,UAAAA,KAAK,EAALA,KAAK;AAAE6+C,UAAAA,KAAK,EAALA,KAAAA;SAAO,CAAA;AAC7C,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAC,EACD,CAACY,gBAAgB,CACnB,CAAC,CAAA;EAED,IAAMf,eAAe,GAAGH,cAAc,CAAC;AAAEP,IAAAA,QAAQ,EAARA,QAAQ;IAAEQ,aAAa,EAAEiB,gBAAgB,CAACvmC,OAAO;AAAEilC,IAAAA,aAAa,EAAbA,aAAAA;AAAc,GAAC,CAAC,CAAA;EAO5G,oBACEvoC,IAAA,CAACzgB,IAAI,EAAA;AAACmhB,IAAAA,QAAQ,EAAC,UAAU;AAAC/B,IAAAA,SAAS,EAAEA,SAAU;IAAA7J,QAAA,EAAA,cAC7CO,GAAA,CAAC9V,IAAI,EAAA;AAAC6W,MAAAA,GAAG,EAAEi1B,SAAU;MAAAv2B,QAAA,EAAEy0C,eAAe,CAAC;AAAEnzC,QAAAA,GAAG,EAAEu0C,gBAAgB;AAAE5zC,QAAAA,OAAO,EAPvD,SAAdgO,WAAWA,GAAe;UAC9B,IAAI2kC,QAAQ,EAAEA,QAAQ,CAAC,CAAC,CAACpjD,OAAO,CAAC+T,KAAK,CAAC,CAAA;AACvC/T,UAAAA,OAAO,CAAC+T,KAAK,GAAG,CAAC/T,OAAO,CAAC+T,KAAK,CAAA;AAChC,SAAA;OAI0F,CAAA;AAAC,KAAO,CAAC,eAE/FhF,GAAA,CAAC9V,IAAI,EAAA;AACH6W,MAAAA,GAAG,EAAEi0C,QAAS;AACdW,MAAAA,2BAA2B,EAAE,CAAC1kD,OAAO,CAAC+T,KAAM;MAC5C4wC,yBAAyB,EAAE3kD,OAAO,CAAC+T,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,qBAAsB;AACnFqG,MAAAA,QAAQ,EAAC,UAAU;AACnBhZ,MAAAA,QAAQ,EAAE2hD,SAAS,GAAG7oD,SAAS,GAAG;AAAEoH,QAAAA,IAAI,EAAE,MAAM;AAAEoC,QAAAA,KAAK,EAAE,uBAAA;OAA0B;AACnF8W,MAAAA,GAAG,EAAE4pC,QAAS;MACd94C,IAAI,EAAEk3C,eAAe,CAACl3C,IAAK;MAC3BC,KAAK,EAAEi3C,eAAe,CAACj3C,KAAM;MAC7BsY,QAAQ,EAAE,SAAAA,QAAAA,CAAAnoB,KAAA,EAAA;AAAA,QAAA,IAAGk/B,WAAW,GAAAl/B,KAAA,CAAXk/B,WAAW,CAAA;AAAA,QAAA,OAAO0oB,gBAAgB,CAAC1oB,WAAW,CAACjb,MAAM,CAAC7b,KAAK,CAAC,CAAA;OAAC;AAAA0K,MAAAA,QAAA,eAE1EO,GAAA,CAACiE,QAAQ,CAAC/Z,IAAI,EAAA;QAACgW,KAAK,EAAE,CAAC0D,cAAc,CAAE;QAAAnE,QAAA,eACrCO,GAAA,CAAC6yC,cAAc,EAAA;AAAApzC,UAAAA,QAAA,EAAEnL,OAAAA;SAAwB,CAAA;OAC5B,CAAA;AAAC,KACZ,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AAEX,CAAA;AAEAu/C,OAAO,CAAClB,KAAK,GAAGA,KAAK,CAAA;AACrBkB,OAAO,CAAClhC,OAAO,GAAGkgC,cAAc;;ACtLhC,SAASgD,uBAAuBA,CAACryC,IAAoB,EAAElF,KAA4B,EAAwB;AACzG,EAAA,IAAQ9C,OAAO,GAAK8C,KAAK,CAACM,IAAI,CAAC7D,UAAU,CAACE,KAAK,CAACmK,mBAAmB,CAAC5B,IAAI,CAAC,CAAC,CAAlEhI,OAAO,CAAA;EACf,OAAQA,OAAO,CAASgI,IAAI,CAAC,CAAA;AAC/B,CAAA;AAQA,SAASsyC,iBAAiBA,CAACtyC,IAA8B,EAAElF,KAA4B,EAAS;AAAA,EAAA,IAAA8H,UAAA,CAAA;AAC9F,EAAA,IAAMJ,oBAAoB,GAAA5Y,aAAA,CAAAA,aAAA,KACrBoW,IAAI,CAAA,EAAA,EAAA,EAAA;IACP/Q,MAAM,EAAE+Q,IAAI,CAAC/Q,MAAM,IAAI+Q,IAAI,CAAC7O,KAAK,IAAI6O,IAAI,CAACjR,IAAAA;GAC3C,CAAA,CAAA;AAED,EAAA,IAAMd,IAAmB,GAAG;AAC1Bc,IAAAA,IAAI,EAAEsjD,uBAAuB,CAAA,CAAAzvC,UAAA,GAAC5C,IAAI,CAACjR,IAAI,MAAA,IAAA,IAAA6T,UAAA,KAAAA,KAAAA,CAAAA,GAAAA,UAAA,GAAI,MAAM,EAAE9H,KAAK,CAAC,CAAC7F,YAAY,CAACN,QAAAA;GACxE,CAAA;EAED,CACEsM,sBAAsB,CAACL,KAAK,EAC5BK,sBAAsB,CAACJ,MAAM,EAC7BI,sBAAsB,CAACH,KAAK,EAC5BG,sBAAsB,CAACF,IAAI,CAC5B,CAAC9B,OAAO,CAAC,UAACyD,QAAQ,EAAK;AACtB,IAAA,IAAMlB,KAAK,GAAGgB,oBAAoB,CAACE,QAAQ,CAAC,CAAA;AAC5C,IAAA,IAAIlB,KAAK,EAAE;AACTvT,MAAAA,IAAI,CAACyU,QAAQ,CAAC,GAAG2vC,uBAAuB,CAAC7wC,KAAK,EAAE1G,KAAK,CAAC,CAACwH,sCAAsC,CAACI,QAAQ,CAAC,CAAC,CAAC/N,QAAQ,CAAA;AACnH,KAAA;AACF,GAAC,CAAC,CAAA;EAEF,IAAMmS,UAA+B,GAAG,EAAE,CAAA;EAGzChe,MAAM,CAACE,OAAO,CAACiF,IAAI,CAAC,CAA0BgR,OAAO,CAAC,UAAA/V,IAAA,EAAkB;AAAA,IAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA,EAAA,CAAA,CAAA;AAAhB2a,MAAAA,GAAG,GAAA1a,KAAA,CAAA,CAAA,CAAA;AAAEqY,MAAAA,KAAK,GAAArY,KAAA,CAAA,CAAA,CAAA,CAAA;AACjE,IAAA,IAAIqY,KAAK,EAAE;AACTsF,MAAAA,UAAU,CAACjD,GAAG,CAAC,GAAGrC,KAAK,GAAG,EAAE,CAAA;AAC5BsF,MAAAA,UAAU,CAACjD,GAAG,CAAC,GAAGrC,KAAK,GAAG,EAAE,CAAA;AAC9B,KAAA;AACF,GAAC,CAAC,CAAA;EAEF,OAAO;AAAEvT,IAAAA,IAAI,EAAJA,IAAI;AAAE6Y,IAAAA,UAAU,EAAVA,UAAU;AAAED,IAAAA,WAAW,EATI,EAAC;GASH,CAAA;AAC1C,CAAA;AAOO,SAAS0rC,eAAeA,CAAAhpD,KAAA,EAQK;AAAA,EAAA,IAPlCywB,KAAK,GAAAzwB,KAAA,CAALywB,KAAK;IACCnX,UAAU,GAAAtZ,KAAA,CAAhBwF,IAAI;IACG+T,WAAW,GAAAvZ,KAAA,CAAlB4H,KAAK;IACG4R,YAAY,GAAAxZ,KAAA,CAApB0F,MAAM;IACC+T,WAAW,GAAAzZ,KAAA,CAAlB4E,KAAK;IACC8U,UAAU,GAAA1Z,KAAA,CAAhBgR,IAAI;IAAAi4C,UAAA,GAAAjpD,KAAA,CACJyW,IAAI;IAAJA,IAAI,GAAAwyC,UAAA,KAAG,KAAA,CAAA,GAAA;AAAEzjD,MAAAA,IAAI,EAAE8T,UAAU;AAAE1R,MAAAA,KAAK,EAAE2R,WAAW;AAAE7T,MAAAA,MAAM,EAAE8T,YAAY;AAAE5U,MAAAA,KAAK,EAAE6U,WAAW;AAAEzI,MAAAA,IAAI,EAAE0I,UAAAA;AAAW,KAAC,GAAAuvC,UAAA,CAAA;AAE3G,EAAA,IAAM13C,KAAK,GAAGQ,QAAQ,EAAE,CAAA;AACxB,EAAA,IAAQvM,IAAI,GAAiCiR,IAAI,CAAzCjR,IAAI;IAAEoC,KAAK,GAA0B6O,IAAI,CAAnC7O,KAAK;IAAElC,MAAM,GAAkB+Q,IAAI,CAA5B/Q,MAAM;IAAEd,KAAK,GAAW6R,IAAI,CAApB7R,KAAK;IAAEoM,IAAI,GAAKyF,IAAI,CAAbzF,IAAI,CAAA;EACxC,IAAA0f,QAAA,GAA0CrK,OAAO,CAC/C,YAAA;AAAA,MAAA,OAAM0iC,iBAAiB,CAAC;AAAEvjD,QAAAA,IAAI,EAAJA,IAAI;AAAEoC,QAAAA,KAAK,EAALA,KAAK;AAAElC,QAAAA,MAAM,EAANA,MAAM;AAAEd,QAAAA,KAAK,EAALA,KAAK;AAAEoM,QAAAA,IAAI,EAAJA,IAAAA;OAAM,EAAEO,KAAK,CAAC,CAAA;AAAA,KAAA,EACpE,CAAC/L,IAAI,EAAEoC,KAAK,EAAElC,MAAM,EAAEd,KAAK,EAAEoM,IAAI,EAAEO,KAAK,CAC1C,CAAC;IAHO7M,IAAI,GAAAgsB,QAAA,CAAJhsB,IAAI;IAAE6Y,UAAU,GAAAmT,QAAA,CAAVnT,UAAU;IAAED,WAAW,GAAAoT,QAAA,CAAXpT,WAAW,CAAA;EAKrC,oBACErK,GAAA,CAACud,KAAK,EAAA;AACJ9rB,IAAAA,IAAI,EAAEA,IAAK;AACX+rB,IAAAA,KAAK,EAAEA,KAAM;AACblU,IAAAA,SAAS,EAAC,QAAQ;AAClBlJ,IAAAA,IAAI,EAAE;AACJF,MAAAA,KAAK,EAAE;AACLJ,QAAAA,SAAS,EAAE,iBAAA;OACZ;AACD;AACAwK,MAAAA,UAAU,EAAVA,UAAU;AACVD,MAAAA,WAAW,EAAXA,WAAAA;AACF,KAAA;AAAE,GACH,CAAC,CAAA;AAEN;;;ACxFO,SAAS4rC,wBAAwBA,CAAAvpD,IAAA,EAAmE;AAAA,EAAA,IAAhE+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ,CAAA;AAAKiB,IAAKC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,EAAA;AAC3D,EAAA,OAAOnB,QAAQ,CAAA;AACjB;;;ACQO,SAASy2C,cAAcA,CAAAxpD,IAAA,EAQK;AAAA,EAAA,IAPjC+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IACR1P,QAAQ,GAAArD,IAAA,CAARqD,QAAQ;IACRomD,WAAW,GAAAzpD,IAAA,CAAXypD,WAAW;IACXh1C,IAAI,GAAAzU,IAAA,CAAJyU,IAAI;IACJC,SAAS,GAAA1U,IAAA,CAAT0U,SAAS;IACTM,OAAO,GAAAhV,IAAA,CAAPgV,OAAO;AACJiF,IAAAA,UAAU,GAAAhG,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;EAEb,oBACEZ,GAAA,CAACi2C,wBAAwB,EAAA;AAACG,IAAAA,cAAc,EAAED,WAAY;AAAA12C,IAAAA,QAAA,eACpDO,GAAA,CAACmG,UAAU,EAAA/Y,aAAA,CAAAA,aAAA,CAAA;MACTipD,SAAS,EAAE,CAACF,WAAY;AACxB1lD,MAAAA,KAAK,EAAEV,QAAQ,GAAG,gBAAgB,GAAG5E,SAAU;AAC/CgW,MAAAA,IAAI,EAAEA,IAAK;AACXC,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,iBAAiB,EAAC,MAAM;AACxBg1C,MAAAA,OAAO,EAAE;AACP;AACA,QAAA,gBAAgB,EAAE,MAAA;OAClB;AACFl2C,MAAAA,IAAI,EAAE;AACJm2C,QAAAA,MAAM,EAAExmD,QAAQ,GAAG,aAAa,GAAG,SAAS;AAC5C+b,QAAAA,kBAAkB,EAAE,OAAO;AAC3BC,QAAAA,kBAAkB,EAAE,MAAM;AAC1BC,QAAAA,wBAAwB,EAAE,aAAA;AAC5B,OAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACAtK,MAAAA,OAAO,EAAE3R,QAAQ,GAAG5E,SAAS,GAAGuW,OAAAA;AAAQ,KAAA,EACpCiF,UAAU,CAAA,EAAA,EAAA,EAAA;AAAAlH,MAAAA,QAAA,EAEbA,QAAAA;KACS,CAAA,CAAA;AAAC,GACW,CAAC,CAAA;AAE/B;;AClDO,SAAS+2C,YAAYA,GAAc;EACxC,OAAOpjC,OAAO,CAAC,YAAM;IACnB,OAAO;AAAExU,MAAAA,IAAI,EAAEC,KAAAA;KAAW,CAAA;GAC3B,EAAE,EAAE,CAAC,CAAA;AACR;;ACAO,SAAS43C,iBAAiBA,CAAA/pD,IAAA,EAAmE;AAAA,EAAA,IAAhE63C,KAAK,GAAA73C,IAAA,CAAL63C,KAAK;IAAE9kC,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAEoiC,QAAQ,GAAAn1C,IAAA,CAARm1C,QAAQ,CAAA;AAC3D,EAAA,IAAMvjC,KAAK,GAAGk4C,YAAY,EAAE,CAAA;EAC5B,oBACEx2C,GAAA,CAACskC,sBAAsB,EAAA;AAAChmC,IAAAA,KAAK,EAAEA,KAAM;AAACimC,IAAAA,KAAK,EAAEA,KAAM;AAAC1C,IAAAA,QAAQ,EAAEA,QAAS;AAAApiC,IAAAA,QAAA,EACpEA,QAAAA;AAAQ,GACa,CAAC,CAAA;AAE7B,CAAA;AAEai3C,IAAAA,kBAAkB,GAAGC,aAAa,CAAC;AAC9Cz0B,EAAAA,IAAI,EAAE,gBAAgB;AACtB00B,EAAAA,aAAa,EAAE,OAAO;EACtBC,OAAO,EAAE,SAAAA,OAACrG,CAAAA,OAAO,EAAEthB,OAAO,EAAAviC,KAAA,EAAwC;AAAA,IAAA,IAAAmqD,iBAAA,CAAA;AAAA,IAAA,IAAAC,aAAA,GAAApqD,KAAA,CAApCqqD,OAAO;AAAPA,MAAAA,OAAO,GAAAD,aAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,aAAA;MAAAE,gBAAA,GAAAtqD,KAAA,CAAE8jD,UAAU;AAAVA,MAAAA,UAAU,GAAAwG,gBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,gBAAA,CAAA;IACzD,oBACEj3C,GAAA,CAACy2C,iBAAiB,EAAA;AAAClS,MAAAA,KAAK,EAAAuS,CAAAA,iBAAA,GAAErG,UAAU,CAAClM,KAAK,MAAAuS,IAAAA,IAAAA,iBAAA,KAAAA,KAAAA,CAAAA,GAAAA,iBAAA,GAAKE,OAAO,CAASzS,KAAM;MAAA9kC,QAAA,EAClE+wC,OAAO,CAACthB,OAAO,CAAA;AAAC,KACA,CAAC,CAAA;AAExB,GAAA;AACF,CAAC;;;ACvBD;AACA;AACA;AACO,SAASgoB,eAAeA,CAAAxqD,IAAA,EAI4B;AAAA,EAAA,IAHzDwiB,EAAE,GAAAxiB,IAAA,CAAFwiB,EAAE;IACFzP,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;AACLiB,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AAER,EAAA,IAAI+G,QAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,OAAOnI,QAAQ,CAAA;AACD;EACzC,oBAAOO,GAAA,CADckP,EAAE,IAAK,KAAW,EAAA9hB,aAAA,CAAAA,aAAA,CAAA,EAAA,EAChBsT,KAAK,CAAA,EAAA,EAAA,EAAA;AAAAjB,IAAAA,QAAA,EAAWA,QAAAA;AAAQ,GAAA,CAAY,CAAC,CAAA;AAC9D;;ACNO,SAAS03C,eAAeA,CAAAzqD,IAAA,EAAAC,KAAA,EAGpB;AAAA,EAAA,IAFPoI,KAAK,GAAArI,IAAA,CAALqI,KAAK;IAAEd,MAAM,GAAAvH,IAAA,CAANuH,MAAM,CAAA;AAAA,EAAA,IACb7B,QAAQ,GAAAzF,KAAA,CAARyF,QAAQ;IAAEC,QAAQ,GAAA1F,KAAA,CAAR0F,QAAQ;IAAEF,SAAS,GAAAxF,KAAA,CAATwF,SAAS;IAAE+jB,SAAS,GAAAvpB,KAAA,CAATupB,SAAS,CAAA;EAE1C,IAAMkhC,eAAe,GAAGriD,KAAK,GAAG,CAAC,CAAC3C,QAAQ,IAAI2C,KAAK,IAAI3C,QAAQ,MAAM,CAACC,QAAQ,IAAI0C,KAAK,IAAI1C,QAAQ,CAAC,GAAG,IAAI,CAAA;EAC3G,IAAMglD,gBAAgB,GAAGpjD,MAAM,GAAG,CAAC,CAAC9B,SAAS,IAAI8B,MAAM,IAAI9B,SAAS,MAAM,CAAC+jB,SAAS,IAAIjiB,MAAM,IAAIiiB,SAAS,CAAC,GAAG,IAAI,CAAA;EACnH,OAAOkhC,eAAe,IAAIC,gBAAgB,CAAA;AAC5C,CAAA;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,kBAAkBA,CAACN,OAA+B,EAAW;AAC3E,EAAA,IAAArc,oBAAA,GAA0BC,mBAAmB,EAAE;IAAvC7lC,KAAK,GAAA4lC,oBAAA,CAAL5lC,KAAK;IAAEd,MAAM,GAAA0mC,oBAAA,CAAN1mC,MAAM,CAAA;AACrB,EAAA,OAAOkjD,eAAe,CAAC;AAAEpiD,IAAAA,KAAK,EAALA,KAAK;AAAEd,IAAAA,MAAM,EAANA,MAAAA;GAAQ,EAAE+iD,OAAO,CAAC,CAAA;AACpD;;;ACpBA;AACA;AACA;AACA;AACA;AACO,SAASO,eAAeA,CAAA7qD,IAAA,EAA2E;AAAA,EAAA,IAAxE+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;AAAK+3C,IAAAA,sBAAsB,GAAA72C,wBAAA,CAAAjU,IAAA,EAAAkU,WAAA,CAAA,CAAA;AACnE,EAAA,IAAM62C,KAAK,GAAGH,kBAAkB,CAACE,sBAAsB,CAAC,CAAA;AACxD,EAAA,IAAI,CAACC,KAAK,EAAE,OAAO,IAAI,CAAA;AACvB,EAAA,OAAOh4C,QAAQ,CAAA;AACjB,CAAA;AAIA;AACA;AACA;AACA;AACA;AACO,SAASi4C,iBAAiBA,CAAC75C,WAAmC,EAAa;EAChF,OAAO2/B,kBAAkB,CAAC3/B,WAAW,CAAC,CAAA;AACxC;;AC3BO,SAAS85C,wBAAwBA,GAA2B;AACjE,EAAA,OAAOna,kBAAkB,CAAC;IACxBjrC,IAAI,EAAEkS,sBAAsB,CAACN,IAAI;IACjCxP,KAAK,EAAE8P,sBAAsB,CAACL,KAAK;IACnC3R,MAAM,EAAEgS,sBAAsB,CAACJ,MAAM;IACrC1S,KAAK,EAAE8S,sBAAsB,CAACH,KAAK;IACnCvG,IAAI,EAAE0G,sBAAsB,CAACF,IAAAA;AAC/B,GAAC,CAAC,CAAA;AACJ;;ACJA,IAAMqzC,gBAAgB,GAAG;AACvBh6C,EAAAA,IAAI,EAAE,8CAA8C;AACpDpL,EAAAA,MAAM,EAAE,gDAAgD;EACxD,SAAS,EAAA,iDAAA;AACX,CAAC,CAAA;AAOD,SAASqlD,UAAUA,CAAAnrD,IAAA,EAA+C;AAAA,EAAA,IAA5CgT,KAAK,GAAAhT,IAAA,CAALgT,KAAK;IAAEuU,KAAK,GAAAvnB,IAAA,CAALunB,KAAK,CAAA;EAChC,IAAIvU,KAAK,KAAK,MAAM,EAAE;IACpB,oBAAOM,GAAA,CAAC+J,cAAc,EAAA;AAACrT,MAAAA,IAAI,eAAEsJ,GAAA,CAAC4gC,SAAS,IAAE,CAAE;AAACnwC,MAAAA,KAAK,EAAC,wCAAA;AAAwC,KAAE,CAAC,CAAA;AAC/F,GAAA;AAEA,EAAA;AAAA;AACE;AACAuP,IAAAA,GAAA,CAAC9V,IAAI,EAAA;AAACqvB,MAAAA,aAAa,EAAE,CAAE;AAAA9Z,MAAAA,QAAA,eACrBO,GAAA,CAACmG,UAAU,CAACgC,IAAI,EAAA;AACd4C,QAAAA,SAAS,EAAC,QAAQ;AAClB1L,QAAAA,OAAO,EAAC,MAAM;AACd5O,QAAAA,KAAK,EACHiP,KAAK,KAAK,QAAQ,GAAG,0CAA0C,GAAG,2CACnE;QAAAD,QAAA,EAEAwU,KAAK,GAAG,CAAA;OACM,CAAA;KACb,CAAA;AAAC,IAAA;AAEX,CAAA;AAOO,SAAS6jC,QAAQA,CAAAnrD,KAAA,EAAyD;AAAA,EAAA,IAAtDsnB,KAAK,GAAAtnB,KAAA,CAALsnB,KAAK;IAAA8jC,WAAA,GAAAprD,KAAA,CAAE+S,KAAK;AAALA,IAAAA,KAAK,GAAAq4C,WAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,WAAA,CAAA;EACjD,oBACE/3C,GAAA,CAAC9V,IAAI,EAAA;AACH2gB,IAAAA,cAAc,EAAC,QAAQ;AACvBD,IAAAA,UAAU,EAAC,QAAQ;AACnB7V,IAAAA,KAAK,EAAE,EAAG;AACVd,IAAAA,MAAM,EAAE,EAAG;AACX7D,IAAAA,YAAY,EAAE,EAAG;AACjBC,IAAAA,eAAe,EAAEunD,gBAAgB,CAACl4C,KAAK,CAAE;IAAAD,QAAA,eAEzCO,GAAA,CAAC63C,UAAU,EAAA;AAACn4C,MAAAA,KAAK,EAAEA,KAAM;AAACuU,MAAAA,KAAK,EAAEA,KAAAA;KAAQ,CAAA;AAAC,GACtC,CAAC,CAAA;AAEX;;AC5CO,SAAS+jC,YAAYA,GAAsC;AAChE,EAAA,OAAO,IAAI,CAAA;AACb,CAAA;AAUO,SAASC,IAAIA,CAAAvrD,IAAA,EAMK;AAAA,EAAA,IAAAwrD,UAAA,GAAAxrD,IAAA,CALvBunB,KAAK;AAALA,IAAAA,KAAK,GAAAikC,UAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,UAAA;IACTz4C,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAA2wC,UAAA,GAAA1jD,IAAA,CACRgT,KAAK;AAALA,IAAAA,KAAK,GAAA0wC,UAAA,KAAG,KAAA,CAAA,GAAA,SAAS,GAAAA,UAAA;IAAA+H,WAAA,GAAAzrD,IAAA,CACjB8uB,MAAM;AAANA,IAAAA,MAAM,GAAA28B,WAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,WAAA;IAAAC,qBAAA,GAAA1rD,IAAA,CACd2rD,qBAAqB;AAArBA,IAAAA,qBAAqB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,qBAAA,CAAA;EAE7B,oBACEztC,IAAA,CAAC5I,QAAM,EAAA;AAACsP,IAAAA,KAAK,EAAC,QAAQ;AAAChR,IAAAA,QAAQ,EAAE,CAAE;IAAAZ,QAAA,EAAA,cACjCkL,IAAA,CAACzgB,IAAI,EAAA;AAACgvB,MAAAA,SAAS,EAAC,QAAQ;AAAC3N,MAAAA,QAAQ,EAAC,QAAQ;AAAClb,MAAAA,eAAe,EAAC,YAAY;MAAAoP,QAAA,EAAA,cACrEO,GAAA,CAAC83C,QAAQ,EAAA;AAACp4C,QAAAA,KAAK,EAAEA,KAAM;AAACuU,QAAAA,KAAK,EAAEA,KAAAA;AAAM,OAAE,CAAC,EACvC,CAACuH,MAAM,gBACNxb,GAAA,CAAC9V,IAAI,EAAA;AACHmG,QAAAA,eAAe,EACbgoD,qBAAqB,GAAG,kCAAkC,GAAG,oCAC9D;AACDtjD,QAAAA,KAAK,EAAE,CAAE;AACTsW,QAAAA,QAAQ,EAAC,UAAU;AACnBI,QAAAA,GAAG,EAAE,EAAG;AACRlP,QAAAA,IAAI,EAAE,EAAG;QACTklB,MAAM,EAAE,CAAC,CAAE;AACXxtB,QAAAA,MAAM,EAAC,MAAA;OACR,CAAC,GACA,IAAI,CAAA;AAAA,KACJ,CAAC,eACP+L,GAAA,CAAC9V,IAAI,EAAA;AAACmW,MAAAA,QAAQ,EAAE,CAAE;AAACqK,MAAAA,UAAU,EAAE,CAAE;MAAAjL,QAAA,eAC/BO,GAAA,CAACQ,UAAU,EAAA;AAACnB,QAAAA,OAAO,EAAC,SAAS;AAAAI,QAAAA,QAAA,EAAEA,QAAAA;OAAqB,CAAA;AAAC,KACjD,CAAC,CAAA;AAAA,GACD,CAAC,CAAA;AAEb;;ACrDO,SAAS64C,YAAYA,CAACrkC,KAAa,EAAEskC,WAAmB,EAAa;EAC1E,IAAItkC,KAAK,KAAKskC,WAAW,EAAE;AACzB,IAAA,OAAO,QAAQ,CAAA;AACjB,GAAA;EACA,IAAItkC,KAAK,GAAGskC,WAAW,EAAE;AACvB,IAAA,OAAO,MAAM,CAAA;AACf,GAAA;AACA,EAAA,OAAO,SAAS,CAAA;AAClB;;;ACGO,SAASC,aAAaA,CAAA9rD,IAAA,EAAqE;AAAA,EAAA,IAAlE+S,QAAQ,GAAA/S,IAAA,CAAR+S,QAAQ;IAAE84C,WAAW,GAAA7rD,IAAA,CAAX6rD,WAAW;AAAK73C,IAAAA,KAAK,GAAAC,wBAAA,CAAAjU,IAAA,EAAAkU,SAAA,CAAA,CAAA;AAC7D,EAAA,oBACEZ,GAAA,CAAC6B,QAAM,EAAAzU,aAAA,CAAAA,aAAA,CAAA;AAACikB,IAAAA,KAAK,EAAC,QAAQ;AAACtc,IAAAA,KAAK,EAAC,MAAA;AAAM,GAAA,EAAK2L,KAAK,CAAA,EAAA,EAAA,EAAA;IAAAjB,QAAA,EAC1C0c,QAAQ,CAACrvB,GAAG,CAAC2S,QAAQ,EAAE,UAAC8c,KAAiD,EAAEtI,KAAK,EAAK;AACpF,MAAA,IAAItU,2CAAW4c,KAAK,CAAC/Y,IAAI,KAAKw0C,YAAY,EAAE;AAC1C,QAAA,MAAM,IAAIp4C,KAAK,CAAC,2DAA2D,CAAC,CAAA;AAC9E,OAAA;MAEA,IAAM4b,MAAM,GAAGvH,KAAK,KAAKkI,QAAQ,CAACs8B,KAAK,CAACh5C,QAAQ,CAAC,GAAG,CAAC,CAAA;MACrD,oBAAOi5C,aAAa,CAClBT,IAAI,EAAA7qD,aAAA,CAAAA,aAAA,CAAA,EAAA,EAECmvB,KAAK,CAAC7b,KAAK,CAAA,EAAA,EAAA,EAAA;AACduT,QAAAA,KAAK,EAALA,KAAK;AACLuH,QAAAA,MAAM,EAANA,MAAM;AACN9b,QAAAA,KAAK,EAAE44C,YAAY,CAACrkC,KAAK,EAAEskC,WAAW,CAAA;AAAC,OAAA,CAAA,EAEzCh8B,KAAK,CAAC7b,KAAK,CAACjB,QACd,CAAC,CAAA;KACF,CAAA;AAAC,GAAA,CACI,CAAC,CAAA;AAEb,CAAA;AAEA+4C,aAAa,CAACP,IAAI,GAAGD,YAAY;;;;"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/native-base/primitives.ts","../src/utils/hexToRgba.ts","../src/themes/palettes/lateOceanColorPalette.ts","../src/themes/late-ocean/colors.ts","../src/themes/late-ocean/actionCard.ts","../src/themes/late-ocean/avatar.ts","../src/themes/late-ocean/spacing.ts","../src/themes/late-ocean/bottomSheet.ts","../src/themes/late-ocean/button.ts","../src/themes/late-ocean/card.ts","../src/themes/late-ocean/cardModal.ts","../src/themes/late-ocean/choices.ts","../src/themes/late-ocean/dialogModal.ts","../src/themes/late-ocean/feedback.ts","../src/themes/late-ocean/autocomplete.ts","../src/themes/late-ocean/checkbox.ts","../src/themes/late-ocean/datePicker.ts","../src/themes/late-ocean/input.ts","../src/themes/late-ocean/inputField.ts","../src/themes/late-ocean/inputTag.ts","../src/themes/late-ocean/radio.ts","../src/themes/late-ocean/radioButtonGroup.ts","../src/themes/late-ocean/textArea.ts","../src/themes/late-ocean/timePicker.ts","../src/themes/late-ocean/forms.ts","../src/themes/late-ocean/fullscreenModal.ts","../src/themes/late-ocean/highlight.ts","../src/themes/late-ocean/icon.ts","../src/themes/late-ocean/iconButton.ts","../src/themes/late-ocean/listItem.ts","../src/themes/late-ocean/pageLoader.ts","../src/themes/late-ocean/typography.ts","../src/themes/late-ocean/picker.ts","../src/themes/late-ocean/shadows.ts","../src/themes/late-ocean/skeleton.ts","../src/themes/late-ocean/tag.ts","../src/themes/late-ocean/tooltip.ts","../src/themes/late-ocean/verticalSteps.ts","../src/themes/default.ts","../src/KittThemeContext.tsx","../src/ActionCard/utils/getStateKey.ts","../src/ActionCard/utils/getThemeName.ts","../src/ActionCard/ActionCardContentWrapper.tsx","../src/ActionCard/ActionCardDisabled.tsx","../src/ActionCard/ActionCard.tsx","../src/native-base/layout.ts","../src/utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp.ts","../src/utils/warnings.ts","../src/Button/utils/getCurrentBackgroundColorForNativeBaseTheme.ts","../src/Button/AnimatedContainer.tsx","../src/KittBreakpoints.ts","../src/typography/typographyColors.ts","../src/typography/utils/getNBThemeColorFromColorProps.ts","../src/typography/utils/getTypographyColorValue.ts","../src/typography/utils/getTypographyFamily.ts","../src/typography/Typography.tsx","../src/Icon/Icon.tsx","../src/typography/TypographyIcon.tsx","../src/Button/utils/getButtonTextColorByType.ts","../src/Button/ButtonContent.tsx","../src/Button/ButtonPadding.tsx","../src/Button/DisabledBorder.tsx","../src/Button/FocusBorder.tsx","../src/Button/getVariantValuesIfExist.ts","../src/Button/hooks/useNativeAnimation.ts","../src/Button/utils/getButtonSize.ts","../src/Button/Button.tsx","../src/Icon/SpinningIcon.tsx","../src/LoaderIcon/LoaderIcon.tsx","../src/Actions/ActionsItem.tsx","../src/Actions/ActionsButton.tsx","../src/Actions/Actions.tsx","../src/Avatar/utils/getCurrentRadius.ts","../src/Avatar/utils/getCurrentSize.ts","../src/Avatar/utils/getIconSize.ts","../src/Avatar/utils/getInitials.ts","../src/Avatar/Avatar.tsx","../src/BottomSheet/BottomSheet.tsx","../src/BottomSheet/useBottomSheet.ts","../src/BottomSheet/useStaticBottomSheet.tsx","../src/ModalBehaviour/ModalBehaviourPortal.tsx","../src/ModalBehaviour/OnCloseContext.tsx","../src/ModalBehaviour/ModalBehaviour.tsx","../src/Overlay/Overlay.tsx","../src/CardModal/CardModalAnimation/CardModalRotationContainer.tsx","../src/CardModal/CardModalAnimation/NativeOpacityAnimation.tsx","../src/CardModal/CardModalAnimation/NativeRotationAnimation.tsx","../src/CardModal/CardModalAnimation/CardModalAnimation.tsx","../src/CardModal/CardModalBehaviour.tsx","../src/CardModal/CardModalBody.tsx","../src/CardModal/CardModalFooter.tsx","../src/CardModal/CardModalHeader.tsx","../src/CardModal/CardModal.tsx","../src/Choices/utils/getBackgroundColor.ts","../src/Choices/utils/getBorderRadius.ts","../src/Choices/AnimatedChoiceItemView.tsx","../src/Choices/hooks/useNativeAnimation.tsx","../src/Choices/utils/getCurrentTextColor.ts","../src/Choices/ChoiceItem.tsx","../src/Choices/ChoiceItemContainer.tsx","../src/Choices/Choices.tsx","../src/DialogModal/DialogModalAnimation/NativeOpacityAnimation.tsx","../src/DialogModal/DialogModalAnimation/NativeRotationAnimation.tsx","../src/DialogModal/DialogModalAnimation/DialogModalAnimation.tsx","../src/DialogModal/DialogModalBehaviour.tsx","../src/DialogModal/DialogModal.tsx","../src/Emoji/Emoji.tsx","../src/ExternalAppLink/ExternalAppLink.tsx","../src/ExternalLink/ExternalLinkOpenLinkBehavior.ts","../src/ExternalLink/hooks/useOpenExternalLink.tsx","../src/ExternalLink/ExternalLink.tsx","../src/forms/InputIcon/InputIcon.tsx","../src/forms/InputPressable/InputPressable.tsx","../src/forms/InputText/InputTextContainer.tsx","../src/forms/InputText/InputText.tsx","../src/forms/Autocomplete/AutocompleteItem.tsx","../src/forms/Autocomplete/AutocompleteItemsListContainer.tsx","../src/forms/Autocomplete/AutocompleteOption.tsx","../src/forms/Autocomplete/Autocomplete.tsx","../src/forms/Checkbox/checkbox-mark.inline.svg","../src/forms/Checkbox/utils/getBackgroundColor.ts","../src/forms/Checkbox/utils/getBorderColor.ts","../src/forms/Checkbox/Checkbox.tsx","../src/utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput.ts","../src/forms/DatePicker/utils/dateFormatter.ts","../src/forms/DatePicker/utils/datePartInInterval.ts","../src/forms/DatePicker/reducers/keyboardDatePickerReducer.ts","../src/forms/DatePicker/utils/isNumber.ts","../src/forms/DatePicker/utils/onDatePartChange.ts","../src/forms/DatePicker/utils/stringToNumber.ts","../src/forms/DatePicker/components/InputPart.tsx","../src/forms/DatePicker/components/PartContainer.tsx","../src/forms/DatePicker/components/KeyboardDatePicker.tsx","../src/forms/DatePicker/components/PressableDateInputs.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DatePickerAndroid.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/PlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/ModalPlatformDateTimePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/DefaultNativeUIDatePicker.tsx","../src/forms/DatePicker/components/NativeUIDatePicker/NativeUIDatePicker.tsx","../src/forms/DatePicker/DatePicker.tsx","../src/GoogleMapsApiKeyProvider/GoogleMapsApiKeyProvider.tsx","../src/GoogleMapsApiKeyProvider/hooks/useGoogleMapApiKey.ts","../src/GoogleMapsAutocompleteProvider/utils/makeMapsApiUrl.ts","../src/GoogleMapsAutocompleteProvider/hooks/useGoogleMapsApi.ts","../src/GoogleMapsAutocompleteProvider/reducer/googleMapsAutocompleteReducer.ts","../src/GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle.ts","../src/GoogleMapsAutocompleteProvider/GoogleMapsAutocompleteProvider.tsx","../src/GoogleMapsAutocompleteProvider/hooks/useGoogleMapsAutocomplete.ts","../src/forms/InputAddress/InputAddressOption.tsx","../src/forms/InputAddress/utils/defaultItemToString.ts","../src/forms/InputAddress/utils/formatInitialValueToAutocompletePrediction.ts","../src/forms/InputAddress/InputAddress.tsx","../src/forms/InputEmail/InputEmail.tsx","../src/forms/InputFeedback/InputFeedback.tsx","../src/forms/InputField/InputField.tsx","../src/forms/InputNumber/InputNumber.tsx","../src/forms/InputPassword/InputPassword.tsx","../src/forms/InputPhone/InputPhone.tsx","../src/forms/InputTag/InputTag.tsx","../src/forms/Label/Label.tsx","../src/forms/Radio/InnerCircle.tsx","../src/forms/Radio/utils/getBackgroundColor.ts","../src/forms/Radio/utils/getBorderColor.ts","../src/forms/Radio/OuterCircle.tsx","../src/forms/Radio/Radio.tsx","../src/forms/RadioButtonGroup/AnimatedContainer/AnimatedContainer.tsx","../src/forms/RadioButtonGroup/HoverBorder.tsx","../src/forms/RadioButtonGroup/hooks/useNativeAnimation.ts","../src/forms/RadioButtonGroup/utils/getCurrentTextColor.ts","../src/forms/RadioButtonGroup/RadioButton.tsx","../src/forms/RadioButtonGroup/RadioButtonGroup.tsx","../src/forms/TextArea/TextArea.tsx","../src/FullscreenModal/Body.tsx","../src/FullscreenModal/Footer.tsx","../src/FullscreenModal/components/NativeOpacityAnimation.tsx","../src/FullscreenModal/components/NativeSlideInAnimation.tsx","../src/FullscreenModal/FullscreenModalAnimation.tsx","../src/FullscreenModal/FullscreenModalBehaviour.tsx","../src/FullscreenModal/FullscreenModalContainer.tsx","../src/FullscreenModal/Header.tsx","../src/FullscreenModal/FullscreenModal.tsx","../src/Highlight/AnimatedCaret/AnimatedCaret.tsx","../src/Highlight/AnimatedContainer/AnimatedContainer.tsx","../src/Highlight/AnimatedContent/AnimatedContent.tsx","../src/Highlight/hooks/useNativeAnimation.ts","../src/Highlight/Highlight.tsx","../src/native-base/utils.ts","../src/IconButton/Background.tsx","../src/IconButton/AnimatedBackground.tsx","../src/IconButton/AnimatedScale.tsx","../src/IconButton/hooks/useNativeAnimation.ts","../src/IconButton/utils/getIconButtonTextColorByColor.ts","../src/IconButton/IconButton.tsx","../src/KittMapConfigProvider/KittMapConfigProvider.tsx","../src/KittMapConfigProvider/hooks/useKittMapConfig.ts","../src/ListItem/ListItemContent.tsx","../src/ListItem/ListItemSideContent.tsx","../src/ListItem/ListItem.tsx","../src/MapMarker/assets/marker-large.inline.svg","../src/MapMarker/assets/marker.inline.svg","../src/MapMarker/assets/position-marker.inline.svg","../src/MapMarker/MapMarker.tsx","../src/BaseMessage/IconContent.tsx","../src/BaseMessage/helper.ts","../src/BaseMessage/BaseMessage.tsx","../src/Message/Message.tsx","../src/native-base/KittNativeBaseProvider.tsx","../src/NavigationModal/NavigationModalBehaviour.tsx","../src/NavigationModal/NavigationModal.tsx","../src/Notification/Notification.tsx","../src/PageLoader/AnimatedLoaderCircle.tsx","../src/PageLoader/AnimatedBackgroundCircle.tsx","../src/PageLoader/AnimatedFillCircleContainer.tsx","../src/PageLoader/AnimatedFillCircle.tsx","../src/PageLoader/PageLoader.tsx","../src/Picker/PickerItem.tsx","../src/Picker/PickerOption.tsx","../src/Picker/reducer/nativePickerReducer.ts","../src/Picker/Picker.tsx","../src/SegmentedProgressBar/assets/stripes.inline.svg","../src/SegmentedProgressBar/SegmentedProgressBar.tsx","../src/Skeleton/SkeletonContent.tsx","../src/Skeleton/Skeleton.tsx","../src/StaticMap/utils/getStaticMapImageUrl.ts","../src/StaticMap/hooks/useGetStaticMapImageUrl.ts","../src/StaticMap/StaticMapError.tsx","../src/StaticMap/StaticMapImage.tsx","../src/StaticMap/StaticMapLoader.tsx","../src/StaticMap/StaticMapMarker.tsx","../src/StaticMap/utils/getRangedWidthValue.ts","../src/StaticMap/utils/getShouldDisplay2x.ts","../src/StaticMap/StaticMap.tsx","../src/story-components/Flex.tsx","../src/story-components/theme.ts","../src/story-components/StoryBlock.tsx","../src/story-components/StoryTitle.tsx","../src/story-components/Story.tsx","../src/story-components/StorySection.tsx","../src/story-components/StoryContainer.tsx","../src/story-components/StoryDecorator.tsx","../src/story-components/StoryGrid.tsx","../src/useKittTheme.tsx","../src/Tag/Tag.tsx","../src/TimePicker/ModalDateTimePicker.tsx","../src/TimePicker/utils/formatDateToTimeString.ts","../src/TimePicker/utils/getCurrentInternalForcedState.ts","../src/TimePicker/TimePickerPressable.tsx","../src/TimePicker/TimePicker.tsx","../src/Tooltip/arrow.inline.svg","../src/Tooltip/Arrow.tsx","../src/Tooltip/TooltipContent.tsx","../src/Tooltip/hooks/useCustomShift.ts","../src/Tooltip/Tooltip.tsx","../src/typography/TypographyEmoji.tsx","../src/typography/TypographyLinkWebWrapper.tsx","../src/typography/TypographyLink.tsx","../src/utils/storybook/KittThemeDecorator.tsx","../src/utils/StyleWebWrapper.tsx","../src/utils/windowSize/useMatchWindowSize.ts","../src/utils/windowSize/MatchWindowSize.tsx","../src/utils/windowSize/useCurrentBreakpointName.ts","../src/VerticalSteps/StepIcon.tsx","../src/VerticalSteps/Step.tsx","../src/VerticalSteps/utils/getStepState.ts","../src/VerticalSteps/VerticalSteps.tsx"],"sourcesContent":["import type { IImageProps, IPressableProps, IScrollViewProps } from 'native-base';\nimport {\n FlatList as NativeBaseFlatList,\n Image as NativeBaseImage,\n Pressable as NativeBasePressable,\n ScrollView as NativeBaseScrollView,\n SectionList as NativeBaseSectionList,\n View as NativeBaseView,\n} from 'native-base';\nimport type {\n IFlatListProps,\n InterfaceFlatListProps,\n} from 'native-base/lib/typescript/components/basic/FlatList/types';\nimport type { InterfaceScrollViewProps } from 'native-base/lib/typescript/components/basic/ScrollView/types';\nimport type {\n ISectionListProps,\n InterfaceSectionListProps,\n} from 'native-base/lib/typescript/components/basic/SectionList/types';\nimport type { IViewProps, InterfaceViewProps } from 'native-base/lib/typescript/components/basic/View/types';\nimport type { InterfacePressableProps } from 'native-base/lib/typescript/components/primitives/Pressable/types';\nimport type { ForwardedRef, MutableRefObject } from 'react';\nimport type {\n FlatList as NativeFlatList,\n FlatListProps as NativeFlatListProps,\n PressableProps as NativePressableProps,\n ScrollViewProps as NativeScrollViewProps,\n SectionList as NativeSectionList,\n SectionListProps as NativeSectionListProps,\n ViewProps as NativeViewProps,\n} from 'react-native';\nimport type {\n ForwardRefComponent,\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedViewProps = Extract<keyof InterfaceViewProps, 'children' | keyof NativeViewProps>;\n\nexport interface ViewProps\n extends Pick<\n IViewProps,\n | NativeBaseAcceptedViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const View = NativeBaseView as ForwardRefComponent<ViewProps>;\n\ntype NativeBaseAcceptedScrollViewProps = Extract<\n keyof InterfaceScrollViewProps,\n 'children' | '_contentContainerStyle' | keyof NativeScrollViewProps\n>;\nexport interface ScrollViewProps\n extends Pick<\n IScrollViewProps,\n | NativeBaseAcceptedScrollViewProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const ScrollView = NativeBaseScrollView as ForwardRefComponent<ScrollViewProps>;\n\ntype NativeBaseAcceptedPressableProps = Extract<\n keyof InterfacePressableProps,\n | 'children'\n | 'onHoverIn'\n | 'onHoverOut'\n | 'onFocus'\n | 'onBlur'\n | '_hover'\n | '_pressed'\n | '_focus'\n | '_disabled'\n | 'isDisabled'\n | 'isHovered'\n | 'isPressed'\n | 'isFocused'\n | 'isFocusVisible'\n | '_focusVisible'\n | keyof NativePressableProps\n>;\nexport interface PressableProps\n extends Pick<\n IPressableProps,\n | NativeBaseAcceptedPressableProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Pressable = NativeBasePressable as ForwardRefComponent<PressableProps>;\n\nexport const Image = NativeBaseImage as ForwardRefComponent<IImageProps>;\n\ntype NativeBaseAcceptedFlatListProps<ItemT> = Extract<\n keyof InterfaceFlatListProps<ItemT>,\n 'ref' | '_contentContainerStyle' | keyof NativeFlatListProps<ItemT>\n>;\nexport interface FlatListProps<ItemT>\n extends Pick<\n IFlatListProps<ItemT>,\n | NativeBaseAcceptedFlatListProps<ItemT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const FlatList = NativeBaseFlatList as <ItemT>(\n props: FlatListProps<ItemT> & { ref?: MutableRefObject<NativeFlatList<ItemT> | undefined> },\n) => ReturnType<typeof NativeBaseFlatList>;\n\ntype NativeBaseAcceptedSectionListProps<ItemT, SectionT> = Extract<\n keyof InterfaceSectionListProps<ItemT, SectionT>,\n 'ref' | keyof NativeSectionListProps<ItemT, SectionT>\n>;\nexport interface SectionListProps<ItemT, SectionT>\n extends Pick<\n ISectionListProps<ItemT, SectionT>,\n | NativeBaseAcceptedSectionListProps<ItemT, SectionT>\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\n// See: https://fettblog.eu/typescript-react-generic-forward-refs/\nexport const SectionList = NativeBaseSectionList as <ItemT, SectionT>(\n props: SectionListProps<ItemT, SectionT> & { ref?: ForwardedRef<NativeSectionList<ItemT, SectionT> | undefined> },\n) => ReturnType<typeof NativeBaseSectionList>;\n","export const hex2rgba = (hex: string, alpha = 1): string => {\n const r = parseInt(hex.slice(1, 3), 16);\n const g = parseInt(hex.slice(3, 5), 16);\n const b = parseInt(hex.slice(5, 7), 16);\n\n return `rgba(${r}, ${g}, ${b}, ${alpha})`;\n};\n","import type { IntRange } from 'type-fest';\n\ntype KittColorScaleNumber = IntRange<1, 12>;\ntype KittColorScale = { [K in KittColorScaleNumber]: string };\n\nconst createColorScale = <const T extends KittColorScale>(colorScale: T): T => colorScale;\n\nexport const colorScales = {\n eggshell: createColorScale({\n 1: '#faf9f8',\n 2: '#f4f3ef',\n 3: '#ebe9e5',\n 4: '#dedad2',\n 5: '#d1cdc5',\n 6: '#bab8ae',\n 7: '#aeaba3',\n 8: '#9c9a92',\n 9: '#8e8c83',\n 10: '#74726a',\n 11: '#3e3d3a',\n 12: '#282826',\n }),\n violine: createColorScale({\n 1: '#f8f7ff',\n 2: '#f2f0ff',\n 3: '#ebe8ff',\n 4: '#d5cfff',\n 5: '#bfb5ff',\n 6: '#a99cff',\n 7: '#9180ff',\n 8: '#7b66ff',\n 9: '#624af7',\n 10: '#5139e1',\n 11: '#3a26b5',\n 12: '#0a0428',\n }),\n lavender: createColorScale({\n 1: '#fdf7ff',\n 2: '#fcf2ff',\n 3: '#FAEBFF',\n 4: '#f8e3ff',\n 5: '#f4d6ff',\n 6: '#efc2ff',\n 7: '#d298ff',\n 8: '#b97aff',\n 9: '#ac5ff9',\n 10: '#9d4ced',\n 11: '#6b347e',\n 12: '#290a34',\n }),\n blue: createColorScale({\n 1: '#f7faff',\n 2: '#f0f5ff',\n 3: '#e8f0ff',\n 4: '#d4e0ff',\n 5: '#baceff',\n 6: '#a1bbff',\n 7: '#87a9ff',\n 8: '#6e96ff',\n 9: '#5383ff',\n 10: '#4170eb',\n 11: '#0e4381',\n 12: '#061c36',\n }),\n raspberry: createColorScale({\n 1: '#fff7fa',\n 2: '#fff0f5',\n 3: '#ffe8ef',\n 4: '#f0c7d4',\n 5: '#f0afc4',\n 6: '#f097b3',\n 7: '#f07fa3',\n 8: '#d95d84',\n 9: '#cf2a60',\n 10: '#c12558',\n 11: '#61192e',\n 12: '#29040f',\n }),\n coral: createColorScale({\n 1: '#fff7f7',\n 2: '#fff0f0',\n 3: '#ffe8e8',\n 4: '#ffcfcf',\n 5: '#ffb5b5',\n 6: '#ff9c9c',\n 7: '#f57d7d',\n 8: '#eb6565',\n 9: '#e55050',\n 10: '#da3d3d',\n 11: '#8a2b1e',\n 12: '#330c07',\n }),\n sun: createColorScale({\n 1: '#fffdf7',\n 2: '#fffbf0',\n 3: '#fff6de',\n 4: '#ffefc4',\n 5: '#ffe8ab',\n 6: '#ffe191',\n 7: '#ffda78',\n 8: '#ffd35e',\n 9: '#fdc32d',\n 10: '#f3a40c',\n 11: '#9f5600',\n 12: '#341c00',\n }),\n green: createColorScale({\n 1: '#f9fff9',\n 2: '#e9ffeb',\n 3: '#d3fbd7',\n 4: '#bffbc5',\n 5: '#96f4b0',\n 6: '#7fefac',\n 7: '#21e8a3',\n 8: '#08d48e',\n 9: '#00c381',\n 10: '#00ac72',\n 11: '#0e8159',\n 12: '#03291c',\n }),\n} as const;\n\ntype ColorScaleTokens = {\n [K in keyof typeof colorScales as `${K}.${KittColorScaleNumber}`]: (typeof colorScales)[K][KittColorScaleNumber];\n};\n\nconst transformColorScalesToTokens = (): ColorScaleTokens => {\n return Object.fromEntries(\n Object.entries(colorScales).flatMap(([colorName, colorScale]) => {\n return Object.entries(colorScale).map(([scaleNumber, colorValue]) => {\n return [`${colorName}.${scaleNumber}`, colorValue];\n });\n }),\n ) as ColorScaleTokens;\n};\n\nexport const lateOceanColorPalette = {\n ...transformColorScalesToTokens(),\n\n /** @deprecated use violine.9 instead */\n lateOcean: colorScales.violine[9],\n /** @deprecated use violine.8 instead */\n lateOceanLight1: colorScales.violine[8],\n /** @deprecated use violine.6 instead */\n lateOceanLight2: colorScales.violine[6],\n /** @deprecated use lavender.6 instead */\n lateOceanLight3: colorScales.lavender[6],\n /** @deprecated use violine.12 instead */\n lateOceanDark1: colorScales.violine[12],\n\n /** @deprecated use lavender.5 instead */\n warmEmbrace: colorScales.lavender[5],\n /** @deprecated use lavender.3 instead */\n warmEmbraceLight1: colorScales.lavender[3],\n\n white: '#FFFFFF',\n black: '#000000',\n\n /** @deprecated use black instead */\n black1000: '#000000',\n /** @deprecated use eggshell.11 instead */\n black800: colorScales.eggshell[11],\n /** @deprecated use eggshell.10 instead */\n black555: colorScales.eggshell[10],\n /** @deprecated use eggshell.7 instead */\n black400: colorScales.eggshell[7],\n /** @deprecated use eggshell.4 instead */\n black200: colorScales.eggshell[4],\n /** @deprecated use eggshell.3 instead */\n black100: colorScales.eggshell[3],\n /** @deprecated use eggshell.2 instead */\n black50: colorScales.eggshell[2],\n /** @deprecated use eggshell.1 instead */\n black25: colorScales.eggshell[1],\n\n /** @deprecated use green.8 instead */\n viride: colorScales.green[8],\n /** @deprecated use coral.7 instead */\n englishVermillon: colorScales.coral[7],\n /** @deprecated use sun.8 instead */\n goldCrayola: colorScales.sun[8],\n /** @deprecated use blue.8 instead */\n aero: colorScales.blue[8],\n /** @deprecated use eggshell.1 instead */\n seaShell: colorScales.eggshell[1],\n\n transparent: 'transparent',\n\n /** @deprecated use violine.4 instead */\n moonPurple: colorScales.violine[4],\n /** @deprecated use violine.2 instead */\n moonPurpleLight1: colorScales.violine[2],\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport const colors = {\n primary: lateOceanColorPalette['violine.9'],\n primaryLight: lateOceanColorPalette['violine.8'],\n accent: lateOceanColorPalette['lavender.5'],\n accentLight: lateOceanColorPalette['lavender.3'],\n success: lateOceanColorPalette['green.8'],\n correct: lateOceanColorPalette['green.8'],\n danger: lateOceanColorPalette['coral.8'],\n info: lateOceanColorPalette['blue.8'],\n warning: lateOceanColorPalette['sun.8'],\n separator: lateOceanColorPalette['eggshell.3'],\n hover: lateOceanColorPalette['eggshell.3'],\n white: lateOceanColorPalette.white,\n black: lateOceanColorPalette.black,\n blackDisabled: lateOceanColorPalette['eggshell.7'],\n blackLight: lateOceanColorPalette['eggshell.10'],\n blackAnthracite: lateOceanColorPalette['eggshell.11'],\n uiBackground: lateOceanColorPalette['eggshell.1'],\n uiBackgroundLight: lateOceanColorPalette.white,\n transparent: lateOceanColorPalette.transparent,\n disabled: lateOceanColorPalette['eggshell.2'],\n overlay: {\n dark: 'rgba(41, 48, 51, 0.25)',\n light: 'rgba(255, 255, 255, 0.90)',\n },\n};\n","import { hex2rgba } from '../../utils/hexToRgba';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ActionCardState {\n backgroundColor: string;\n borderColor?: string;\n borderWidth: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n translateY: number;\n}\n\nexport interface ActionCardVariant {\n default: ActionCardState;\n disabled: ActionCardState;\n hovered: ActionCardState;\n pressed: ActionCardState;\n focused: ActionCardState;\n}\n\nexport interface ActionCardTheme {\n borderRadius: number;\n primary: ActionCardVariant;\n 'primary-border-soft': ActionCardVariant;\n 'primary-border-hard': ActionCardVariant;\n secondary: ActionCardVariant;\n highlight: ActionCardVariant;\n}\n\nexport const actionCard: ActionCardTheme = {\n borderRadius: 20,\n primary: {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.black100,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.black100,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n 'primary-border-soft': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n 'primary-border-hard': {\n default: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.lateOcean,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.lateOcean,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n secondary: {\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.transparent,\n borderWidth: 0,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 0,\n },\n },\n highlight: {\n default: {\n backgroundColor: lateOceanColorPalette.moonPurpleLight1,\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.3'],\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette['eggshell.3'],\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n hovered: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n focused: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: lateOceanColorPalette.moonPurple,\n offsetX: 0,\n offsetY: 4,\n opacity: 1,\n radius: 0,\n },\n translateY: 0,\n },\n pressed: {\n backgroundColor: hex2rgba(lateOceanColorPalette.moonPurpleLight1, 0.6),\n borderColor: lateOceanColorPalette.moonPurple,\n borderWidth: 1,\n shadow: {\n color: '',\n offsetX: 0,\n offsetY: 0,\n opacity: 0,\n radius: 0,\n },\n translateY: 3,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport const defaultAvatarSize = 40;\nexport const defaultAvatarIconSize = 20;\n\nexport const largeAvatarSize = 120;\nexport const largeAvatarIconSize = 30;\n\nexport interface AvatarThemeColorVariant {\n backgroundColor: string;\n}\n\nexport interface AvatarThemeSizeVariant {\n borderRadius: number;\n size: number;\n iconSize: number;\n}\n\nexport interface AvatarTheme {\n borderRadius: number;\n size: number;\n iconSize: number;\n default: AvatarThemeColorVariant;\n light: AvatarThemeColorVariant;\n large: AvatarThemeSizeVariant;\n}\n\nexport const avatar: AvatarTheme = {\n borderRadius: 10,\n size: defaultAvatarSize,\n iconSize: defaultAvatarIconSize,\n default: {\n backgroundColor: colors.primary,\n },\n light: {\n backgroundColor: lateOceanColorPalette.black100,\n },\n large: {\n borderRadius: 30,\n size: largeAvatarSize,\n iconSize: largeAvatarIconSize,\n },\n};\n","export const spacing = 4;\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { spacing } from './spacing';\n\nexport interface BottomSheetTheme {\n container: {\n padding: number;\n };\n handle: {\n backgroundColor: string;\n };\n}\n\nexport const bottomSheet: BottomSheetTheme = {\n container: {\n padding: spacing * 4,\n },\n handle: {\n backgroundColor: lateOceanColorPalette.black200,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface BaseVariantTheme {\n backgroundColor: string;\n pressedBackgroundColor: string;\n hoverBackgroundColor: string;\n focusBorderColor: string;\n}\n\nexport interface GhostVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\nexport interface BaseButtonTheme {\n default: BaseVariantTheme;\n}\n\nexport interface BaseButtonWithVariant extends BaseButtonTheme {\n ghost: GhostVariantTheme;\n}\n\nexport interface SubtleBaseVariantTheme extends BaseVariantTheme {\n color: string;\n hoverColor: string;\n activeColor: string;\n}\n\nexport interface SubtleButtonTheme extends BaseButtonTheme {\n default: SubtleBaseVariantTheme;\n}\n\nexport interface DisabledBaseVariantTheme extends BaseVariantTheme {\n borderColor: string;\n}\n\nexport interface DisabledButtonTheme extends BaseButtonTheme {\n default: DisabledBaseVariantTheme;\n}\n\ninterface ButtonPadding {\n horizontal: number;\n vertical: number;\n}\n\nexport interface ButtonTheme {\n borderRadius: number;\n borderWidth: {\n disabled: number;\n focus: number;\n };\n minHeight: number;\n minWidth: number;\n maxWidth: number;\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n hover: number;\n };\n };\n /**\n * @deprecated use `padding` instead\n */\n contentPadding: {\n default: string;\n large: string;\n xLarge: string;\n disabled: string;\n };\n padding: {\n default: ButtonPadding;\n large: ButtonPadding;\n xLarge: ButtonPadding;\n disabled: ButtonPadding;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n default: BaseButtonWithVariant;\n primary: BaseButtonWithVariant;\n danger: BaseButtonWithVariant;\n subtle: SubtleButtonTheme;\n 'subtle-dark': SubtleButtonTheme;\n disabled: DisabledButtonTheme;\n}\n\nexport const button: ButtonTheme = {\n borderRadius: 30,\n borderWidth: {\n disabled: 2,\n focus: 3,\n },\n minHeight: 40,\n minWidth: 40,\n maxWidth: 335,\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n hover: 1.05,\n },\n },\n contentPadding: {\n default: '7px 16px 7px',\n large: '11px 24px 11px',\n xLarge: '15px 24px 15px',\n disabled: '5px 14px 5px',\n },\n padding: {\n default: {\n horizontal: 16,\n vertical: 7,\n },\n large: {\n horizontal: 24,\n vertical: 11,\n },\n xLarge: {\n horizontal: 24,\n vertical: 15,\n },\n disabled: {\n horizontal: 14,\n vertical: 5,\n },\n },\n transition: {\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n default: {\n default: {\n backgroundColor: 'rgba(0, 0, 0, 0.05)',\n pressedBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n hoverBackgroundColor: 'rgba(0, 0, 0, 0.1)',\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n },\n ghost: {\n backgroundColor: 'rgba(255, 255, 255, 0.1)',\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.05)',\n focusBorderColor: 'rgba(255, 255, 255, 0.4)',\n color: lateOceanColorPalette.white,\n hoverColor: lateOceanColorPalette.white,\n activeColor: lateOceanColorPalette.white,\n },\n },\n primary: {\n default: {\n backgroundColor: colors.primary,\n pressedBackgroundColor: colors.primaryLight,\n hoverBackgroundColor: colors.primaryLight,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: colors.uiBackground,\n hoverBackgroundColor: colors.hover,\n focusBorderColor: 'rgba(255,255,255, 0.4)',\n color: colors.primary,\n hoverColor: colors.hover,\n activeColor: colors.hover,\n },\n },\n danger: {\n default: {\n backgroundColor: lateOceanColorPalette.warmEmbraceLight1,\n pressedBackgroundColor: lateOceanColorPalette.warmEmbrace,\n hoverBackgroundColor: lateOceanColorPalette.warmEmbrace,\n focusBorderColor: lateOceanColorPalette.warmEmbrace,\n },\n ghost: {\n backgroundColor: colors.uiBackgroundLight,\n pressedBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n hoverBackgroundColor: 'rgba(255, 255, 255, 0.75)',\n focusBorderColor: 'rgba(255, 255, 255, 0.5)',\n color: lateOceanColorPalette.englishVermillon,\n hoverColor: lateOceanColorPalette.englishVermillon,\n activeColor: lateOceanColorPalette.englishVermillon,\n },\n },\n subtle: {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(76, 52, 224, 0.2)',\n color: colors.primary,\n hoverColor: 'rgba(76, 52, 224, 0.8)',\n activeColor: 'rgba(76, 52, 224, 0.8)',\n },\n },\n 'subtle-dark': {\n default: {\n backgroundColor: colors.transparent,\n pressedBackgroundColor: colors.transparent,\n hoverBackgroundColor: colors.transparent,\n focusBorderColor: 'rgba(0, 0, 0, 0.1)',\n color: colors.black,\n hoverColor: 'rgba(0, 0, 0, 0.8)',\n activeColor: 'rgba(0, 0, 0, 0.8)',\n },\n },\n disabled: {\n default: {\n backgroundColor: colors.disabled,\n pressedBackgroundColor: colors.disabled,\n hoverBackgroundColor: colors.disabled,\n focusBorderColor: lateOceanColorPalette.black100,\n borderColor: lateOceanColorPalette.black100,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface CardThemeType {\n backgroundColor: string;\n borderColor: string;\n}\nexport interface CardTheme {\n borderRadius: number;\n borderWidth: number;\n primary: CardThemeType;\n secondary: CardThemeType;\n subtle: CardThemeType;\n}\n\nexport const card: CardTheme = {\n borderRadius: 20,\n borderWidth: 2,\n primary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n secondary: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.separator,\n },\n subtle: {\n backgroundColor: lateOceanColorPalette.black50,\n borderColor: colors.separator,\n },\n};\n","import { colors } from './colors';\n\nexport interface CardModalTheme {\n borderRadius: number;\n maxWidth: number;\n maxWidthWithPadding: number;\n minHeight: number;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n header: {\n height: number;\n borderWidth: number;\n borderColor: string;\n };\n footer: {\n borderWidth: number;\n borderColor: string;\n };\n overlayPadding: {\n horizontal: number;\n vertical: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 400;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nconst maxWidth = 540;\nconst overlayHorizontalPadding = 24;\n\nexport const cardModal: CardModalTheme = {\n borderRadius: 20,\n maxWidth,\n maxWidthWithPadding: maxWidth + overlayHorizontalPadding * 2,\n minHeight: 280,\n shadow: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n header: {\n height: 56,\n borderWidth: 1,\n borderColor: colors.separator,\n },\n footer: {\n borderWidth: 1,\n borderColor: colors.separator,\n },\n overlayPadding: {\n horizontal: 24,\n vertical: 80,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface ChoicesItemTheme {\n borderRadius: number;\n /** @deprecated use kitt.x spacings values instead */\n padding: {\n base: number;\n small: number;\n };\n backgroundColor: {\n default: string;\n disabled: string;\n selected: string;\n pressed: string;\n hover: string;\n hoverWhenSelected: string;\n };\n disabled: {\n border: {\n width: number;\n color: string;\n };\n };\n transition: {\n property: string;\n duration: number;\n timingFunction: string;\n };\n}\n\nexport interface ChoicesTheme {\n /** @deprecated use kitt.x spacings values instead */\n spacing: {\n row: number;\n column: number;\n };\n item: ChoicesItemTheme;\n}\n\nexport const choices: ChoicesTheme = {\n spacing: {\n row: 12,\n column: 12,\n },\n item: {\n borderRadius: 10,\n padding: {\n base: 16,\n small: 24,\n },\n backgroundColor: {\n default: lateOceanColorPalette.black50,\n disabled: colors.disabled,\n selected: colors.primary,\n pressed: lateOceanColorPalette.lateOceanLight1,\n hover: lateOceanColorPalette.black100,\n hoverWhenSelected: lateOceanColorPalette.lateOceanLight1,\n },\n disabled: {\n border: {\n width: 2,\n color: lateOceanColorPalette.black100,\n },\n },\n transition: {\n property: 'all',\n duration: 300,\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface DialogModalTheme {\n borderRadius: number;\n maxWidth: number;\n overlayPadding: {\n horizontal: number;\n vertical: number;\n };\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 400;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const dialogModal: DialogModalTheme = {\n borderRadius: 20,\n maxWidth: 540,\n overlayPadding: {\n horizontal: 24,\n vertical: 32,\n },\n shadow: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { colors } from './colors';\n\nexport interface FeedbackMessageVariantTheme {\n backgroundColor: string;\n}\n\nexport interface FeedbackMessageTheme {\n minHeight: number;\n danger: FeedbackMessageVariantTheme;\n info: FeedbackMessageVariantTheme;\n success: FeedbackMessageVariantTheme;\n warning: FeedbackMessageVariantTheme;\n}\n\nexport const feedbackMessage: FeedbackMessageTheme = {\n minHeight: 60,\n danger: {\n backgroundColor: colors.danger,\n },\n success: {\n backgroundColor: colors.success,\n },\n info: {\n backgroundColor: colors.info,\n },\n warning: {\n backgroundColor: colors.warning,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface AutocompleteTheme {\n option: {\n verticalPadding: number;\n minHeight: number;\n default: { backgroundColor: string };\n hovered: { backgroundColor: string };\n focused: { backgroundColor: string };\n selected: { backgroundColor: string };\n highlighted: { backgroundColor: string };\n pressed: { backgroundColor: string };\n };\n optionsContainer: {\n borderRadius: number;\n backgroundColor: string;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n };\n}\n\nexport const autocomplete: AutocompleteTheme = {\n option: {\n verticalPadding: 2,\n minHeight: 40,\n default: {\n backgroundColor: colors.white,\n },\n hovered: { backgroundColor: lateOceanColorPalette.black50 },\n focused: { backgroundColor: lateOceanColorPalette.black50 },\n selected: { backgroundColor: lateOceanColorPalette.black50 },\n highlighted: { backgroundColor: lateOceanColorPalette.black50 },\n pressed: { backgroundColor: lateOceanColorPalette.black100 },\n },\n optionsContainer: {\n borderRadius: 10,\n backgroundColor: colors.white,\n shadow: { color: colors.black, offsetX: 0, offsetY: 10, opacity: 0.15, radius: 20 },\n },\n};\n","import { colors } from './colors';\n\nexport const checkbox = {\n borderWidth: 2,\n borderRadius: 5,\n height: 20,\n width: 20,\n iconSize: 14,\n markColor: colors.uiBackgroundLight,\n textSpacing: 10,\n default: {\n borderColor: colors.separator,\n backgroundColor: colors.uiBackgroundLight,\n },\n checked: {\n borderColor: colors.primary,\n backgroundColor: colors.primary,\n },\n focus: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n pressed: {\n borderColor: colors.primary,\n backgroundColor: colors.uiBackgroundLight,\n },\n disabled: {\n borderColor: colors.separator,\n backgroundColor: colors.disabled,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\n },\n};\n","interface DatePickerPartTheme {\n minWidth: number;\n}\n\nexport interface DatePickerTheme {\n day: DatePickerPartTheme;\n month: DatePickerPartTheme;\n year: DatePickerPartTheme;\n}\n\nexport const datePicker: DatePickerTheme = {\n day: {\n minWidth: 64,\n },\n month: {\n minWidth: 64,\n },\n year: {\n minWidth: 82,\n },\n};\n","import type { InputUIState } from '../../forms/utils';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\nexport interface InputStateStyle {\n backgroundColor?: string;\n borderColor: string;\n color: string;\n}\n\nexport type InputStateTheme = Record<InputUIState, InputStateStyle>;\n\nconst inputStatesStyle: InputStateTheme = {\n default: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette.black,\n },\n pending: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.3'],\n color: lateOceanColorPalette.black,\n },\n valid: {\n backgroundColor: lateOceanColorPalette.white,\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette.black,\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.1'],\n borderColor: lateOceanColorPalette['eggshell.5'],\n color: lateOceanColorPalette.black,\n },\n focus: {\n borderColor: lateOceanColorPalette['violine.9'],\n color: lateOceanColorPalette.black,\n },\n disabled: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n borderColor: lateOceanColorPalette['eggshell.4'],\n color: lateOceanColorPalette['eggshell.6'],\n },\n invalid: {\n borderColor: lateOceanColorPalette['eggshell.3'],\n color: lateOceanColorPalette.black,\n },\n};\n\nexport interface InputTheme {\n height: number;\n color: {\n selection: string;\n placeholder: string;\n };\n borderWidth: number;\n borderRadius: number;\n icon: {\n size: number;\n };\n padding: {\n horizontal: number;\n vertical: number;\n };\n rightContainer: {\n padding: number;\n };\n transition: {\n properties: string[];\n duration: string;\n timingFunction: string;\n };\n states: InputStateTheme;\n}\n\nexport const webAnimationDuration = '200ms';\nexport const webAnimationTimingFunction = 'ease-in-out';\nexport const webAnimationProperties = ['border-color', 'background-color'];\n\nexport const input: InputTheme = {\n height: 40,\n color: {\n selection: lateOceanColorPalette['violine.9'],\n placeholder: lateOceanColorPalette['eggshell.9'],\n },\n borderWidth: 1,\n borderRadius: 8,\n icon: {\n size: 20,\n },\n rightContainer: {\n padding: 16,\n },\n padding: {\n horizontal: 16,\n vertical: 6,\n },\n transition: {\n properties: webAnimationProperties,\n duration: webAnimationDuration,\n timingFunction: webAnimationTimingFunction,\n },\n states: inputStatesStyle,\n};\n","export const inputField = {\n containerPaddingTop: 5,\n containerPaddingBottom: 10,\n feedbackPaddingTop: 4,\n labelContainerPaddingBottom: 4,\n labelFeedbackMarginLeft: 6,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface InputTagTypeTheme {\n backgroundColor: string;\n labelColor: string;\n}\nexport interface InputTagTheme {\n borderRadius: number;\n iconSize: number;\n default: InputTagTypeTheme;\n success: InputTagTypeTheme;\n danger: InputTagTypeTheme;\n}\n\nexport const inputTag: InputTagTheme = {\n success: {\n backgroundColor: colors.success,\n labelColor: colors.uiBackgroundLight,\n },\n danger: {\n backgroundColor: colors.danger,\n labelColor: colors.uiBackgroundLight,\n },\n default: {\n backgroundColor: lateOceanColorPalette.black50,\n labelColor: colors.black,\n },\n borderRadius: 10,\n iconSize: 13.5,\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\nexport interface RadioTheme {\n size: number;\n unchecked: {\n backgroundColor: string;\n borderColor: string;\n borderWidth: number;\n };\n checked: {\n backgroundColor: string;\n borderColor: string;\n innerBackgroundColor: string;\n innerSize: number;\n };\n hover: {\n backgroundColor: string;\n borderColor: string;\n };\n pressed: {\n backgroundColor: string;\n borderColor: string;\n };\n disabled: {\n backgroundColor: string;\n borderColor: string;\n };\n transition: {\n duration: string;\n timingFunction: string;\n };\n}\n\nexport const radio: RadioTheme = {\n size: 18,\n unchecked: {\n borderWidth: 2,\n backgroundColor: colors.uiBackgroundLight,\n borderColor: lateOceanColorPalette.black200,\n },\n checked: {\n backgroundColor: colors.primary,\n borderColor: colors.transparent,\n innerSize: 5,\n innerBackgroundColor: colors.uiBackgroundLight,\n },\n hover: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n pressed: {\n backgroundColor: colors.uiBackgroundLight,\n borderColor: colors.primary,\n },\n disabled: {\n backgroundColor: colors.disabled,\n borderColor: colors.separator,\n },\n transition: {\n duration: '200ms',\n timingFunction: 'ease-out',\n },\n};\n","import { colors } from './colors';\n\nexport interface RadioButtonGroupTheme {\n item: {\n minHeight: number;\n borderWidth: number;\n borderColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n [key: string]: string;\n };\n backgroundColor: {\n default: string;\n hover: string;\n pressed: string;\n active: string;\n disabled: string;\n };\n borderRadius: number;\n padding: {\n horizontal: number;\n vertical: number;\n };\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n };\n}\n\nexport const radioButtonGroup: RadioButtonGroupTheme = {\n item: {\n minHeight: 40,\n borderWidth: 2,\n borderRadius: 20,\n borderColor: {\n default: colors.separator,\n hover: colors.primary,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.separator,\n },\n backgroundColor: {\n default: colors.uiBackgroundLight,\n hover: colors.white,\n pressed: colors.primary,\n active: colors.primary,\n disabled: colors.disabled,\n },\n padding: {\n horizontal: 18,\n vertical: 6,\n },\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'ease-in-out',\n },\n },\n};\n","export interface TextAreaTheme {\n minHeight: number;\n}\n\nexport const textArea: TextAreaTheme = {\n minHeight: 120,\n};\n","export interface TimePickerTheme {\n minWidth: number;\n}\n\nexport const timePicker: TimePickerTheme = {\n minWidth: 100,\n};\n","import { autocomplete } from './autocomplete';\nimport { checkbox } from './checkbox';\nimport { datePicker } from './datePicker';\nimport { input } from './input';\nimport { inputField } from './inputField';\nimport { inputTag } from './inputTag';\nimport { radio } from './radio';\nimport { radioButtonGroup } from './radioButtonGroup';\nimport { textArea } from './textArea';\nimport { timePicker } from './timePicker';\n\nexport const forms = {\n autocomplete,\n datePicker,\n input,\n radio,\n inputField,\n textArea,\n checkbox,\n inputTag,\n radioButtonGroup,\n timePicker,\n};\n","export interface FullscreenModalTheme {\n header: {\n height: number;\n };\n footer: {\n verticalPadding: number;\n };\n sharedHorizontalPadding: number;\n body: {\n verticalPadding: number;\n };\n animation: {\n overlay: {\n duration: number;\n easing: number[];\n };\n content: {\n duration: number;\n easing: number[];\n };\n };\n}\n\nexport const webAnimationContentDuration = 600;\nexport const webAnimationContentEasing = [0.77, 0, 0.175, 1];\n\nexport const webAnimationOverlayDuration = 250;\nexport const webAnimationOverlayEasing = [0.42, 0, 1, 1];\n\nexport const fullscreenModal: FullscreenModalTheme = {\n header: {\n height: 56,\n },\n sharedHorizontalPadding: 16,\n footer: {\n verticalPadding: 12,\n },\n body: {\n verticalPadding: 24,\n },\n animation: {\n overlay: {\n duration: webAnimationOverlayDuration,\n easing: webAnimationOverlayEasing,\n },\n content: {\n duration: webAnimationContentDuration,\n easing: webAnimationContentEasing,\n },\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { spacing } from './spacing';\n\nexport interface HighlightThemeType {\n default: {\n backgroundColor: string;\n };\n hover: {\n backgroundColor: string;\n };\n}\n\nexport interface HighlightTheme {\n borderRadius: number;\n padding: {\n medium: number;\n large: number;\n };\n regular: HighlightThemeType;\n primary: HighlightThemeType;\n secondary: HighlightThemeType;\n ghost: HighlightThemeType;\n dark: HighlightThemeType;\n}\n\nexport const highlight: HighlightTheme = {\n borderRadius: spacing * 2,\n /** @deprecated use primary instead */\n regular: {\n default: {\n backgroundColor: colors.accentLight,\n },\n hover: {\n backgroundColor: colors.accentLight,\n },\n },\n primary: {\n default: {\n backgroundColor: lateOceanColorPalette['lavender.3'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['lavender.5'],\n },\n },\n secondary: {\n default: {\n backgroundColor: lateOceanColorPalette['violine.2'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['violine.4'],\n },\n },\n ghost: {\n default: {\n backgroundColor: lateOceanColorPalette.white,\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n },\n },\n dark: {\n default: {\n backgroundColor: lateOceanColorPalette['eggshell.3'],\n },\n hover: {\n backgroundColor: lateOceanColorPalette['eggshell.2'],\n },\n },\n padding: {\n medium: spacing * 4,\n large: spacing * 6,\n },\n};\n","export interface TypographyIconBreakpointRangeConfig {\n iconSize: number;\n}\n\nexport interface TypographyIconConfig {\n baseAndSmall: TypographyIconBreakpointRangeConfig;\n mediumAndWide: TypographyIconBreakpointRangeConfig;\n}\n\nconst getIconSizeFromFontSize = (fontSize: number): number => {\n if (fontSize <= 14) return 16;\n if (fontSize <= 16) return 20;\n return 24;\n};\n\nexport const createTypographyIconSizeConfig = (\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number,\n): TypographyIconConfig => {\n const baseAndSmallIconSize = getIconSizeFromFontSize(baseAndSmallFontSize);\n const mediumAndWideIconSize = getIconSizeFromFontSize(mediumAndWideFontSize);\n return {\n baseAndSmall: {\n iconSize: baseAndSmallIconSize,\n },\n mediumAndWide: {\n iconSize: mediumAndWideIconSize,\n },\n };\n};\n\nexport const icon = {\n defaultSize: 20,\n // Note: this is based on typography updated sizes, not current https://github.com/ornikar/kitt/pull/2130\n typographySize: {\n // also known as xxlarge\n header1: createTypographyIconSizeConfig(40, 56),\n // also known as xlarge\n header2: createTypographyIconSizeConfig(32, 48),\n // also known as medium\n header3: createTypographyIconSizeConfig(24, 40),\n // also known as xsmall\n header4: createTypographyIconSizeConfig(18, 24),\n // also known as xxsmall\n header5: createTypographyIconSizeConfig(18, 18),\n\n 'header-impact-xxl': createTypographyIconSizeConfig(56, 56),\n 'header-impact-xl': createTypographyIconSizeConfig(48, 48),\n 'header-impact-l': createTypographyIconSizeConfig(40, 40),\n 'header-impact-m': createTypographyIconSizeConfig(32, 32),\n 'header-impact-s': createTypographyIconSizeConfig(24, 24),\n 'header-impact-xs': createTypographyIconSizeConfig(18, 18),\n 'header-impact-xxs': createTypographyIconSizeConfig(16, 16),\n 'header-impact-xxxs': createTypographyIconSizeConfig(14, 14),\n\n 'body-large': createTypographyIconSizeConfig(18, 24),\n 'body-medium': createTypographyIconSizeConfig(18, 18),\n body: createTypographyIconSizeConfig(16, 16),\n 'body-small': createTypographyIconSizeConfig(14, 14),\n 'body-xsmall': createTypographyIconSizeConfig(12, 12),\n },\n} as const;\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { button } from './button';\n\ninterface IconButtonVariationValues {\n pressedBackgroundColor: string;\n}\n\nexport interface IconButtonTheme {\n backgroundColor: string;\n width: number;\n height: number;\n borderRadius: number;\n borderWidth: number;\n borderColor: string;\n transition: {\n property: string;\n duration: string;\n timingFunction: string;\n };\n scale: {\n base: {\n default: number;\n hover: number;\n active: number;\n };\n medium: {\n default: number;\n hover: number;\n active: number;\n };\n };\n disabled: {\n scale: number;\n backgroundColor: string;\n borderColor: string;\n };\n default: IconButtonVariationValues;\n ghost: IconButtonVariationValues;\n primary: IconButtonVariationValues;\n}\n\nexport const iconButton: IconButtonTheme = {\n backgroundColor: 'transparent',\n width: 40,\n height: 40,\n borderRadius: 20,\n borderWidth: 2,\n borderColor: 'transparent',\n transition: {\n property: 'all',\n duration: '200ms',\n timingFunction: 'cubic-bezier(0.645, 0.045, 0.355, 1)',\n },\n scale: {\n base: {\n default: 1,\n hover: 0.95,\n active: 0.95,\n },\n medium: {\n default: 1,\n hover: 1.05,\n active: 0.95,\n },\n },\n disabled: {\n scale: 1,\n backgroundColor: button.disabled.default.backgroundColor,\n borderColor: button.disabled.default.borderColor,\n },\n default: {\n pressedBackgroundColor: button.default.default.pressedBackgroundColor,\n },\n ghost: {\n pressedBackgroundColor: button.default.ghost.pressedBackgroundColor,\n },\n primary: {\n pressedBackgroundColor: lateOceanColorPalette.moonPurpleLight1,\n },\n};\n","import { colors } from './colors';\n\nexport interface ListItemTheme {\n /** @deprecated -- use verticalPadding and horizontalPadding instead */\n padding: string;\n verticalPadding: number;\n horizontalPadding: number;\n borderColor: string;\n borderWidth: number;\n innerMargin: number;\n}\n\nexport const listItem: ListItemTheme = {\n padding: '12px 16px',\n verticalPadding: 12,\n horizontalPadding: 16,\n borderColor: colors.separator,\n borderWidth: 1,\n innerMargin: 8,\n};\n","import { colors } from './colors';\n\nexport interface PageLoaderTheme {\n size: number;\n strokeWidth: number;\n colors: {\n base: string;\n fill: string;\n };\n animation: {\n delay: number;\n circleBackgroundFillDuration: number;\n filledCircleFillDuration: number;\n groupFilledCircleRotationDuration: number;\n filledCircleRotationDuration: number;\n fillEasingFunction: [number, number, number, number];\n };\n}\n\nexport const pageLoaderSize = 60;\nexport const pageLoaderStrokeWidth = 3;\n\nexport const webAnimationDelay = 500;\nexport const webAnimationCircleBackgroundFillDuration = 1000;\nexport const webAnimationFilledCircleFillDuration = 1800;\nexport const webAnimationFilledCircleRotationDuration = 2160;\nexport const fillEasingFunction: [number, number, number, number] = [0.39, 0.575, 0.565, 1];\n\nexport const pageLoader: PageLoaderTheme = {\n size: pageLoaderSize,\n strokeWidth: pageLoaderStrokeWidth,\n colors: {\n base: colors.separator,\n fill: colors.primary,\n },\n animation: {\n delay: webAnimationDelay,\n circleBackgroundFillDuration: webAnimationCircleBackgroundFillDuration,\n filledCircleFillDuration: webAnimationFilledCircleFillDuration,\n groupFilledCircleRotationDuration: 1800,\n filledCircleRotationDuration: webAnimationFilledCircleRotationDuration,\n fillEasingFunction,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors as kittColors } from './colors';\n\nexport const calcLineHeight = (fontSize: number, lineHeightMultiplier: number): number =>\n Math.round(fontSize * lineHeightMultiplier);\n\nexport interface TypographyTypeBreakpointRangeConfig {\n fontSize: number;\n lineHeight: number;\n}\n\nexport interface TypographyTypeConfig {\n baseAndSmall: TypographyTypeBreakpointRangeConfig;\n mediumAndWide: TypographyTypeBreakpointRangeConfig;\n}\n\n/** @deprecated legacy typography type config is deprecated. */\nexport const createLegacyTypographyTypeConfig = (\n lineHeightMultiplierBaseAndSmall: number,\n baseAndSmallFontSize: number,\n mediumAndWideFontSize: number = baseAndSmallFontSize,\n lineHeightMultiplierMediumAndWide = lineHeightMultiplierBaseAndSmall,\n): TypographyTypeConfig => ({\n baseAndSmall: {\n fontSize: baseAndSmallFontSize,\n lineHeight: calcLineHeight(baseAndSmallFontSize, lineHeightMultiplierBaseAndSmall),\n },\n mediumAndWide: {\n fontSize: mediumAndWideFontSize,\n lineHeight: calcLineHeight(mediumAndWideFontSize, lineHeightMultiplierMediumAndWide),\n },\n});\n\nexport const createTypographyConfig = (fontSize: number, lineHeightMultiplier: number): TypographyTypeConfig => {\n const config: TypographyTypeBreakpointRangeConfig = {\n fontSize,\n lineHeight: calcLineHeight(fontSize, lineHeightMultiplier),\n };\n return { baseAndSmall: config, mediumAndWide: config };\n};\n\nexport const typography = {\n colors: {\n black: kittColors.black,\n 'black-anthracite': kittColors.blackAnthracite,\n 'black-disabled': lateOceanColorPalette.black400,\n 'black-light': lateOceanColorPalette.black555,\n white: kittColors.white,\n 'white-light': kittColors.white,\n primary: kittColors.primary,\n 'primary-light': kittColors.primaryLight,\n accent: kittColors.accent,\n success: kittColors.success,\n danger: kittColors.danger,\n warning: kittColors.warning,\n },\n types: {\n headings: {\n fontFamily: {\n native: {\n regular: 'Moderat-Bold',\n bold: 'Moderat-Bold',\n },\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: 'normal',\n configs: {\n /* legacy */\n header1: createLegacyTypographyTypeConfig(1.1, 40, 56),\n header2: createLegacyTypographyTypeConfig(1.2, 32, 48, 1.1),\n header3: createLegacyTypographyTypeConfig(1.2, 24, 40, 1.1),\n header4: createLegacyTypographyTypeConfig(1.3, 18, 24, 1.2),\n header5: createLegacyTypographyTypeConfig(1.3, 18, 18),\n\n /* latest */\n 'heading-xxl': createTypographyConfig(56, 1.1),\n 'heading-xl': createTypographyConfig(48, 1.1),\n 'heading-l': createTypographyConfig(40, 1.1),\n 'heading-m': createTypographyConfig(32, 1.2),\n 'heading-s': createTypographyConfig(24, 1.2),\n 'heading-xs': createTypographyConfig(18, 1.3),\n 'heading-xxs': createTypographyConfig(16, 1.3),\n },\n },\n 'headings-impact': {\n fontFamily: {\n native: {\n regular: 'Transducer-Black',\n bold: 'Transducer-Black',\n },\n web: {\n regular: 'TransducerBlack',\n bold: 'TransducerBlack',\n },\n },\n fontWeight: 900,\n fontStyle: 'normal',\n configs: {\n /* legacy */\n 'header-impact-xxl': createLegacyTypographyTypeConfig(1.2, 56, 56),\n 'header-impact-xl': createLegacyTypographyTypeConfig(1.2, 48, 48),\n 'header-impact-l': createLegacyTypographyTypeConfig(1.2, 40, 40),\n 'header-impact-m': createLegacyTypographyTypeConfig(1.2, 32, 32),\n 'header-impact-s': createLegacyTypographyTypeConfig(1.2, 24, 24),\n 'header-impact-xs': createLegacyTypographyTypeConfig(1.2, 18, 18),\n 'header-impact-xxs': createLegacyTypographyTypeConfig(1.2, 16, 16),\n 'header-impact-xxxs': createLegacyTypographyTypeConfig(1.2, 14, 14),\n\n /* latest */\n 'heading-impact-xxl': createTypographyConfig(56, 1.2),\n 'heading-impact-xl': createTypographyConfig(48, 1.2),\n 'heading-impact-l': createTypographyConfig(40, 1.2),\n 'heading-impact-m': createTypographyConfig(32, 1.2),\n 'heading-impact-s': createTypographyConfig(24, 1.2),\n 'heading-impact-xs': createTypographyConfig(18, 1.2),\n 'heading-impact-xxs': createTypographyConfig(16, 1.2),\n 'heading-impact-xxxs': createTypographyConfig(14, 1.2),\n },\n },\n bodies: {\n fontFamily: {\n web: {\n regular: 'Moderat',\n bold: 'Moderat',\n },\n native: {\n regular: 'Moderat-Regular',\n bold: 'Moderat-Bold',\n },\n },\n fontWeight: {\n regular: 400,\n bold: 700,\n },\n fontStyle: {\n regular: 'normal',\n bold: 'normal',\n },\n configs: {\n /* legacy */\n 'body-large': createLegacyTypographyTypeConfig(1.4, 18, 24),\n 'body-medium': createLegacyTypographyTypeConfig(1.4, 18, 18),\n body: createLegacyTypographyTypeConfig(1.4, 16, 16),\n 'body-small': createLegacyTypographyTypeConfig(1.4, 14, 14),\n 'body-xsmall': createLegacyTypographyTypeConfig(1.4, 12, 12),\n\n /* latest */\n 'body-xl': createTypographyConfig(24, 1.4),\n 'body-l': createTypographyConfig(18, 1.4),\n 'body-m': createTypographyConfig(16, 1.4),\n 'body-s': createTypographyConfig(14, 1.4),\n 'body-xs': createTypographyConfig(12, 1.4),\n },\n },\n },\n link: {\n /** @deprecated not used in kitt anymore, use Typography instead */\n disabledColor: kittColors.blackDisabled,\n },\n};\n","import type { TextStyle } from 'react-native';\nimport { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\nimport { typography } from './typography';\n\nexport interface PickerTheme {\n ios: {\n default: TextStyle;\n landscape: TextStyle;\n selected: {\n color: string;\n };\n };\n android: {\n option: {\n verticalPadding: number;\n horizontalPadding: number;\n default: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n color: string;\n };\n };\n };\n web: {\n optionsContainer: {\n borderRadius: number;\n backgroundColor: string;\n shadow: {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n };\n };\n option: {\n verticalPadding: number;\n horizontalPadding: number;\n default: {\n backgroundColor: string;\n };\n highlighted: {\n backgroundColor: string;\n };\n selected: {\n backgroundColor: string;\n };\n hovered: {\n backgroundColor: string;\n };\n pressed: {\n backgroundColor: string;\n };\n focused: {\n backgroundColor: string;\n };\n };\n };\n}\n\nexport const picker: PickerTheme = {\n ios: {\n default: {\n fontFamily: typography.types.bodies.fontFamily.native.regular,\n ...typography.types.bodies.configs.body.baseAndSmall,\n fontSize: 16,\n color: typography.colors['black-light'],\n // Default height is hard coded in module because of iOS constraint (https://github.com/react-native-picker/picker/blob/abd5f9076baa3ef2277ea7e711fa5823683c110e/js/PickerIOS.ios.js#L156)\n height: 216,\n },\n landscape: {\n height: 108,\n },\n selected: {\n color: typography.colors.primary,\n },\n },\n web: {\n optionsContainer: {\n borderRadius: 10,\n backgroundColor: colors.white,\n shadow: { color: colors.black, offsetX: 0, offsetY: 10, opacity: 0.15, radius: 20 },\n },\n option: {\n verticalPadding: 3,\n horizontalPadding: 16,\n default: {\n backgroundColor: colors.transparent,\n },\n hovered: { backgroundColor: lateOceanColorPalette.black50 },\n focused: { backgroundColor: lateOceanColorPalette.black50 },\n selected: { backgroundColor: lateOceanColorPalette.black50 },\n highlighted: { backgroundColor: lateOceanColorPalette.black50 },\n pressed: { backgroundColor: lateOceanColorPalette.black100 },\n },\n },\n android: {\n option: {\n verticalPadding: 12,\n horizontalPadding: 24,\n default: {\n backgroundColor: colors.transparent,\n },\n selected: {\n backgroundColor: colors.primary,\n color: typography.colors.white,\n },\n },\n },\n};\n","import { colors } from './colors';\n\ninterface ShadowShapeTheme {\n color: string;\n offsetX: number;\n offsetY: number;\n opacity: number;\n radius: number;\n}\n\nexport interface ShadowsTheme {\n medium: string;\n cards: Record<string, ShadowShapeTheme>;\n navigation: Record<string, ShadowShapeTheme>;\n panel: ShadowShapeTheme;\n}\n\nexport const shadows: ShadowsTheme = {\n /** @deprecated: use cards.medium instead - shorthand shadow doesnt work with Native Base */\n medium: '0px 10px 20px rgba(41, 48, 51, 0.25)',\n cards: {\n low: {\n color: colors.black,\n offsetX: 0,\n offsetY: 5,\n opacity: 0.1,\n radius: 20,\n },\n medium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highBase: {\n color: colors.black,\n offsetX: 0,\n offsetY: 10,\n opacity: 0.15,\n radius: 20,\n },\n highMedium: {\n color: colors.black,\n offsetX: 0,\n offsetY: 60,\n opacity: 0.08,\n radius: 40,\n },\n highLarge: {\n color: colors.black,\n offsetX: 0,\n offsetY: 80,\n opacity: 0.08,\n radius: 60,\n },\n },\n navigation: {\n left: {\n color: colors.black,\n offsetX: 10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n right: {\n color: colors.black,\n offsetX: -10,\n offsetY: 0,\n opacity: 0.15,\n radius: 30,\n },\n },\n panel: {\n color: colors.black,\n offsetX: 0,\n offsetY: 20,\n opacity: 1,\n radius: 40,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\n\ninterface SkeletonShapeTheme {\n size: number;\n borderRadius: number;\n}\nexport interface SkeletonTheme {\n backgroundColor: string;\n flareColor: string;\n animationDuration: number;\n shape: Record<string, SkeletonShapeTheme>;\n}\n\nexport const skeletonBackgroundColor = lateOceanColorPalette.black100;\nexport const skeletonFlareColor = lateOceanColorPalette.black200;\n\nexport const skeleton: SkeletonTheme = {\n backgroundColor: skeletonBackgroundColor,\n flareColor: skeletonFlareColor,\n animationDuration: 1000,\n shape: {\n bar: {\n size: 8,\n borderRadius: 4,\n },\n circle: {\n size: 48,\n borderRadius: 24,\n },\n square: {\n size: 48,\n borderRadius: 6,\n },\n },\n};\n","export interface TagThemeBorderWidth {\n borderWidth: number;\n}\n\nexport interface TagSize {\n paddingRight: number;\n paddingLeft: number;\n height: number;\n}\n\nexport interface TagTheme {\n borderRadius: number;\n fill: TagThemeBorderWidth;\n outline: TagThemeBorderWidth;\n icon: {\n small: number;\n medium: number;\n large: number;\n };\n withIcon: {\n small: TagSize;\n medium: TagSize;\n large: TagSize;\n };\n withoutIcon: {\n small: TagSize;\n medium: TagSize;\n large: TagSize;\n };\n}\n\nexport const tag: TagTheme = {\n borderRadius: 16,\n icon: {\n small: 16,\n medium: 16,\n large: 20,\n },\n withIcon: {\n small: {\n paddingLeft: 2,\n paddingRight: 8,\n height: 20,\n },\n medium: {\n paddingLeft: 4,\n paddingRight: 8,\n height: 24,\n },\n large: {\n paddingLeft: 6,\n paddingRight: 8,\n height: 32,\n },\n },\n withoutIcon: {\n small: {\n paddingLeft: 8,\n paddingRight: 8,\n height: 20,\n },\n medium: {\n paddingLeft: 8,\n paddingRight: 8,\n height: 22,\n },\n large: {\n paddingLeft: 8,\n paddingRight: 8,\n height: 28,\n },\n },\n fill: {\n borderWidth: 0,\n },\n outline: {\n borderWidth: 1,\n },\n};\n","import { hex2rgba } from '../../utils/hexToRgba';\nimport { colors } from './colors';\n\ninterface TooltipTransition {\n duration: string;\n timingFunction: string;\n property: string;\n}\n\nexport interface TooltipTheme {\n backgroundColor: string;\n borderRadius: number;\n opacity: number;\n horizontalPadding: number;\n verticalPadding: number;\n floatingPadding: number;\n maxWidth: number;\n transition: {\n in: TooltipTransition;\n out: TooltipTransition;\n };\n arrow: {\n width: number;\n height: number;\n };\n}\n\nexport const tooltip: TooltipTheme = {\n backgroundColor: hex2rgba(colors.black, 0.95),\n borderRadius: 10,\n opacity: 0.95,\n horizontalPadding: 16,\n verticalPadding: 8,\n floatingPadding: 8,\n maxWidth: 328,\n transition: {\n in: {\n duration: '150ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n out: {\n duration: '75ms',\n timingFunction: 'ease-out',\n property: 'opacity',\n },\n },\n arrow: {\n width: 39,\n height: 9,\n },\n};\n","import { lateOceanColorPalette } from '../palettes/lateOceanColorPalette';\nimport { colors } from './colors';\n\ninterface StepStateTheme {\n icon: {\n backgroundColor: string;\n textColor: string;\n };\n}\n\nexport interface VerticalStepsTheme {\n active: StepStateTheme;\n done: StepStateTheme;\n default: StepStateTheme;\n}\n\nexport const verticalSteps: VerticalStepsTheme = {\n active: {\n icon: {\n backgroundColor: colors.primary,\n textColor: colors.white,\n },\n },\n done: {\n icon: {\n backgroundColor: lateOceanColorPalette.moonPurple,\n textColor: colors.primary,\n },\n },\n default: {\n icon: {\n backgroundColor: colors.disabled,\n textColor: colors.blackDisabled,\n },\n },\n};\n","import { actionCard } from './late-ocean/actionCard';\nimport { avatar } from './late-ocean/avatar';\nimport { bottomSheet } from './late-ocean/bottomSheet';\nimport { button } from './late-ocean/button';\nimport { card } from './late-ocean/card';\nimport { cardModal } from './late-ocean/cardModal';\nimport { choices } from './late-ocean/choices';\nimport { colors } from './late-ocean/colors';\nimport { dialogModal } from './late-ocean/dialogModal';\nimport { feedbackMessage } from './late-ocean/feedback';\nimport { forms } from './late-ocean/forms';\nimport { fullscreenModal } from './late-ocean/fullscreenModal';\nimport { highlight } from './late-ocean/highlight';\nimport { icon } from './late-ocean/icon';\nimport { iconButton } from './late-ocean/iconButton';\nimport { listItem } from './late-ocean/listItem';\nimport { pageLoader } from './late-ocean/pageLoader';\nimport { picker } from './late-ocean/picker';\nimport { shadows } from './late-ocean/shadows';\nimport { skeleton } from './late-ocean/skeleton';\nimport { spacing } from './late-ocean/spacing';\nimport { tag } from './late-ocean/tag';\nimport { tooltip } from './late-ocean/tooltip';\nimport { typography } from './late-ocean/typography';\nimport { verticalSteps } from './late-ocean/verticalSteps';\nimport { lateOceanColorPalette } from './palettes/lateOceanColorPalette';\n\nconst breakpoints = {\n values: {\n base: 0,\n small: 480,\n medium: 768,\n large: 1024,\n wide: 1280,\n },\n min: {\n smallBreakpoint: 'min-width: 480px',\n mediumBreakpoint: 'min-width: 768px',\n largeBreakpoint: 'min-width: 1024px',\n wideBreakpoint: 'min-width: 1280px',\n },\n max: {\n smallBreakpoint: 'max-width: 479px',\n mediumBreakpoint: 'max-width: 767px',\n largeBreakpoint: 'max-width: 1023px',\n wideBreakpoint: 'max-width: 1279px',\n },\n};\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : seperate brand color usage definition from proper theme definition and add typings - https://ornikar.atlassian.net/browse/CME-156\nexport const theme = {\n spacing,\n getSpacing: (multiplier: number): number => spacing * multiplier,\n colors,\n palettes: { lateOcean: lateOceanColorPalette },\n avatar,\n breakpoints,\n button,\n bottomSheet,\n card,\n cardModal,\n choices,\n dialogModal,\n feedbackMessage,\n forms,\n highlight,\n icon,\n iconButton,\n listItem,\n pageLoader,\n picker,\n shadows,\n skeleton,\n tag,\n tooltip,\n typography,\n fullscreenModal,\n actionCard,\n verticalSteps,\n};\n\nexport type Theme = typeof theme;\n","import { createContext, useContext } from 'react';\nimport type { Theme as KittTheme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\n\nexport interface KittThemeContextValue {\n kitt: KittTheme;\n}\n\nexport const KittThemeContext = createContext<KittThemeContextValue>({\n kitt: kittTheme,\n});\n\nexport const useTheme = (): KittThemeContextValue => useContext(KittThemeContext);\n","import type { ActionCardVariant } from '../../themes/late-ocean/actionCard';\n\nexport const getStateKey = (isHovered?: boolean, isPressed?: boolean, isFocused?: boolean): keyof ActionCardVariant => {\n if (isPressed) {\n return 'pressed';\n }\n\n if (isFocused) {\n return 'focused';\n }\n\n if (isHovered) {\n return 'hovered';\n }\n\n return 'default';\n};\n","import type { ActionCardTheme } from '../../themes/late-ocean/actionCard';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from '../types';\n\nexport const getThemeName = (\n variant: ActionCardVariantType,\n borderVariant: ActionCardBorderVariantType,\n): keyof ActionCardTheme => {\n if (borderVariant === 'soft') {\n return 'primary-border-soft';\n }\n if (borderVariant === 'hard') {\n return 'primary-border-hard';\n }\n\n return variant;\n};\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from './types';\nimport { getStateKey } from './utils/getStateKey';\nimport { getThemeName } from './utils/getThemeName';\n\ninterface ActionCardContentWrapperProps {\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n variant: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardContentWrapper({\n isHovered,\n isPressed,\n isFocused,\n variant,\n borderVariant = 'none',\n children,\n}: ActionCardContentWrapperProps): ReactNode {\n const theme = useTheme();\n const state = getStateKey(isHovered, isPressed, isFocused);\n\n if (__DEV__ && borderVariant !== 'none' && variant !== 'primary') {\n throw new Error(`borderVariant=${borderVariant} is only allowed with variant=primary`);\n }\n\n const { translateY } = theme.kitt.actionCard[variant][state];\n\n const sharedTransform = translateY\n ? {\n transform: [{ translateY }],\n }\n : {};\n\n const themeName = getThemeName(variant, borderVariant);\n\n return (\n <View\n _ios={{ style: sharedTransform }}\n _android={{ style: sharedTransform }}\n _web={{\n style: {\n transform: `translateY(${translateY}px)`,\n },\n }}\n width=\"100%\"\n backgroundColor={`kitt.actionCard.${themeName}.${state}.backgroundColor`}\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderColor={`kitt.actionCard.${themeName}.${state}.borderColor`}\n borderWidth={`kitt.actionCard.${themeName}.${state}.borderWidth`}\n shadow={`kitt.actionCard.${themeName}.${state}.shadow`}\n flexGrow={1}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ActionCardVariantType } from './types';\n\ninterface ActionCardDisabledProps {\n variant: ActionCardVariantType;\n children: ReactNode;\n}\n\nexport function ActionCardDisabled({ variant, children }: ActionCardDisabledProps): ReactNode {\n return (\n <View\n borderRadius=\"kitt.actionCard.borderRadius\"\n borderStyle=\"solid\"\n borderWidth={`kitt.actionCard.${variant}.disabled.borderWidth`}\n borderColor={`kitt.actionCard.${variant}.disabled.borderColor`}\n backgroundColor={`kitt.actionCard.${variant}.disabled.backgroundColor`}\n shadow={`kitt.actionCard.${variant}.disabled.shadow`}\n flexGrow={1}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, ViewProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { ActionCardContentWrapper } from './ActionCardContentWrapper';\nimport { ActionCardDisabled } from './ActionCardDisabled';\nimport type { ActionCardBorderVariantType, ActionCardVariantType } from './types';\n\nexport interface ActionCardProps extends ViewProps {\n variant?: ActionCardVariantType;\n borderVariant?: ActionCardBorderVariantType;\n disabled?: boolean;\n children: ReactNode;\n /** @internal used by ActionCard.Pressable only */\n isHovered?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isPressed?: boolean;\n /** @internal used by ActionCard.Pressable only */\n isFocused?: boolean;\n}\n\nexport function ActionCard({\n children,\n variant = 'secondary',\n borderVariant = 'none',\n disabled,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ActionCardProps): ReactNode {\n return (\n <View {...props}>\n {disabled ? (\n <ActionCardDisabled variant={variant}>{children}</ActionCardDisabled>\n ) : (\n <ActionCardContentWrapper\n variant={variant}\n borderVariant={borderVariant}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n {children}\n </ActionCardContentWrapper>\n )}\n </View>\n );\n}\n\nexport interface ActionCardPressableProps\n extends ActionCardProps,\n Pick<PressableProps, 'testID' | 'href' | 'hrefAttrs' | 'accessibilityRole' | 'onPress'> {\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n}\n\nconst ActionCardPressable = forwardRef<typeof Pressable, ActionCardPressableProps>(\n (\n {\n children,\n variant = 'secondary',\n borderVariant = 'none',\n disabled,\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n }: ActionCardPressableProps,\n ref,\n ): ReactElement => {\n return (\n <Pressable\n ref={ref}\n accessibilityRole={accessibilityRole}\n disabled={disabled}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n width=\"100%\"\n onPress={onPress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <ActionCard\n variant={variant}\n borderVariant={borderVariant}\n disabled={disabled}\n isHovered={isHovered || isHoveredInternal}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n >\n {children}\n </ActionCard>\n )}\n </Pressable>\n );\n },\n);\n\nActionCard.Pressable = ActionCardPressable;\n","import type { ICenterProps, IStackProps } from 'native-base';\nimport {\n Center as NativeBaseCenter,\n HStack as NativeBaseHStack,\n Stack as NativeBaseStack,\n VStack as NativeBaseVStack,\n} from 'native-base';\nimport type { InterfaceStackProps } from 'native-base/lib/typescript/components/primitives/Stack/Stack';\nimport type { SafeAreaProps, SpaceType } from 'native-base/lib/typescript/components/types';\nimport type { ViewProps as NativeViewProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { KittResponsivePropOrValue } from '../KittBreakpoints';\nimport type {\n ForwardRefComponent,\n NativeBaseAcceptedBorderProps,\n NativeBaseAcceptedBorderRadiusProps,\n NativeBaseAcceptedChildrenProp,\n NativeBaseAcceptedColorsProps,\n NativeBaseAcceptedFlexboxProps,\n NativeBaseAcceptedLayoutProps,\n NativeBaseAcceptedPositionProps,\n NativeBaseAcceptedShadowProps,\n NativeBaseAcceptedSpaceProps,\n} from './acceptable-native-base-props';\n\ntype NativeBaseAcceptedStackProps = Extract<\n keyof InterfaceStackProps,\n | 'divider'\n | 'reversed'\n | 'direction'\n | 'isHovered'\n | 'isFocused'\n | 'isDisabled'\n | 'isInvalid'\n | 'isReadOnly'\n | keyof NativeViewProps\n | keyof SafeAreaProps\n>;\n\nexport interface StackProps\n extends Pick<\n IStackProps,\n | NativeBaseAcceptedChildrenProp\n | NativeBaseAcceptedStackProps\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {\n space?: KittResponsivePropOrValue<SpaceType>;\n}\n\nexport const Stack = NativeBaseStack as ForwardRefComponent<StackProps>;\n\nexport interface VStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'column' | 'column-reverse'>;\n}\nexport const VStack = NativeBaseVStack as ForwardRefComponent<VStackProps>;\n\nexport interface HStackProps extends Except<StackProps, 'direction'> {\n direction?: Extract<StackProps['direction'], 'row' | 'row-reverse'>;\n}\nexport const HStack = NativeBaseHStack as ForwardRefComponent<HStackProps>;\n\nexport interface CenterProps\n extends Pick<\n ICenterProps,\n | keyof NativeViewProps\n | keyof SafeAreaProps\n | NativeBaseAcceptedChildrenProp\n | NativeBaseAcceptedSpaceProps\n | NativeBaseAcceptedColorsProps\n | NativeBaseAcceptedBorderProps\n | NativeBaseAcceptedBorderRadiusProps\n | NativeBaseAcceptedPositionProps\n | NativeBaseAcceptedShadowProps\n | NativeBaseAcceptedLayoutProps\n | NativeBaseAcceptedFlexboxProps\n > {}\n\nexport const Center = NativeBaseCenter as ForwardRefComponent<CenterProps>;\n","import type { KittBreakpointNameEnum } from '../../KittBreakpoints';\n\nexport type ResponsiveRecordValue<T> = { [key in KittBreakpointNameEnum]?: T };\nexport type ResponsiveValue<T> = T | ResponsiveRecordValue<T> | undefined;\n\nexport function createResponsiveStyleFromProp<PossibleStyleValue>(\n responsiveBooleanValue: ResponsiveValue<boolean | undefined>,\n valueIfTrue: PossibleStyleValue,\n valueIfFalse?: PossibleStyleValue,\n): ResponsiveValue<PossibleStyleValue> {\n // Handles simple boolean values\n if (!responsiveBooleanValue) return valueIfFalse;\n\n if (responsiveBooleanValue === true) return valueIfTrue;\n\n // Handles responsive value object\n const keys = Object.keys(responsiveBooleanValue) as KittBreakpointNameEnum[];\n\n if (keys.length === 0) return valueIfFalse;\n\n const responsiveValue = {} as ResponsiveRecordValue<PossibleStyleValue>;\n\n keys.forEach((breakpointName) => {\n responsiveValue[breakpointName] = responsiveBooleanValue[breakpointName] ? valueIfTrue : valueIfFalse;\n });\n\n return responsiveValue;\n}\n","export function warn(message: string): void {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(message);\n }\n}\n\nexport function deprecatedMessage(symbol: string, deprecation: string, replaceBy?: string): void {\n const replaceMessage = replaceBy === undefined ? '' : `, please use ${replaceBy} instead`;\n\n warn(`[Deprecation] in ${symbol}: ${deprecation} is deprecated${replaceMessage}.`);\n}\n\nexport function deprecatedInComponent(component: string, deprecation: string, replaceBy?: string): void {\n deprecatedMessage(`<${component} />`, deprecation, replaceBy);\n}\n","import type { ButtonType, ButtonVariant } from '../Button';\n\ninterface GetCurrentBackgroundColorParams {\n type: ButtonType;\n variant: ButtonVariant;\n isDisabled?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled,\n isHovered,\n isPressed,\n}: GetCurrentBackgroundColorParams): string {\n if (isDisabled) return 'kitt.button.disabled.default.backgroundColor';\n\n const baseKey = `kitt.button.${type}.${variant}`;\n\n if (isHovered || isPressed) {\n return `${baseKey}.hoverBackgroundColor`;\n }\n\n return `${baseKey}.backgroundColor`;\n}\n","import { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { getCurrentBackgroundColorForNativeBaseTheme } from './utils/getCurrentBackgroundColorForNativeBaseTheme';\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n disabled?: boolean;\n variant: ButtonVariant;\n type: ButtonType;\n isHovered?: boolean;\n isPressed?: boolean;\n isStretch?: ButtonProps['stretch'];\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({\n disabled,\n animatedStyles,\n children,\n isHovered,\n isPressed,\n variant,\n type,\n}: AnimatedContainerProps): ReactNode {\n const currentBackgroundColor = getCurrentBackgroundColorForNativeBaseTheme({\n type,\n variant,\n isDisabled: !!disabled,\n isHovered,\n isPressed,\n });\n const sx = useSx();\n const styles = sx({\n borderRadius: 'kitt.button.borderRadius',\n backgroundColor: currentBackgroundColor,\n });\n return <Animated.View style={disabled ? [styles] : [styles, animatedStyles]}>{children}</Animated.View>;\n}\n","export const KittBreakpoints = {\n /**\n * min-width: 0\n */\n BASE: 0,\n /**\n * min-width: 480px\n */\n SMALL: 480,\n /**\n * min-width: 768px\n */\n MEDIUM: 768,\n /**\n * min-width: 1024px\n */\n LARGE: 1024,\n /**\n * min-width: 1280px\n */\n WIDE: 1280,\n};\n\nexport const KittBreakpointsMax = {\n /**\n * max-width: 479px\n */\n BASE: KittBreakpoints.SMALL - 1,\n /**\n * max-width: 767px\n */\n SMALL: KittBreakpoints.MEDIUM - 1,\n /**\n * max-width: 1023px\n */\n MEDIUM: KittBreakpoints.LARGE - 1,\n /**\n * max-width: 1279px\n */\n LARGE: KittBreakpoints.WIDE - 1,\n};\n\nexport type KittBreakpoint = (typeof KittBreakpoints)[keyof typeof KittBreakpoints];\nexport type KittBreakpointMax = (typeof KittBreakpointsMax)[keyof typeof KittBreakpointsMax];\n\nexport enum KittBreakpointNameEnum {\n BASE = 'base',\n SMALL = 'small',\n MEDIUM = 'medium',\n LARGE = 'large',\n WIDE = 'wide',\n}\n\nexport type KittResponsiveProp<Value> = Record<KittBreakpointNameEnum.BASE, Value> &\n Partial<Record<Exclude<KittBreakpointNameEnum, KittBreakpointNameEnum.BASE>, Value>>;\n\nexport type KittResponsivePropOrValue<Value> = KittResponsiveProp<Value> | Value;\n","export const typographyColors = [\n 'black',\n 'black-anthracite',\n 'black-disabled',\n 'black-light',\n 'white',\n 'white-light',\n 'primary',\n 'primary-light',\n 'accent',\n 'success',\n 'danger',\n 'warning',\n] as const;\n","import type { TypographyColor } from '../Typography';\n\nexport function getNBThemeColorFromColorProps(colorName: TypographyColor): string {\n return `kitt.typography.${colorName}`;\n}\n","import type { ITextProps } from 'native-base';\nimport type { ExtendedTypographyColor, TypographyColor } from '../Typography';\nimport { typographyColors } from '../typographyColors';\nimport { getNBThemeColorFromColorProps } from './getNBThemeColorFromColorProps';\n\nexport function isColorTypographyColor(colorName: unknown): colorName is TypographyColor {\n if (!colorName || typeof colorName !== 'string') return false;\n\n return (typographyColors as readonly string[]).includes(colorName);\n}\n\nexport function getTypographyColorValue(colorName: ExtendedTypographyColor | undefined): ITextProps['color'] {\n if (!colorName) return undefined;\n\n if (typeof colorName === 'string') {\n if (isColorTypographyColor(colorName)) {\n return getNBThemeColorFromColorProps(colorName);\n }\n } else if (typeof colorName === 'object') {\n return Object.fromEntries(\n Object.entries(colorName).map(([breakpointName, value]) => [\n breakpointName,\n getTypographyColorValue(value as ExtendedTypographyColor | undefined),\n ]),\n );\n }\n\n return colorName;\n}\n","import type { TypographyHeadingImpactType, TypographyHeadingType, TypographyType } from '../Typography';\n\nconst isTypeHeadings = (type: TypographyType): type is TypographyHeadingType =>\n type.startsWith('header') || type.startsWith('heading');\n\nconst isTypeHeadingsImpact = (type: TypographyType): type is TypographyHeadingImpactType =>\n type.startsWith('heading-impact') || type.startsWith('header-impact');\n\nexport type TypographyFamily = 'bodies' | 'headings' | 'headings-impact';\n\nexport const getTypographyFamily = (type: TypographyType): TypographyFamily => {\n if (isTypeHeadingsImpact(type)) return 'headings-impact';\n if (isTypeHeadings(type)) return 'headings';\n return 'bodies';\n};\n\nexport const getTypographyFamilyWithAncestorValue = <Type extends TypographyType>(\n type: Type | undefined,\n typographyFamilyInContext: TypographyFamily | null,\n): TypographyFamily => {\n if (type) return getTypographyFamily(type);\n if (typographyFamilyInContext != null) return typographyFamilyInContext;\n throw new Error('You must set a \"base\" prop or wrap this Typography in one that does.');\n};\n","import type { ITextProps } from 'native-base';\nimport { Text as NBText, useSx } from 'native-base';\nimport type { PlatformProps } from 'native-base/lib/typescript/components/types';\nimport type { FC, ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { TextProps, TextStyle } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { NativeBaseAcceptedFlexboxProps } from '../native-base/acceptable-native-base-props';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { typographyColors } from './typographyColors';\nimport { getTypographyColorValue } from './utils/getTypographyColorValue';\nimport type { TypographyFamily } from './utils/getTypographyFamily';\nimport { getTypographyFamily, getTypographyFamilyWithAncestorValue } from './utils/getTypographyFamily';\n\nexport type TypographyColor = (typeof typographyColors)[number];\n\n// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents\nexport type ExtendedTypographyColor = TypographyColor | NonNullable<ITextProps['color']> | string;\n\ntype LegacyHeadingType = `header${'1' | '2' | '3' | '4' | '5'}`;\ntype NonLegacyHeadingType = `heading-${'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\nexport type TypographyHeadingType = LegacyHeadingType | NonLegacyHeadingType;\n/** @deprecated use TypographyHeadingImpactType instead */\nexport type TypographyHeaderType = TypographyHeadingType;\n\ntype LegacyTypographyHeadingImpactType = `header-impact-${'xxxs' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\ntype NonLegacyTypographyHeadingImpactType = `heading-impact-${'xxxs' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl'}`;\nexport type TypographyHeadingImpactType = LegacyTypographyHeadingImpactType | NonLegacyTypographyHeadingImpactType;\n/** @deprecated use TypographyHeadingImpactType instead */\nexport type TypographyHeaderImpactType = TypographyHeadingImpactType;\n\ntype LegacyTypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;\ntype NonLegacyTypographyBodyType = `body-${'xs' | 's' | 'm' | 'l' | 'xl'}`;\nexport type TypographyBodyType = LegacyTypographyBodyType | NonLegacyTypographyBodyType;\n\nexport type TypographyType = TypographyHeadingType | TypographyHeadingImpactType | TypographyBodyType;\ntype TypographyVariant = 'regular' | 'bold';\n\nconst TypographyFamilyContext = createContext<TypographyFamily | null>(null);\nconst TypographyTypeContext = createContext<TypographyBreakpointType | null>(null);\nconst TypographyColorContext = createContext<ExtendedTypographyColor>('black');\n\nexport function useTypographyColor(): ExtendedTypographyColor {\n return useContext(TypographyColorContext);\n}\n\nexport function useTypographyAncestorType(): TypographyBreakpointType | null {\n return useContext(TypographyTypeContext);\n}\n\nconst TypographyDefaultColorContext = createContext<ExtendedTypographyColor | undefined>(undefined);\n\nfunction useTypographyDefaultColor(): ExtendedTypographyColor | undefined {\n return useContext(TypographyDefaultColorContext);\n}\n\nexport function getTypographyTypeConfigKeyFromTypeName(\n breakpointName: KittBreakpointNameEnum,\n): keyof TypographyTypeConfig {\n return breakpointName === KittBreakpointNameEnum.BASE || breakpointName === KittBreakpointNameEnum.SMALL\n ? 'baseAndSmall'\n : 'mediumAndWide';\n}\n\nexport type TypographyBreakpointType = Partial<KittResponsiveProp<TypographyType>>;\n\ntype NativeBaseTextPropsAcceptedProps = Pick<\n ITextProps,\n | keyof Except<TextProps, 'accessibilityRole'>\n | 'textAlign'\n | 'textTransform'\n | 'underline'\n | 'strikeThrough'\n | NativeBaseAcceptedFlexboxProps\n> &\n Pick<TextStyle, 'cursor' | 'transitionProperty' | 'transitionDuration' | 'transitionTimingFunction'>;\n// TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n// & {\n// _active?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// _hover?: Pick<NativeBaseTextPropsAcceptedProps, 'underline'>;\n// } ;\n\nexport interface TypographyProps\n extends TypographyBreakpointType,\n NativeBaseTextPropsAcceptedProps,\n Pick<PlatformProps<NativeBaseTextPropsAcceptedProps>, '_android' | '_ios' | '_web'> {\n type?: TypographyBreakpointType;\n // Find mapping for web here: https://www.w3.org/TR/html-aria/\n accessibilityRole: NonNullable<TextProps['accessibilityRole']> | 'paragraph' | null;\n /** Default to regular for bodies and bold of headers. Is not inherited. */\n variant?: TypographyVariant;\n /** Inherited from parent Typography if not specified, or black if no Typography parent found. */\n color?: ExtendedTypographyColor;\n children: ReactNode;\n}\nexport type TypographyPropsWithoutAccessibilityRole = Except<TypographyProps, 'accessibilityRole'>;\n\nexport function createNativeBaseFontSize(type: TypographyBreakpointType): ITextProps['fontSize'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const fontSizeForNativeBase: ITextProps['fontSize'] = {};\n [\n KittBreakpointNameEnum.BASE,\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n fontSizeForNativeBase[typeName] = `${getTypographyTypeConfigKeyFromTypeName(typeName)}.${value}`;\n }\n });\n\n return fontSizeForNativeBase;\n}\n\nexport function Typography({\n accessibilityRole,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n variant,\n color,\n ...otherProps\n}: TypographyProps): ReactNode {\n const sx = useSx();\n\n const typographyFamilyInContext = useContext(TypographyFamilyContext);\n\n const defaultColor = useTypographyDefaultColor();\n\n const hasTypographyAncestor = typographyFamilyInContext !== null;\n const baseOrDefaultToBody = hasTypographyAncestor ? type.base : type.base ?? 'body';\n const typographyFamily = getTypographyFamilyWithAncestorValue(baseOrDefaultToBody, typographyFamilyInContext);\n\n // force bold for headings, default to regular for bodies\n const nonNullableVariant: TypographyVariant =\n variant ?? (typographyFamily === 'headings' || typographyFamily === 'headings-impact' ? 'bold' : 'regular');\n\n const fontSizeForNativeBase = createNativeBaseFontSize({ ...type, base: baseOrDefaultToBody });\n\n const currentColor = !color && !hasTypographyAncestor ? defaultColor : color;\n const currentColorValue = getTypographyColorValue(currentColor);\n\n const colorStyles = sx({\n color: currentColorValue,\n textDecorationColor: currentColorValue,\n });\n\n if (process.env.NODE_ENV !== 'production') {\n Object.entries(type).forEach(([key, value]) => {\n if (value && getTypographyFamily(value) !== typographyFamily) {\n throw new Error(`Invalid value for \"${key}\": \"${value}\" is ${typographyFamily}. Don't mix families.`);\n }\n });\n }\n\n const text = (\n <NBText\n accessibilityRole={(accessibilityRole as TextProps['accessibilityRole']) || undefined}\n fontSize={fontSizeForNativeBase}\n lineHeight={hasTypographyAncestor ? undefined : fontSizeForNativeBase}\n fontWeight={`${typographyFamily}.${nonNullableVariant}`}\n fontFamily={`${typographyFamily}.${nonNullableVariant}`}\n {...colorStyles}\n {...otherProps}\n />\n );\n\n const content = baseOrDefaultToBody ? (\n <TypographyFamilyContext.Provider value={typographyFamily}>\n <TypographyTypeContext.Provider value={type}>{text}</TypographyTypeContext.Provider>\n </TypographyFamilyContext.Provider>\n ) : (\n text\n );\n\n return color ? <TypographyColorContext.Provider value={color}>{content}</TypographyColorContext.Provider> : content;\n}\n\nexport type TypographyTextProps = SetOptional<TypographyProps, 'accessibilityRole'>;\nfunction TypographyText(props: TypographyTextProps): ReactNode {\n return <Typography accessibilityRole={null} {...props} />;\n}\n\nfunction TypographyParagraph(props: TypographyTextProps): ReactNode {\n // role 'paragraph' does not exist in native, it's a web feature only.\n return <Typography accessibilityRole={Platform.OS === 'web' ? 'paragraph' : null} {...props} />;\n}\n\nexport type TypographyHeadingProps = TypographyPropsWithoutAccessibilityRole;\n\nconst createHeading = (\n level: number,\n /** @deprecated accessibility and design should be independent */\n defaultBase?: TypographyHeadingProps['base'],\n): FC<TypographyHeadingProps> => {\n // https://github.com/necolas/react-native-web/issues/401\n function TypographyHeading(props: TypographyHeadingProps): ReactNode {\n return <Typography accessibilityRole=\"header\" base={defaultBase} {...props} aria-level={level} />;\n }\n TypographyHeading.displayName = `TypographyHeading${level}`;\n return TypographyHeading;\n};\n\nTypography.SetDefaultColor = TypographyDefaultColorContext.Provider;\n\nTypography.Text = TypographyText;\nTypography.Paragraph = TypographyParagraph;\nTypography.Header1 = createHeading(1);\nTypography.Header2 = createHeading(2);\nTypography.Header3 = createHeading(3);\nTypography.Header4 = createHeading(4);\nTypography.Header5 = createHeading(5);\nTypography.Header6 = createHeading(6);\n\n/** @deprecated use Typography.Header1 */\nTypography.h1 = createHeading(1, 'header1');\n/** @deprecated use Typography.Header2 */\nTypography.h2 = createHeading(2, 'header2');\n/** @deprecated use Typography.Header3 */\nTypography.h3 = createHeading(3, 'header3');\n/** @deprecated use Typography.Header4 */\nTypography.h4 = createHeading(4, 'header4');\n/** @deprecated use Typography.Header6 */\nTypography.h5 = createHeading(5, 'header5');\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface IconProps {\n icon: ReactElement;\n size?: ViewProps['size'];\n color: ViewProps['color'];\n align?: ViewStyle['alignSelf'];\n testID?: ViewProps['testID'];\n}\n\nexport function Icon({ icon, size = 'kitt.icon.defaultSize', align = 'auto', color }: IconProps): ReactNode {\n const clonedIcon = cloneElement(icon, { color });\n\n return (\n <View color={color} alignSelf={align} size={size}>\n {clonedIcon}\n </View>\n );\n}\n","import { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { IconProps } from '../Icon/Icon';\nimport { Icon } from '../Icon/Icon';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { ViewProps } from '../native-base/primitives';\nimport type { TypographyIconConfig } from '../themes/late-ocean/icon';\nimport type { SetNonNullable } from '../utils/typeUtils';\nimport type { TypographyBreakpointType, TypographyProps } from './Typography';\nimport { useTypographyAncestorType, useTypographyColor } from './Typography';\nimport { getTypographyColorValue } from './utils/getTypographyColorValue';\n\nfunction getIconSizeConfigKeyFromTypeName(breakpointName: KittBreakpointNameEnum): keyof TypographyIconConfig {\n return breakpointName === KittBreakpointNameEnum.BASE || breakpointName === KittBreakpointNameEnum.SMALL\n ? 'baseAndSmall'\n : 'mediumAndWide';\n}\n\nfunction createNativeBaseIconSize(type: TypographyBreakpointType): ViewProps['size'] {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const iconSizeForNativeBase: ViewProps['size'] = {};\n [\n KittBreakpointNameEnum.BASE,\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n iconSizeForNativeBase[typeName] = `kitt.icon.typographySize.${value}.${getIconSizeConfigKeyFromTypeName(\n typeName,\n )}.iconSize`;\n }\n });\n\n return iconSizeForNativeBase;\n}\n\nexport interface TypographyIconProps extends Except<IconProps, 'color'> {\n color?: TypographyProps['color'] | 'inherit';\n}\n\nfunction TypographyIconSpecifiedColor({\n color,\n size,\n ...props\n}: SetNonNullable<TypographyIconProps, 'color'>): ReactNode {\n const ancestorType = useTypographyAncestorType();\n const iconSize = size || (ancestorType ? createNativeBaseIconSize(ancestorType) : undefined);\n const colorValue = getTypographyColorValue(color);\n const sx = useSx();\n\n const { color: colorStyleValue } = sx({ color: colorValue });\n\n return <Icon {...props} size={iconSize} color={colorStyleValue} />;\n}\n\nfunction TypographyIconInheritColor(props: TypographyIconProps): ReactNode {\n const color = useTypographyColor();\n\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n}\n\nexport function TypographyIcon({ color, ...props }: TypographyIconProps): ReactNode {\n if (color) {\n return <TypographyIconSpecifiedColor color={color} {...props} />;\n }\n\n return <TypographyIconInheritColor {...props} />;\n}\n","import type { TypographyColor } from '../../typography/Typography';\nimport type { ButtonType, ButtonVariant } from '../Button';\n\nexport const getButtonTextColorByType = (\n type: ButtonType,\n variant: ButtonVariant,\n isHovered: boolean,\n isPressed: boolean,\n): TypographyColor => {\n const isButtonInteractedWith = isHovered || isPressed;\n\n switch (type) {\n case 'primary':\n return variant === 'ghost' ? 'primary' : 'white';\n case 'danger':\n return 'danger';\n case 'subtle':\n return isButtonInteractedWith ? 'primary-light' : 'primary';\n case 'subtle-dark':\n return isButtonInteractedWith ? 'black-light' : 'black';\n case 'default':\n return variant === 'ghost' ? 'white' : 'black';\n default:\n return 'black';\n }\n};\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { TypographyIconProps } from '../typography/TypographyIcon';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { ButtonProps, ButtonType, ButtonVariant } from './Button';\nimport { getButtonTextColorByType } from './utils/getButtonTextColorByType';\n\ninterface ButtonIconProps {\n icon: NonNullable<ButtonContentProps['icon']>;\n iconPosition: ButtonContentProps['iconPosition'];\n color: TypographyIconProps['color'];\n testID?: string;\n}\n\nfunction ButtonIcon({ icon, color, iconPosition, testID }: ButtonIconProps): ReactNode {\n return (\n <View marginRight={iconPosition === 'left' ? 'kitt.2' : 0} marginLeft={iconPosition === 'right' ? 'kitt.2' : 0}>\n <TypographyIcon icon={icon} testID={testID} color={color} />\n </View>\n );\n}\n\ninterface ButtonContentProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n variant: NonNullable<ButtonVariant>;\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n}\n\ninterface ButtonContentChildrenProps extends Except<ButtonProps, 'onPress' | 'disabled' | 'stretch'> {\n isDisabled?: boolean;\n type: NonNullable<ButtonType>;\n color: TypographyColor;\n}\n\nexport function ButtonContentChildren({\n type,\n icon,\n iconPosition,\n color,\n children,\n}: ButtonContentChildrenProps): ReactNode {\n if (__DEV__) {\n if (!(children || icon)) {\n throw new Error('kitt(Button): You should provide at least a children or a icon');\n }\n }\n\n if (!children) {\n return (\n <TypographyIcon\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n icon={icon!}\n color={color}\n />\n );\n }\n\n const buttonIconSharedProps = {\n type,\n iconPosition,\n color,\n };\n\n // Make the multilines case work properly on native - Breaks the web implem\n const sharedNativeStyle = {\n flexShrink: 1,\n };\n\n return (\n <View alignItems=\"center\" justifyContent=\"center\" flexDirection=\"row\">\n {icon && iconPosition === 'left' ? (\n <ButtonIcon {...buttonIconSharedProps} testID=\"button.ButtonContent.leftButtonIcon\" icon={icon} />\n ) : null}\n\n <Typography.Text\n /* On native code, this is the only way to ensure that the text is centered */\n textAlign=\"center\"\n _android={sharedNativeStyle}\n _ios={sharedNativeStyle}\n base=\"body\"\n variant=\"bold\"\n color={color}\n >\n {children}\n </Typography.Text>\n\n {icon && iconPosition === 'right' ? <ButtonIcon {...buttonIconSharedProps} icon={icon} /> : null}\n </View>\n );\n}\n\nexport function ButtonContent({\n type,\n variant,\n isDisabled,\n icon,\n children,\n isHovered,\n isPressed,\n isFocused,\n ...props\n}: ButtonContentProps): ReactNode {\n const color = isDisabled ? 'black-light' : getButtonTextColorByType(type, variant, isHovered, isPressed);\n\n return (\n <View\n _web={{\n // Make the multilines case work properly on web\n // We don't apply those styles on native because it will break\n flexGrow: 0,\n flexShrink: 1,\n flexBasis: 'auto',\n }}\n >\n <ButtonContentChildren icon={icon} type={type} isDisabled={isDisabled} color={color} {...props}>\n {children}\n </ButtonContentChildren>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ButtonTheme } from '../themes/late-ocean/button';\nimport type { ButtonSize } from './Button';\n\ninterface GetCurrentPaddingConfigParams {\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nfunction getCurrentPaddingConfig({ size, isDisabled }: GetCurrentPaddingConfigParams): keyof ButtonTheme['padding'] {\n if (size === 'large') return 'large';\n if (size === 'xLarge') return 'xLarge';\n if (isDisabled) return 'disabled';\n\n return 'default';\n}\n\ninterface ButtonPaddingProps {\n children: ReactNode;\n size?: ButtonSize;\n isDisabled?: boolean;\n}\n\nexport function ButtonPadding({ children, size, isDisabled }: ButtonPaddingProps): ReactNode {\n const currentPaddingKey = getCurrentPaddingConfig({ size, isDisabled });\n\n return (\n <View\n position=\"relative\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n paddingX={`kitt.button.padding.${currentPaddingKey}.horizontal`}\n paddingY={`kitt.button.padding.${currentPaddingKey}.vertical`}\n minHeight=\"kitt.button.minHeight\"\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\n\nexport function DisabledBorder(): ReactNode {\n return (\n <View\n position=\"absolute\"\n top={0}\n left={0}\n right={0}\n bottom={0}\n borderWidth=\"kitt.button.borderWidth.disabled\"\n borderColor=\"kitt.button.disabled.default.borderColor\"\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport type { DimensionValue } from 'react-native';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ButtonType, ButtonVariant } from './Button';\n\ninterface FocusBorderProps {\n type: ButtonType;\n variant: ButtonVariant;\n isFocused?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nexport function FocusBorder({ type, variant, isFocused, isHovered, isPressed }: FocusBorderProps): ReactNode {\n const {\n kitt: { button: buttonTheme },\n } = useTheme();\n\n const hasPointerInteraction = isPressed || isHovered;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)` as DimensionValue,\n height: `calc(100% + ${buttonTheme.borderWidth.focus * 2}px)` as DimensionValue,\n transitionProperty: 'opacity',\n transitionDuration: buttonTheme.transition.duration,\n transitionTimingFunction: buttonTheme.transition.timingFunction,\n },\n }}\n opacity={isFocused && !hasPointerInteraction ? 1 : 0}\n position=\"absolute\"\n left={-buttonTheme.borderWidth.focus}\n top={-buttonTheme.borderWidth.focus}\n borderWidth=\"kitt.button.borderWidth.focus\"\n borderColor={`kitt.button.${type}.${variant}.focusBorderColor`}\n borderRadius=\"kitt.button.borderRadius\"\n />\n );\n}\n","import type { KittThemeContextValue } from '../KittThemeContext';\nimport type { BaseButtonTheme, BaseButtonWithVariant } from '../themes/late-ocean/button';\nimport type { ButtonType, ButtonVariant } from './Button';\n\nconst hasVariant = (button: BaseButtonTheme, variant: ButtonVariant): button is BaseButtonWithVariant => {\n return variant in button;\n};\n\nexport function getVariantValuesIfExist<V extends ButtonVariant>(\n theme: KittThemeContextValue,\n type: ButtonType,\n variant: ButtonVariant,\n): BaseButtonTheme['default'] | BaseButtonWithVariant[V] {\n const button = theme.kitt.button[type];\n\n if (hasVariant(button, variant)) {\n return button[variant];\n }\n\n return theme.kitt.button[type].default;\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { ButtonType, ButtonVariant } from '../Button';\nimport { getVariantValuesIfExist } from '../getVariantValuesIfExist';\n\nexport interface UseNativeAnimationOptions {\n type: ButtonType;\n variant: ButtonVariant;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n type,\n variant,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { backgroundColor, pressedBackgroundColor } = getVariantValuesIfExist(theme, type, variant);\n const { scale } = theme.kitt.button;\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n transform: [\n {\n scale: withSpring(pressed.value ? scale.base.active : scale.base.default),\n },\n ],\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { ButtonProps } from '../Button';\n\nexport const getButtonSize = ({ large, xLarge, size }: Partial<ButtonProps>): ButtonProps['size'] => {\n if (large) return 'large';\n if (xLarge) return 'xLarge';\n return size;\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { Pressable as NativePressable } from 'react-native';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { deprecatedInComponent } from '../utils/warnings';\nimport { AnimatedContainer } from './AnimatedContainer';\nimport { ButtonContent } from './ButtonContent';\nimport { ButtonPadding } from './ButtonPadding';\nimport { DisabledBorder } from './DisabledBorder';\nimport { FocusBorder } from './FocusBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getButtonSize } from './utils/getButtonSize';\n\nexport type SubtleButtonType = 'subtle' | 'subtle-dark';\nexport type ButtonType = 'primary' | 'default' | SubtleButtonType | 'danger';\nexport type ButtonSize = 'large' | 'xLarge';\nexport type ButtonVariant = 'default' | 'ghost';\n\ntype IconPosition = 'right' | 'left';\n\nconst allowedGhostTypes = ['primary', 'default', 'danger'];\n\nexport interface ButtonProps\n extends Pick<PressableProps, 'onPress' | 'onHoverIn' | 'onHoverOut' | 'onFocus' | 'onBlur'> {\n children?: ReactNode;\n type?: ButtonType;\n variant?: ButtonVariant;\n disabled?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n /**\n * @deprecated use `size` instead\n */\n large?: boolean;\n /**\n * @deprecated use `size` instead\n */\n xLarge?: boolean;\n size?: ButtonSize;\n icon?: ReactElement;\n iconPosition?: IconPosition;\n testID?: PressableProps['testID'];\n href?: PressableProps['href'];\n hrefAttrs?: PressableProps['hrefAttrs'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n /**\n * @deprecated props className is not supported\n */\n className?: string;\n style?: PressableProps['style'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\nexport const Button = forwardRef<typeof NativePressable, ButtonProps>(\n (\n {\n children,\n type = 'default',\n variant = 'default',\n disabled,\n stretch,\n large,\n xLarge,\n icon,\n size: sizeProp,\n iconPosition = 'left',\n testID,\n href,\n hrefAttrs,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n onHoverIn,\n onHoverOut,\n onFocus,\n onBlur,\n }: ButtonProps,\n ref,\n ): ReactElement => {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n type,\n variant,\n });\n\n if (__DEV__ && variant === 'ghost' && !allowedGhostTypes.includes(type)) {\n throw new Error('variant=ghost is only allowed with type=primary or default');\n }\n\n if (large || xLarge) {\n const deprecatedProp = large ? 'large' : 'xLarge';\n deprecatedInComponent('Button', `${deprecatedProp} prop`, 'size');\n }\n\n const size = getButtonSize({ large, xLarge, size: sizeProp });\n\n return (\n <Pressable\n ref={ref}\n disabled={disabled}\n accessibilityRole={accessibilityRole}\n testID={testID}\n href={href}\n hrefAttrs={hrefAttrs}\n /* Emulate inline-* css display by making the button taking only its necessary space */\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'flex-start')}\n minWidth=\"kitt.button.minWidth\"\n maxWidth={createResponsiveStyleFromProp(stretch, '100%', 'kitt.button.maxWidth')}\n width={createResponsiveStyleFromProp(stretch, '100%', 'auto')}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n onHoverIn={onHoverIn}\n onHoverOut={onHoverOut}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n type={type}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n disabled={!!disabled}\n variant={variant}\n isStretch={stretch}\n >\n <ButtonPadding size={size} isDisabled={disabled}>\n <ButtonContent\n type={type}\n variant={variant}\n isDisabled={disabled}\n icon={icon}\n iconPosition={iconPosition}\n isHovered={isHovered}\n isPressed={isPressed}\n isFocused={isFocused}\n >\n {children}\n </ButtonContent>\n {disabled ? <DisabledBorder /> : null}\n <FocusBorder\n type={type}\n variant={variant}\n isFocused={isFocused || isFocusedInternal}\n isHovered={isHovered}\n isPressed={isPressed}\n />\n </ButtonPadding>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement, useEffect, useRef } from 'react';\nimport { Animated, Easing } from 'react-native';\n\nexport interface SpinningIconProps {\n icon: ReactElement;\n color?: string;\n}\n\nexport function SpinningIcon({ icon, color }: SpinningIconProps): ReactNode {\n if (process.env.NODE_ENV !== 'production' && !color) {\n throw new Error(`Invalid color passed to SpinningIcon: ${String(color)}`);\n }\n const clonedIcon = cloneElement(icon, { color });\n const animationRef = useRef(new Animated.Value(0));\n\n const rotation = animationRef.current.interpolate({\n inputRange: [0, 1],\n outputRange: ['0deg', '360deg'],\n });\n\n useEffect(() => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n const animation = Animated.loop(\n Animated.timing(animationRef.current, {\n toValue: 1,\n duration: 1100,\n easing: Easing.linear,\n useNativeDriver: true,\n }),\n );\n animation.start();\n return () => {\n if (process.env.NODE_ENV === 'test') return undefined;\n\n animation.stop();\n return undefined;\n };\n }, []);\n\n return <Animated.View style={{ transform: [{ rotate: rotation }] }}>{clonedIcon}</Animated.View>;\n}\n","import { ArcIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport type { SpinningIconProps } from '../Icon/SpinningIcon';\nimport { SpinningIcon } from '../Icon/SpinningIcon';\n\nexport interface LoaderIconProps {\n color?: SpinningIconProps['color'];\n}\n\nexport function LoaderIcon({ color }: LoaderIconProps): ReactNode {\n return <SpinningIcon color={color} icon={<ArcIcon />} />;\n}\n","import type { ComponentPropsWithRef, ElementType, ForwardedRef, FunctionComponent, ReactNode } from 'react';\nimport { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { Pressable as NativePressable, NativeSyntheticEvent } from 'react-native';\nimport type { Except, Promisable } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { LoaderIcon } from '../LoaderIcon/LoaderIcon';\nimport { View } from '../native-base/primitives';\n\ntype ActionsItemMinimumRequiredProps = Pick<ButtonProps, 'onPress' | 'stretch' | 'disabled' | 'icon'>;\n\ntype ExtendOnPressProp<OnPress> = OnPress extends (...params: infer Params) => infer Result\n ? (...params: Params) => Promisable<Result | false>\n : never;\n\nexport type ExtendActionItemComponentProps<Props> = Props extends { onPress?: infer OnPress }\n ? Except<Props, 'onPress'> & {\n onPress?: OnPress extends null\n ? null | ExtendOnPressProp<NonNullable<OnPress>>\n : ExtendOnPressProp<NonNullable<OnPress>>;\n }\n : { onPress?: (event: NativeSyntheticEvent<any>, ...rest: any[]) => any };\n\nexport type ActionsItemProps<C extends FunctionComponent<ActionsItemMinimumRequiredProps>> = {\n as: C;\n // eslint-disable-next-line @typescript-eslint/ban-types -- we need this because we don't know exactly what the component is\n} & ExtendActionItemComponentProps<Omit<ComponentPropsWithRef<C>, 'as'>> &\n Except<ActionsItemMinimumRequiredProps, 'onPress'>;\n\nexport const ActionsItem = forwardRef<typeof NativePressable, ActionsItemProps<any>>(\n ({ as, onPress, disabled, icon, stretch = { base: true, medium: false }, ...props }, ref): ReactNode => {\n const [isLoading, setIsLoading] = useState(false);\n const mountedRef = useRef(false);\n\n // effect just for tracking mounted state, as onPress can unmount the ActionButton\n useEffect(() => {\n mountedRef.current = true;\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n const handlePress: ButtonProps['onPress'] = (e) => {\n const callPressAndUpdateLoadingState = async (): Promise<void> => {\n if (!onPress) return;\n setIsLoading(true);\n try {\n await (onPress as any)(e);\n if (mountedRef.current) {\n setIsLoading(false);\n }\n } catch (error) {\n if (mountedRef.current) {\n setIsLoading(false);\n }\n throw error;\n }\n };\n\n callPressAndUpdateLoadingState();\n };\n\n const Component: ElementType = as;\n\n return (\n <View>\n <Component\n ref={ref}\n {...props}\n stretch={stretch}\n disabled={isLoading ? true : disabled}\n icon={isLoading ? <LoaderIcon /> : icon}\n onPress={handlePress}\n />\n </View>\n );\n },\n) as <C extends FunctionComponent<ActionsItemMinimumRequiredProps>>(\n props: ActionsItemProps<C> & { ref?: ForwardedRef<typeof NativePressable> },\n) => ReactNode;\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ButtonProps } from '../Button/Button';\nimport { Button } from '../Button/Button';\nimport type { ActionsItemProps } from './ActionsItem';\nimport { ActionsItem } from './ActionsItem';\n\nexport interface ActionsButtonProps\n extends Except<ButtonProps, 'onPress'>,\n Pick<ActionsItemProps<typeof Button>, 'onPress'> {}\n\nexport function ActionsButton({ ...props }: ActionsButtonProps): ReactNode {\n return <ActionsItem as={Button} {...props} />;\n}\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport { Stack } from '../native-base/layout';\nimport type { StackProps } from '../native-base/layout';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { ActionsButton } from './ActionsButton';\nimport { ActionsItem } from './ActionsItem';\n\ntype ActionsLayout = 'column' | 'row';\n\nfunction getCurrentLayout(layout: ActionsLayout | undefined): StackProps['alignItems'] {\n if (!layout) return { base: 'stretch', medium: 'center' };\n\n if (layout === 'column') return 'stretch';\n\n return 'center';\n}\n\nfunction getCurrentDirection(layout: ActionsLayout | undefined): StackProps['direction'] {\n if (!layout) return { base: 'column', medium: 'row' };\n\n if (layout === 'column') return 'column';\n\n return 'row';\n}\n\nfunction getCurrentAlignSelf(layout: ActionsLayout | undefined): StackProps['alignSelf'] {\n if (!layout) return { base: 'stretch', medium: undefined };\n\n if (layout === 'column') return 'stretch';\n\n return undefined;\n}\n\nexport interface ActionsProps extends Except<StackProps, 'space' | 'reversed'> {\n layout?: ActionsLayout;\n reversed?: ResponsiveValue<boolean | undefined>;\n}\n\nexport function Actions({ children, layout, reversed, ...props }: ActionsProps): ReactNode {\n const currentAlignItems = getCurrentLayout(layout);\n const currentDirection = getCurrentDirection(layout);\n const currentAlignSelf = getCurrentAlignSelf(layout);\n\n return (\n <Stack\n alignItems={currentAlignItems}\n alignSelf={currentAlignSelf}\n direction={currentDirection}\n flexGrow={1}\n reversed={!!createResponsiveStyleFromProp(reversed, true, false)}\n {...props}\n space=\"kitt.3\"\n >\n {children}\n </Stack>\n );\n}\n\nActions.Button = ActionsButton;\nActions.Item = ActionsItem;\n","import { defaultAvatarSize, largeAvatarSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentRadiusParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n round?: boolean;\n}\n\nexport function getCurrentRadius({ size, sizeVariant, round }: GetCurrentRadiusParams): string | number {\n if (round) {\n if (size) return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarSize * 0.5;\n\n return defaultAvatarSize * 0.5;\n }\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.borderRadius';\n\n return 'kitt.avatar.borderRadius';\n}\n","import type { AvatarSizeVariant } from '../Avatar';\n\ninterface GetCurrentSizeParams {\n size?: number;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function getCurrentSize({ size, sizeVariant }: GetCurrentSizeParams): string | number {\n if (size) return size;\n\n if (sizeVariant === 'large') return 'kitt.avatar.large.size';\n\n return 'kitt.avatar.size';\n}\n","import { defaultAvatarIconSize, largeAvatarIconSize } from '../../themes/late-ocean/avatar';\nimport type { AvatarSizeVariant } from '../Avatar';\n\nexport function getIconSize(size: string | number, sizeVariant?: AvatarSizeVariant): number {\n if (typeof size === 'number') return size * 0.5;\n\n if (sizeVariant === 'large') return largeAvatarIconSize;\n\n return defaultAvatarIconSize;\n}\n","export function getInitials(firstname: string, lastname: string): string {\n return `${firstname[0]}${lastname[0]}`.toUpperCase();\n}\n","import { UserIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport { Icon } from '../Icon/Icon';\nimport { Image, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { getCurrentRadius } from './utils/getCurrentRadius';\nimport { getCurrentSize } from './utils/getCurrentSize';\nimport { getIconSize } from './utils/getIconSize';\nimport { getInitials } from './utils/getInitials';\n\nexport type AvatarSizeVariant = 'large';\n\ninterface AvatarContentProps extends Omit<AvatarProps, 'light' | 'round' | 'size'> {\n size: string | number;\n isLight?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nfunction AvatarContent({ size, src, firstname, lastname, alt, isLight, sizeVariant }: AvatarContentProps): ReactNode {\n if (src) {\n return <Image source={{ uri: src }} width={size} height={size} alt={alt} aria-label={alt} />;\n }\n\n if (firstname && lastname) {\n return (\n <Typography.Text\n base={sizeVariant === 'large' ? 'body-large' : 'body-small'}\n variant={sizeVariant === 'large' ? 'bold' : 'regular'}\n color={isLight ? 'black' : 'white'}\n >\n {getInitials(firstname, lastname)}\n </Typography.Text>\n );\n }\n\n return <Icon icon={<UserIcon />} color={isLight ? 'black' : 'white'} size={getIconSize(size, sizeVariant)} />;\n}\n\nexport interface AvatarProps {\n size?: number;\n src?: string;\n alt?: string;\n firstname?: string | null;\n lastname?: string | null;\n round?: boolean;\n light?: boolean;\n sizeVariant?: AvatarSizeVariant;\n}\n\nexport function Avatar({ size, round, light, sizeVariant, ...props }: AvatarProps): ReactNode {\n const currentSize = getCurrentSize({ size, sizeVariant });\n const currentBorderRadius = getCurrentRadius({ size, sizeVariant, round });\n\n return (\n <View\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n width={currentSize}\n height={currentSize}\n borderRadius={currentBorderRadius}\n backgroundColor={`kitt.avatar.${light ? 'light' : 'default'}.backgroundColor`}\n >\n <AvatarContent size={currentSize} isLight={light} sizeVariant={sizeVariant} {...props} />\n </View>\n );\n}\n","import {\n BottomSheetBackdrop,\n BottomSheetHandle,\n BottomSheetModal,\n BottomSheetScrollView,\n BottomSheetView,\n useBottomSheetDynamicSnapPoints,\n} from '@gorhom/bottom-sheet';\nimport type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport { View } from 'native-base';\nimport type { ComponentRef, ComponentType, ForwardedRef, MutableRefObject, ReactNode, Ref } from 'react';\nimport { forwardRef, useMemo } from 'react';\nimport { SafeAreaView } from 'react-native-safe-area-context';\nimport { useTheme } from '../KittThemeContext';\nimport type { ViewProps } from '../native-base/primitives';\n\nexport interface BottomSheetProps<Data = never> {\n children?: ComponentType<Data> | ReactNode;\n ref: MutableRefObject<BottomSheetModalMethods | null>;\n hasScrollView?: boolean;\n hasHandle?: boolean;\n hasBackdrop?: boolean;\n onDismiss?: () => void;\n}\n\nfunction BottomSheetComp<Data extends JSX.IntrinsicAttributes = Record<string, never>>(\n { children: Content, hasScrollView = false, hasBackdrop = true, hasHandle = true, onDismiss }: BottomSheetProps<Data>,\n ref: Ref<BottomSheetModal>,\n): ReactNode {\n const Wrapper = useMemo(() => (hasScrollView ? BottomSheetScrollView : BottomSheetView), [hasScrollView]);\n const theme = useTheme();\n const initialSnapPoints = useMemo(() => ['CONTENT_HEIGHT'], []);\n const { animatedHandleHeight, animatedSnapPoints, animatedContentHeight, handleContentLayout } =\n useBottomSheetDynamicSnapPoints(initialSnapPoints);\n\n return (\n <BottomSheetModal\n ref={ref}\n enablePanDownToClose\n snapPoints={animatedSnapPoints}\n index={0}\n handleHeight={animatedHandleHeight}\n handleIndicatorStyle={{\n width: 40,\n height: 4,\n borderRadius: 4,\n backgroundColor: theme.kitt.bottomSheet.handle.backgroundColor,\n }}\n handleComponent={(props) => (hasHandle ? <BottomSheetHandle {...props} /> : null)}\n backdropComponent={(props) =>\n hasBackdrop ? <BottomSheetBackdrop {...props} opacity={0.25} appearsOnIndex={0} disappearsOnIndex={-1} /> : null\n }\n contentHeight={animatedContentHeight}\n onDismiss={onDismiss}\n >\n {({ data }) => (\n <SafeAreaView edges={['bottom']} onLayout={handleContentLayout}>\n <Wrapper>{typeof Content === 'function' ? <Content {...(data as Data)} /> : Content}</Wrapper>\n </SafeAreaView>\n )}\n </BottomSheetModal>\n );\n}\n\nfunction BottomSheetContainerView(props: ViewProps): ReactNode {\n return <View padding=\"kitt.bottomSheet.container.padding\" {...props} />;\n}\n\nexport const BottomSheet = forwardRef(BottomSheetComp) as unknown as (<Data = never>(\n props: BottomSheetProps<Data> & { ref?: ForwardedRef<ComponentRef<typeof BottomSheetComp>> },\n) => ReturnType<typeof BottomSheetComp>) & { View: typeof BottomSheetContainerView };\n\nBottomSheet.View = BottomSheetContainerView;\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { RefObject } from 'react';\nimport { useRef } from 'react';\n\nexport function useBottomSheet(): RefObject<BottomSheetModalMethods> {\n const ref = useRef<BottomSheetModalMethods>(null);\n\n return ref;\n}\n","import type { BottomSheetModalMethods } from '@gorhom/bottom-sheet/lib/typescript/types';\nimport type { ComponentType, ElementType, ReactElement, RefObject } from 'react';\nimport { useMemo, useRef } from 'react';\nimport type { BottomSheetProps } from './BottomSheet';\nimport { BottomSheet } from './BottomSheet';\n\ninterface BottomSheetRef<T> extends BottomSheetModalMethods {\n present: (bottomSheetComponenProps: T) => void;\n}\n\ntype ReducedBottomSheetProps = Pick<BottomSheetProps, 'hasScrollView'>;\n\n// This is used to fix:\n// React.ComponentProps<O> -> if O is a function component without any props it will return unknown but we want to have undefined\ntype IsExact<T, U> = [T] extends [U] ? ([U] extends [T] ? true : false) : false;\n\ntype BottomSheetComponentProps<O extends ElementType> = IsExact<React.ComponentProps<O>, unknown> extends true\n ? undefined\n : React.ComponentProps<O>;\n\nexport function useStaticBottomSheet<T extends ComponentType<P>, P>(\n Content: T,\n): {\n bottomSheetRef: RefObject<BottomSheetRef<BottomSheetComponentProps<T>>>;\n BottomSheet: (props: ReducedBottomSheetProps) => ReactElement;\n} {\n const bottomSheetRef = useRef<BottomSheetRef<BottomSheetComponentProps<T>>>(null);\n\n const BottomSheetMemoized = useMemo(\n () =>\n function renderBottomSheet(props: ReducedBottomSheetProps) {\n return (\n <BottomSheet<P> {...props} ref={bottomSheetRef}>\n {Content}\n </BottomSheet>\n );\n },\n [Content],\n );\n\n return {\n bottomSheetRef,\n BottomSheet: BottomSheetMemoized,\n };\n}\n","import type { ReactNode } from 'react';\n\nexport interface ModalBehaviourPortalProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function ModalBehaviourPortal({ children }: ModalBehaviourPortalProps): ReactNode {\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}</>;\n}\n","import type { ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\n\ntype OnCloseCallback = () => void;\n\nexport const OnCloseContext = createContext<OnCloseCallback>(() => {});\n\ninterface OnCloseProviderProps {\n children: ReactNode;\n onClose: OnCloseCallback;\n}\n\nexport function OnCloseProvider({ children, onClose }: OnCloseProviderProps): ReactNode {\n return <OnCloseContext.Provider value={onClose}>{children}</OnCloseContext.Provider>;\n}\n\nexport function useOnCloseModalBehaviour(): OnCloseCallback {\n const onClose = useContext(OnCloseContext);\n return onClose;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { cloneElement } from 'react';\nimport { View } from '../native-base/primitives';\nimport { ModalBehaviourPortal } from './ModalBehaviourPortal';\nimport { OnCloseProvider, useOnCloseModalBehaviour } from './OnCloseContext';\n\ninterface CloseButtonProps {\n children: ReactElement;\n onPress?: () => void;\n}\n\nfunction CloseButton({ children, onPress }: CloseButtonProps): ReactNode {\n const onCloseContextCallback = useOnCloseModalBehaviour();\n\n const handleClose = (): void => {\n if (onPress) onPress();\n onCloseContextCallback();\n };\n\n return cloneElement(children, { onPress: handleClose });\n}\n\nexport interface ModalBehaviourProps {\n children: ReactNode;\n visible?: boolean;\n onClose: () => void;\n}\n\nexport function ModalBehaviour({ children, visible, onClose }: ModalBehaviourProps): ReactNode {\n return (\n <OnCloseProvider onClose={onClose}>\n <ModalBehaviourPortal visible={visible}>\n {visible ? (\n <View\n _web={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n }}\n >\n {children}\n </View>\n ) : null}\n </ModalBehaviourPortal>\n </OnCloseProvider>\n );\n}\n\nModalBehaviour.CloseButton = CloseButton;\n","import type { ReactNode } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from '../native-base/primitives';\n\ninterface OverlayProps extends Pick<PressableProps, 'onPress'> {}\n\nexport function Overlay({ onPress }: OverlayProps): ReactNode {\n return (\n <Pressable\n accessibilityRole=\"none\"\n position=\"absolute\"\n top=\"0\"\n left=\"0\"\n right=\"0\"\n bottom=\"0\"\n backgroundColor=\"kitt.overlay.dark\"\n onPress={onPress}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface CardModalRotationContainerProps extends ViewProps {}\n\nexport function CardModalRotationContainer(props: CardModalRotationContainerProps): ReactNode {\n return (\n <View\n paddingX=\"kitt.cardModal.overlayPadding.horizontal\"\n paddingY=\"kitt.cardModal.overlayPadding.vertical\"\n maxWidth=\"kitt.cardModal.maxWidthWithPadding\"\n width=\"100%\"\n maxHeight=\"100%\"\n _web={{ maxHeight: '100svh' }}\n {...props}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactNode {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { CardModalAnimationProps } from './CardModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: CardModalAnimationProps['visible'];\n onEntered?: CardModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactNode {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.cardModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport type { ModalAnimationComponentProps } from '../../ModalBehaviour/type';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport { CardModalRotationContainer } from './CardModalRotationContainer';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface CardModalAnimationProps extends ViewProps, ModalAnimationComponentProps {\n children: ReactNode;\n}\n\nexport function CardModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: CardModalAnimationProps): ReactNode {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <CardModalRotationContainer>\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n {children}\n </NativeRotationAnimation>\n </CardModalRotationContainer>\n </View>\n </Modal>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { CardModalAnimationProps } from './CardModalAnimation/CardModalAnimation';\nimport { CardModalAnimation } from './CardModalAnimation/CardModalAnimation';\n\nexport interface CardModalBehaviourProps extends CardModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function CardModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: CardModalBehaviourProps): ReactNode {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <CardModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </CardModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport { ScrollView } from '../native-base/primitives';\n\nexport interface CardModalBodyProps extends ScrollViewProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function CardModalBody({\n children,\n paddingX = { base: 'kitt.4', medium: 'kitt.6' },\n paddingY = 'kitt.4',\n ...props\n}: CardModalBodyProps): ReactNode {\n return (\n <ScrollView showsVerticalScrollIndicator={false} _contentContainerStyle={{ paddingX, paddingY }} {...props}>\n {children}\n </ScrollView>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface CardModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n}\n\nexport function CardModalFooter({\n children,\n padding = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n ...props\n}: CardModalFooterProps): ReactNode {\n return (\n <View\n {...props}\n marginTop=\"kitt.2\"\n padding={padding}\n borderTopWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n alignItems={{ base: undefined, medium: 'flex-end' }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface BaseHeaderProps extends Except<ViewProps, 'left' | 'right'> {\n hasSeparator?: boolean;\n left?: ReactNode;\n right?: ReactNode;\n}\n\ninterface TitledHeaderProps extends BaseHeaderProps {\n title?: ReactNode;\n children?: never;\n}\n\ninterface ComponentHeaderProps extends BaseHeaderProps {\n title?: never;\n children?: ReactNode;\n}\n\nexport type CardModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function CardModalHeader({\n children,\n title,\n paddingBottom = { base: 'kitt.4', medium: 'kitt.2' },\n hasSeparator = true,\n right,\n left,\n ...props\n}: CardModalHeaderProps): ReactNode {\n const defaultContainerPadding = { base: 'kitt.4', medium: 'kitt.6' };\n\n return (\n <View\n {...props}\n padding={paddingBottom}\n borderBottomWidth={hasSeparator ? 'kitt.cardModal.footer.borderWidth' : 0}\n borderColor=\"kitt.separator\"\n justifyContent=\"center\"\n width=\"100%\"\n height=\"kitt.cardModal.header.height\"\n paddingRight={right ? 'kitt.2' : defaultContainerPadding}\n paddingLeft={left ? 'kitt.2' : defaultContainerPadding}\n >\n <View alignItems=\"center\" flexDirection=\"row\" justifyContent={!children && !left ? 'flex-end' : 'space-between'}>\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n <View flexGrow=\"1\" paddingRight={right ? 'kitt.2' : 0} paddingLeft={left ? 'kitt.2' : 0}>\n {title ? (\n <Typography.Text textAlign={!left && right ? 'left' : 'center'} variant=\"bold\">\n {title}\n </Typography.Text>\n ) : null}\n {children}\n </View>\n\n {right ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { CardModalBehaviour } from './CardModalBehaviour';\nimport { CardModalBody } from './CardModalBody';\nimport { CardModalFooter } from './CardModalFooter';\nimport { CardModalHeader } from './CardModalHeader';\n\ninterface BaseCardModalProps extends Except<ViewProps, 'children'> {\n withoutShadow?: boolean;\n}\n\ninterface CardModalWithChildren extends BaseCardModalProps {\n children: ReactNode;\n header?: never;\n footer?: never;\n body?: never;\n}\n\ninterface CardModalWithoutChildren extends BaseCardModalProps {\n children?: never;\n header?: ReactNode;\n footer?: ReactNode;\n body: ReactNode;\n}\n\nexport type CardModalProps = CardModalWithChildren | CardModalWithoutChildren;\n\nexport function CardModal({\n backgroundColor = 'kitt.uiBackgroundLight',\n maxWidth = 'kitt.cardModal.maxWidth',\n withoutShadow,\n children,\n header,\n body,\n footer,\n ...props\n}: CardModalProps): ReactNode {\n return (\n <View\n {...props}\n overflow=\"hidden\"\n backgroundColor={backgroundColor}\n shadow={withoutShadow ? undefined : 'kitt.cardModal.shadow'}\n borderRadius=\"kitt.cardModal.borderRadius\"\n width=\"100%\"\n maxHeight=\"100%\"\n maxWidth={maxWidth}\n minHeight=\"kitt.cardModal.minHeight\"\n >\n {children || (\n <>\n {header || null}\n {body || null}\n {footer || null}\n </>\n )}\n </View>\n );\n}\n\nCardModal.Body = CardModalBody;\nCardModal.Header = CardModalHeader;\nCardModal.Footer = CardModalFooter;\nCardModal.ModalBehaviour = CardModalBehaviour;\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isHovered?: boolean;\n isPressed?: boolean;\n}\n\nexport function getBackgroundColor({ isDisabled, isSelected, isHovered, isPressed }: GetBackgroundColorParams): string {\n if (isDisabled) return 'kitt.choices.item.disabled.backgroundColor';\n\n if (isSelected && isHovered) return 'kitt.choices.item.hoverWhenSelected.backgroundColor';\n\n if (isPressed) return 'kitt.choices.item.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.choices.item.hover.backgroundColor';\n\n if (isSelected) return 'kitt.choices.item.selected.backgroundColor';\n\n return 'kitt.choices.item.default.backgroundColor';\n}\n","import type { ChoiceItemVariant } from '../ChoiceItem';\n\nexport function getBorderRadius(variant?: ChoiceItemVariant): number | string {\n // The clean way to have the rounded effect would have been to know the children height since radius >= height * 0.5\n // We don't control over the height of the rendered children we just go with a arbitrary really high value\n return variant === 'rounded' ? Number.MAX_SAFE_INTEGER : 'kitt.choices.item.borderRadius';\n}\n","import { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\nimport type { ChoiceItemSize, ChoiceItemVariant } from './ChoiceItem';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderRadius } from './utils/getBorderRadius';\n\nexport interface AnimatedChoiceItemViewProps {\n children: ReactNode;\n variant?: ChoiceItemVariant;\n size?: ChoiceItemSize;\n isHovered?: boolean;\n isPressed?: boolean;\n isDisabled?: boolean;\n isSelected?: boolean;\n animatedStyles?: ViewStyle;\n}\n\nexport function AnimatedChoiceItemView({\n children,\n variant,\n size,\n isHovered,\n isPressed,\n isDisabled,\n isSelected,\n animatedStyles,\n}: AnimatedChoiceItemViewProps): ReactNode {\n const sx = useSx();\n\n const style = sx({\n position: 'relative',\n borderRadius: getBorderRadius(variant),\n backgroundColor: getBackgroundColor({ isDisabled, isSelected, isHovered, isPressed }),\n paddingX: size === 'small' ? 'kitt.4' : { base: 'kitt.4', small: 'kitt.6' },\n paddingY: size === 'small' ? 'kitt.2' : { base: 'kitt.4', small: 'kitt.6' },\n });\n\n return <Animated.View style={[style, animatedStyles]}>{children}</Animated.View>;\n}\n","import type { ViewStyle } from 'react-native';\nimport {\n interpolateColor,\n useAnimatedStyle,\n useDerivedValue,\n useSharedValue,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\ninterface UseNativeAnimationOptions {\n selected?: boolean;\n disabled?: boolean;\n isPressedInternal?: boolean;\n}\n\ninterface NativeAnimation {\n onPressIn: () => void;\n onPressOut: () => void;\n backgroundStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n selected,\n disabled,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n\n const pressed = useSharedValue(Boolean(isPressedInternal));\n const progress = useDerivedValue(() => {\n return withTiming(pressed.value ? 1 : 0, { duration: theme.kitt.choices.item.transition.duration });\n });\n\n const backgroundStyles = useAnimatedStyle(() => {\n const {\n default: defaultBg,\n pressed: pressedBg,\n selected: selectedBg,\n disabled: disabledBg,\n } = theme.kitt.choices.item.backgroundColor;\n\n if (disabled) return { backgroundColor: disabledBg };\n\n if (selected) return { backgroundColor: selectedBg };\n\n return {\n backgroundColor: interpolateColor(progress.value, [0, 1], [defaultBg, pressedBg]),\n };\n });\n\n const onPressIn = (): void => {\n pressed.value = true;\n };\n\n const onPressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n onPressIn,\n onPressOut,\n backgroundStyles,\n };\n};\n","import type { TypographyColor } from '../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected && isHovered) return 'white';\n\n if (isSelected || isPressed) return 'white';\n\n return 'black';\n}\n","import type { ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { AnimatedChoiceItemView } from './AnimatedChoiceItemView';\nimport type { BaseChoicesProps } from './Choices';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getBorderRadius } from './utils/getBorderRadius';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport type ChoiceItemVariant = 'rounded';\nexport type ChoiceItemSize = BaseChoicesProps<null>['size'];\n\nexport type ChoiceItemType = 'button' | 'radio' | 'checkbox' | undefined;\n\nexport interface BaseChoiceItemProps<V> {\n type?: ChoiceItemType;\n children: ReactNode;\n disabled?: boolean;\n variant?: ChoiceItemVariant;\n size?: ChoiceItemSize;\n value?: V;\n selected?: boolean;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n onPress?: () => void;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport interface ChoiceItemButtonProps<V> extends BaseChoiceItemProps<V> {\n type?: 'button';\n value?: never;\n selected?: never;\n onChange?: never;\n}\n\nexport interface ChoiceItemFormElementProps<V> extends BaseChoiceItemProps<V> {\n type: 'radio' | 'checkbox';\n onPress?: never;\n}\n\nexport type ChoiceItemProps<V> = ChoiceItemButtonProps<V> | ChoiceItemFormElementProps<V>;\n\nexport function ChoiceItem<V>({\n type = 'button',\n value,\n selected,\n disabled,\n variant,\n children,\n isPressedInternal,\n isHoveredInternal,\n onPress,\n onChange,\n onBlur,\n onFocus,\n size,\n}: ChoiceItemProps<V>): ReactNode {\n const { onPressIn, onPressOut, backgroundStyles } = useNativeAnimation({ selected, disabled, isPressedInternal });\n\n const handleChange = (): void => {\n if (!onChange) return;\n\n // Checkbox can be toggled\n if (type === 'checkbox') {\n onChange(selected ? undefined : value);\n return;\n }\n\n onChange(value);\n };\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onPress) onPress();\n handleChange();\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n disabled={disabled}\n accessibilityRole={type}\n accessibilityState={{ checked: selected }}\n onBlur={onBlur}\n onFocus={onFocus}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed }) => (\n <AnimatedChoiceItemView\n animatedStyles={backgroundStyles}\n isHovered={isHovered || isHoveredInternal}\n isDisabled={disabled}\n isSelected={selected}\n isPressed={isPressed || isPressedInternal}\n variant={variant}\n size={size}\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isDisabled: disabled,\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {disabled ? (\n <View\n borderRadius={getBorderRadius(variant)}\n borderWidth=\"kitt.choices.item.disabled.borderWidth\"\n borderColor=\"kitt.choices.item.disabled.borderColor\"\n position=\"absolute\"\n top=\"0\"\n right=\"0\"\n left=\"0\"\n bottom=\"0\"\n />\n ) : null}\n </AnimatedChoiceItemView>\n )}\n </Pressable>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport type { ChoicesDirection } from './Choices';\n\ninterface ChoiceItemContainerProps {\n children: ReactNode;\n isLast?: boolean;\n direction: ChoicesDirection;\n}\n\nexport function ChoiceItemContainer({ children, direction, isLast }: ChoiceItemContainerProps): ReactNode {\n const currentItemMarginValue = isLast ? undefined : 'kitt.3';\n return (\n <View\n marginRight={direction === 'row' ? currentItemMarginValue : undefined}\n marginBottom={direction === 'column' ? currentItemMarginValue : undefined}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { ScrollView, View } from 'react-native';\nimport type { Except, SetOptional } from 'type-fest';\nimport type { ChoiceItemButtonProps, ChoiceItemFormElementProps, ChoiceItemType } from './ChoiceItem';\nimport { ChoiceItem } from './ChoiceItem';\nimport { ChoiceItemContainer } from './ChoiceItemContainer';\n\nexport type ChoicesDirection = 'row' | 'column';\n\ninterface ChoicesContainerProps extends ViewProps {\n children: ReactNode;\n direction: ChoicesDirection;\n}\n\nfunction ChoicesContainer({ direction, ...props }: ChoicesContainerProps): ReactNode {\n if (direction === 'row') {\n return <ScrollView horizontal {...props} />;\n }\n\n return <View {...props} />;\n}\n\ntype ChoicesPropsToPick = 'type' | 'variant' | 'disabled' | 'value' | 'onPress' | 'onChange' | 'onBlur' | 'onFocus';\ntype ChoicesSize = 'small';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport interface BaseChoicesProps<V> {\n id?: string;\n testID?: string;\n children: ReactNode;\n direction?: ChoicesDirection;\n size?: ChoicesSize;\n}\n\nexport interface ChoicesButtonProps<V, ChoiceType extends ChoiceItemButtonProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemButtonProps<V>, ChoicesPropsToPick> {\n type?: ChoiceType;\n}\n\nexport interface ChoicesFormElementProps<V, ChoiceType extends ChoiceItemFormElementProps<V>['type']>\n extends BaseChoicesProps<V>,\n Pick<ChoiceItemFormElementProps<V>, ChoicesPropsToPick> {\n type: ChoiceType;\n}\n\nexport type ChoicesItemPropsFromChoiceType<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type'] ? ChoiceItemFormElementProps<V> : ChoiceItemButtonProps<V>;\n\nexport type ChoicesProps<\n V,\n ChoiceType extends ChoiceItemType,\n> = ChoiceType extends ChoiceItemFormElementProps<V>['type']\n ? ChoicesFormElementProps<V, ChoiceType>\n : ChoicesButtonProps<V, 'button'>;\n\ntype ExcludeChoiceItemProvidedByChoices = 'type' | 'onPress' | 'onChange' | 'onFocus' | 'onBlur';\ntype OptionalChoiceItemProvidedByChoices = 'variant' | 'disabled' | 'size';\n\nfunction Choices<V, ChoiceType extends ChoiceItemType>({\n id,\n testID,\n type,\n direction = 'column',\n disabled,\n children,\n value,\n variant,\n onPress,\n onChange,\n onFocus,\n onBlur,\n size,\n}: ChoicesProps<V, ChoiceType>): ReactNode {\n const [currentValue, setCurrentValue] = useState(value);\n\n const isForm = type && ['radio', 'checkbox'].includes(type);\n\n const childrenArray = Children.toArray(children) as ReactElement<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n typeof ChoiceItem\n >[];\n\n const handleChange: ChoicesItemPropsFromChoiceType<V, ChoiceType>['onChange'] = (newValue) => {\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const sharedProps: Pick<\n ChoicesItemPropsFromChoiceType<V, ChoiceType>,\n ExcludeChoiceItemProvidedByChoices | OptionalChoiceItemProvidedByChoices\n > = {\n type,\n disabled,\n variant,\n onPress: !isForm ? onPress : undefined,\n onChange: isForm ? handleChange : undefined,\n onFocus,\n onBlur,\n size,\n };\n\n return (\n <ChoicesContainer direction={direction} testID={testID} id={id}>\n {childrenArray.map((child, index) => {\n const element = cloneElement<ChoicesItemPropsFromChoiceType<V, ChoiceType>>(child, {\n selected: isForm ? child.props.value === currentValue : undefined,\n ...sharedProps,\n } as any);\n\n return (\n <ChoiceItemContainer key={child.key} direction={direction} isLast={index === childrenArray.length - 1}>\n {element}\n </ChoiceItemContainer>\n );\n })}\n </ChoicesContainer>\n );\n}\n\nChoices.Item = ChoiceItem;\n\nexport interface CreateChoices<V, ChoiceType extends ChoiceItemType> {\n (props: ChoicesProps<V, ChoiceType>): ReactElement;\n Item: (\n props: SetOptional<\n Except<ChoicesItemPropsFromChoiceType<V, ChoiceType>, OptionalChoiceItemProvidedByChoices>,\n ExcludeChoiceItemProvidedByChoices\n >,\n ) => ReactElement;\n}\n\nexport function createChoicesComponent<V, ChoiceType extends ChoiceItemType>(): CreateChoices<V, ChoiceType> {\n return Choices as CreateChoices<V, ChoiceType>;\n}\n\nconst ButtonChoices = createChoicesComponent<never, 'button'>();\n\nChoices.ButtonChoices = ButtonChoices;\n\nexport const ChoicesElements = {\n Item: ChoiceItem,\n ButtonChoices,\n};\n","import type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n onExited: () => void;\n}\n\nexport function NativeOpacityAnimation({ visible, children, onExited }: NativeOpacityAnimationProps): ReactNode {\n const theme = useTheme();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) {\n onExited();\n }\n }\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation';\n\nexport interface NativeRotationAnimationProps {\n children: ReactNode;\n topInset?: number;\n visible?: DialogModalAnimationProps['visible'];\n onEntered?: DialogModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeRotationAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeRotationAnimationProps): ReactNode {\n const theme = useTheme();\n\n const hasRunAnimationRef = useRef(false);\n\n const rotation = useSharedValue(0.8);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const animatedStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.dialogModal.animation.content;\n\n const [x1, y1, x2, y2] = easing;\n\n rotation.value = withTiming(visible ? 0 : 5, { duration, easing: Easing.bezier(x1, y1, x2, y2) }, (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n });\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n transform: [\n { scale: withTiming(visible ? 1 : 0.8, { duration, easing: Easing.bezier(x1, y1, x2, y2) }) },\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[animatedStyle]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport { Overlay } from '../../Overlay/Overlay';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport { NativeOpacityAnimation } from './NativeOpacityAnimation';\nimport { NativeRotationAnimation } from './NativeRotationAnimation';\n\nexport interface DialogModalAnimationProps extends ViewProps {\n children: ReactNode;\n appear?: boolean;\n visible?: boolean;\n unmountOnExit?: boolean;\n isAnimationEnabled?: boolean;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n onClose?: () => void;\n}\n\nexport function DialogModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n onClose,\n}: DialogModalAnimationProps): ReactNode {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible} onExited={handleAnimationExited}>\n <Overlay onPress={onClose} />\n </NativeOpacityAnimation>\n\n <NativeRotationAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View\n paddingX=\"kitt.dialogModal.overlayPadding.horizontal\"\n paddingY=\"kitt.dialogModal.overlayPadding.vertical\"\n >\n {children}\n </View>\n </NativeRotationAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport { ScrollView } from '../native-base/primitives';\nimport type { DialogModalAnimationProps } from './DialogModalAnimation/DialogModalAnimation';\nimport { DialogModalAnimation } from './DialogModalAnimation/DialogModalAnimation';\n\nexport interface DialogModalBehaviourProps extends DialogModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function DialogModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: DialogModalBehaviourProps): ReactNode {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1 }}>\n <DialogModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone} onClose={onClose}>\n {children}\n </DialogModalAnimation>\n </ScrollView>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ActionsButtonProps } from '..';\nimport { Actions } from '../Actions/Actions';\nimport { View } from '../native-base/primitives';\nimport { DialogModalBehaviour } from './DialogModalBehaviour';\n\nexport interface DialogModalProps {\n illustration?: ReactNode;\n actions?: ReactNode;\n title?: ReactNode;\n children: ReactNode;\n}\n\nexport function DialogModal({ illustration, title, children, actions }: DialogModalProps): ReactNode {\n return (\n <View\n alignItems=\"center\"\n maxWidth=\"kitt.dialogModal.maxWidth\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderRadius=\"kitt.dialogModal.borderRadius\"\n shadow=\"kitt.dialogModal.shadow\"\n >\n {illustration ? <View>{illustration}</View> : null}\n\n <View\n width=\"100%\"\n alignItems=\"center\"\n padding={{ base: 'kitt.4', medium: 'kitt.6' }}\n paddingTop={illustration ? 'kitt.8' : 'kitt.6'}\n >\n {title ? <View marginBottom=\"kitt.2\">{title}</View> : null}\n\n <View marginBottom=\"kitt.8\">{children}</View>\n\n {actions ? (\n <Actions width=\"100%\" layout=\"column\">\n {actions}\n </Actions>\n ) : null}\n </View>\n </View>\n );\n}\n\nDialogModal.ModalBehaviour = DialogModalBehaviour;\n\ninterface DialogModalButtonProps extends ActionsButtonProps {}\n\nfunction DialogModalButton({ stretch = true, ...props }: DialogModalButtonProps): ReactNode {\n return <Actions.Button stretch={stretch} {...props} />;\n}\n\nDialogModal.Button = DialogModalButton;\n","import type { IImageProps } from 'native-base';\nimport { Image } from 'native-base';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { ImageProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport { parse } from 'twemoji-parser';\nimport type { KittResponsiveProp } from '../KittBreakpoints';\n\nexport interface EmojiProps extends Pick<ImageProps, 'style' | 'testID'> {\n emoji: string;\n size: number | KittResponsiveProp<number>;\n alignSelf?: IImageProps['alignSelf'];\n _web?: IImageProps['_web'];\n}\n\nexport function Emoji({ emoji, size, alignSelf, _web, style, testID }: EmojiProps): ReactNode {\n const [emojiData] = useMemo(\n () =>\n parse(emoji, {\n // on native plaforms, you can't display svg as Image\n assetType: Platform.OS === 'web' ? 'svg' : 'png',\n }),\n [emoji],\n );\n\n if (!emojiData) return null;\n\n return (\n <Image\n testID={testID}\n size={size}\n alt={emojiData.text}\n aria-label={emojiData.text}\n source={{ uri: emojiData.url }}\n style={style}\n alignSelf={alignSelf}\n _web={_web}\n />\n );\n}\n","import type { ComponentProps, ReactElement, ReactNode, VoidFunctionComponent } from 'react';\nimport type { GestureResponderEvent, PressableProps, TextProps } from 'react-native';\nimport { Linking } from 'react-native';\n\ntype ExternalAppLinkScheme = 'sms' | 'tel' | 'mailto';\n\nexport interface ExternalAppLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalAppLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n appScheme: ExternalAppLinkScheme;\n appValue: string;\n onPress?: PressableProps['onPress'];\n onOpenAppError?: (err: string) => void;\n}\n\nexport interface ExternalAppLinkPhoneProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n phoneNumber: string;\n}\n\nexport interface ExternalAppLinkMailProps<C extends VoidFunctionComponent<any>>\n extends Partial<ExternalAppLinkProps<C>> {\n emailAddress: string;\n}\n\n/** @internal for ExternalAppLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalAppLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalAppLinkProps<C> & keyof ExternalAppLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalAppLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n appScheme,\n appValue,\n onPress,\n onOpenAppError,\n ...rest\n}: ExternalAppLinkProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactNode {\n const href = `${appScheme}:${appValue}`;\n\n const handleOnPress = async (e: GestureResponderEvent): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n\n if (canOpen) {\n if (onPress) {\n onPress(e);\n if (e.defaultPrevented) return;\n }\n\n Linking.openURL(href).catch((error) => {\n console.error(`An error occurred while opening ${href}`, error);\n\n onOpenAppError?.(`An error occurred while opening ${href}`);\n });\n } else {\n onOpenAppError?.(`Cannot open url: ${href}`);\n }\n } catch {\n onOpenAppError?.('An error occured with Linkinf.canOpenURL');\n }\n };\n\n return <Component href={href} {...(rest as any)} onPress={handleOnPress} />;\n}\n\nExternalAppLink.Sms = function ExternalAppLinkSms<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"sms\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Tel = function ExternalAppLinkTel<C extends VoidFunctionComponent<any>>({\n phoneNumber,\n children,\n ...rest\n}: ExternalAppLinkPhoneProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"tel\" appValue={phoneNumber}>\n {children}\n </ExternalAppLink>\n );\n};\n\nExternalAppLink.Mail = function ExternalAppLinkMail<C extends VoidFunctionComponent<any>>({\n emailAddress,\n children,\n ...rest\n}: ExternalAppLinkMailProps<C> & ExternalAppLinkSendableComponentProps<C>): ReactElement {\n return (\n <ExternalAppLink {...(rest as any)} appScheme=\"mailto\" appValue={emailAddress}>\n {children}\n </ExternalAppLink>\n );\n};\n","export interface ExternalLinkOpenLinkBehavior {\n /**\n * @default 'openInModal'\n *\n * @description open link behavior in native\n *\n * \"openInModal\": open via [expo-web-browser](https://docs.expo.dev/versions/latest/sdk/webbrowser/)\n *\n * \"openBrowserApp\": open via [Linking](https://docs.expo.dev/guides/linking/#opening-links-from-your-app)\n */\n native?: 'openInModal' | 'openBrowserApp';\n\n /**\n * @default 'targetBlank'\n *\n * @description open link behavior in native\n *\n * \"targetSelf\": no dom attributes added, behave like `target=\"_self\"`\n *\n * \"targetBlank\": dome attributes: `target=\"_blank\" rel=\"noopener noreferrer\"`\n */\n web?: 'targetSelf' | 'targetBlank';\n}\n\nexport const defaultOpenLinkBehavior: ExternalLinkOpenLinkBehavior = {\n native: 'openInModal',\n web: 'targetBlank',\n};\n","import * as WebBrowser from 'expo-web-browser';\nimport { Linking } from 'react-native';\nimport { defaultOpenLinkBehavior } from '../ExternalLinkOpenLinkBehavior';\nimport type { OpenExternalLinkParams } from '../OpenExternalLinkParams';\n\nexport function useOpenExternalLink() {\n return async ({ href, behavior = defaultOpenLinkBehavior }: OpenExternalLinkParams): Promise<void> => {\n if (behavior.native === 'openBrowserApp') {\n await Linking.openURL(href);\n\n return;\n }\n\n await WebBrowser.openBrowserAsync(href);\n };\n}\n","import type { ComponentProps, ReactNode, VoidFunctionComponent } from 'react';\nimport type { PressableProps, TextProps } from 'react-native';\nimport type { ExternalLinkOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { defaultOpenLinkBehavior } from './ExternalLinkOpenLinkBehavior';\nimport { useOpenExternalLink } from './hooks/useOpenExternalLink';\n\nexport interface ExternalLinkAsComponentMinimumRequiredProps {\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: PressableProps['onPress'];\n}\n\nexport interface ExternalLinkProps<C extends VoidFunctionComponent<any>> {\n as: C;\n openLinkBehavior?: ExternalLinkOpenLinkBehavior;\n href?: string;\n onPress?: PressableProps['onPress'];\n onOpenLinkError?: (err: string, originalError: unknown) => void;\n}\n\n/** @internal for ExternalLink.web.tsx only */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type ExternalLinkSendableComponentProps<C extends VoidFunctionComponent<any>> = Omit<\n ComponentProps<C>,\n keyof ExternalLinkProps<C> & keyof ExternalLinkAsComponentMinimumRequiredProps\n>;\n\nexport function ExternalLink<C extends VoidFunctionComponent<any>>({\n as: Component,\n href,\n openLinkBehavior = defaultOpenLinkBehavior,\n onPress,\n // eslint-disable-next-line no-console\n onOpenLinkError = console.error,\n ...rest\n}: ExternalLinkProps<C> & ExternalLinkSendableComponentProps<C>): ReactNode {\n const openExternalLink = useOpenExternalLink();\n\n const handleOnPress: PressableProps['onPress'] = (e) => {\n if (onPress) {\n onPress(e);\n if (e.defaultPrevented) return;\n }\n\n if (!href) return;\n\n openExternalLink({ href, behavior: openLinkBehavior }).catch((error) => {\n onOpenLinkError(`An error occurred while opening ${href}`, error);\n });\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return <Component {...(rest as any)} onPress={handleOnPress} />;\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport type { TypographyIconProps } from '../../typography/TypographyIcon';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport type { InputFormState } from '../utils';\n\nfunction getIconColor(state?: InputFormState, disabled?: boolean): TypographyIconProps['color'] {\n if (disabled) return 'black-light';\n\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n return 'success';\n default:\n return undefined;\n }\n}\n\nexport interface InputIconProps {\n icon: NonNullable<ReactElement>;\n disabled?: boolean;\n state?: InputFormState;\n}\n\nexport function InputIcon({ icon, state, disabled }: InputIconProps): ReactNode {\n const theme = useTheme();\n\n const color = getIconColor(state, disabled);\n\n return <TypographyIcon color={color} icon={icon} size={theme.kitt.forms.input.icon.size} />;\n}\n","import type { ReactNode } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Pressable } from 'react-native';\n\nexport interface InputPressableProps extends PressableProps {}\n\nexport function InputPressable({ ...props }: InputPressableProps): ReactNode {\n return <Pressable {...props} />;\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../../native-base/primitives';\n\nexport interface InputTextContainerProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function InputTextContainer({ children }: InputTextContainerProps): ReactNode {\n return <View position=\"relative\">{children}</View>;\n}\n","import { Input } from 'native-base';\nimport type { ResponsiveValue } from 'native-base/lib/typescript/components/types';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput, TextInputProps as RNTextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport { createNativeBaseFontSize } from '../../typography/Typography';\nimport type { InputFormState, InputUIState } from '../utils';\nimport { InputTextContainer } from './InputTextContainer';\n\nexport interface InputTextProps extends Except<RNTextInputProps, 'id'> {\n id?: string;\n name?: string;\n // See InterfaceInputProps from native-base\n variant?: ResponsiveValue<'outline' | 'unstyled'>;\n disabled?: boolean;\n minHeight?: number | string;\n state?: InputFormState;\n right?: ReactNode;\n /**\n * @internal\n * @deprecated\n */\n internalForceState?: InputUIState;\n}\n\nexport const InputText = forwardRef<RNTextInput, InputTextProps>(\n (\n {\n id,\n right,\n state: formState,\n variant = 'outline',\n internalForceState,\n disabled = false,\n autoCorrect = true,\n textContentType = 'none',\n autoComplete = 'off',\n inputMode = 'text',\n multiline,\n onSubmitEditing,\n ...props\n }: InputTextProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n const fontSizeForNativeBase = createNativeBaseFontSize({ base: 'body' });\n const shouldHandleSingleLineOnIOS = Platform.OS === 'ios' && !multiline;\n\n return (\n <InputTextContainer>\n <Input\n ref={ref as any}\n multiline={multiline}\n id={id}\n isDisabled={internalForceState ? internalForceState === 'disabled' : disabled}\n isHovered={internalForceState ? internalForceState === 'hover' : undefined}\n isFocused={internalForceState ? internalForceState === 'focus' : undefined}\n inputMode={inputMode}\n autoComplete={autoComplete}\n autoCorrect={autoCorrect}\n textContentType={textContentType}\n fontSize={fontSizeForNativeBase}\n lineHeight={\n // On basic text input, we set the line-height to zero for iOS to fix vertical text alignment\n // This is a iOS only fix since having 0 as a line-height value breaks text inputs on Android\n shouldHandleSingleLineOnIOS ? 0 : fontSizeForNativeBase\n }\n fontWeight=\"bodies.regular\"\n fontFamily=\"bodies.regular\"\n py={!multiline && Platform.OS !== 'web' ? 0 : undefined}\n variant={variant}\n {...props}\n onSubmitEditing={multiline ? () => null : onSubmitEditing}\n />\n {right ? (\n <View\n position=\"absolute\"\n right={0}\n top={0}\n bottom={0}\n justifyContent=\"center\"\n padding={theme.kitt.forms.input.rightContainer.padding}\n >\n {right}\n </View>\n ) : null}\n </InputTextContainer>\n );\n },\n);\n","import type { ReactNode } from 'react';\nimport { View } from '../../native-base/primitives';\n\ninterface UIState {\n isSelected?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n isHighlighted?: boolean;\n}\n\nfunction getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused }: UIState): string {\n const baseKey = 'kitt.forms.autocomplete.option';\n\n if (isHighlighted) {\n return `${baseKey}.highlighted.backgroundColor`;\n }\n\n if (isPressed) {\n return `${baseKey}.pressed.backgroundColor`;\n }\n\n if (isHovered) {\n return `${baseKey}.hovered.backgroundColor`;\n }\n\n if (isFocused) {\n return `${baseKey}.focused.backgroundColor`;\n }\n\n if (isSelected) {\n return `${baseKey}.selected.backgroundColor`;\n }\n\n return `${baseKey}.default.backgroundColor`;\n}\n\ninterface AutocompleteItemProps<T extends object> {\n item: T;\n children: ReactNode;\n isSelected?: boolean;\n isHighlighted?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}\n\nexport function AutocompleteItem<T extends object>({\n children,\n isSelected,\n isHighlighted,\n isHovered,\n isFocused,\n isPressed,\n}: AutocompleteItemProps<T>): ReactNode {\n return (\n <View\n justifyContent=\"center\"\n width=\"100%\"\n minHeight=\"kitt.forms.autocomplete.option.minHeight\"\n borderRadius=\"kitt.1\"\n padding=\"kitt.1\"\n backgroundColor={getBackgroundColor({ isSelected, isHighlighted, isPressed, isHovered, isFocused })}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\ninterface AutocompleteItemsListContainerProps {\n testID: ViewProps['testID'];\n zIndex?: ViewProps['zIndex'];\n children: ReactNode;\n}\n\nexport function AutocompleteItemsListContainer({\n testID,\n children,\n zIndex = 1000,\n}: AutocompleteItemsListContainerProps): ReactNode {\n return (\n <View\n testID={testID}\n zIndex={zIndex}\n top=\"kitt.2\"\n left={0}\n position=\"absolute\"\n flexGrow={1}\n width=\"100%\"\n paddingY=\"kitt.2\"\n borderRadius=\"kitt.forms.autocomplete.optionsContainer.borderRadius\"\n backgroundColor=\"kitt.forms.autocomplete.optionsContainer.backgroundColor\"\n shadow=\"kitt.forms.autocomplete.optionsContainer.shadow\"\n _android={{ style: { elevation: 2 } }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\n\nexport interface AutocompleteOptionProps extends ViewProps {\n item: unknown;\n children: ReactNode;\n}\n\nexport function AutocompleteOption({ children, ...props }: AutocompleteOptionProps): ReactNode {\n return (\n <View\n paddingX={{ base: 'kitt.2', small: 'kitt.4' }}\n paddingY=\"kitt.forms.autocomplete.option.verticalPadding\"\n {...props}\n >\n {children}\n </View>\n );\n}\n","import { CaretDownFillIcon, CaretUpFillIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { DownshiftProps } from 'downshift';\nimport Downshift from 'downshift';\nimport type { ComponentType, ReactElement, ReactNode } from 'react';\nimport { Children } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\nimport { AutocompleteItem } from './AutocompleteItem';\nimport { AutocompleteItemsListContainer } from './AutocompleteItemsListContainer';\nimport { AutocompleteOption } from './AutocompleteOption';\n\n// When testing with jest on native, e is undefined, we need to patch it to make it work\nfunction patchNativeEvent(event?: GestureResponderEvent): GestureResponderEvent {\n return event || ({ preventDownshiftDefault: false, preventDefault: () => {} } as unknown as GestureResponderEvent);\n}\n\ninterface BaseItemProps<T> {\n item: T;\n}\n\ntype ComponentWithItemProp<T> = ComponentType<BaseItemProps<T>>;\n\nexport interface AutocompleteProps<T extends object> extends Omit<InputTextProps, 'onChange'> {\n children: ReactElement<ComponentWithItemProp<T>>[];\n isInitialOpen?: DownshiftProps<T>['defaultIsOpen'];\n initialValue?: T;\n containerProps?: Exclude<ViewProps, 'ref'>;\n filterItemBasedOnCurrentInputValue?: (item: T, inputValue: string) => boolean;\n checkSelectedItem: (selectedItem: T | undefined, item: T) => boolean;\n itemToString: (item?: T) => string;\n right?: InputTextProps['right'];\n errorElement?: ReactNode;\n emptyResultsElement?: ReactNode;\n inputTestID?: ViewProps['testID'];\n listContainerTestID?: ViewProps['testID'];\n zIndex?: ViewProps['zIndex'];\n onChange?: DownshiftProps<T>['onChange'];\n onInputChange?: DownshiftProps<T>['onInputValueChange'];\n onSelectItem?: DownshiftProps<T>['onSelect'];\n onOuterPress?: DownshiftProps<T>['onOuterClick'];\n}\n\nfunction isReactElement(element: unknown): element is ReactElement {\n return typeof element === 'object' && element !== null && 'type' in element && 'props' in element;\n}\n\nexport function Autocomplete<T extends object>({\n children,\n name,\n disabled,\n placeholder,\n isInitialOpen,\n initialValue,\n containerProps,\n filterItemBasedOnCurrentInputValue,\n checkSelectedItem,\n itemToString,\n right,\n onChange,\n onFocus,\n onBlur,\n onInputChange,\n onSelectItem,\n /**\n * @description web only callback\n */\n onOuterPress,\n errorElement,\n emptyResultsElement,\n inputTestID = 'kitt.Autocomplete.inputText',\n listContainerTestID = 'kitt.Autocomplete.listContainer',\n zIndex = 1000,\n ...props\n}: AutocompleteProps<T>): ReactNode {\n const childrenArray = Children.toArray(children);\n\n const items: { child: ReactElement; item: T }[] = childrenArray\n .filter(isReactElement)\n .map((child) => ({ child, item: child.props.item }));\n\n const handleItemToString = (item: T | null): string => {\n // Prevents returning null values\n if (!itemToString) return '';\n return itemToString(item || undefined);\n };\n\n return (\n <Downshift\n defaultIsOpen={isInitialOpen}\n initialSelectedItem={initialValue}\n initialInputValue={initialValue ? itemToString(initialValue) : undefined}\n itemToString={handleItemToString}\n stateReducer={(state, changes) => {\n switch (changes.type) {\n case Downshift.stateChangeTypes.changeInput:\n return {\n ...changes,\n selectedItem: null,\n };\n default:\n return changes;\n }\n }}\n onChange={(selectedItem, stateAndHelpers) => {\n if (onChange) {\n onChange(selectedItem, stateAndHelpers);\n }\n }}\n onSelect={onSelectItem}\n onOuterClick={onOuterPress}\n onInputValueChange={onInputChange}\n >\n {({\n getRootProps,\n getInputProps,\n getMenuProps,\n getItemProps,\n getToggleButtonProps,\n isOpen,\n inputValue,\n highlightedIndex,\n selectedItem,\n openMenu,\n }) => {\n const shouldSuppressRefError = Platform.OS !== 'web';\n\n const rootProps = getRootProps(undefined, { suppressRefError: shouldSuppressRefError });\n const menuProps = getMenuProps(undefined, { suppressRefError: shouldSuppressRefError });\n const { onClick: onClickToggle, onPress: onPressToggle, ...toggleProps } = getToggleButtonProps({ disabled });\n\n const {\n onKeyDown,\n onFocus: onSearchInputFocus,\n onBlur: onSearchInputBlur,\n onChange: onSearchInputChange,\n ...inputProps\n } = getInputProps({ placeholder, disabled });\n\n const hasCurrentSearch = inputValue && inputValue.length > 0;\n\n const currentItems =\n hasCurrentSearch && filterItemBasedOnCurrentInputValue\n ? items.filter(({ item }) => {\n if (!filterItemBasedOnCurrentInputValue) return true;\n return filterItemBasedOnCurrentInputValue(item, inputValue || '');\n })\n : items;\n\n // We need to check if the menu is open and if there is at least one item or an error element to prevent displaying an empty container\n const isCurrentlyOpen = isOpen ? currentItems.length > 0 || !!errorElement || !!emptyResultsElement : false;\n\n const handleTogglePress = (e?: GestureResponderEvent): void => {\n if (Platform.OS === 'web') {\n onClickToggle(e);\n return;\n }\n onPressToggle(patchNativeEvent(e));\n };\n\n const canDisplayCollapseButton = currentItems.length > 0 || !!errorElement || !!emptyResultsElement;\n\n return (\n <View {...rootProps} {...containerProps} zIndex={zIndex} position=\"relative\">\n <InputText\n {...inputProps}\n {...props}\n name={name}\n testID={inputTestID}\n right={\n right ||\n (canDisplayCollapseButton ? (\n <InputPressable\n {...toggleProps}\n testID=\"kitt.Autocomplete.listToggle\"\n hitSlop={40}\n onPress={handleTogglePress}\n >\n <InputIcon icon={isCurrentlyOpen ? <CaretUpFillIcon /> : <CaretDownFillIcon />} />\n </InputPressable>\n ) : null)\n }\n onFocus={(e) => {\n openMenu();\n /** @ts-expect-error onFocus wants web events */\n if (Platform.OS !== 'android' && onSearchInputFocus) onSearchInputFocus(e);\n\n if (onFocus) onFocus(e);\n }}\n onBlur={(e) => {\n /** @ts-expect-error onBlur wants web events */\n if (Platform.OS !== 'android' && onSearchInputBlur) onSearchInputBlur(e);\n\n if (onBlur) onBlur(e);\n }}\n /** @ts-expect-error onSearchInputChange wants web events */\n onChange={onSearchInputChange}\n /** @ts-expect-error onKeyDown wants web events */\n onKeyPress={onKeyDown}\n />\n <View {...menuProps} position=\"relative\">\n {isCurrentlyOpen ? (\n <AutocompleteItemsListContainer testID={listContainerTestID}>\n {currentItems.map(({ child, item }, index) => {\n const {\n onClick,\n onPress,\n role,\n 'aria-selected': ariaSelected,\n ...itemProps\n } = getItemProps({ item, index });\n\n return (\n <Pressable\n key={itemProps.id}\n {...itemProps}\n accessibilityRole={Platform.OS === 'android' ? undefined : role}\n accessibilityState={{ selected: ariaSelected }}\n disabled={disabled}\n onPress={(e) => {\n if (Platform.OS === 'web') {\n if (onClick) onClick(e);\n return;\n }\n\n if (onPress) onPress(patchNativeEvent(e));\n }}\n >\n {({ isHovered, isFocused, isPressed }) => (\n <AutocompleteItem<T>\n item={item}\n isHighlighted={highlightedIndex === index}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n isSelected={checkSelectedItem(selectedItem || undefined, item)}\n >\n {child}\n </AutocompleteItem>\n )}\n </Pressable>\n );\n })}\n\n {errorElement}\n {emptyResultsElement}\n </AutocompleteItemsListContainer>\n ) : null}\n </View>\n </View>\n );\n }}\n </Downshift>\n );\n}\n\nAutocomplete.Option = AutocompleteOption;\n/**\n * @description: This is exported for testing purposes only\n */\nAutocomplete.UnsafeInternalItem = AutocompleteItem;\n","<svg fill=\"none\" viewBox=\"0 0 14 14\"><path d=\"M1.895 7.205a.7.7 0 0 0-.99.99l3.5 3.5a.7.7 0 0 0 .99 0l7.7-7.7a.7.7 0 1 0-.99-.99L4.9 10.21 1.895 7.205z\" fill=\"currentColor\"/></svg>","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.backgroundColor';\n\n return 'kitt.forms.checkbox.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.checkbox.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.checkbox.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.checkbox.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.checkbox.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.checkbox.focus.borderColor';\n\n return 'kitt.forms.checkbox.default.borderColor';\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { Icon } from '../../Icon/Icon';\nimport { useTheme } from '../../KittThemeContext';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable, View } from '../../native-base/primitives';\nimport CheckboxMarkIcon from './checkbox-mark.inline.svg';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderColor } from './utils/getBorderColor';\n\nexport interface CheckboxProps {\n checked?: boolean;\n hitSlop?: number;\n testID?: string;\n id?: PressableProps['testID'];\n children?: ReactNode;\n disabled?: boolean;\n onChange?: (checked: boolean, e: GestureResponderEvent) => void;\n onBlur?: (e: any) => void;\n onFocus?: (e: any) => void;\n}\n\nexport const Checkbox = forwardRef<PressableProps, CheckboxProps>(\n (\n { checked, hitSlop = 40, id, children, disabled, testID, onChange, onBlur, onFocus }: CheckboxProps,\n ref,\n ): ReactElement => {\n const theme = useTheme();\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n if (onChange) onChange(!checked, e);\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n ref={ref}\n id={id}\n testID={testID}\n accessibilityRole=\"checkbox\"\n accessibilityState={{ checked: !!checked, disabled }}\n hitSlop={hitSlop}\n disabled={disabled}\n onPress={handlePress}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.forms.checkbox.textSpacing' : undefined}>\n <View\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n marginTop={children ? 1 : undefined}\n height=\"kitt.forms.checkbox.height\"\n width=\"kitt.forms.checkbox.width\"\n borderRadius=\"kitt.forms.checkbox.borderRadius\"\n borderWidth=\"kitt.forms.checkbox.borderWidth\"\n borderColor={getBorderColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n backgroundColor={getBackgroundColor({\n isDisabled: disabled,\n isFocused,\n isHovered,\n isPressed,\n isChecked: checked,\n })}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'all',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <View\n opacity={checked ? 1 : 0}\n _web={{\n style: {\n transitionDuration: theme.kitt.forms.checkbox.transition.duration,\n transitionProperty: 'opacity',\n transitionTimingFunction: theme.kitt.forms.checkbox.transition.timingFunction,\n },\n }}\n >\n <Icon\n align=\"center\"\n color={theme.kitt.forms.checkbox.markColor}\n size={theme.kitt.forms.checkbox.iconSize}\n icon={<CheckboxMarkIcon />}\n />\n </View>\n </View>\n\n {children ? <View flexShrink={1}>{children}</View> : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","import type { TextInputProps } from 'react-native';\nimport { Platform } from 'react-native';\n\nexport function getEnterKeyHintForNumericInput(\n enterKeyHint: TextInputProps['enterKeyHint'],\n): TextInputProps['enterKeyHint'] {\n // enterKeyHint is only displayed on number input on iOS if value is done\n if (Platform.OS === 'ios') return 'done';\n\n return enterKeyHint;\n}\n","function prefixWithZero(value: number, maxLength = 2): string {\n return `${value}`.padStart(maxLength, '0');\n}\n\nexport function dayFormatter(day: number): string {\n return prefixWithZero(day);\n}\n\nexport function monthFormatter(month: number): string {\n return prefixWithZero(month);\n}\n\nexport function yearFormatter(year: number): string {\n return prefixWithZero(year, 4);\n}\n","export function getDayInInterval(value: number | undefined): number | undefined {\n const minValue = 1;\n const maxValue = 31;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getMonthInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxMonthInYear = 12;\n\n const minValue = minDate ? minDate.getMonth() + 1 : 1;\n const maxValue = maxDate ? maxDate.getMonth() + 1 : maxMonthInYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n\nexport function getYearInInterval(\n value: number | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): number | undefined {\n const maxPossibleYear = 9999;\n\n const minValue = minDate ? minDate.getFullYear() : 1;\n const maxValue = maxDate ? maxDate.getFullYear() : maxPossibleYear;\n\n return value !== undefined ? Math.max(minValue, Math.min(maxValue, value)) : value;\n}\n","import type { Reducer } from 'react';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { getDayInInterval, getMonthInInterval, getYearInInterval } from '../utils/datePartInInterval';\n\nfunction getValueToDisplayedString(value: number | undefined): string {\n // We exclude the undefined value since 0 is a valid number\n if (value === undefined) return '';\n\n return value.toString();\n}\n\nexport interface State {\n currentValue: DatePickerProps['value'];\n currentDay?: number;\n currentMonth?: number;\n currentYear?: number;\n displayedDay?: string;\n displayedMonth?: string;\n displayedYear?: string;\n minDate: DatePickerProps['minDate'];\n maxDate: DatePickerProps['maxDate'];\n}\n\ninterface DayChangeAction {\n type: 'day-change';\n nextDay?: number;\n}\n\ninterface MonthChangeAction {\n type: 'month-change';\n nextMonth?: number;\n}\n\ninterface YearChangeAction {\n type: 'year-change';\n nextYear?: number;\n}\n\ninterface DayBlurAction {\n type: 'day-blur';\n}\n\ninterface MonthBlurAction {\n type: 'month-blur';\n}\n\ninterface YearBlurAction {\n type: 'year-blur';\n}\n\ntype Actions =\n | DayChangeAction\n | MonthChangeAction\n | YearChangeAction\n | DayBlurAction\n | MonthBlurAction\n | YearBlurAction;\n\nexport const keyboardDatePickerReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'day-change': {\n const { nextDay } = action;\n\n return {\n ...state,\n currentDay: nextDay,\n displayedDay: getValueToDisplayedString(nextDay),\n };\n }\n\n case 'month-change': {\n const { nextMonth } = action;\n\n return {\n ...state,\n currentMonth: nextMonth,\n displayedMonth: getValueToDisplayedString(nextMonth),\n };\n }\n\n case 'year-change': {\n const { nextYear } = action;\n\n return {\n ...state,\n currentYear: nextYear,\n displayedYear: getValueToDisplayedString(nextYear),\n };\n }\n\n case 'day-blur': {\n const nextCurrentDay = getDayInInterval(state.currentDay);\n\n return {\n ...state,\n displayedDay: nextCurrentDay ? dayFormatter(nextCurrentDay) : state.displayedDay,\n };\n }\n\n case 'month-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentMonth = getMonthInInterval(state.currentMonth, minDate, maxDate);\n\n return {\n ...state,\n currentMonth: nextCurrentMonth,\n displayedMonth: nextCurrentMonth !== undefined ? monthFormatter(nextCurrentMonth) : state.displayedMonth,\n };\n }\n\n case 'year-blur': {\n const { minDate, maxDate } = state;\n\n const nextCurrentYear = getYearInInterval(state.currentYear, minDate, maxDate);\n\n return {\n ...state,\n currentYear: nextCurrentYear,\n displayedYear: nextCurrentYear !== undefined ? yearFormatter(nextCurrentYear) : state.displayedYear,\n };\n }\n\n default:\n return state;\n }\n};\n","export function isNumber(input?: unknown): boolean {\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals\n return !isNaN(input as any);\n}\n","interface OnDatePartChangeParams {\n day?: number;\n month?: number;\n year?: number;\n validYearMinLength?: number;\n minDate?: Date;\n maxDate?: Date;\n onChange: (v?: Date) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport function onDatePartChange({\n day,\n month,\n year,\n validYearMinLength = 4,\n minDate,\n maxDate,\n onChange,\n onBlur,\n onFocus,\n}: OnDatePartChangeParams): void {\n const arrayParts = [day, month, year];\n\n const isEverythingUndefined = arrayParts.every((v) => v === undefined);\n const isEverythingDefined = arrayParts.every(Boolean);\n\n // every parts are undefined\n if (isEverythingUndefined) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n\n // Do nothing if some input parts are empty\n if (!isEverythingDefined) {\n return;\n }\n\n const nextValue = new Date();\n\n const isValidYear = year && year.toString().length >= validYearMinLength;\n\n if (!isValidYear) {\n return;\n }\n\n if (day) nextValue.setDate(day);\n if (month) nextValue.setMonth(month - 1);\n if (year) nextValue.setFullYear(year);\n\n nextValue.setMinutes(0);\n nextValue.setHours(0);\n nextValue.setSeconds(0);\n nextValue.setMilliseconds(0);\n\n if (minDate) {\n minDate.setMinutes(0);\n minDate.setHours(0);\n minDate.setSeconds(0);\n minDate.setMilliseconds(0);\n const isMinDateAfterNextValue = minDate.getTime() > nextValue.getTime();\n\n if (isMinDateAfterNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (maxDate) {\n maxDate.setMinutes(0);\n maxDate.setHours(0);\n maxDate.setSeconds(0);\n maxDate.setMilliseconds(0);\n\n const isMaxDateBeforeNextValue = nextValue.getTime() > maxDate.getTime();\n\n if (isMaxDateBeforeNextValue) {\n if (onFocus) onFocus();\n onChange(undefined);\n if (onBlur) onBlur();\n\n return;\n }\n }\n\n if (onFocus) onFocus();\n onChange(nextValue);\n if (onBlur) onBlur();\n}\n","import { isNumber } from './isNumber';\n\nexport function stringToNumber(text: string): number | undefined {\n if (text.length === 0) return undefined;\n const parsedText = parseInt(text, 10);\n if (isNumber(parsedText)) return parsedText;\n\n return undefined;\n}\n","import type { ReactElement, Ref } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput } from 'react-native';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport { InputText } from '../../InputText/InputText';\nimport type { InputUIState } from '../../utils';\n\ninterface GetCurrentInternalForcedStateParams {\n isDisabled?: boolean;\n isFocusedInternal?: boolean;\n isPressedInternal?: boolean;\n isHoveredInternal?: boolean;\n}\n\nfunction getCurrentInternalForcedState({\n isDisabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n}: GetCurrentInternalForcedStateParams): InputUIState | 'disabled' {\n if (isDisabled) return 'disabled';\n\n if (isHoveredInternal) return 'hover';\n\n if (isFocusedInternal) return 'focus';\n\n if (isPressedInternal) return 'hover';\n\n return 'default';\n}\n\ninterface InputPartProps {\n id?: string;\n value?: string;\n placeholder?: InputTextProps['placeholder'];\n disabled?: boolean;\n isFocusedInternal?: boolean;\n isHoveredInternal?: boolean;\n isPressedInternal?: boolean;\n enterKeyHint?: InputTextProps['enterKeyHint'];\n onChange?: InputTextProps['onChange'];\n onBlur?: () => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const InputPart = forwardRef(\n (\n {\n id,\n value,\n placeholder,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n enterKeyHint,\n onChange,\n onBlur,\n onSubmitEditing,\n }: InputPartProps,\n ref: Ref<TextInput>,\n ): ReactElement => {\n return (\n <InputText\n ref={ref}\n id={id}\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n })}\n value={value}\n placeholder={placeholder}\n disabled={disabled}\n inputMode=\"numeric\"\n enterKeyHint={enterKeyHint}\n textAlign=\"center\"\n onChange={onChange}\n onBlur={onBlur}\n onSubmitEditing={onSubmitEditing}\n />\n );\n },\n);\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../../../native-base/primitives';\nimport { View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\n\ninterface PartContainerProps {\n children: ReactNode;\n isStretch?: DatePickerProps['stretch'];\n width?: ViewProps['width'];\n}\n\nexport function PartContainer({ children, isStretch, width }: PartContainerProps): ReactNode {\n return (\n <View\n flexGrow={createResponsiveStyleFromProp(isStretch, 1)}\n flexShrink={createResponsiveStyleFromProp(isStretch, 1)}\n flexBasis={createResponsiveStyleFromProp(isStretch, 0)}\n width={isStretch ? undefined : width}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useReducer, useRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { View } from '../../../native-base/primitives';\nimport { getEnterKeyHintForNumericInput } from '../../../utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput';\nimport type { InputTextProps } from '../../InputText/InputText';\nimport type { DatePickerProps } from '../DatePicker';\nimport { keyboardDatePickerReducer } from '../reducers/keyboardDatePickerReducer';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { isNumber } from '../utils/isNumber';\nimport { onDatePartChange } from '../utils/onDatePartChange';\nimport { stringToNumber } from '../utils/stringToNumber';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface KeyboardDatePickerProps extends DatePickerProps {\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const KeyboardDatePicker = forwardRef<RNTextInput, KeyboardDatePickerProps>(\n (\n {\n id,\n value,\n testID,\n stretch,\n placeholder,\n minDate,\n maxDate,\n disabled,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n enterKeyHint,\n onChange,\n onBlur,\n onFocus,\n onSubmitEditing,\n ...props\n }: KeyboardDatePickerProps,\n ref,\n ): ReactElement => {\n const monthRef = useRef<RNTextInput>(null);\n const yearRef = useRef<RNTextInput>(null);\n\n const defaultValue = value;\n\n const defaultDay = defaultValue?.getDate();\n const defaultMonth = defaultValue ? defaultValue.getMonth() + 1 : undefined;\n const defaultYear = defaultValue?.getFullYear();\n\n const [state, dispatch] = useReducer(keyboardDatePickerReducer, {\n currentValue: defaultValue,\n currentDay: defaultDay,\n currentMonth: defaultMonth,\n currentYear: defaultYear,\n displayedDay: defaultDay ? dayFormatter(defaultDay) : '',\n displayedMonth: defaultMonth ? monthFormatter(defaultMonth) : '',\n displayedYear: defaultYear ? yearFormatter(defaultYear) : '',\n minDate,\n maxDate,\n });\n\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n const handleDatePartChange = (\n day: number | undefined,\n month: number | undefined,\n year: number | undefined,\n ): void => {\n onDatePartChange({ day, month, year, minDate: state.minDate, maxDate: state.maxDate, onFocus, onBlur, onChange });\n };\n\n const handleAutoFocusNextField = (currentFieldValue: string, nextFieldRef: React.RefObject<RNTextInput>): void => {\n if (currentFieldValue.length === 2 && nextFieldRef.current) {\n nextFieldRef.current.focus();\n }\n };\n\n return (\n <View testID={testID} id={id}>\n <HStack space=\"kitt.2\">\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n ref={ref}\n id={id ? `${id}-day` : undefined}\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={state.displayedDay}\n enterKeyHint={getEnterKeyHintForNumericInput('next')}\n onChange={(e) => {\n const nextDay = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'day-change', nextDay });\n\n if (nextDay && isNumber(nextDay)) {\n handleDatePartChange(nextDay, state.currentMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, monthRef);\n }}\n onBlur={() => dispatch({ type: 'day-blur' })}\n onSubmitEditing={() => {\n monthRef.current?.focus();\n }}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n ref={monthRef}\n id={id ? `${id}-month` : undefined}\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={state.displayedMonth}\n enterKeyHint={getEnterKeyHintForNumericInput('next')}\n onChange={(e) => {\n const nextMonth = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'month-change', nextMonth });\n\n if (nextMonth && isNumber(nextMonth)) {\n handleDatePartChange(state.currentDay, nextMonth, state.currentYear);\n }\n\n handleAutoFocusNextField(e.nativeEvent.text, yearRef);\n }}\n onBlur={() => dispatch({ type: 'month-blur' })}\n onSubmitEditing={() => {\n yearRef.current?.focus();\n }}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n ref={yearRef}\n id={id ? `${id}-year` : undefined}\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={state.displayedYear}\n enterKeyHint={enterKeyHint ? getEnterKeyHintForNumericInput(enterKeyHint) : undefined}\n onChange={(e) => {\n const nextYear = stringToNumber(e.nativeEvent.text);\n\n dispatch({ type: 'year-change', nextYear });\n\n if (nextYear && isNumber(nextYear)) {\n handleDatePartChange(state.currentDay, state.currentMonth, nextYear);\n }\n }}\n onBlur={() => dispatch({ type: 'year-blur' })}\n onSubmitEditing={onSubmitEditing}\n />\n </PartContainer>\n </HStack>\n </View>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { HStack } from '../../../native-base/layout';\nimport { Pressable, View } from '../../../native-base/primitives';\nimport { createResponsiveStyleFromProp } from '../../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { DatePickerProps } from '../DatePicker';\nimport { dayFormatter, monthFormatter, yearFormatter } from '../utils/dateFormatter';\nimport { InputPart } from './InputPart';\nimport { PartContainer } from './PartContainer';\n\ninterface PressableDateInputsProps extends Omit<DatePickerProps, 'onChange'> {\n onPress: () => void;\n}\n\nexport const PressableDateInputs = forwardRef<PressableProps, PressableDateInputsProps>(\n (\n {\n disabled,\n stretch,\n id,\n testID,\n value,\n placeholder,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onPress,\n }: PressableDateInputsProps,\n ref,\n ): ReactElement => {\n const sharedInputPartProps = {\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n disabled,\n };\n\n return (\n <Pressable\n ref={ref}\n display=\"flex\"\n flexDirection=\"row\"\n position=\"relative\"\n alignSelf={createResponsiveStyleFromProp(stretch, undefined, 'baseline')}\n id={id}\n disabled={disabled}\n testID={testID}\n onPress={onPress}\n >\n <View\n position=\"relative\"\n width={createResponsiveStyleFromProp(stretch, '100%')}\n style={{\n pointerEvents: 'none',\n }}\n >\n <HStack space=\"kitt.2\" width={createResponsiveStyleFromProp(stretch, '100%')}>\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.day.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.day}\n value={value ? dayFormatter(value.getDate()) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.month.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.month}\n value={value ? monthFormatter(value.getMonth() + 1) : undefined}\n />\n </PartContainer>\n\n <PartContainer isStretch={stretch} width=\"kitt.forms.datePicker.year.minWidth\">\n <InputPart\n {...sharedInputPartProps}\n placeholder={placeholder?.year}\n value={value ? yearFormatter(value.getFullYear()) : undefined}\n />\n </PartContainer>\n </HStack>\n <View width=\"100%\" height=\"100%\" position=\"absolute\" top=\"0\" left=\"0\" />\n </View>\n </Pressable>\n );\n },\n);\n","import { DateTimePickerAndroid } from '@react-native-community/datetimepicker';\nimport { forwardRef, useEffect, useState } from 'react';\nimport type { ReactElement } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\n\ninterface DatePickerAndroidProps extends Except<DatePickerProps, 'pickerUITitle' | 'pickerUIValidateButtonLabel'> {}\n\nexport const DatePickerAndroid = forwardRef<PressableProps, DatePickerAndroidProps>(\n (\n {\n onBlur,\n onFocus,\n pickerDefaultDate,\n pickerUITestID,\n isDefaultVisible,\n value,\n onChange,\n ...props\n }: DatePickerAndroidProps,\n ref,\n ): ReactElement => {\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleClose = (): void => {\n if (onBlur) onBlur();\n };\n\n const handleModalOpen = (): void => {\n setIsFocused(true);\n if (onFocus) onFocus();\n\n DateTimePickerAndroid.open({\n testID: pickerUITestID,\n value: currentValue || pickerDefaultDate || new Date(Date.now()),\n onChange: (e) => {\n setIsFocused(false);\n const { timestamp } = e.nativeEvent;\n if (timestamp) {\n const date = new Date(timestamp);\n\n setCurrentValue(date);\n onChange(date);\n handleClose();\n }\n },\n onTouchCancel: handleClose,\n });\n };\n\n useEffect(() => {\n if (isDefaultVisible) handleModalOpen();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused}\n onPress={handleModalOpen}\n {...props}\n />\n );\n },\n);\n","import DateTimePicker from '@react-native-community/datetimepicker';\nimport type { DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport type { ComponentProps, ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { useTheme } from '../../../../KittThemeContext';\n\ntype DateTimePickerProps = ComponentProps<typeof DateTimePicker>;\n\nfunction getDatePickerDisplayMode(): DateTimePickerProps['display'] {\n if (Platform.OS === 'android') return 'calendar';\n\n if (Platform.OS === 'ios') return 'spinner';\n\n return 'default';\n}\n\nexport interface PlatformDateTimePickerProps {\n value?: Date;\n defaultDate?: Date;\n maximumDate?: DateTimePickerProps['maximumDate'];\n minimuDate?: DateTimePickerProps['minimumDate'];\n testID?: DateTimePickerProps['testID'];\n onChange: (newDate?: Date) => void;\n}\n\nexport function PlatformDateTimePicker({\n value,\n defaultDate = new Date(),\n maximumDate,\n minimuDate,\n testID,\n onChange,\n}: PlatformDateTimePickerProps): ReactNode {\n const theme = useTheme();\n const displayMode = getDatePickerDisplayMode();\n\n const iosProps = Platform.OS === 'ios' ? { textColor: theme.kitt.colors.primary } : {};\n\n return (\n <DateTimePicker\n is24Hour\n testID={testID}\n value={value || defaultDate}\n mode=\"date\"\n maximumDate={maximumDate}\n minimumDate={minimuDate}\n display={displayMode}\n {...iosProps}\n onChange={(_event: DateTimePickerEvent, date?: Date | undefined) => onChange(date)}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Text } from 'react-native';\nimport { Button } from '../../../../Button/Button';\nimport { CardModal } from '../../../../CardModal/CardModal';\nimport { Typography } from '../../../../typography/Typography';\nimport type { PlatformDateTimePickerProps } from './PlatformDateTimePicker';\nimport { PlatformDateTimePicker } from './PlatformDateTimePicker';\n\ninterface ModalTitleProps {\n children: NonNullable<ReactNode>;\n}\n\nfunction ModalTitle({ children }: ModalTitleProps): ReactNode {\n return (\n <CardModal.Header>\n <Typography.Text base=\"body\" variant=\"bold\">\n {children}\n </Typography.Text>\n </CardModal.Header>\n );\n}\n\ninterface ModalPlatformDateTimePickerProps extends PlatformDateTimePickerProps {\n title?: ReactNode;\n isVisible?: boolean;\n validateButtonLabel?: string;\n onClose: () => void;\n}\n\nexport function ModalPlatformDateTimePicker({\n title,\n isVisible,\n value,\n validateButtonLabel,\n onClose,\n onChange,\n ...props\n}: ModalPlatformDateTimePickerProps): ReactNode {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue((prev) => {\n return newDate || prev;\n });\n };\n\n return (\n <CardModal.ModalBehaviour visible={Boolean(isVisible)} onClose={handleClose}>\n <CardModal>\n {isVisible ? (\n <>\n {title ? <ModalTitle>{title}</ModalTitle> : null}\n\n <CardModal.Body>\n <PlatformDateTimePicker {...props} value={currentValue} onChange={handleChange} />\n </CardModal.Body>\n\n <CardModal.Footer>\n <Button stretch type=\"primary\" onPress={handleSubmit}>\n {validateButtonLabel ? (\n <Text>{validateButtonLabel}</Text>\n ) : (\n <FormattedMessage id=\"kitt-universal.ModalPlatformDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n )}\n </Button>\n </CardModal.Footer>\n </>\n ) : null}\n </CardModal>\n </CardModal.ModalBehaviour>\n );\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { PressableProps } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { PressableDateInputs } from '../PressableDateInputs';\nimport { ModalPlatformDateTimePicker } from './ModalPlatformDateTimePicker';\n\nexport const DefaultNativeUIDatePicker = forwardRef<PressableProps, DatePickerProps>(\n (\n {\n value,\n pickerUITestID,\n pickerUITitle,\n pickerUIValidateButtonLabel,\n isDefaultVisible,\n pickerDefaultDate,\n isFocusedInternal,\n isHoveredInternal,\n isPressedInternal,\n onChange,\n onFocus,\n onBlur,\n ...props\n }: DatePickerProps,\n ref,\n ): ReactElement => {\n const [isPickerUIVisible, setIsPickerUIVisible] = useState(isDefaultVisible);\n const [isFocused, setIsFocused] = useState(false);\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n\n const handleModalOpen = (): void => {\n if (onFocus) onFocus();\n\n setIsPickerUIVisible(true);\n\n setIsFocused(true);\n };\n\n const handleModalClose = (): void => {\n if (onBlur) onBlur();\n\n setIsPickerUIVisible(false);\n\n setIsFocused(false);\n };\n\n const handleChange = (newDate?: Date): void => {\n setCurrentValue(newDate);\n\n onChange(newDate);\n\n handleModalClose();\n };\n\n return (\n <>\n <PressableDateInputs\n ref={ref}\n value={currentValue}\n isFocusedInternal={isFocused || isFocusedInternal}\n isHoveredInternal={isHoveredInternal}\n isPressedInternal={isPressedInternal}\n onPress={handleModalOpen}\n {...props}\n />\n\n <ModalPlatformDateTimePicker\n testID={pickerUITestID}\n value={currentValue}\n isVisible={isPickerUIVisible}\n title={pickerUITitle}\n validateButtonLabel={pickerUIValidateButtonLabel}\n defaultDate={pickerDefaultDate}\n onClose={handleModalClose}\n onChange={handleChange}\n />\n </>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps } from 'react-native';\nimport { Platform } from 'react-native';\nimport type { DatePickerProps } from '../../DatePicker';\nimport { DatePickerAndroid } from './DatePickerAndroid';\nimport { DefaultNativeUIDatePicker } from './DefaultNativeUIDatePicker';\n\ninterface NativeUIDatePickerProps extends DatePickerProps {}\n\nexport const NativeUIDatePicker = forwardRef<PressableProps, NativeUIDatePickerProps>(\n (\n { value, pickerUITestID, isDefaultVisible, pickerDefaultDate, onChange, onBlur, ...props }: NativeUIDatePickerProps,\n ref,\n ): ReactElement => {\n if (Platform.OS === 'android') {\n return (\n <DatePickerAndroid\n ref={ref}\n pickerDefaultDate={pickerDefaultDate}\n pickerUITestID={pickerUITestID}\n isDefaultVisible={isDefaultVisible}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n }\n\n return (\n <DefaultNativeUIDatePicker\n ref={ref}\n value={value}\n isDefaultVisible={isDefaultVisible}\n pickerUITestID={pickerUITestID}\n onChange={onChange}\n onBlur={onBlur}\n {...props}\n />\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport type React from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, TextInput as RNTextInput } from 'react-native';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { KeyboardDatePicker } from './components/KeyboardDatePicker';\nimport { NativeUIDatePicker } from './components/NativeUIDatePicker/NativeUIDatePicker';\n\ntype DatePickerFillMode = 'keyboard' | 'native';\n\ninterface DatePickerPlaceholder {\n day: string;\n month: string;\n year: string;\n}\n\nexport interface DatePickerProps {\n id?: string;\n testID?: string;\n disabled?: boolean;\n /**\n * @description value of the input\n */\n value?: Date;\n placeholder?: DatePickerPlaceholder;\n /** @description minimum date for the value to be valid */\n minDate?: Date;\n /** @description maximum date for the value to be valid */\n maxDate?: Date;\n /** @description Native only props - testID of the native platform picker */\n pickerUITestID?: string;\n /** @description Display a keyboard or the native picker. Web only has \"keyboard\" mode available */\n fillMode?: DatePickerFillMode;\n /** @description Native only props - Default date to be displayed on the native UI before any interactions */\n pickerDefaultDate?: Date;\n /** @description iOS only props - Text of the title of the Kitt modal displaying the platform picker on iOS */\n pickerUITitle?: string;\n /** @description iOS only props - Label of the validate button shown in the Kitt modal displaying the platform picker on iOS */\n pickerUIValidateButtonLabel?: string;\n /** @description Native only props - Controls the default visibility of the native picker */\n isDefaultVisible?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n enterKeyHint?: InputTextProps['enterKeyHint'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onChange: (date?: Date) => void;\n onBlur?: (e?: any) => void;\n onFocus?: (e?: any) => void;\n onSubmitEditing?: InputTextProps['onSubmitEditing'];\n}\n\nexport const DatePicker = forwardRef<PressableProps | RNTextInput, DatePickerProps>(\n ({ fillMode = 'native', enterKeyHint, value, onSubmitEditing, ...props }: DatePickerProps, ref): ReactElement => {\n // in apps, final-form can give a string value that will break the component\n const currentValue = value || undefined;\n\n if (fillMode === 'keyboard') {\n return (\n <KeyboardDatePicker\n ref={ref as React.ForwardedRef<RNTextInput>}\n {...props}\n value={currentValue}\n enterKeyHint={enterKeyHint}\n onSubmitEditing={onSubmitEditing}\n />\n );\n }\n\n return <NativeUIDatePicker ref={ref as React.ForwardedRef<PressableProps>} {...props} value={currentValue} />;\n },\n);\n","import type { ReactNode } from 'react';\nimport { createContext } from 'react';\n\nexport const GoogleMapsApiKeyContext = createContext<string | undefined>(undefined);\n\nexport interface GoogleMapsApiKeyProviderProps {\n children: ReactNode;\n apiKey: string;\n}\n\nexport function GoogleMapsApiKeyProvider({ children, apiKey }: GoogleMapsApiKeyProviderProps): ReactNode {\n return <GoogleMapsApiKeyContext.Provider value={apiKey}>{children}</GoogleMapsApiKeyContext.Provider>;\n}\n","import { useContext } from 'react';\nimport { GoogleMapsApiKeyContext } from '../GoogleMapsApiKeyProvider';\n\nexport function useGoogleMapApiKey(): string {\n const context = useContext(GoogleMapsApiKeyContext);\n\n if (!context) {\n throw new Error('<GoogleMapsApiKeyContext> missing in the react tree');\n }\n\n return context;\n}\n","export function makeMapsApiUrl(resource: string, paramName: string, value: string, apiKey: string): string {\n return `https://maps.googleapis.com/maps/api/${resource}/json?${paramName}=${encodeURIComponent(\n value,\n )}&key=${apiKey}`;\n}\n","import { useGoogleMapApiKey } from '../../GoogleMapsApiKeyProvider/hooks/useGoogleMapApiKey';\nimport { makeMapsApiUrl } from '../utils/makeMapsApiUrl';\n\nexport interface GetDetailsResponse {\n result?: google.maps.places.PlaceResult;\n status: google.maps.places.PlacesServiceStatus;\n}\n\nexport interface GetPlacePredictions {\n results: google.maps.places.AutocompletePrediction[];\n status: google.maps.places.PlacesServiceStatus;\n}\n\nexport interface UseGooglePlacesServices {\n autoComplete: {\n getPlacePredictions: (input: string) => Promise<GetPlacePredictions>;\n };\n placesService: {\n getDetails: (placeId: string) => Promise<GetDetailsResponse>;\n };\n}\n\nexport function useGoogleMapsApi(): UseGooglePlacesServices {\n const apiKey = useGoogleMapApiKey();\n\n const makeApiUrl = (resource: string, paramName: string, value: string): string => {\n return makeMapsApiUrl(resource, paramName, value, apiKey);\n };\n\n const sharedFetchOptions = {\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n };\n\n const googlePlacesServices = {\n autoComplete: {\n getPlacePredictions: async (input: string): Promise<GetPlacePredictions> => {\n try {\n const response = await fetch(makeApiUrl('place/autocomplete', 'input', input), sharedFetchOptions);\n const data = await response.json();\n\n if (data?.status !== 'OK') {\n return { status: data?.status, results: [] };\n }\n\n return {\n results: data?.predictions,\n status: data?.status,\n };\n } catch (error) {\n return { status: google.maps.places.PlacesServiceStatus.UNKNOWN_ERROR, results: [] };\n }\n },\n },\n placesService: {\n getDetails: async (placeId: string): Promise<GetDetailsResponse> => {\n try {\n const response = await fetch(makeApiUrl('place/details', 'place_id', placeId), sharedFetchOptions);\n const data = await response.json();\n\n if (data?.status !== 'OK') {\n return { status: data?.status, result: undefined };\n }\n\n return {\n result: data?.result,\n status: data?.status,\n };\n } catch (error) {\n return { status: google.maps.places.PlacesServiceStatus.UNKNOWN_ERROR, result: undefined };\n }\n },\n },\n };\n\n return googlePlacesServices;\n}\n","import type { Reducer } from 'react';\n\nexport interface State {\n currentSelectedValue?: google.maps.places.PlaceResult;\n items: google.maps.places.AutocompletePrediction[];\n isLoadingSearch?: boolean;\n hasSearchError?: boolean;\n hasSelectResultError?: boolean;\n isLoadingResultDetails?: boolean;\n shouldDisplayEmptyStateWhenNoResults?: boolean;\n}\n\ninterface SearchChangeAction {\n type: 'search-change';\n}\n\ninterface SearchSuccessAction {\n type: 'search-success';\n payload: {\n results: google.maps.places.AutocompletePrediction[];\n };\n}\n\ninterface SearchErrorAction {\n type: 'search-error';\n}\n\ninterface SelectResultAction {\n type: 'select-result';\n}\n\ninterface SelectResultSuccessAction {\n type: 'select-result-success';\n payload: {\n result: google.maps.places.PlaceResult;\n };\n}\n\ninterface SelectResultErrorAction {\n type: 'select-result-error';\n}\n\ntype Actions =\n | SearchChangeAction\n | SelectResultAction\n | SearchSuccessAction\n | SearchErrorAction\n | SelectResultSuccessAction\n | SelectResultErrorAction;\n\nexport const googleMapsAutocompleteReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'search-change': {\n return {\n ...state,\n hasSearchError: false,\n isLoadingSearch: true,\n };\n }\n\n case 'search-success': {\n return {\n ...state,\n hasSearchError: false,\n isLoadingSearch: false,\n items: action.payload.results,\n };\n }\n\n case 'search-error': {\n return {\n ...state,\n hasSearchError: true,\n isLoadingSearch: false,\n items: [],\n };\n }\n\n case 'select-result': {\n return {\n ...state,\n hasSelectResultError: false,\n isLoadingResultDetails: true,\n };\n }\n\n case 'select-result-success': {\n return {\n ...state,\n hasSelectResultError: false,\n isLoadingResultDetails: false,\n currentSelectedValue: action.payload.result,\n };\n }\n\n case 'select-result-error': {\n return {\n ...state,\n hasSelectResultError: true,\n isLoadingResultDetails: false,\n currentSelectedValue: undefined,\n };\n }\n\n default:\n return state;\n }\n};\n","import type { GeocoderAddressComponent } from '../types';\n\nexport function findComponentByType(\n typeName: string,\n components: GeocoderAddressComponent[],\n): GeocoderAddressComponent | undefined {\n return components.find((component) => component.types.includes(typeName));\n}\n\nconst matchStreetNumberWithOriginalAddress = (streetNumber = '', address = ''): string => {\n const regex = / *(\\d*[-/_]{0,1}\\d*) *(bis|ter|quater|quinquies|sexies|septies|octies|novies|decies|[a-z])? /i;\n const [, number = '', extension = ''] = regex.exec(address) || [];\n\n if (number) return `${number}${extension}`;\n\n return streetNumber;\n};\n\ntype GooglePlaceResult = google.maps.places.PlaceResult;\n\nexport interface AutoCompleteAddress {\n source: 'google';\n lat?: number;\n lng?: number;\n streetNumber?: string;\n streetName?: string;\n zipcode?: string;\n locality?: string;\n subLocality?: string;\n country?: string;\n administrativeAreaLevel1?: string;\n administrativeAreaLevel2?: string;\n}\n\nexport const formatAddressFromGoogle = (\n placeResult: GooglePlaceResult,\n originalAddress?: string,\n): AutoCompleteAddress => {\n const { address_components: addressComponents = [] } = placeResult;\n\n return {\n source: 'google',\n lat: placeResult.geometry?.location.lat(),\n lng: placeResult.geometry?.location.lng(),\n locality: findComponentByType('locality', addressComponents)?.long_name,\n subLocality: findComponentByType('sublocality', addressComponents)?.long_name,\n zipcode: findComponentByType('postal_code', addressComponents)?.long_name,\n streetName: findComponentByType('route', addressComponents)?.long_name,\n streetNumber: matchStreetNumberWithOriginalAddress(\n findComponentByType('street_number', addressComponents)?.long_name,\n originalAddress,\n ),\n country: findComponentByType('country', addressComponents)?.long_name,\n administrativeAreaLevel1: findComponentByType('administrative_area_level_1', addressComponents)?.long_name,\n administrativeAreaLevel2: findComponentByType('administrative_area_level_1', addressComponents)?.long_name,\n };\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { createContext, useCallback, useMemo, useReducer, useRef } from 'react';\nimport { useDebouncedCallback } from 'use-debounce';\nimport { useGoogleMapsApi } from './hooks/useGoogleMapsApi';\nimport { googleMapsAutocompleteReducer } from './reducer/googleMapsAutocompleteReducer';\nimport type { State } from './reducer/googleMapsAutocompleteReducer';\nimport type { AutoCompletePrediction } from './types';\nimport type { AutoCompleteAddress } from './utils/formatAddressFromGoogle';\nimport { formatAddressFromGoogle } from './utils/formatAddressFromGoogle';\n\nexport interface GoogleMapsAutocompleteContextApi {\n state: State;\n onInputChange: (value: string) => Promise<void> | undefined;\n onSelectItem: (item: AutoCompletePrediction | null, onChange: (nextValue?: AutoCompleteAddress) => void) => void;\n}\n\nexport const GoogleMapsAutocompleteContext = createContext<GoogleMapsAutocompleteContextApi>({\n state: {\n items: [],\n currentSelectedValue: undefined,\n isLoadingSearch: false,\n hasSearchError: false,\n hasSelectResultError: false,\n isLoadingResultDetails: false,\n shouldDisplayEmptyStateWhenNoResults: false,\n },\n onInputChange: (value) => {\n return Promise.resolve();\n },\n onSelectItem: (item) => {},\n});\n\nexport interface GoogleMapsAutocompleteProviderProps {\n children: ReactElement;\n minCharsToSearch?: number;\n debounceTimeout?: number;\n}\n\nexport function GoogleMapsAutocompleteProvider({\n children,\n minCharsToSearch = 3,\n debounceTimeout = 950,\n}: GoogleMapsAutocompleteProviderProps): ReactNode {\n const mapsApi = useGoogleMapsApi();\n\n const searchResultsCache = useRef<Record<string, AutoCompletePrediction[]>>({});\n const resultDetailsCache = useRef<Record<string, google.maps.places.PlaceResult>>({});\n\n const [state, dispatch] = useReducer(googleMapsAutocompleteReducer, {\n items: [],\n shouldDisplayEmptyStateWhenNoResults: false,\n });\n\n const handleInputChange = useDebouncedCallback(\n useCallback(\n async (value: string): Promise<void> => {\n if (value.length < minCharsToSearch) return;\n\n dispatch({ type: 'search-change' });\n\n // If the user types the same value as the previous search, we don't need to call the API again\n const predictionsPromise = searchResultsCache.current[value]\n ? Promise.resolve({ results: searchResultsCache.current[value], status: 'OK' })\n : mapsApi.autoComplete.getPlacePredictions(value);\n\n try {\n const { results, status } = await predictionsPromise;\n\n if (status !== 'OK') {\n dispatch({ type: 'search-error' });\n return;\n }\n\n // We cache the results to avoid calling the API again if the user types the same value\n searchResultsCache.current[value] = results;\n\n dispatch({ type: 'search-success', payload: { results } });\n } catch (error) {\n dispatch({ type: 'search-error' });\n }\n },\n [mapsApi.autoComplete, minCharsToSearch],\n ),\n debounceTimeout,\n );\n\n const handleSelectItem = useCallback(\n async (\n item: AutoCompletePrediction | null,\n onChange: (nextValue?: AutoCompleteAddress) => void,\n ): Promise<AutoCompleteAddress | undefined> => {\n // This case should never happen but it's here to avoid a TS error\n if (!item?.place_id) {\n if (onChange) onChange(undefined);\n return;\n }\n\n dispatch({ type: 'select-result' });\n\n try {\n // If we already have the details in cache, we don't need to fetch them again\n const placePromise = resultDetailsCache.current[item.place_id]\n ? Promise.resolve(resultDetailsCache.current[item.place_id])\n : mapsApi.placesService.getDetails(item.place_id).then(({ result }) => result);\n\n const place = await placePromise;\n\n if (!place) {\n dispatch({ type: 'select-result-error' });\n\n if (onChange) onChange(undefined);\n return;\n }\n\n dispatch({\n type: 'select-result-success',\n payload: {\n result: place,\n },\n });\n\n const formattedAddress = formatAddressFromGoogle(place, item.description);\n\n // We cache the result details to avoid fetching them again if the user selects the same item\n resultDetailsCache.current[item.place_id] = place;\n\n if (onChange) onChange(formattedAddress);\n } catch (error) {\n dispatch({ type: 'select-result-error' });\n\n if (onChange) onChange(undefined);\n }\n },\n [mapsApi.placesService],\n );\n\n const api = useMemo(\n () => ({ state, onSelectItem: handleSelectItem, onInputChange: handleInputChange }),\n [handleInputChange, handleSelectItem, state],\n );\n\n return <GoogleMapsAutocompleteContext.Provider value={api}>{children}</GoogleMapsAutocompleteContext.Provider>;\n}\n","import { useContext } from 'react';\nimport type { GoogleMapsAutocompleteContextApi } from '../GoogleMapsAutocompleteProvider';\nimport { GoogleMapsAutocompleteContext } from '../GoogleMapsAutocompleteProvider';\n\nexport function useGoogleMapsAutocomplete(): GoogleMapsAutocompleteContextApi {\n const context = useContext(GoogleMapsAutocompleteContext);\n\n if (!context) {\n throw new Error('<GoogleMapsAutocompleteProvider> missing in the react tree');\n }\n\n return context;\n}\n","import { MapPinIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport type { AutoCompletePrediction } from '../../GoogleMapsAutocompleteProvider/types';\nimport { HStack } from '../../native-base/layout';\nimport { View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\nimport { Autocomplete } from '../Autocomplete/Autocomplete';\n\nexport interface InputAddressOptionProps {\n item: AutoCompletePrediction;\n}\n\nexport function InputAddressOption({ item }: InputAddressOptionProps): ReactNode {\n const sharedTransform = {\n style: {\n transform: 'translateY(4)',\n },\n };\n\n return (\n <Autocomplete.Option item={item}>\n <HStack space=\"kitt.2\">\n <View _web={sharedTransform} _ios={sharedTransform} _android={sharedTransform}>\n <TypographyIcon icon={<MapPinIcon />} color=\"black\" />\n </View>\n <View flexShrink={1}>\n <Typography.Text>\n <Typography.Text variant=\"bold\">{item.structured_formatting.main_text}</Typography.Text>\n {item.structured_formatting.secondary_text ? (\n <Typography.Text color=\"black-light\" variant=\"bold\">\n {' '}\n {item.structured_formatting.secondary_text}\n </Typography.Text>\n ) : null}\n </Typography.Text>\n </View>\n </HStack>\n </Autocomplete.Option>\n );\n}\n","export function defaultItemToString(item?: google.maps.places.AutocompletePrediction): string {\n if (!item) return '';\n return item.structured_formatting.main_text;\n}\n","import type { AutoCompleteAddress } from '../../../GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle';\n\n// This function takes AutocompleteAddress and return a valid google AutocompletePrediction\nexport function formatInitialValueToAutocompletePrediction(\n address: AutoCompleteAddress,\n placeId: string,\n): google.maps.places.AutocompletePrediction {\n return {\n place_id: placeId,\n description: '',\n reference: '',\n types: [],\n terms: [],\n matched_substrings: [],\n structured_formatting: {\n main_text: [address.streetName, address.streetNumber].filter(Boolean).join(' '),\n main_text_matched_substrings: [],\n secondary_text: [address.zipcode, address.locality, address.subLocality].filter(Boolean).join(' '),\n },\n };\n}\n","import type { ReactNode } from 'react';\nimport { useGoogleMapsAutocomplete } from '../../GoogleMapsAutocompleteProvider/hooks/useGoogleMapsAutocomplete';\nimport type { AutoCompletePrediction } from '../../GoogleMapsAutocompleteProvider/types';\nimport type { AutoCompleteAddress } from '../../GoogleMapsAutocompleteProvider/utils/formatAddressFromGoogle';\nimport { Icon } from '../../Icon/Icon';\nimport { LoaderIcon } from '../../LoaderIcon/LoaderIcon';\nimport { Autocomplete } from '../Autocomplete/Autocomplete';\nimport type { AutocompleteProps } from '../Autocomplete/Autocomplete';\nimport { InputAddressOption } from './InputAddressOption';\nimport { defaultItemToString } from './utils/defaultItemToString';\nimport { formatInitialValueToAutocompletePrediction } from './utils/formatInitialValueToAutocompletePrediction';\n\nexport interface InputAddressProps<T extends object>\n extends Omit<AutocompleteProps<T>, 'onChange' | 'checkSelectedItem' | 'itemToString' | 'children' | 'initialValue'> {\n initialValue?: AutoCompleteAddress;\n itemToString?: (item?: AutoCompletePrediction) => string;\n onChange: (address: AutoCompleteAddress | undefined) => void;\n}\n\nexport function InputAddress({\n initialValue,\n itemToString = defaultItemToString,\n errorElement,\n emptyResultsElement,\n onChange,\n ...props\n}: InputAddressProps<AutoCompleteAddress>): ReactNode {\n const { state, onInputChange, onSelectItem } = useGoogleMapsAutocomplete();\n\n // place_id is a google field that is not available within an AutoCompleteAddress, so we need to add a fake one when handling initial values\n const formattedInitialValue = initialValue\n ? formatInitialValueToAutocompletePrediction(initialValue, 'initial-value-placeId')\n : undefined;\n\n return (\n <Autocomplete<AutoCompletePrediction>\n {...(props as AutocompleteProps<AutoCompletePrediction>)}\n itemToString={itemToString}\n initialValue={formattedInitialValue}\n checkSelectedItem={(selectedItem, item) => selectedItem?.place_id === item.place_id}\n right={\n state.isLoadingSearch || state.isLoadingResultDetails ? (\n <Icon icon={<LoaderIcon />} color=\"kitt.black\" />\n ) : undefined\n }\n errorElement={state.hasSearchError || state.hasSelectResultError ? errorElement : null}\n emptyResultsElement={state.items.length === 0 ? emptyResultsElement : null}\n onInputChange={(v) => {\n onInputChange(v);\n }}\n onChange={(v) => {\n onSelectItem(v, onChange);\n }}\n >\n {state.items.map((item) => (\n <InputAddressOption key={item.place_id} item={item} />\n ))}\n </Autocomplete>\n );\n}\n\nInputAddress.Option = InputAddressOption;\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputEmailProps\n extends Except<InputTextProps, 'autoComplete' | 'inputMode' | 'textContentType' | 'autoCapitalize'> {}\n\nexport const InputEmail = forwardRef<RNTextInput, InputEmailProps>((props: InputEmailProps, ref): ReactElement => {\n return (\n <InputText\n ref={ref}\n autoComplete=\"email\"\n inputMode=\"email\"\n textContentType=\"emailAddress\"\n autoCapitalize=\"none\"\n {...props}\n />\n );\n});\n","import type { ReactNode } from 'react';\nimport { Typography } from '../../typography/Typography';\nimport type { TypographyColor, TypographyProps } from '../../typography/Typography';\nimport type { InputFormState } from '../utils';\n\nexport interface InputFeedbackProps {\n state?: InputFormState;\n testID?: TypographyProps['testID'];\n children: NonNullable<ReactNode>;\n}\n\nconst getColorFromState = (state?: InputFormState): TypographyColor => {\n switch (state) {\n case 'invalid':\n return 'danger';\n case 'valid':\n default:\n return 'black-light';\n }\n};\n\nexport function InputFeedback({ state, testID, children }: InputFeedbackProps): ReactNode {\n return (\n <Typography.Text base=\"body-small\" color={getColorFromState(state)} testID={testID}>\n {children}\n </Typography.Text>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\n\nexport interface InputFieldProps {\n label?: ReactNode;\n labelFeedback?: ReactNode;\n input: NonNullable<ReactNode>;\n feedback?: ReactNode;\n}\n\nexport function InputField({ label, labelFeedback, input, feedback }: InputFieldProps): ReactNode {\n const theme = useTheme();\n return (\n <View\n paddingTop={theme.kitt.forms.inputField.containerPaddingTop}\n paddingBottom={theme.kitt.forms.inputField.containerPaddingBottom}\n >\n {label ? (\n <View\n flexDirection=\"row\"\n alignItems=\"center\"\n paddingBottom={theme.kitt.forms.inputField.labelContainerPaddingBottom}\n >\n <View marginRight={theme.kitt.forms.inputField.labelFeedbackMarginLeft}>{label}</View>\n {labelFeedback}\n </View>\n ) : null}\n {input}\n {feedback ? <View paddingTop={theme.kitt.forms.inputField.feedbackPaddingTop}>{feedback}</View> : null}\n </View>\n );\n}\n","import { forwardRef } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputNumberProps extends Except<InputTextProps, 'inputMode'> {}\n\nexport const InputNumber = forwardRef<RNTextInput, InputNumberProps>(({ onChange, ...props }, ref) => {\n const handleChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n if (!onChange) return;\n\n const value = parseFloat(event.nativeEvent.text);\n\n // Number.isNaN and isNaN are not consistent\n // eslint-disable-next-line no-restricted-globals, no-param-reassign\n event.nativeEvent.text = isNaN(value) ? '' : value.toString();\n\n onChange(event);\n };\n return <InputText ref={ref} {...props} inputMode=\"numeric\" onChange={handleChange} />;\n});\n","import { EyeClosedRegularIcon, EyeRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport { InputIcon } from '../InputIcon/InputIcon';\nimport { InputPressable } from '../InputPressable/InputPressable';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface InputPasswordProps extends InputTextProps {\n isPasswordDefaultVisible?: boolean;\n}\n\nexport const InputPassword = forwardRef<RNTextInput, InputPasswordProps>(\n ({ isPasswordDefaultVisible, right, ...props }: InputPasswordProps, ref): ReactElement => {\n const [isVisible, setIsVisible] = useState(Boolean(isPasswordDefaultVisible));\n\n return (\n <InputText\n ref={ref}\n {...props}\n textContentType=\"password\"\n autoComplete=\"password\"\n autoCorrect={false}\n secureTextEntry={!isVisible}\n right={\n right || (\n <InputPressable\n testID=\"kitt.InputPassword.passwordToggle\"\n hitSlop={20}\n accessibilityRole=\"button\"\n onPress={() => setIsVisible((prev) => !prev)}\n >\n <InputIcon icon={isVisible ? <EyeClosedRegularIcon /> : <EyeRegularIcon />} />\n </InputPressable>\n )\n }\n />\n );\n },\n);\n","import type { CountryCallingCode, ParsedNumber } from 'libphonenumber-js';\nimport { getCountryCallingCode, isValidNumber, parseNumber } from 'libphonenumber-js';\nimport type { ReactElement } from 'react';\nimport { forwardRef, useState } from 'react';\nimport type { NativeSyntheticEvent, TextInput as RNTextInput, TextInputChangeEventData } from 'react-native';\nimport type { Except } from 'type-fest';\nimport { getEnterKeyHintForNumericInput } from '../../utils/getEnterKeyHintForNumericInput/getEnterKeyHintForNumericInput';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nfunction isPhoneNumberValid(number: Record<string, never> | ParsedNumber): number is ParsedNumber {\n return isValidNumber(number as ParsedNumber);\n}\n\nfunction prefixWithZero(value: string, phoneNumberLength: number): string {\n return value.padStart(phoneNumberLength, '0');\n}\n\nexport interface InputPhoneNumberData extends ParsedNumber {\n countryCode: CountryCallingCode;\n originalNativeEventText: string;\n}\n\nexport interface InputPhoneProps extends Except<InputTextProps, 'inputMode' | 'textContentType'> {\n phoneNumberLength?: number;\n onChange?: (event: NativeSyntheticEvent<TextInputChangeEventData>, phoneNumberData?: InputPhoneNumberData) => void;\n}\n\nexport const InputPhone = forwardRef<RNTextInput, InputPhoneProps>(\n (\n { enterKeyHint, autoComplete = 'tel', phoneNumberLength = 10, value, onChange, ...props }: InputPhoneProps,\n ref,\n ): ReactElement => {\n const [currentValue, setCurrentValue] = useState(value);\n\n const currentEnterKeyHint = enterKeyHint ? getEnterKeyHintForNumericInput(enterKeyHint) : undefined;\n\n const handleChange = (event: NativeSyntheticEvent<TextInputChangeEventData>): void => {\n const number = parseNumber(event.nativeEvent.text);\n\n // When intl phone number is valid :\n // 1 - We extract intl data\n // 2 - We recreate the local value to display\n if (isPhoneNumberValid(number)) {\n const { phone } = number;\n\n const finalPhoneNumber = prefixWithZero(`${phone || ''}`, phoneNumberLength);\n\n const eventWithoutCountryCode = {\n ...event,\n nativeEvent: {\n ...event.nativeEvent,\n text: finalPhoneNumber,\n },\n };\n\n setCurrentValue(finalPhoneNumber);\n\n if (onChange) {\n onChange(eventWithoutCountryCode, {\n ...(number as ParsedNumber),\n countryCode: getCountryCallingCode(number.country),\n originalNativeEventText: event.nativeEvent.text,\n });\n }\n\n return;\n }\n\n // Value is correctly parsed but might not pass validation\n setCurrentValue(event.nativeEvent.text);\n if (onChange) onChange(event);\n };\n\n return (\n <InputText\n ref={ref}\n {...props}\n value={currentValue}\n inputMode=\"tel\"\n enterKeyHint={currentEnterKeyHint}\n autoComplete={autoComplete}\n textContentType=\"telephoneNumber\"\n onChange={handleChange}\n />\n );\n },\n);\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { TypographyIcon } from '../../typography/TypographyIcon';\n\ntype InputTagType = 'success' | 'danger';\n\nexport interface InputTagProps {\n type?: InputTagType;\n children: ReactNode;\n icon?: ReactElement;\n}\n\nexport function InputTag({ children, type, icon }: InputTagProps): ReactNode {\n const theme = useTheme();\n\n return (\n <View\n alignItems=\"center\"\n justifyContent=\"center\"\n flexDirection=\"row\"\n alignSelf=\"flex-start\"\n overflow=\"hidden\"\n paddingX=\"kitt.2\"\n backgroundColor={`kitt.forms.inputTag.${type || 'default'}.backgroundColor`}\n borderRadius=\"kitt.forms.inputTag.borderRadius\"\n >\n {icon ? (\n <View marginRight=\"kitt.1\">\n <TypographyIcon icon={icon} size={theme.kitt.forms.inputTag.iconSize} color=\"black\" />\n </View>\n ) : null}\n <Typography.Text base=\"body-small\" color=\"black\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Platform } from 'react-native';\nimport { Typography } from '../../typography/Typography';\n\nexport interface LabelProps {\n id?: string;\n htmlFor: string;\n children: NonNullable<ReactNode>;\n}\n\nexport function Label({ id, htmlFor, children }: LabelProps): ReactNode {\n const isWeb = Platform.OS === 'web';\n return (\n <Typography.Text base=\"body\" id={isWeb ? undefined : id}>\n {isWeb ? (\n <label id={id} htmlFor={htmlFor}>\n {children}\n </label>\n ) : (\n children\n )}\n </Typography.Text>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\n\ninterface InnerCircleProps {\n isChecked?: boolean;\n}\n\nexport function InnerCircle({ isChecked }: InnerCircleProps): ReactNode {\n const theme = useTheme();\n\n const sharedTransform = [{ scale: isChecked ? 1 : 0 }];\n\n return (\n <View\n width=\"kitt.forms.radio.innerCircle.size\"\n height=\"kitt.forms.radio.innerCircle.size\"\n borderRadius=\"kitt.forms.radio.innerCircle.borderRadius\"\n backgroundColor=\"kitt.forms.radio.innerCircle.backgroundColor\"\n _web={{\n style: {\n transform: `scale(${isChecked ? 1 : 0}))`,\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n _ios={{\n style: {\n transform: sharedTransform,\n },\n }}\n _android={{\n style: {\n transform: sharedTransform,\n },\n }}\n />\n );\n}\n","interface GetBackgroundColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBackgroundColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBackgroundColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.backgroundColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.backgroundColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.backgroundColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.backgroundColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.backgroundColor';\n\n return 'kitt.forms.radio.default.backgroundColor';\n}\n","interface GetBorderColorParams {\n isDisabled?: boolean;\n isChecked?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getBorderColor({\n isDisabled,\n isPressed,\n isHovered,\n isFocused,\n isChecked,\n}: GetBorderColorParams): string {\n if (isChecked) return 'kitt.forms.radio.checked.borderColor';\n\n if (isDisabled) return 'kitt.forms.radio.disabled.borderColor';\n\n if (isPressed) return 'kitt.forms.radio.pressed.borderColor';\n\n if (isHovered) return 'kitt.forms.radio.hover.borderColor';\n\n if (isFocused) return 'kitt.forms.radio.focus.borderColor';\n\n return 'kitt.forms.radio.default.borderColor';\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\nimport { getBackgroundColor } from './utils/getBackgroundColor';\nimport { getBorderColor } from './utils/getBorderColor';\n\ninterface OuterCircleProps {\n children: ReactElement;\n isChecked?: boolean;\n isDisabled?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n isPressed?: boolean;\n}\n\nexport function OuterCircle({\n children,\n isChecked,\n isDisabled,\n isHovered,\n isFocused,\n isPressed,\n}: OuterCircleProps): ReactNode {\n const theme = useTheme();\n\n return (\n <View\n alignItems=\"center\"\n justifyContent=\"center\"\n borderWidth=\"kitt.forms.radio.borderWidth\"\n width=\"kitt.forms.radio.size\"\n height=\"kitt.forms.radio.size\"\n borderRadius=\"kitt.forms.radio.borderRadius\"\n backgroundColor={getBackgroundColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n borderColor={getBorderColor({ isChecked, isDisabled, isFocused, isHovered, isPressed })}\n _web={{\n style: {\n transitionProperty: 'all',\n transitionDuration: theme.kitt.forms.radio.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radio.transition.timingFunction,\n },\n }}\n >\n {children}\n </View>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { GestureResponderEvent, PressableProps } from 'react-native';\nimport { HStack } from '../../native-base/layout';\nimport { Pressable } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport { InnerCircle } from './InnerCircle';\nimport { OuterCircle } from './OuterCircle';\n\nexport interface RadioProps {\n id?: string;\n testID?: string;\n name?: string;\n checked?: boolean;\n disabled?: boolean;\n right?: boolean;\n children?: NonNullable<ReactNode>;\n value: string;\n onChange?: (newValue: string, event: GestureResponderEvent) => void;\n onBlur?: () => void;\n onFocus?: () => void;\n}\n\nexport const Radio = forwardRef<PressableProps, RadioProps>(\n ({ id, checked, value, disabled, children, testID, onChange, onFocus, onBlur }: RadioProps, ref): ReactElement => {\n const handlePress: PressableProps['onPress'] = (event: GestureResponderEvent) => {\n if (onFocus) onFocus();\n if (onChange) onChange(value, event);\n if (onBlur) onBlur();\n };\n\n return (\n <Pressable\n ref={ref}\n testID={testID}\n id={id}\n disabled={disabled}\n accessibilityRole=\"radio\"\n aria-checked={checked}\n focusable={checked && !disabled}\n flexDirection=\"row\"\n alignItems=\"center\"\n onPress={handlePress}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <HStack space={children ? 'kitt.2' : undefined} alignItems=\"center\">\n <OuterCircle\n isChecked={checked}\n isDisabled={disabled}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n <InnerCircle isChecked={checked} />\n </OuterCircle>\n\n {children ? (\n <Typography.SetDefaultColor value={disabled ? 'black-light' : 'black'}>\n <Typography.Text base=\"body\">{children}</Typography.Text>\n </Typography.SetDefaultColor>\n ) : null}\n </HStack>\n )}\n </Pressable>\n );\n },\n);\n","import { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport Animated from 'react-native-reanimated';\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n isFocused?: boolean;\n isPressed?: boolean;\n isSelected?: boolean;\n isDisabled?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n animatedStyles: Partial<ViewStyle>;\n}\n\nexport function AnimatedContainer({ children, isFirst, isLast, animatedStyles }: AnimatedContainerProps): ReactNode {\n const sx = useSx();\n\n const styles = sx({\n borderWidth: 'kitt.forms.radioButtonGroup.item.borderWidth',\n borderTopLeftRadius: isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0,\n borderBottomLeftRadius: isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0,\n borderTopRightRadius: isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0,\n borderBottomRightRadius: isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0,\n borderLeftWidth: isFirst ? 'kitt.forms.radioButtonGroup.item.borderWidth' : 0,\n });\n\n return <Animated.View style={[styles, animatedStyles]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport type { DimensionValue } from 'react-native';\nimport { useTheme } from '../../KittThemeContext';\nimport { View } from '../../native-base/primitives';\n\ninterface FocusBorderProps {\n isPressed?: boolean;\n isHovered?: boolean;\n isSelected?: boolean;\n isFocused?: boolean;\n isFirst?: boolean;\n isLast?: boolean;\n}\n\nexport function HoverBorder({\n isFirst,\n isLast,\n isSelected,\n isHovered,\n isFocused,\n isPressed,\n}: FocusBorderProps): ReactNode {\n const theme = useTheme();\n const hasPointerInteraction = isPressed || isHovered || isFocused;\n const shouldDisplayBorder = isSelected ? true : hasPointerInteraction;\n\n return (\n <View\n _web={{\n style: {\n width: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)` as DimensionValue,\n height: `calc(100% + ${theme.kitt.forms.radioButtonGroup.item.borderWidth * 2}px)` as DimensionValue,\n transitionProperty: theme.kitt.forms.radioButtonGroup.item.transition.property,\n transitionDuration: theme.kitt.forms.radioButtonGroup.item.transition.duration,\n transitionTimingFunction: theme.kitt.forms.radioButtonGroup.item.transition.timingFunction,\n },\n }}\n opacity={shouldDisplayBorder ? 1 : 0}\n position=\"absolute\"\n top={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n left={-theme.kitt.forms.radioButtonGroup.item.borderWidth}\n margin={0}\n borderColor={`kitt.forms.radioButtonGroup.item.borderColor.${\n isHovered || isSelected || isFocused ? 'hover' : 'default'\n }`}\n borderWidth=\"kitt.forms.radioButtonGroup.item.borderWidth\"\n borderTopLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomLeftRadius={isFirst ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderTopRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n borderBottomRightRadius={isLast ? 'kitt.forms.radioButtonGroup.item.borderRadius' : 0}\n />\n );\n}\n","import type { ViewStyle } from 'react-native';\nimport { interpolateColor, useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../../KittThemeContext';\n\nexport interface UseNativeAnimationOptions {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressedInternal?: boolean;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n animatedStyles: ViewStyle;\n}\n\nexport const useNativeAnimation = ({\n isDisabled,\n isSelected,\n isPressedInternal,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const pressed = useSharedValue<0 | 1>(isPressedInternal ? 1 : 0);\n const color = useSharedValue(0);\n\n const { default: backgroundColor, pressed: pressedBackgroundColor } =\n theme.kitt.forms.radioButtonGroup.item.backgroundColor;\n\n const { default: borderColor, pressed: pressedBorderColor } = theme.kitt.forms.radioButtonGroup.item.borderColor;\n\n const animatedStyles = useAnimatedStyle(() => {\n if (isDisabled) {\n return {\n backgroundColor: theme.kitt.forms.radioButtonGroup.item.backgroundColor.disabled,\n borderColor: theme.kitt.forms.radioButtonGroup.item.borderColor.disabled,\n };\n }\n\n if (isSelected) {\n return {\n backgroundColor: pressedBackgroundColor,\n borderColor: pressedBorderColor,\n };\n }\n\n return {\n backgroundColor: interpolateColor(color.value, [0, 1], [backgroundColor, pressedBackgroundColor]),\n borderColor: interpolateColor(color.value, [0, 1], [borderColor, pressedBorderColor]),\n };\n });\n\n const handlePressIn = (): void => {\n color.value = withSpring(1);\n pressed.value = 1;\n };\n\n const handlePressOut = (): void => {\n color.value = withSpring(0);\n pressed.value = 0;\n };\n\n return {\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n animatedStyles,\n };\n};\n","import type { TypographyColor } from '../../../typography/Typography';\n\ninterface GetCurrentTextColorParams {\n isDisabled?: boolean;\n isSelected?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\nexport function getCurrentTextColor({\n isDisabled,\n isSelected,\n isPressed,\n isHovered,\n isFocused,\n}: GetCurrentTextColorParams): TypographyColor {\n if (isDisabled) return 'black-light';\n\n if (isSelected) return 'white';\n\n if (isPressed) return 'white';\n\n if (isFocused) return 'white';\n\n if (isHovered && !isSelected) return 'black';\n\n return 'black';\n}\n","import type { ReactNode } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Platform } from 'react-native';\nimport { Pressable, View } from '../../native-base/primitives';\nimport { Typography } from '../../typography/Typography';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { HoverBorder } from './HoverBorder';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getCurrentTextColor } from './utils/getCurrentTextColor';\n\nexport interface RadioButtonProps<V> {\n children: ReactNode;\n isFirst?: boolean;\n isLast?: boolean;\n disabled?: boolean;\n value: V;\n selected?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n /**\n * @internal Used to display pressed UI for testing and storybook purpose\n */\n isPressedInternal?: boolean;\n /**\n * @internal Used to display hovered UI for testing and storybook purpose\n */\n isHoveredInternal?: boolean;\n /**\n * @internal Used to display focused UI for testing and storybook purpose\n */\n isFocusedInternal?: boolean;\n onChange?: (value?: V) => void;\n onFocus?: (e?: any | GestureResponderEvent) => void;\n onBlur?: (e?: any | GestureResponderEvent) => void;\n}\n\nexport function RadioButton<V>({\n children,\n value,\n selected,\n isFirst,\n isLast,\n disabled,\n stretch,\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onChange,\n onFocus,\n onBlur,\n}: RadioButtonProps<V>): ReactNode {\n const { onPressIn, onPressOut, animatedStyles } = useNativeAnimation({\n isDisabled: disabled,\n isSelected: selected,\n isPressedInternal,\n });\n\n const handlePress = (e: GestureResponderEvent): void => {\n if (onFocus) onFocus(e);\n\n if (onChange) onChange(value);\n\n if (onBlur) onBlur(e);\n };\n\n return (\n <Pressable\n accessibilityRole=\"radiogroup\"\n accessibilityState={{ checked: selected }}\n flexGrow={createResponsiveStyleFromProp(stretch, 1, undefined)}\n flexShrink={createResponsiveStyleFromProp(stretch, 1, undefined)}\n flexBasis={createResponsiveStyleFromProp(stretch, 0)}\n disabled={disabled}\n onPress={handlePress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {({ isHovered, isPressed, isFocused }) => (\n <AnimatedContainer\n animatedStyles={animatedStyles}\n isFocused={isFocused || isFocusedInternal}\n isPressed={isPressed || isPressedInternal}\n isSelected={selected}\n isDisabled={disabled}\n isFirst={isFirst}\n isLast={isLast}\n >\n <View\n paddingX=\"kitt.forms.radioButtonGroup.item.padding.horizontal\"\n paddingY=\"kitt.forms.radioButtonGroup.item.padding.vertical\"\n alignItems=\"center\"\n >\n <Typography.SetDefaultColor\n value={getCurrentTextColor({\n isSelected: selected || isPressedInternal,\n isPressed,\n isHovered: isHovered || isHoveredInternal,\n isDisabled: disabled,\n isFocused: isFocused || isFocusedInternal,\n })}\n >\n {children}\n </Typography.SetDefaultColor>\n {Platform.OS === 'web' ? (\n <HoverBorder\n isFirst={isFirst}\n isLast={isLast}\n isSelected={selected}\n isHovered={isHovered || isHoveredInternal}\n isPressed={isPressed || isPressedInternal}\n isFocused={isFocused || isFocusedInternal}\n />\n ) : null}\n </View>\n </AnimatedContainer>\n )}\n </Pressable>\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { Children, cloneElement, useState } from 'react';\nimport type { ViewProps } from '../../native-base/primitives';\nimport { View } from '../../native-base/primitives';\nimport type { ResponsiveValue } from '../../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport type { RadioButtonProps } from './RadioButton';\nimport { RadioButton } from './RadioButton';\n\ntype InternalInheritedProps =\n | 'isFirst'\n | 'isLast'\n | 'selected'\n | 'stretch'\n | 'disabled'\n | 'onChange'\n | 'onFocus'\n | 'onBlur';\n\ninterface RadioButtonGroupItemProps<V> extends Omit<RadioButtonProps<V>, InternalInheritedProps> {}\n\nfunction RadioButtonGroupItem<V>({ ...props }: RadioButtonGroupItemProps<V>): ReactNode {\n return <RadioButton {...props} />;\n}\n\nexport interface RadioButtonGroupProps<V> extends Exclude<ViewProps, 'onBlur' | 'onFocus'> {\n children: ReactNode;\n disabled?: boolean;\n hovered?: boolean;\n selected?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n value?: V;\n onChange?: (newValue: V) => void;\n onFocus?: (e?: any) => void;\n onBlur?: (e?: any) => void;\n}\n\nexport function RadioButtonGroup<V>({\n children,\n stretch,\n value,\n disabled,\n onFocus,\n onBlur,\n onChange,\n ...props\n}: RadioButtonGroupProps<V>): ReactNode {\n const [currentValue, setCurrentValue] = useState(value);\n\n const handleChange = (newValue: V): void => {\n if (disabled) return;\n\n setCurrentValue(newValue);\n if (onChange) onChange(newValue);\n };\n\n const childrenArray = Children.toArray(children) as ReactElement<RadioButtonProps<V>, typeof RadioButton>[];\n\n return (\n <View flexDirection=\"row\" flexWrap=\"wrap\" {...props}>\n {childrenArray.map((child, index) => {\n const clone = cloneElement<RadioButtonProps<V>>(child, {\n stretch,\n disabled,\n selected: child.props.value === currentValue,\n isFirst: index === 0,\n isLast: index === childrenArray.length - 1,\n onChange: handleChange,\n onFocus,\n onBlur,\n } as any);\n\n return clone;\n })}\n </View>\n );\n}\n\nRadioButtonGroup.RadioButton = RadioButtonGroupItem;\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport type { TextInput as RNTextInput } from 'react-native';\nimport type { InputTextProps } from '../InputText/InputText';\nimport { InputText } from '../InputText/InputText';\n\nexport interface TextAreaProps extends InputTextProps {}\n\nexport const TextArea = forwardRef<RNTextInput, TextAreaProps>(({ ...props }: TextAreaProps, ref): ReactElement => {\n return <InputText ref={ref} multiline textAlignVertical=\"top\" minHeight=\"kitt.forms.textArea.minHeight\" {...props} />;\n});\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalBodyProps extends ViewProps {\n children: NonNullable<ReactNode>;\n shouldHandleBottomNotch?: boolean;\n shouldHandleTopNotch?: boolean;\n}\n\nexport function FullscreenModalBody({\n children,\n shouldHandleBottomNotch,\n style,\n shouldHandleTopNotch,\n ...props\n}: FullscreenModalBodyProps): ReactNode {\n const { bottom, top } = useSafeAreaInsets();\n const {\n kitt: {\n fullscreenModal: {\n body: { verticalPadding },\n },\n },\n } = useTheme();\n const paddingBottom = shouldHandleBottomNotch ? Math.max(bottom, verticalPadding) : verticalPadding;\n const paddingTop = shouldHandleTopNotch ? Math.max(top, verticalPadding) : verticalPadding;\n\n return (\n <View\n {...props}\n paddingX=\"kitt.fullscreenModal.horizontalPadding\"\n paddingTop={paddingTop}\n paddingBottom={paddingBottom}\n style={style}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalFooterProps extends ViewProps {\n hasSeparator?: boolean;\n shouldHandleBottomNotch?: boolean;\n}\n\nexport function FullscreenModalFooter({\n shouldHandleBottomNotch = true,\n hasSeparator = true,\n children,\n ...props\n}: FullscreenModalFooterProps): ReactNode {\n const { bottom } = useSafeAreaInsets();\n\n return (\n <View\n borderTopColor=\"kitt.separator\"\n borderTopWidth={hasSeparator ? 1 : undefined}\n paddingTop=\"kitt.fullscreenModal.footer.verticalPadding\"\n paddingBottom={shouldHandleBottomNotch ? bottom : undefined}\n paddingX=\"kitt.fullscreenModal.horizontalPadding\"\n {...props}\n >\n <View paddingBottom=\"kitt.fullscreenModal.footer.verticalPadding\">{children}</View>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, { Easing, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface NativeOpacityAnimationProps {\n visible?: boolean;\n children: ReactNode;\n}\n\nexport function NativeOpacityAnimation({ visible, children }: NativeOpacityAnimationProps): ReactNode {\n const theme = useTheme();\n\n const opacityStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.fullscreenModal.animation.overlay;\n const [x1, y1, x2, y2] = easing;\n\n return {\n opacity: withTiming(visible ? 1 : 0, { duration, easing: Easing.bezier(x1, y1, x2, y2) }),\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFillObject, opacityStyle]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useRef } from 'react';\nimport { useWindowDimensions } from 'react-native';\nimport Animated, { Easing, runOnJS, useAnimatedStyle, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { FullscreenModalAnimationProps } from '../FullscreenModalAnimation';\n\nexport interface NativeSlideInAnimationProps {\n children: ReactNode;\n visible?: FullscreenModalAnimationProps['visible'];\n onEntered?: FullscreenModalAnimationProps['onEntered'];\n onExited: () => void;\n}\n\nexport function NativeSlideInAnimation({\n visible,\n children,\n onEntered,\n onExited,\n}: NativeSlideInAnimationProps): ReactNode {\n const theme = useTheme();\n const { height: wHeight } = useWindowDimensions();\n const hasRunAnimationRef = useRef(false);\n\n function handleAnimationFinished(): void {\n if (visible) {\n if (onEntered) onEntered();\n hasRunAnimationRef.current = true;\n }\n\n // Since animation callback is called on component mount, we must make sure that the animation has been runed once to call it an exit\n if (!visible && hasRunAnimationRef.current) onExited();\n }\n\n const translateStyle = useAnimatedStyle(() => {\n const { duration, easing } = theme.kitt.fullscreenModal.animation.content;\n const [x1, y1, x2, y2] = easing;\n\n return {\n transform: [\n {\n translateY: withTiming(\n visible ? 0 : wHeight,\n { duration, easing: Easing.bezier(x1, y1, x2, y2) },\n (isFinished) => {\n if (!isFinished) return;\n runOnJS(handleAnimationFinished)();\n },\n ),\n },\n ],\n };\n });\n\n return (\n <Animated.View style={[{ transform: [{ translateY: wHeight }] }, translateStyle, { width: '100%', flex: 1 }]}>\n {children}\n </Animated.View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { Modal, Platform } from 'react-native';\nimport type { ModalAnimationComponentProps } from '../ModalBehaviour/type';\nimport { Overlay } from '../Overlay/Overlay';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { NativeOpacityAnimation } from './components/NativeOpacityAnimation';\nimport { NativeSlideInAnimation } from './components/NativeSlideInAnimation';\n\nexport interface FullscreenModalAnimationProps extends ViewProps, ModalAnimationComponentProps {\n children: ReactNode;\n}\n\nexport function FullscreenModalAnimation({\n visible,\n children,\n onEnter,\n onEntered,\n onExit,\n onExited,\n}: FullscreenModalAnimationProps): ReactNode {\n const [isModalVisible, setIsModalVisible] = useState(visible);\n const [isContentVisible, setIsContentVisible] = useState(false);\n\n const handleAnimationExited = (): void => {\n setIsModalVisible(false);\n // Android doesn't handle the onDismiss callback on the modal, we need to call it manually\n if (Platform.OS === 'android' && onExited) onExited();\n };\n\n // When parent visibility is set to false, in order to have our exit animation we must in this order :\n // 1 - run the exit animation\n // 2 - once it is done, unmount the Modal\n useEffect(() => {\n const shouldHideContent = !visible && isContentVisible;\n\n if (!shouldHideContent) return;\n\n if (onExit) onExit();\n setIsContentVisible(false);\n }, [visible, isContentVisible, onExit]);\n\n return (\n <Modal\n transparent\n supportedOrientations={['landscape', 'portrait']}\n visible={isModalVisible}\n onShow={() => {\n if (onEnter) onEnter();\n setIsContentVisible(true);\n }}\n onDismiss={() => {\n if (onExited) onExited();\n }}\n >\n <View position=\"relative\" flexGrow={1} justifyContent=\"center\" alignItems=\"center\">\n <NativeOpacityAnimation visible={isContentVisible}>\n <Overlay onPress={handleAnimationExited} />\n </NativeOpacityAnimation>\n <NativeSlideInAnimation visible={isContentVisible} onExited={handleAnimationExited} onEntered={onEntered}>\n <View flexGrow={1}>{children}</View>\n </NativeSlideInAnimation>\n </View>\n </Modal>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { FullscreenModalAnimationProps } from './FullscreenModalAnimation';\nimport { FullscreenModalAnimation } from './FullscreenModalAnimation';\n\nexport interface FullscreenModalBehaviourProps extends FullscreenModalAnimationProps {\n onClose: ModalBehaviourProps['onClose'];\n}\n\nexport function FullscreenModalBehaviour({\n children,\n visible,\n onClose,\n onExited,\n ...props\n}: FullscreenModalBehaviourProps): ReactNode {\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <FullscreenModalAnimation {...props} visible={visible} onExited={handleExitAnimationDone}>\n {children}\n </FullscreenModalAnimation>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\nexport interface FullscreenModalContainerProps {\n backgroundColor?: ViewProps['backgroundColor'];\n children?: ReactNode;\n}\n\nexport function FullscreenModalContainer({ children, backgroundColor }: FullscreenModalContainerProps): ReactNode {\n return (\n <View\n position=\"relative\"\n flexGrow={1}\n flexShrink={1}\n flexBasis=\"100%\"\n /*\n Here we are setting the same min and max height because on web the content was overflowing and not scrolling\n minHeight is needed to make the modal fullscreen\n maxHeight limits the height to the viewport when the content is too long, this allows us to scroll inside\n We use svh instead of vh because vh is the total height of the viewport, including the address bar in mobile web browsers\n */\n _web={{ minHeight: '100svh', maxHeight: '100svh' }}\n backgroundColor={backgroundColor ?? 'kitt.uiBackgroundLight'}\n >\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useSafeAreaInsets } from 'react-native-safe-area-context';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface BaseHeaderProps extends Except<ViewProps, 'left' | 'right'> {\n left?: ReactNode;\n right?: ReactNode;\n hasSeparator?: boolean;\n isTransparent?: boolean;\n shouldHandleTopNotch?: boolean;\n}\n\ninterface TitledHeaderProps extends BaseHeaderProps {\n title?: ReactNode;\n children?: never;\n}\n\ninterface ComponentHeaderProps extends BaseHeaderProps {\n title?: never;\n children?: ReactNode;\n}\n\nexport type FullscreenModalHeaderProps = TitledHeaderProps | ComponentHeaderProps;\n\nexport function FullscreenModalHeader({\n hasSeparator = true,\n isTransparent,\n title,\n children,\n right,\n left,\n shouldHandleTopNotch = true,\n ...props\n}: FullscreenModalHeaderProps): ReactNode {\n const { top } = useSafeAreaInsets();\n const hasRight = Boolean(right);\n const hasLeft = Boolean(left);\n const hasContent = Boolean(title || children);\n\n return (\n <View\n backgroundColor={isTransparent ? 'kitt.transparent' : 'kitt.uiBackgroundLight'}\n minHeight=\"kitt.fullscreenModal.header.height\"\n width=\"100%\"\n justifyContent=\"center\"\n paddingTop={shouldHandleTopNotch ? top : undefined}\n paddingRight={hasRight ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding'}\n paddingLeft={hasLeft ? 'kitt.2' : 'kitt.fullscreenModal.horizontalPadding'}\n borderBottomColor=\"kitt.separator\"\n borderBottomWidth={hasSeparator ? 1 : undefined}\n {...props}\n >\n <View\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={!hasContent && !hasLeft ? 'flex-end' : 'space-between'}\n >\n {left ? <View width=\"kitt.iconButton.width\">{left}</View> : null}\n\n {title ? (\n <View\n flexGrow={1}\n flexShrink={1}\n paddingLeft={hasLeft ? 'kitt.2' : undefined}\n paddingRight={hasRight ? 'kitt.2' : 0}\n >\n <Typography.Text variant=\"bold\" textAlign={!hasLeft && hasRight ? 'left' : 'center'}>\n {title}\n </Typography.Text>\n </View>\n ) : null}\n\n {children ? (\n <View\n flexGrow={1}\n flexShrink={1}\n alignItems=\"center\"\n paddingLeft={hasLeft ? 'kitt.2' : undefined}\n paddingRight={hasRight ? 'kitt.2' : undefined}\n >\n {children}\n </View>\n ) : null}\n\n {right || left ? <View width=\"kitt.iconButton.width\">{right}</View> : null}\n </View>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { ScrollView } from 'react-native';\nimport type { ViewProps } from '..';\nimport { View } from '../native-base/primitives';\nimport { FullscreenModalBody } from './Body';\nimport { FullscreenModalFooter } from './Footer';\nimport { FullscreenModalBehaviour } from './FullscreenModalBehaviour';\nimport { FullscreenModalContainer } from './FullscreenModalContainer';\nimport { FullscreenModalHeader } from './Header';\n\nexport interface FullscreenModalProps {\n header?: ReactNode;\n footer?: ReactNode;\n body: ReactNode;\n backgroundColor?: ViewProps['backgroundColor'];\n}\n\nexport function FullscreenModal({ body, header, footer, backgroundColor }: FullscreenModalProps): ReactNode {\n return (\n <FullscreenModalContainer backgroundColor={backgroundColor}>\n {header ? <View>{header}</View> : null}\n <View flexGrow={1} flexShrink={1} justifyContent=\"space-between\">\n <ScrollView bounces={false} contentContainerStyle={{ flexGrow: 1, position: 'relative' }}>\n {body}\n </ScrollView>\n {footer || null}\n </View>\n </FullscreenModalContainer>\n );\n}\n\nFullscreenModal.Header = FullscreenModalHeader;\nFullscreenModal.Footer = FullscreenModalFooter;\nFullscreenModal.Body = FullscreenModalBody;\nFullscreenModal.ModalBehaviour = FullscreenModalBehaviour;\n","import type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { AnimateStyle } from 'react-native-reanimated';\nimport Animated from 'react-native-reanimated';\n\nexport interface AnimatedCaretProps {\n children: ReactNode;\n isHovered: boolean;\n isExpanded: boolean;\n animatedStyles?: AnimateStyle<ViewStyle>;\n}\n\nexport function AnimatedCaret({ children, animatedStyles }: AnimatedCaretProps): ReactNode {\n return <Animated.View style={[animatedStyles]}>{children}</Animated.View>;\n}\n","import { useSx } from 'native-base';\nimport type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { AnimateStyle } from 'react-native-reanimated';\nimport Animated from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { HighlightSize, HighlightVariant } from '../Highlight';\n\nexport interface AnimatedContainerProps {\n children: ReactNode;\n size: HighlightSize;\n animatedStyles?: AnimateStyle<ViewStyle>;\n isHovered: boolean;\n variant: HighlightVariant;\n}\n\nexport function AnimatedContainer({ children, size, animatedStyles }: AnimatedContainerProps): ReactNode {\n const sx = useSx();\n const theme = useTheme();\n\n const styles = sx({\n borderRadius: theme.kitt.highlight.borderRadius,\n padding: theme.kitt.highlight.padding[size],\n });\n\n return <Animated.View style={[styles, animatedStyles]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { AnimateStyle } from 'react-native-reanimated';\nimport Animated from 'react-native-reanimated';\n\nexport interface AnimatedContentProps {\n children: ReactNode;\n isExpanded: boolean;\n isInitialRender: boolean;\n contentHeight: number;\n animatedStyles?: AnimateStyle<ViewStyle>;\n}\n\nexport function AnimatedContent({ children, animatedStyles }: AnimatedContentProps): ReactNode {\n return <Animated.View style={[{ overflow: 'hidden' }, animatedStyles]}>{children}</Animated.View>;\n}\n","import type { ViewStyle } from 'react-native';\nimport type { AnimateStyle } from 'react-native-reanimated';\nimport { Easing, interpolateColor, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\nimport type { HighlightVariant } from '../Highlight';\n\nexport interface UseNativeAnimationOptions {\n variant: HighlightVariant;\n isExpanded: boolean;\n isInitialRender: boolean;\n contentHeight: number;\n}\n\nexport interface NativeAnimation {\n onPressIn?: () => void;\n onPressOut?: () => void;\n containerAnimatedStyles: AnimateStyle<ViewStyle>;\n caretAnimatedStyles: AnimateStyle<ViewStyle>;\n contentAnimatedStyles: AnimateStyle<ViewStyle>;\n}\n\nconst withTimingConfig = {\n duration: 100,\n easing: Easing.ease,\n};\n\nexport const useNativeAnimation = ({\n variant,\n isExpanded,\n isInitialRender,\n contentHeight,\n}: UseNativeAnimationOptions): NativeAnimation => {\n const theme = useTheme();\n const color = useSharedValue(0);\n const rotation = useSharedValue(0);\n const translate = useSharedValue(0);\n\n const containerAnimatedStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: interpolateColor(\n color.value,\n [0, 1],\n [theme.kitt.highlight[variant].default.backgroundColor, theme.kitt.highlight[variant].hover.backgroundColor],\n ),\n };\n });\n\n const caretAnimatedStyles = useAnimatedStyle(() => {\n rotation.value = withTiming(isExpanded ? 180 : 0, {\n duration: 300,\n easing: Easing.ease,\n });\n\n return {\n transform: [\n {\n rotate: `${rotation.value}deg`,\n },\n {\n translateY: translate.value,\n },\n ],\n };\n });\n\n const contentAnimatedStyles = useAnimatedStyle(() => {\n return {\n height: withTiming(isExpanded ? contentHeight : 0, {\n duration: isInitialRender ? 0 : 300,\n easing: Easing.ease,\n }),\n };\n });\n\n const handleHoverIn = (): void => {\n color.value = withTiming(1, withTimingConfig);\n translate.value = withTiming(2, withTimingConfig);\n };\n\n const handleHoverOut = (): void => {\n color.value = withTiming(0, withTimingConfig);\n translate.value = withTiming(0, withTimingConfig);\n };\n\n return {\n onPressIn: handleHoverIn,\n onPressOut: handleHoverOut,\n containerAnimatedStyles,\n caretAnimatedStyles,\n contentAnimatedStyles,\n };\n};\n","import { CaretDownRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport { type ReactNode, useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport { useTheme } from '../KittThemeContext';\nimport { HStack } from '../native-base/layout';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { AnimatedCaret } from './AnimatedCaret/AnimatedCaret';\nimport { AnimatedContainer } from './AnimatedContainer/AnimatedContainer';\nimport { AnimatedContent } from './AnimatedContent/AnimatedContent';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\n\ntype DeprecatedHighlightVariant = 'regular';\n\nexport type HighlightSize = 'medium' | 'large';\nexport type HighlightVariant = 'primary' | 'secondary' | 'dark' | DeprecatedHighlightVariant | 'ghost';\n\nexport interface HighlightProps {\n variant?: HighlightVariant;\n canCollapse?: boolean;\n isInitialCollapsed?: boolean;\n title?: string;\n icon?: ReactNode;\n size?: HighlightSize;\n children?: ReactNode;\n}\n\nexport function Highlight({\n variant = 'primary',\n canCollapse = false,\n isInitialCollapsed = true,\n title,\n icon = null,\n size = 'medium',\n children,\n}: HighlightProps): ReactNode {\n const theme = useTheme();\n\n const [isExpanded, setIsExpanded] = useState(!isInitialCollapsed);\n const [contentHeight, setContentHeight] = useState(0);\n const [isInitialRender, setIsInitialRender] = useState(true);\n\n const highlightStyle = {\n medium: {\n marginBottom: 'kitt.1',\n spaceBetween: 'kitt.2',\n contentMarginY: 8,\n },\n large: {\n marginBottom: 'kitt.2',\n spaceBetween: 'kitt.4',\n contentMarginY: 16,\n },\n };\n\n const { containerAnimatedStyles, caretAnimatedStyles, contentAnimatedStyles, onPressIn, onPressOut } =\n useNativeAnimation({\n variant,\n isExpanded,\n isInitialRender,\n contentHeight,\n });\n\n const handlePress = (): void => {\n setIsExpanded(!isExpanded);\n setIsInitialRender(false);\n };\n\n const handleLayout = (event: LayoutChangeEvent): void => {\n const layoutHeight = event.nativeEvent.layout.height;\n const newContentHeight = layoutHeight + highlightStyle[size].contentMarginY;\n\n if (layoutHeight > 0 && newContentHeight !== contentHeight) {\n setContentHeight(newContentHeight);\n }\n };\n\n if (!canCollapse) {\n return (\n <View\n borderRadius=\"kitt.highlight.borderRadius\"\n padding={theme.kitt.highlight.padding[size]}\n backgroundColor={`kitt.highlight.${variant}.default.backgroundColor`}\n >\n <HStack space={highlightStyle[size].spaceBetween}>\n {icon && <View>{icon}</View>}\n <View flexGrow={1} flexShrink={1}>\n {title && (\n <View marginBottom={highlightStyle[size].marginBottom}>\n <Typography.Text variant=\"bold\" base=\"body\" ellipsizeMode=\"clip\">\n {title}\n </Typography.Text>\n </View>\n )}\n {children}\n </View>\n </HStack>\n </View>\n );\n }\n\n return (\n <Pressable onPress={handlePress} onPressIn={onPressIn} onPressOut={onPressOut}>\n {({ isHovered }) => {\n return (\n <AnimatedContainer\n isHovered={isHovered}\n size={size}\n variant={variant}\n animatedStyles={containerAnimatedStyles}\n >\n {title && (\n <HStack space={highlightStyle[size].spaceBetween} alignItems=\"center\">\n {icon && <View flexGrow={1}>{icon}</View>}\n <View flexGrow={1} flexShrink={1} width=\"100%\">\n <Typography.Text variant=\"bold\" base=\"body\" ellipsizeMode=\"clip\">\n {title}\n </Typography.Text>\n </View>\n <View flexGrow={2} flexShrink={2} alignItems=\"center\" justifyContent=\"center\">\n <AnimatedCaret isHovered={isHovered} isExpanded={isExpanded} animatedStyles={caretAnimatedStyles}>\n <TypographyIcon icon={<CaretDownRegularIcon />} />\n </AnimatedCaret>\n </View>\n </HStack>\n )}\n <AnimatedContent\n isExpanded={isExpanded}\n isInitialRender={isInitialRender}\n contentHeight={contentHeight}\n animatedStyles={contentAnimatedStyles}\n >\n <View marginTop={highlightStyle[size].contentMarginY} position=\"absolute\" onLayout={handleLayout}>\n {children}\n </View>\n </AnimatedContent>\n </AnimatedContainer>\n );\n }}\n </Pressable>\n );\n}\n","// eslint-disable-next-line no-restricted-imports\nimport { useBreakpointValue as useBreakpointValueNativeBaseBadlyTyped } from 'native-base';\nimport type { ITheme } from 'native-base';\nimport type { SetRequired } from 'type-fest';\n\nexport type { StyledProps } from 'native-base';\nexport { useClipboard, useSx, useToken } from 'native-base';\n\ntype UseBreakpointValueParam<T> = {\n [key in keyof ITheme['breakpoints']]?: T;\n};\n\nexport type BreakpointValueHookValues<T> = SetRequired<UseBreakpointValueParam<T>, 'base'>;\n\nexport const useBreakpointValue = useBreakpointValueNativeBaseBadlyTyped as <T>(\n values: BreakpointValueHookValues<T>,\n) => T;\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { IconButtonColor } from './IconButton';\n\nfunction getBackgroundColor(color: IconButtonColor, isDisabled?: boolean): string {\n if (isDisabled) {\n return 'kitt.iconButton.disabled.backgroundColor';\n }\n\n switch (color) {\n case 'primary':\n return 'kitt.iconButton.primary.pressed.backgroundColor';\n case 'ghost':\n return 'kitt.iconButton.ghost.pressed.backgroundColor';\n case 'black':\n default:\n return 'kitt.iconButton.black.pressed.backgroundColor';\n }\n}\n\ninterface BackgroundProps extends ViewProps {\n color: IconButtonColor;\n isDisabled?: boolean;\n _web?: Partial<ViewProps>;\n}\n\nexport function Background({ color, isDisabled, ...props }: BackgroundProps): ReactNode {\n return (\n <View\n {...props}\n width=\"100%\"\n height=\"100%\"\n borderRadius=\"kitt.iconButton.borderRadius\"\n backgroundColor={getBackgroundColor(color, isDisabled)}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { useSx } from '../native-base/utils';\nimport { Background } from './Background';\nimport type { IconButtonColor } from './IconButton';\nimport type { UseNativeAnimation } from './hooks/useNativeAnimation';\n\nexport interface AnimatedBackgroundProps {\n color: IconButtonColor;\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n isDisabled?: boolean;\n opacityStyles?: UseNativeAnimation['opacityStyles'];\n}\n\nexport function AnimatedBackground({ color, isDisabled, opacityStyles }: AnimatedBackgroundProps): ReactNode {\n const sx = useSx();\n\n const currentOpacityStyles = isDisabled ? { opacity: 1 } : opacityStyles;\n\n const styles = sx({\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n });\n\n return (\n <Animated.View style={[styles, currentOpacityStyles]}>\n <Background color={color} isDisabled={isDisabled} />\n </Animated.View>\n );\n}\n","import type { ReactNode } from 'react';\nimport Animated from 'react-native-reanimated';\nimport { useSx } from '../native-base/utils';\nimport type { UseNativeAnimation } from './hooks/useNativeAnimation';\n\nexport interface AnimatedScaleProps {\n children: ReactNode;\n isHovered?: boolean;\n isPressed?: boolean;\n isFocused?: boolean;\n isDisabled?: boolean;\n scaleStyles?: UseNativeAnimation['scaleStyles'];\n}\n\nexport function AnimatedScale({ isDisabled, scaleStyles, children }: AnimatedScaleProps): ReactNode {\n const sx = useSx();\n\n const currentOpacityStyles = isDisabled ? { transform: [{ scale: 1 }] } : scaleStyles;\n\n const styles = sx({\n position: 'relative',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: '100%',\n });\n\n return <Animated.View style={[styles, currentOpacityStyles]}>{children}</Animated.View>;\n}\n","import { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../../KittThemeContext';\n\nexport interface UseNativeAnimationParams {\n isDisabled?: boolean;\n isPressed?: boolean;\n}\n\nexport interface UseNativeAnimation {\n opacityStyles?: { opacity: number };\n scaleStyles?: {\n transform: {\n scale: number;\n }[];\n };\n onPressIn: () => void;\n onPressOut: () => void;\n}\n\nexport function useNativeAnimation({ isPressed }: UseNativeAnimationParams): UseNativeAnimation {\n const theme = useTheme();\n const pressed = useSharedValue(!!isPressed);\n\n const opacityStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? 1 : 0),\n };\n });\n\n const scaleStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n scale: withSpring(\n pressed.value ? theme.kitt.iconButton.scale.base.active : theme.kitt.iconButton.scale.base.default,\n ),\n },\n ],\n };\n });\n\n const handlePressIn = (): void => {\n pressed.value = true;\n };\n\n const handlePressOut = (): void => {\n pressed.value = false;\n };\n\n return {\n opacityStyles,\n scaleStyles,\n onPressIn: handlePressIn,\n onPressOut: handlePressOut,\n };\n}\n","import type { TypographyColor } from '../../typography/Typography';\nimport type { IconButtonColor } from '../IconButton';\n\nexport const getIconButtonTextColorByColor = (color: IconButtonColor, disabled?: boolean): TypographyColor => {\n if (disabled) {\n return 'black-light';\n }\n\n switch (color) {\n case 'ghost':\n return 'white';\n default:\n return color;\n }\n};\n","import { XRegularIcon } from '@ornikar/kitt-icons/phosphor';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { AnimatedBackground } from './AnimatedBackground';\nimport { AnimatedScale } from './AnimatedScale';\nimport { useNativeAnimation } from './hooks/useNativeAnimation';\nimport { getIconButtonTextColorByColor } from './utils/getIconButtonTextColorByColor';\n\nexport type IconButtonColor = 'black' | 'ghost' | 'primary';\n\nexport interface IconButtonProps {\n icon: NonNullable<ReactElement>;\n color?: IconButtonColor;\n disabled?: boolean;\n testID?: string;\n ariaLabel?: PressableProps['aria-label'];\n accessibilityRole?: PressableProps['accessibilityRole'];\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n onPress?: () => void;\n}\n\nexport function IconButton({\n icon,\n color = 'black',\n disabled,\n testID,\n ariaLabel,\n accessibilityRole = 'button',\n isHoveredInternal,\n isPressedInternal,\n isFocusedInternal,\n onPress,\n}: IconButtonProps): ReactNode {\n const { onPressIn, onPressOut, opacityStyles, scaleStyles } = useNativeAnimation({\n isDisabled: disabled,\n isPressed: isPressedInternal,\n });\n\n return (\n <Pressable\n testID={testID}\n disabled={disabled}\n width=\"kitt.iconButton.width\"\n height=\"kitt.iconButton.height\"\n aria-label={ariaLabel}\n accessibilityRole={accessibilityRole}\n _web={{\n style: {\n backfaceVisibility: 'hidden',\n transform: 'translate3d(0px)',\n },\n }}\n borderRadius=\"kitt.iconButton.borderRadius\"\n borderColor={disabled ? 'kitt.iconButton.disabled.borderColor' : 'kitt.iconButton.borderColor'}\n borderWidth={disabled ? 'kitt.iconButton.borderWidth' : 0}\n onPress={onPress}\n onPressIn={onPressIn}\n onPressOut={onPressOut}\n >\n {({ isHovered, isPressed, isFocused }) => {\n const isCurrentHovered = isHovered || isHoveredInternal;\n const isCurrentPressed = isPressed || isPressedInternal;\n const isCurrentFocused = isFocused || isFocusedInternal;\n\n return (\n <AnimatedScale\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n scaleStyles={scaleStyles}\n >\n <AnimatedBackground\n color={color}\n isDisabled={disabled}\n isHovered={isCurrentHovered}\n isPressed={isCurrentPressed}\n isFocused={isCurrentFocused}\n opacityStyles={opacityStyles}\n />\n <View alignItems=\"center\" justifyContent=\"center\">\n <TypographyIcon color={getIconButtonTextColorByColor(color, disabled)} icon={icon} />\n </View>\n </AnimatedScale>\n );\n }}\n </Pressable>\n );\n}\n\nexport function CloseIconButton(props: Except<IconButtonProps, 'icon'>): ReactNode {\n return <IconButton icon={<XRegularIcon />} {...props} />;\n}\n","import type { ReactNode } from 'react';\nimport { createContext, useMemo } from 'react';\n\nexport interface KittMapConfigProviderConfig {\n mapId: string;\n apiToken: string;\n}\n\nexport const KittMapConfigProviderContext = createContext<KittMapConfigProviderConfig | undefined>(undefined);\n\nexport interface KittMapProviderProps {\n mapId: string;\n apiToken: string;\n children: ReactNode;\n}\n\nexport function KittMapConfigProvider({ children, mapId, apiToken }: KittMapProviderProps): ReactNode {\n const providerValue = useMemo(\n () => ({\n mapId,\n apiToken,\n }),\n [mapId, apiToken],\n );\n\n return (\n <KittMapConfigProviderContext.Provider value={providerValue}>{children}</KittMapConfigProviderContext.Provider>\n );\n}\n","import { useContext } from 'react';\nimport type { KittMapConfigProviderConfig } from '../KittMapConfigProvider';\nimport { KittMapConfigProviderContext } from '../KittMapConfigProvider';\n\nexport function useKittMapConfig(): KittMapConfigProviderConfig {\n const context = useContext(KittMapConfigProviderContext);\n\n if (!context) {\n throw new Error('<KittMapConfigProvider> missing in the react tree');\n }\n\n return context;\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps } from 'react-native';\nimport { View } from '../native-base/primitives';\n\nexport interface ListItemContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n}\n\nexport function ListItemContent({ children, ...rest }: ListItemContentProps): ReactNode {\n return (\n <View alignSelf=\"center\" flexBasis=\"0%\" flexGrow={1} flexShrink={0} {...rest}>\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { ViewProps, ViewStyle } from 'react-native';\nimport { View } from '../native-base/primitives';\n\nexport interface ListItemSideContainerProps extends ViewProps {\n children: NonNullable<ReactNode>;\n side?: 'left' | 'right';\n}\n\n// Handles the vertical alignment of the side elements of the list item\nexport function ListItemSideContainer({ children, side = 'left', ...rest }: ListItemSideContainerProps): ReactNode {\n return (\n <View\n flexDirection=\"row\"\n marginLeft={side === 'right' ? 'kitt.2' : undefined}\n marginRight={side === 'left' ? 'kitt.2' : undefined}\n {...rest}\n >\n {children}\n </View>\n );\n}\n\nexport interface ListItemSideContentProps extends ViewProps {\n children: NonNullable<ReactNode>;\n align?: ViewStyle['alignSelf'];\n}\n\nexport function ListItemSideContent({ children, align = 'auto', ...rest }: ListItemSideContentProps): ReactNode {\n return (\n <View alignSelf={align} {...rest}>\n {children}\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Fragment } from 'react';\nimport type { PressableProps, ViewProps } from 'react-native';\nimport { Pressable } from 'react-native';\nimport { View } from '../native-base/primitives';\nimport { ListItemContent } from './ListItemContent';\nimport { ListItemSideContainer, ListItemSideContent } from './ListItemSideContent';\n\ntype Borders = 'top' | 'bottom' | 'both';\n\nexport interface ListItemProps extends ViewProps {\n children: NonNullable<ReactNode>;\n left?: ReactNode;\n right?: ReactNode;\n borders?: Borders;\n withPadding?: boolean;\n onPress?: PressableProps['onPress'];\n}\n\nexport function ListItem({ children, withPadding, borders, left, right, onPress, ...rest }: ListItemProps): ReactNode {\n const Wrapper = onPress ? Pressable : Fragment;\n const wrapperProps = onPress ? { accessibilityRole: 'button', onPress, ...rest } : undefined;\n const containerProps = onPress ? undefined : rest;\n\n return (\n <Wrapper {...(wrapperProps as any)}>\n <View\n flexDirection=\"row\"\n paddingX={withPadding ? 'kitt.listItem.horizontalPadding' : undefined}\n paddingY={withPadding ? 'kitt.listItem.verticalPadding' : undefined}\n borderColor=\"kitt.listItem.borderColor\"\n backgroundColor=\"kitt.uiBackgroundLight\"\n borderTopWidth={borders === 'top' || borders === 'both' ? 'kitt.listItem.borderWidth' : undefined}\n borderBottomWidth={borders === 'bottom' || borders === 'both' ? 'kitt.listItem.borderWidth' : undefined}\n {...containerProps}\n >\n {left ? <ListItemSideContainer side=\"left\">{left}</ListItemSideContainer> : null}\n\n <ListItemContent>{children}</ListItemContent>\n\n {right ? <ListItemSideContainer side=\"right\">{right}</ListItemSideContainer> : null}\n </View>\n </Wrapper>\n );\n}\n\nListItem.Content = ListItemContent;\nListItem.SideContent = ListItemSideContent;\nListItem.SideContainer = ListItemSideContainer;\n","<svg fill=\"currentColor\" viewBox=\"0 0 54 56\" width=\"54\" xmlns=\"http://www.w3.org/2000/svg\"><linearGradient id=\"marker-large_inline_svg__b\" gradientUnits=\"userSpaceOnUse\" x1=\"26.828\" x2=\"7.181\" y1=\"5.072\" y2=\"39.102\"><stop offset=\"0\" stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker-large_inline_svg__a\" color-interpolation-filters=\"sRGB\" filterUnits=\"userSpaceOnUse\" height=\"48.706\" width=\"42.761\" x=\"10.437\" y=\"5.167\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur result=\"effect1_foregroundBlur_257_3018\" stdDeviation=\"2.718\"/></filter><mask id=\"marker-large_inline_svg__c\" height=\"43\" maskUnits=\"userSpaceOnUse\" width=\"31\" x=\"3\" y=\"3\"><path d=\"M16.303 44.99a3.002 3.002 0 0 0 4.394 0C29.631 35.38 34 26.678 34 18.938 34 10.12 27.04 3 18.5 3S3 10.12 3 18.938c0 7.74 4.369 16.442 13.303 26.052z\" fill=\"#fff\"/></mask><g filter=\"url(#marker-large_inline_svg__a)\" opacity=\".25\"><path d=\"M24.022 48.149c-3.018 1.02-6.128-.775-6.753-3.899-1.372-6.862-2.799-18.548 1.348-25.73C22.966 10.985 32.545 8.374 40 12.678c7.454 4.303 9.982 13.903 5.63 21.44-4.146 7.182-14.98 11.79-21.608 14.032z\" fill=\"url(#marker-large_inline_svg__b)\"/></g><g mask=\"url(#marker-large_inline_svg__c)\"><path d=\"M3 3h31v43H3z\"/></g><path d=\"M15.677 46.315c-2.682-3.029-6.253-7.443-9.145-12.356C3.622 29.015 1.5 23.735 1.5 18.938 1.5 9.27 9.152 1.5 18.5 1.5c9.349 0 17 7.771 17 17.438 0 4.797-2.122 10.077-5.032 15.02-2.892 4.914-6.463 9.328-9.145 12.357-1.536 1.735-4.11 1.735-5.646 0z\" stroke=\"#fff\" stroke-width=\"3\"/></svg>","<svg viewBox=\"0 0 40 39\" fill=\"currentColor\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.417 33.38c-2.3.776-4.668-.592-5.146-2.971-1.059-5.274-2.171-14.297 1.027-19.837 3.348-5.798 10.717-7.806 16.452-4.495 5.735 3.31 7.68 10.697 4.333 16.495-3.198 5.54-11.57 9.088-16.666 10.808z\" fill=\"url(#marker_inline_svg__a)\" opacity=\".25\" filter=\"url(#marker_inline_svg__b)\"/><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\"/><mask id=\"marker_inline_svg__c\" style=\"mask-type:alpha\" maskUnits=\"userSpaceOnUse\" x=\"3\" y=\"3\" width=\"20\" height=\"28\"><path d=\"M10.89 29.536a2.81 2.81 0 0 0 4.22 0C20.428 23.492 23 18.054 23 13.256 23 7.58 18.507 3 13 3S3 7.58 3 13.256c0 4.798 2.572 10.236 7.89 16.28z\" fill=\"#fff\"/></mask><g mask=\"url(#marker_inline_svg__c)\"><path d=\"M3 3h20v27H3z\"/></g><path d=\"M10.374 31c-1.884-2.216-4.125-5.144-5.888-8.307C2.71 19.505 1.5 16.22 1.5 13.256 1.5 6.734 6.681 1.5 13 1.5s11.5 5.234 11.5 11.756c0 2.964-1.21 6.249-2.986 9.437-1.763 3.163-4.004 6.091-5.888 8.307-1.414 1.662-3.838 1.662-5.252 0z\" stroke=\"#fff\" stroke-width=\"3\"/><defs><linearGradient id=\"marker_inline_svg__a\" x1=\"18.616\" y1=\".226\" x2=\"3.501\" y2=\"26.405\" gradientUnits=\"userSpaceOnUse\"><stop stop-opacity=\".01\"/><stop offset=\"1\"/></linearGradient><filter id=\"marker_inline_svg__b\" x=\"6.046\" y=\".339\" width=\"32.817\" height=\"37.4\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"2.071\" result=\"effect1_foregroundBlur_257_3020\"/></filter></defs></svg>","<svg viewBox=\"0 0 47 47\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M23.5 36C30.404 36 36 30.404 36 23.5S30.404 11 23.5 11 11 16.596 11 23.5 16.596 36 23.5 36z\" fill=\"currentColor\" opacity=\".8\" filter=\"url(#position-marker_inline_svg__a)\"/><path d=\"M31 18.5a7.5 7.5 0 1 1-15 0 7.5 7.5 0 0 1 15 0z\" fill=\"#fff\" stroke=\"currentColor\" stroke-width=\"10\"/><circle cx=\"23.5\" cy=\"18.5\" r=\"2.5\" fill=\"#fff\"/><defs><filter id=\"position-marker_inline_svg__a\" x=\".127\" y=\".127\" width=\"46.746\" height=\"46.746\" filterUnits=\"userSpaceOnUse\" color-interpolation-filters=\"sRGB\"><feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\"/><feBlend in=\"SourceGraphic\" in2=\"BackgroundImageFix\" result=\"shape\"/><feGaussianBlur stdDeviation=\"5.437\" result=\"effect1_foregroundBlur_257_3019\"/></filter></defs></svg>","import { useSx } from 'native-base';\nimport type { ColorType } from 'native-base/lib/typescript/components/types';\nimport type { ReactNode } from 'react';\nimport LargeMarkerSvg from './assets/marker-large.inline.svg';\nimport DefaultMarkerSvg from './assets/marker.inline.svg';\nimport PositionMarkerSvg from './assets/position-marker.inline.svg';\n\ninterface BaseMarkerWithSizeProps extends BaseMarkerWithColorProp {\n width: number;\n height: number;\n}\n\ninterface BaseMarkerWithoutSizeProps extends BaseMarkerWithColorProp {\n width?: never;\n height?: never;\n}\n\ninterface BaseMarkerWithColorProp {\n color?: ColorType;\n}\n\nexport type MapMarkerProps = BaseMarkerWithSizeProps | BaseMarkerWithoutSizeProps;\n\nexport function MapMarkerSimple({\n width = 40,\n height = 39,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactNode {\n const sx = useSx();\n const styles = sx({ color });\n\n return <DefaultMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerLarge({\n width = 54,\n height = 56,\n color = 'kitt.primary',\n}: MapMarkerProps & BaseMarkerWithColorProp): ReactNode {\n const sx = useSx();\n const styles = sx({ color });\n\n return <LargeMarkerSvg width={width} height={height} color={styles.color} />;\n}\n\nexport function MapMarkerPosition({ width = 47, height = 47, color = 'kitt.success' }: MapMarkerProps): ReactNode {\n const sx = useSx();\n const styles = sx({ color });\n\n return <PositionMarkerSvg width={width} height={height} color={styles.color} />;\n}\n","import { AlertCircleIcon, AlertTriangleIcon, CheckIcon, InfoIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\ninterface IconContentProps {\n type: MessageType;\n color: TypographyColor;\n}\n\nexport function IconContent({ type, color }: IconContentProps): ReactNode {\n switch (type) {\n case 'warning':\n return <AlertCircleIcon color={color} />;\n case 'success':\n return <CheckIcon color={color} />;\n case 'danger':\n return <AlertTriangleIcon color={color} />;\n default:\n return <InfoIcon color={color} />;\n }\n}\n","import type { IconButtonProps } from '../IconButton/IconButton';\nimport type { TypographyColor } from '../typography/Typography';\nimport type { MessageType } from './BaseMessage';\n\nexport const getColorByType = (type: MessageType): TypographyColor => {\n switch (type) {\n case 'success':\n case 'danger':\n case 'warning':\n default:\n return 'black';\n }\n};\n\nexport const getIconButtonColor = (messageType: MessageType): IconButtonProps['color'] => {\n switch (messageType) {\n case 'success':\n case 'danger':\n case 'warning':\n default:\n return 'black';\n }\n};\n","import type { ReactNode } from 'react';\nimport type { EdgeInsets } from 'react-native-safe-area-context';\nimport { Icon } from '../Icon/Icon';\nimport { CloseIconButton } from '../IconButton/IconButton';\nimport { HStack } from '../native-base/layout';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { IconContent } from './IconContent';\nimport { getColorByType, getIconButtonColor } from './helper';\n\nexport type MessageType = 'success' | 'warning' | 'danger' | 'info';\n\nexport interface BaseMessageProps {\n type?: MessageType;\n children: NonNullable<ReactNode>;\n /**\n * @internal for styling between Message and Notification\n */\n hasNoRadius?: boolean;\n centeredText?: boolean;\n insets?: EdgeInsets;\n onDismiss?: () => void;\n}\n\nexport function BaseMessage({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: BaseMessageProps): ReactNode {\n const color = getColorByType(type);\n\n return (\n <HStack\n alignItems=\"flex-start\"\n justifyContent=\"space-between\"\n minHeight=\"kitt.feedbackMessage.minHeight\"\n paddingTop={insets?.top}\n borderRadius={hasNoRadius ? undefined : 'kitt.5'}\n backgroundColor={`kitt.feedbackMessage.${type}.backgroundColor`}\n >\n <HStack\n flexGrow={1}\n flexShrink={1}\n alignSelf=\"center\"\n alignItems=\"flex-start\"\n paddingY=\"kitt.4\"\n paddingX=\"kitt.5\"\n >\n {centeredText ? null : (\n <View marginRight=\"kitt.5\">\n <Icon color={color} icon={<IconContent type={type} color={color} />} />\n </View>\n )}\n <Typography.Text\n flexGrow={1}\n flexShrink={1}\n textAlign={centeredText ? 'center' : 'left'}\n base=\"body\"\n color={color}\n >\n {children}\n </Typography.Text>\n </HStack>\n\n {onDismiss ? (\n <View alignItems=\"center\" marginTop={10} marginRight=\"kitt.2\" marginLeft=\"kitt.5\">\n <CloseIconButton color={getIconButtonColor(type)} onPress={onDismiss} />\n </View>\n ) : null}\n </HStack>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\n\nexport interface MessageProps extends BaseMessageProps {}\n\nexport function Message({\n type = 'info',\n children,\n hasNoRadius,\n centeredText,\n insets,\n onDismiss,\n}: MessageProps): ReactNode {\n return (\n <BaseMessage\n insets={insets}\n hasNoRadius={hasNoRadius}\n type={type}\n centeredText={centeredText}\n onDismiss={onDismiss}\n >\n {children}\n </BaseMessage>\n );\n}\n","import type { NativeBaseProviderProps } from 'native-base';\nimport { NativeBaseProvider, extendTheme } from 'native-base';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { Platform } from 'react-native';\nimport type { KittTheme } from '..';\nimport { KittBreakpoints } from '../KittBreakpoints';\nimport { KittThemeContext } from '../KittThemeContext';\nimport type { Theme } from '../themes/default';\n\nexport type Enumerate<N, A extends number[] = []> = A['length'] extends N\n ? A[number]\n : Enumerate<N, [...A, A['length']]>;\n\ntype KittSize = `kitt.${Exclude<Enumerate<65>, 0>}`;\ntype KittNegativeSize = `-kitt.${Exclude<Enumerate<65>, 0>}`;\n\ntype KittScaleRecord = Record<KittSize, number>;\ntype KittNegativeScaleRecord = Record<KittNegativeSize, number>;\ninterface KittSizeRecord {\n positive: Partial<KittScaleRecord>;\n negative: Partial<KittNegativeScaleRecord>;\n}\n\nconst createKittSpaces = (theme: Theme): KittSizeRecord => {\n const MAX_SIZE = 64;\n const sizes: KittSizeRecord = {\n positive: {},\n negative: {},\n };\n for (let size = 1; size <= MAX_SIZE; size++) {\n sizes.positive[`kitt.${size}` as KittSize] = theme.getSpacing(size);\n sizes.negative[`-kitt.${size}` as KittNegativeSize] = -theme.getSpacing(size);\n }\n return sizes;\n};\n\n// reset native-base to be able to set size / space as a number\n// https://docs.nativebase.io/next/default-theme#h2-size\nconst overridenNativeBaseSizeandSpaceScale = Object.fromEntries(\n [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 16, 20, 24, 32, 40, 48, 56, 64, 72, 80, 96, 0.5, 1.5, 2.5, 3.5].map((value) => [\n value,\n value,\n ]),\n);\n\nexport interface AppKittThemeExtensionsBreakpoints {}\nexport interface AppKittThemeExtensionsColors {}\nexport interface AppKittThemeExtensionsSizes {}\nexport interface AppKittThemeExtensionsSpace {}\nexport interface AppKittThemeExtensionsShadows {}\nexport interface AppKittThemeExtensionsOpacity {}\nexport interface AppKittThemeExtensionsBorderWidths {}\nexport interface AppKittThemeExtensionsRadii {}\n\nexport interface AppKittThemeExtensions {\n sizes: AppKittThemeExtensionsSpace;\n space: AppKittThemeExtensionsSpace;\n shadows: AppKittThemeExtensionsShadows;\n opacity: AppKittThemeExtensionsOpacity;\n borderWidths: AppKittThemeExtensionsBorderWidths;\n colors: AppKittThemeExtensionsColors;\n radii: AppKittThemeExtensionsRadii;\n breakpoints: AppKittThemeExtensionsBreakpoints;\n}\n\nexport type ExtensibleNativeBaseThemeKey =\n | 'sizes'\n | 'space'\n | 'shadows'\n | 'opacity'\n | 'borderWidths'\n | 'colors'\n | 'radii'\n | 'breakpoints';\n\nexport type ExtensibleNativeBaseAppThemeConfig = Partial<Record<ExtensibleNativeBaseThemeKey, Record<string, any>>>;\n\ntype ValidAppTheme<T> = T extends ExtensibleNativeBaseAppThemeConfig ? T : never;\n\nexport type AppTheme = Partial<ValidAppTheme<AppKittThemeExtensions>>;\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type -- let typescript infer types\nexport function createKittNativeBaseCustomTheme(theme: Theme, appTheme?: AppTheme) {\n const spaces = createKittSpaces(theme);\n\n const appBreakpoints: AppKittThemeExtensionsBreakpoints =\n appTheme?.breakpoints || ({} as AppKittThemeExtensionsBreakpoints);\n\n const extendedTheme = extendTheme({\n colors: {\n kitt: {\n ...theme.colors,\n actionCard: {\n secondary: {\n default: {\n backgroundColor: theme.actionCard.secondary.default.backgroundColor,\n borderColor: theme.actionCard.secondary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.secondary.disabled.backgroundColor,\n borderColor: theme.actionCard.secondary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.secondary.hovered.backgroundColor,\n borderColor: theme.actionCard.secondary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.secondary.focused.backgroundColor,\n borderColor: theme.actionCard.secondary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.secondary.pressed.backgroundColor,\n borderColor: theme.actionCard.secondary.pressed.borderColor,\n },\n },\n primary: {\n default: {\n backgroundColor: theme.actionCard.primary.default.backgroundColor,\n borderColor: theme.actionCard.primary.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.primary.disabled.backgroundColor,\n borderColor: theme.actionCard.primary.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.primary.hovered.backgroundColor,\n borderColor: theme.actionCard.primary.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.primary.focused.backgroundColor,\n borderColor: theme.actionCard.primary.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.primary.pressed.backgroundColor,\n borderColor: theme.actionCard.primary.pressed.borderColor,\n },\n },\n 'primary-border-soft': {\n default: {\n backgroundColor: theme.actionCard['primary-border-soft'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-soft'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-soft'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-soft'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-soft'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-soft'].pressed.borderColor,\n },\n },\n 'primary-border-hard': {\n default: {\n backgroundColor: theme.actionCard['primary-border-hard'].default.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard['primary-border-hard'].disabled.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard['primary-border-hard'].hovered.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard['primary-border-hard'].focused.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard['primary-border-hard'].pressed.backgroundColor,\n borderColor: theme.actionCard['primary-border-hard'].pressed.borderColor,\n },\n },\n highlight: {\n default: {\n backgroundColor: theme.actionCard.highlight.default.backgroundColor,\n borderColor: theme.actionCard.highlight.default.borderColor,\n },\n disabled: {\n backgroundColor: theme.actionCard.highlight.disabled.backgroundColor,\n borderColor: theme.actionCard.highlight.disabled.borderColor,\n },\n hovered: {\n backgroundColor: theme.actionCard.highlight.hovered.backgroundColor,\n borderColor: theme.actionCard.highlight.hovered.borderColor,\n },\n focused: {\n backgroundColor: theme.actionCard.highlight.focused.backgroundColor,\n borderColor: theme.actionCard.highlight.focused.borderColor,\n },\n pressed: {\n backgroundColor: theme.actionCard.highlight.pressed.backgroundColor,\n borderColor: theme.actionCard.highlight.pressed.borderColor,\n },\n },\n },\n avatar: {\n default: {\n backgroundColor: theme.colors.primary,\n },\n light: {\n backgroundColor: theme.palettes.lateOcean.black100,\n },\n },\n button: {\n default: theme.button.default,\n primary: theme.button.primary,\n danger: theme.button.danger,\n subtle: theme.button.subtle,\n 'subtle-dark': theme.button['subtle-dark'],\n disabled: theme.button.disabled,\n },\n choices: {\n item: {\n default: {\n backgroundColor: theme.choices.item.backgroundColor.default,\n },\n disabled: {\n backgroundColor: theme.choices.item.backgroundColor.disabled,\n borderColor: theme.choices.item.disabled.border.color,\n },\n selected: {\n backgroundColor: theme.choices.item.backgroundColor.selected,\n },\n pressed: {\n backgroundColor: theme.choices.item.backgroundColor.pressed,\n },\n hover: {\n backgroundColor: theme.choices.item.backgroundColor.hover,\n },\n hoverWhenSelected: {\n backgroundColor: theme.choices.item.backgroundColor.hoverWhenSelected,\n },\n },\n },\n tooltip: {\n backgroundColor: theme.tooltip.backgroundColor,\n },\n typography: theme.typography.colors,\n palettes: theme.palettes,\n feedbackMessage: {\n danger: { backgroundColor: theme.feedbackMessage.danger.backgroundColor },\n info: { backgroundColor: theme.feedbackMessage.info.backgroundColor },\n success: { backgroundColor: theme.feedbackMessage.success.backgroundColor },\n warning: { backgroundColor: theme.feedbackMessage.warning.backgroundColor },\n },\n forms: {\n autocomplete: {\n option: {\n default: { backgroundColor: theme.forms.autocomplete.option.default.backgroundColor },\n hovered: { backgroundColor: theme.forms.autocomplete.option.hovered.backgroundColor },\n focused: { backgroundColor: theme.forms.autocomplete.option.focused.backgroundColor },\n selected: { backgroundColor: theme.forms.autocomplete.option.selected.backgroundColor },\n highlighted: { backgroundColor: theme.forms.autocomplete.option.highlighted.backgroundColor },\n pressed: { backgroundColor: theme.forms.autocomplete.option.pressed.backgroundColor },\n },\n optionsContainer: {\n backgroundColor: theme.forms.autocomplete.optionsContainer.backgroundColor,\n },\n },\n input: {\n states: theme.forms.input.states,\n },\n inputTag: {\n danger: {\n backgroundColor: theme.forms.inputTag.danger.backgroundColor,\n },\n default: {\n backgroundColor: theme.forms.inputTag.default.backgroundColor,\n },\n success: {\n backgroundColor: theme.forms.inputTag.success.backgroundColor,\n },\n },\n radioButtonGroup: {\n item: {\n borderColor: theme.forms.radioButtonGroup.item.borderColor,\n backgroundColor: theme.forms.radioButtonGroup.item.backgroundColor,\n },\n },\n checkbox: {\n markColor: theme.forms.checkbox.markColor,\n checked: {\n backgroundColor: theme.forms.checkbox.checked.backgroundColor,\n borderColor: theme.forms.checkbox.checked.borderColor,\n },\n hover: {\n backgroundColor: theme.forms.checkbox.hover.backgroundColor,\n borderColor: theme.forms.checkbox.hover.borderColor,\n },\n pressed: {\n backgroundColor: theme.forms.checkbox.pressed.backgroundColor,\n borderColor: theme.forms.checkbox.pressed.borderColor,\n },\n focus: {\n backgroundColor: theme.forms.checkbox.focus.backgroundColor,\n borderColor: theme.forms.checkbox.focus.borderColor,\n },\n default: {\n backgroundColor: theme.forms.checkbox.default.backgroundColor,\n borderColor: theme.forms.checkbox.default.borderColor,\n },\n },\n radio: {\n checked: {\n backgroundColor: theme.forms.radio.checked.backgroundColor,\n borderColor: theme.forms.radio.checked.borderColor,\n },\n hover: {\n backgroundColor: theme.forms.radio.hover.backgroundColor,\n borderColor: theme.forms.radio.hover.borderColor,\n },\n pressed: {\n backgroundColor: theme.forms.radio.pressed.backgroundColor,\n borderColor: theme.forms.radio.pressed.borderColor,\n },\n focus: {\n backgroundColor: theme.forms.radio.pressed.backgroundColor,\n borderColor: theme.forms.radio.pressed.borderColor,\n },\n disabled: {\n backgroundColor: theme.forms.radio.disabled.backgroundColor,\n borderColor: theme.forms.radio.disabled.borderColor,\n },\n default: {\n backgroundColor: theme.forms.radio.unchecked.backgroundColor,\n borderColor: theme.forms.radio.unchecked.borderColor,\n },\n innerCircle: {\n backgroundColor: theme.forms.radio.checked.innerBackgroundColor,\n },\n },\n },\n skeleton: {\n backgroundColor: theme.skeleton.backgroundColor,\n flareColor: theme.skeleton.flareColor,\n },\n iconButton: {\n borderColor: theme.iconButton.borderColor,\n disabled: {\n borderColor: theme.iconButton.disabled.borderColor,\n backgroundColor: theme.iconButton.disabled.backgroundColor,\n },\n black: {\n pressed: {\n backgroundColor: theme.iconButton.default.pressedBackgroundColor,\n },\n },\n ghost: {\n pressed: {\n backgroundColor: theme.iconButton.ghost.pressedBackgroundColor,\n },\n },\n primary: {\n pressed: {\n backgroundColor: theme.iconButton.primary.pressedBackgroundColor,\n },\n },\n },\n highlight: {\n regular: {\n default: {\n backgroundColor: theme.highlight.regular.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.regular.hover.backgroundColor,\n },\n },\n primary: {\n default: {\n backgroundColor: theme.highlight.primary.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.primary.hover.backgroundColor,\n },\n },\n secondary: {\n default: {\n backgroundColor: theme.highlight.secondary.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.secondary.hover.backgroundColor,\n },\n },\n dark: {\n default: {\n backgroundColor: theme.highlight.dark.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.dark.hover.backgroundColor,\n },\n },\n ghost: {\n default: {\n backgroundColor: theme.highlight.ghost.default.backgroundColor,\n },\n hover: {\n backgroundColor: theme.highlight.ghost.hover.backgroundColor,\n },\n },\n },\n verticalSteps: {\n active: {\n icon: {\n backgroundColor: theme.verticalSteps.active.icon.backgroundColor,\n textColor: theme.verticalSteps.active.icon.textColor,\n },\n },\n done: {\n icon: {\n backgroundColor: theme.verticalSteps.done.icon.backgroundColor,\n textColor: theme.verticalSteps.done.icon.textColor,\n },\n },\n default: {\n icon: {\n backgroundColor: theme.verticalSteps.default.icon.backgroundColor,\n textColor: theme.verticalSteps.default.icon.textColor,\n },\n },\n },\n listItem: {\n borderColor: theme.listItem.borderColor,\n },\n picker: {\n ios: {\n option: {\n selected: {\n color: theme.picker.ios.selected.color,\n },\n },\n },\n android: {\n option: {\n default: {\n backgroundColor: theme.picker.android.option.default.backgroundColor,\n },\n selected: {\n color: theme.picker.android.option.selected.color,\n backgroundColor: theme.picker.android.option.selected.backgroundColor,\n },\n },\n },\n web: {\n option: {\n default: { backgroundColor: theme.picker.web.option.default.backgroundColor },\n hovered: { backgroundColor: theme.picker.web.option.hovered.backgroundColor },\n focused: { backgroundColor: theme.picker.web.option.focused.backgroundColor },\n selected: { backgroundColor: theme.picker.web.option.selected.backgroundColor },\n highlighted: { backgroundColor: theme.picker.web.option.highlighted.backgroundColor },\n pressed: { backgroundColor: theme.picker.web.option.pressed.backgroundColor },\n },\n optionsContainer: {\n backgroundColor: theme.picker.web.optionsContainer.backgroundColor,\n },\n },\n },\n },\n app: appTheme?.colors,\n },\n radii: {\n // Make original native base values unusable\n lg: Number.MAX_SAFE_INTEGER,\n md: Number.MAX_SAFE_INTEGER,\n sm: Number.MAX_SAFE_INTEGER,\n xl: Number.MAX_SAFE_INTEGER,\n '2xl': Number.MAX_SAFE_INTEGER,\n '3xl': Number.MAX_SAFE_INTEGER,\n xs: Number.MAX_SAFE_INTEGER,\n\n // Allow values like kitt.X\n ...spaces.positive,\n\n kitt: {\n actionCard: {\n borderRadius: theme.actionCard.borderRadius,\n },\n avatar: {\n borderRadius: theme.avatar.borderRadius,\n large: {\n borderRadius: theme.avatar.large.borderRadius,\n },\n },\n borderRadius: theme.card.borderRadius,\n button: {\n borderRadius: theme.button.borderRadius,\n },\n card: {\n borderRadius: theme.card.borderRadius,\n },\n cardModal: {\n borderRadius: theme.cardModal.borderRadius,\n },\n choices: {\n item: {\n borderRadius: theme.choices.item.borderRadius,\n },\n },\n dialogModal: {\n borderRadius: theme.dialogModal.borderRadius,\n },\n forms: {\n autocomplete: {\n optionsContainer: {\n borderRadius: theme.forms.autocomplete.optionsContainer.borderRadius,\n },\n },\n input: {\n borderRadius: theme.forms.input.borderRadius,\n },\n inputTag: {\n borderRadius: theme.forms.inputTag.borderRadius,\n },\n radioButtonGroup: {\n item: {\n borderRadius: theme.forms.radioButtonGroup.item.borderRadius,\n },\n },\n checkbox: {\n borderRadius: theme.forms.checkbox.borderRadius,\n },\n radio: {\n borderRadius: theme.forms.radio.size * 0.5,\n innerCircle: {\n borderRadius: theme.forms.radio.checked.innerSize * 0.5,\n },\n },\n },\n highlight: {\n borderRadius: theme.highlight.borderRadius,\n },\n iconButton: {\n borderRadius: theme.iconButton.borderRadius,\n },\n tag: {\n borderRadius: theme.tag.borderRadius,\n },\n tooltip: {\n borderRadius: theme.tooltip.borderRadius,\n },\n skeleton: {\n shape: {\n bar: {\n borderRadius: theme.skeleton.shape.bar.borderRadius,\n },\n circle: {\n borderRadius: theme.skeleton.shape.circle.borderRadius,\n },\n square: {\n borderRadius: theme.skeleton.shape.square.borderRadius,\n },\n },\n },\n picker: {\n web: {\n optionsContainer: {\n borderRadius: theme.picker.web.optionsContainer.borderRadius,\n },\n },\n },\n },\n app: appTheme?.radii,\n },\n borderWidths: {\n kitt: {\n actionCard: {\n secondary: {\n default: {\n borderWidth: theme.actionCard.secondary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.secondary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.secondary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.secondary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.secondary.pressed.borderWidth,\n },\n },\n primary: {\n default: {\n borderWidth: theme.actionCard.primary.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.primary.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.primary.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.primary.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.primary.pressed.borderWidth,\n },\n },\n 'primary-border-soft': {\n default: {\n borderWidth: theme.actionCard['primary-border-soft'].default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard['primary-border-soft'].disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard['primary-border-soft'].hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard['primary-border-soft'].focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard['primary-border-soft'].pressed.borderWidth,\n },\n },\n 'primary-border-hard': {\n default: {\n borderWidth: theme.actionCard['primary-border-hard'].default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard['primary-border-hard'].disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard['primary-border-hard'].hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard['primary-border-hard'].focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard['primary-border-hard'].pressed.borderWidth,\n },\n },\n highlight: {\n default: {\n borderWidth: theme.actionCard.highlight.default.borderWidth,\n },\n disabled: {\n borderWidth: theme.actionCard.highlight.disabled.borderWidth,\n },\n hovered: {\n borderWidth: theme.actionCard.highlight.hovered.borderWidth,\n },\n focused: {\n borderWidth: theme.actionCard.highlight.focused.borderWidth,\n },\n pressed: {\n borderWidth: theme.actionCard.highlight.pressed.borderWidth,\n },\n },\n },\n button: {\n borderWidth: theme.button.borderWidth,\n },\n choices: {\n item: {\n disabled: {\n borderWidth: theme.choices.item.disabled.border.width,\n },\n },\n },\n iconButton: {\n borderWidth: theme.iconButton.borderWidth,\n },\n forms: {\n input: {\n borderWidth: theme.forms.input.borderWidth,\n },\n radioButtonGroup: {\n item: {\n borderWidth: theme.forms.radioButtonGroup.item.borderWidth,\n },\n },\n checkbox: {\n borderWidth: theme.forms.checkbox.borderWidth,\n },\n radio: {\n borderWidth: theme.forms.radio.unchecked.borderWidth,\n },\n },\n cardModal: {\n header: {\n borderWidth: theme.cardModal.header.borderWidth,\n },\n footer: {\n borderWidth: theme.cardModal.footer.borderWidth,\n },\n },\n listItem: {\n borderWidth: theme.listItem.borderWidth,\n },\n tag: {\n fill: {\n borderWidth: theme.tag.fill.borderWidth,\n },\n outline: {\n borderWidth: theme.tag.outline.borderWidth,\n },\n },\n },\n app: appTheme?.borderWidths,\n },\n sizes: {\n ...spaces.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n avatar: {\n size: theme.avatar.size,\n iconSize: theme.avatar.iconSize,\n large: {\n size: theme.avatar.large.size,\n iconSize: theme.avatar.large.iconSize,\n },\n },\n button: {\n minWidth: theme.button.minWidth,\n maxWidth: theme.button.maxWidth,\n minHeight: theme.button.minHeight,\n },\n icon: theme.icon,\n cardModal: {\n header: {\n height: theme.cardModal.header.height,\n },\n maxWidth: theme.cardModal.maxWidth,\n maxWidthWithPadding: theme.cardModal.maxWidthWithPadding,\n minHeight: theme.cardModal.minHeight,\n },\n dialogModal: {\n maxWidth: theme.dialogModal.maxWidth,\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n feedbackMessage: {\n minHeight: theme.feedbackMessage.minHeight,\n },\n forms: {\n autocomplete: {\n option: {\n minHeight: theme.forms.autocomplete.option.minHeight,\n },\n },\n datePicker: {\n height: theme.forms.input.height,\n day: {\n minWidth: theme.forms.datePicker.day.minWidth,\n },\n month: {\n minWidth: theme.forms.datePicker.month.minWidth,\n },\n year: {\n minWidth: theme.forms.datePicker.year.minWidth,\n },\n },\n input: {\n height: theme.forms.input.height,\n },\n radioButtonGroup: {\n item: {\n minHeight: theme.forms.radioButtonGroup.item.minHeight,\n },\n },\n checkbox: {\n height: theme.forms.checkbox.height,\n width: theme.forms.checkbox.width,\n iconSize: theme.forms.checkbox.iconSize,\n textSpacing: theme.forms.checkbox.textSpacing,\n },\n radio: {\n size: theme.forms.radio.size,\n innerCircle: {\n size: theme.forms.radio.checked.innerSize,\n },\n },\n textArea: {\n minHeight: theme.forms.textArea.minHeight,\n },\n timePicker: {\n minWidth: theme.forms.timePicker.minWidth,\n },\n },\n\n iconButton: {\n size: theme.iconButton.width - theme.iconButton.borderWidth,\n width: theme.iconButton.width,\n height: theme.iconButton.height,\n },\n fullscreenModal: {\n header: {\n height: theme.fullscreenModal.header.height,\n },\n },\n pageLoader: {\n size: theme.pageLoader.size,\n },\n tag: {\n small: {\n iconSize: theme.tag.icon.small,\n },\n medium: {\n iconSize: theme.tag.icon.medium,\n },\n large: {\n iconSize: theme.tag.icon.large,\n },\n withIcon: {\n small: {\n height: theme.tag.withIcon.small.height,\n },\n medium: {\n height: theme.tag.withIcon.medium.height,\n },\n large: {\n height: theme.tag.withIcon.large.height,\n },\n },\n withoutIcon: {\n small: {\n height: theme.tag.withoutIcon.small.height,\n },\n medium: {\n height: theme.tag.withoutIcon.medium.height,\n },\n large: {\n height: theme.tag.withoutIcon.large.height,\n },\n },\n },\n tooltip: {\n maxWidth: theme.tooltip.maxWidth,\n arrow: {\n width: theme.tooltip.arrow.width,\n height: theme.tooltip.arrow.height,\n },\n },\n skeleton: {\n shape: {\n bar: {\n size: theme.skeleton.shape.bar.size,\n },\n circle: {\n size: theme.skeleton.shape.circle.size,\n },\n square: {\n size: theme.skeleton.shape.square.size,\n },\n },\n },\n picker: {\n ios: {\n default: {\n height: theme.picker.ios.default.height,\n },\n landscape: {\n height: theme.picker.ios.landscape.height,\n },\n },\n },\n },\n app: appTheme?.sizes,\n },\n space: {\n ...spaces.positive,\n ...spaces.negative,\n ...overridenNativeBaseSizeandSpaceScale,\n kitt: {\n bottomSheet: {\n container: {\n padding: theme.bottomSheet.container.padding,\n },\n },\n button: {\n padding: theme.button.padding,\n },\n cardModal: {\n overlayPadding: theme.cardModal.overlayPadding,\n },\n dialogModal: {\n overlayPadding: theme.dialogModal.overlayPadding,\n },\n forms: {\n autocomplete: {\n option: {\n verticalPadding: theme.forms.autocomplete.option.verticalPadding,\n },\n },\n datePicker: {\n padding: theme.forms.input.padding,\n },\n input: {\n padding: theme.forms.input.padding,\n },\n radioButtonGroup: {\n item: {\n padding: theme.forms.radioButtonGroup.item.padding,\n },\n },\n },\n fullscreenModal: {\n horizontalPadding: theme.fullscreenModal.sharedHorizontalPadding,\n body: {\n verticalPadding: theme.fullscreenModal.body.verticalPadding,\n },\n footer: {\n verticalPadding: theme.fullscreenModal.footer.verticalPadding,\n },\n },\n highlight: {\n medium: {\n padding: theme.highlight.padding.medium,\n },\n large: {\n padding: theme.highlight.padding.large,\n },\n },\n listItem: {\n verticalPadding: theme.listItem.verticalPadding,\n horizontalPadding: theme.listItem.horizontalPadding,\n },\n tag: {\n withoutIcon: {\n small: {\n paddingLeft: theme.tag.withoutIcon.small.paddingLeft,\n paddingRight: theme.tag.withoutIcon.small.paddingRight,\n },\n medium: {\n paddingLeft: theme.tag.withoutIcon.medium.paddingLeft,\n paddingRight: theme.tag.withoutIcon.medium.paddingRight,\n },\n large: {\n paddingLeft: theme.tag.withoutIcon.large.paddingLeft,\n paddingRight: theme.tag.withoutIcon.large.paddingRight,\n },\n },\n withIcon: {\n small: {\n paddingLeft: theme.tag.withIcon.small.paddingLeft,\n paddingRight: theme.tag.withIcon.small.paddingRight,\n },\n medium: {\n paddingLeft: theme.tag.withIcon.medium.paddingLeft,\n paddingRight: theme.tag.withIcon.medium.paddingRight,\n },\n large: {\n paddingLeft: theme.tag.withIcon.large.paddingLeft,\n paddingRight: theme.tag.withIcon.large.paddingRight,\n },\n },\n },\n tooltip: {\n horizontalPadding: theme.tooltip.horizontalPadding,\n verticalPadding: theme.tooltip.verticalPadding,\n floatingPadding: theme.tooltip.floatingPadding,\n },\n picker: {\n android: {\n option: {\n verticalPadding: theme.picker.android.option.verticalPadding,\n horizontalPadding: theme.picker.android.option.horizontalPadding,\n },\n },\n web: {\n option: {\n verticalPadding: theme.picker.web.option.verticalPadding,\n horizontalPadding: theme.picker.web.option.horizontalPadding,\n },\n },\n },\n },\n app: appTheme?.space,\n },\n breakpoints: {\n // kitt breakpoints\n base: KittBreakpoints.BASE,\n small: KittBreakpoints.SMALL,\n medium: KittBreakpoints.MEDIUM,\n large: KittBreakpoints.LARGE,\n wide: KittBreakpoints.WIDE,\n\n // native base default naming\n sm: Number.MAX_SAFE_INTEGER,\n md: Number.MAX_SAFE_INTEGER,\n lg: Number.MAX_SAFE_INTEGER,\n xl: Number.MAX_SAFE_INTEGER,\n '2xl': Number.MAX_SAFE_INTEGER,\n\n // Breakpoints can't be nested in objects\n ...appBreakpoints,\n },\n\n fontSizes: {\n baseAndSmall: {\n /* legacy */\n header1: `${theme.typography.types.headings.configs.header1.baseAndSmall.fontSize}px`,\n header2: `${theme.typography.types.headings.configs.header2.baseAndSmall.fontSize}px`,\n header3: `${theme.typography.types.headings.configs.header3.baseAndSmall.fontSize}px`,\n header4: `${theme.typography.types.headings.configs.header4.baseAndSmall.fontSize}px`,\n header5: `${theme.typography.types.headings.configs.header5.baseAndSmall.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].baseAndSmall.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].baseAndSmall.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.baseAndSmall.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].baseAndSmall.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.fontSize}px`,\n 'header-impact-xxl': `${theme.typography.types['headings-impact'].configs['header-impact-xxl'].baseAndSmall.fontSize}px`,\n 'header-impact-xl': `${theme.typography.types['headings-impact'].configs['header-impact-xl'].baseAndSmall.fontSize}px`,\n 'header-impact-l': `${theme.typography.types['headings-impact'].configs['header-impact-l'].baseAndSmall.fontSize}px`,\n 'header-impact-m': `${theme.typography.types['headings-impact'].configs['header-impact-m'].baseAndSmall.fontSize}px`,\n 'header-impact-s': `${theme.typography.types['headings-impact'].configs['header-impact-s'].baseAndSmall.fontSize}px`,\n 'header-impact-xs': `${theme.typography.types['headings-impact'].configs['header-impact-xs'].baseAndSmall.fontSize}px`,\n 'header-impact-xxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxs'].baseAndSmall.fontSize}px`,\n 'header-impact-xxxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxxs'].baseAndSmall.fontSize}px`,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].baseAndSmall.fontSize}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].baseAndSmall.fontSize}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].baseAndSmall.fontSize}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].baseAndSmall.fontSize}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].baseAndSmall.fontSize}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].baseAndSmall.fontSize}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].baseAndSmall.fontSize}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].baseAndSmall.fontSize}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].baseAndSmall.fontSize}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].baseAndSmall.fontSize}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].baseAndSmall.fontSize}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].baseAndSmall.fontSize}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].baseAndSmall.fontSize}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].baseAndSmall.fontSize}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].baseAndSmall.fontSize}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].baseAndSmall.fontSize}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].baseAndSmall.fontSize}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].baseAndSmall.fontSize}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].baseAndSmall.fontSize}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].baseAndSmall.fontSize}px`,\n },\n mediumAndWide: {\n /* legacy */\n header1: `${theme.typography.types.headings.configs.header1.mediumAndWide.fontSize}px`,\n header2: `${theme.typography.types.headings.configs.header2.mediumAndWide.fontSize}px`,\n header3: `${theme.typography.types.headings.configs.header3.mediumAndWide.fontSize}px`,\n header4: `${theme.typography.types.headings.configs.header4.mediumAndWide.fontSize}px`,\n header5: `${theme.typography.types.headings.configs.header5.mediumAndWide.fontSize}px`,\n 'body-large': `${theme.typography.types.bodies.configs['body-large'].mediumAndWide.fontSize}px`,\n 'body-medium': `${theme.typography.types.bodies.configs['body-medium'].mediumAndWide.fontSize}px`,\n body: `${theme.typography.types.bodies.configs.body.mediumAndWide.fontSize}px`,\n 'body-small': `${theme.typography.types.bodies.configs['body-small'].mediumAndWide.fontSize}px`,\n 'body-xsmall': `${theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.fontSize}px`,\n 'header-impact-xxl': `${theme.typography.types['headings-impact'].configs['header-impact-xxl'].mediumAndWide.fontSize}px`,\n 'header-impact-xl': `${theme.typography.types['headings-impact'].configs['header-impact-xl'].mediumAndWide.fontSize}px`,\n 'header-impact-l': `${theme.typography.types['headings-impact'].configs['header-impact-l'].mediumAndWide.fontSize}px`,\n 'header-impact-m': `${theme.typography.types['headings-impact'].configs['header-impact-m'].mediumAndWide.fontSize}px`,\n 'header-impact-s': `${theme.typography.types['headings-impact'].configs['header-impact-s'].mediumAndWide.fontSize}px`,\n 'header-impact-xs': `${theme.typography.types['headings-impact'].configs['header-impact-xs'].mediumAndWide.fontSize}px`,\n 'header-impact-xxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxs'].mediumAndWide.fontSize}px`,\n 'header-impact-xxxs': `${theme.typography.types['headings-impact'].configs['header-impact-xxxs'].mediumAndWide.fontSize}px`,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].mediumAndWide.fontSize}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].mediumAndWide.fontSize}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].mediumAndWide.fontSize}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].mediumAndWide.fontSize}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].mediumAndWide.fontSize}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].mediumAndWide.fontSize}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].mediumAndWide.fontSize}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].mediumAndWide.fontSize}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].mediumAndWide.fontSize}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].mediumAndWide.fontSize}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].mediumAndWide.fontSize}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].mediumAndWide.fontSize}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].mediumAndWide.fontSize}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].mediumAndWide.fontSize}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].mediumAndWide.fontSize}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].mediumAndWide.fontSize}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].mediumAndWide.fontSize}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].mediumAndWide.fontSize}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].mediumAndWide.fontSize}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].mediumAndWide.fontSize}px`,\n },\n },\n lineHeights: {\n baseAndSmall: {\n /* legacy */\n header1: theme.typography.types.headings.configs.header1.baseAndSmall.lineHeight,\n header2: theme.typography.types.headings.configs.header2.baseAndSmall.lineHeight,\n header3: theme.typography.types.headings.configs.header3.baseAndSmall.lineHeight,\n header4: theme.typography.types.headings.configs.header4.baseAndSmall.lineHeight,\n header5: theme.typography.types.headings.configs.header5.baseAndSmall.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].baseAndSmall.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].baseAndSmall.lineHeight,\n body: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].baseAndSmall.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].baseAndSmall.lineHeight,\n 'header-impact-xxl':\n theme.typography.types['headings-impact'].configs['header-impact-xxl'].baseAndSmall.lineHeight,\n 'header-impact-xl':\n theme.typography.types['headings-impact'].configs['header-impact-xl'].baseAndSmall.lineHeight,\n 'header-impact-l': theme.typography.types['headings-impact'].configs['header-impact-l'].baseAndSmall.lineHeight,\n 'header-impact-m': theme.typography.types['headings-impact'].configs['header-impact-m'].baseAndSmall.lineHeight,\n 'header-impact-s': theme.typography.types['headings-impact'].configs['header-impact-s'].baseAndSmall.lineHeight,\n 'header-impact-xs':\n theme.typography.types['headings-impact'].configs['header-impact-xs'].baseAndSmall.lineHeight,\n 'header-impact-xxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxs'].baseAndSmall.lineHeight,\n 'header-impact-xxxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxxs'].baseAndSmall.lineHeight,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].baseAndSmall.lineHeight}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].baseAndSmall.lineHeight}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].baseAndSmall.lineHeight}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].baseAndSmall.lineHeight}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].baseAndSmall.lineHeight}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].baseAndSmall.lineHeight}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].baseAndSmall.lineHeight}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].baseAndSmall.lineHeight}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].baseAndSmall.lineHeight}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].baseAndSmall.lineHeight}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].baseAndSmall.lineHeight}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].baseAndSmall.lineHeight}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].baseAndSmall.lineHeight}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].baseAndSmall.lineHeight}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].baseAndSmall.lineHeight}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].baseAndSmall.lineHeight}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].baseAndSmall.lineHeight}px`,\n },\n mediumAndWide: {\n /* legacy */\n header1: theme.typography.types.headings.configs.header1.mediumAndWide.lineHeight,\n header2: theme.typography.types.headings.configs.header2.mediumAndWide.lineHeight,\n header3: theme.typography.types.headings.configs.header3.mediumAndWide.lineHeight,\n header4: theme.typography.types.headings.configs.header4.mediumAndWide.lineHeight,\n header5: theme.typography.types.headings.configs.header5.mediumAndWide.lineHeight,\n 'body-large': theme.typography.types.bodies.configs['body-large'].mediumAndWide.lineHeight,\n 'body-medium': theme.typography.types.bodies.configs['body-medium'].mediumAndWide.lineHeight,\n body: theme.typography.types.bodies.configs.body.mediumAndWide.lineHeight,\n 'body-small': theme.typography.types.bodies.configs['body-small'].mediumAndWide.lineHeight,\n 'body-xsmall': theme.typography.types.bodies.configs['body-xsmall'].mediumAndWide.lineHeight,\n 'header-impact-xxl':\n theme.typography.types['headings-impact'].configs['header-impact-xxl'].mediumAndWide.lineHeight,\n 'header-impact-xl':\n theme.typography.types['headings-impact'].configs['header-impact-xl'].mediumAndWide.lineHeight,\n 'header-impact-l':\n theme.typography.types['headings-impact'].configs['header-impact-l'].mediumAndWide.lineHeight,\n 'header-impact-m':\n theme.typography.types['headings-impact'].configs['header-impact-m'].mediumAndWide.lineHeight,\n 'header-impact-s':\n theme.typography.types['headings-impact'].configs['header-impact-s'].mediumAndWide.lineHeight,\n 'header-impact-xs':\n theme.typography.types['headings-impact'].configs['header-impact-xs'].mediumAndWide.lineHeight,\n 'header-impact-xxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxs'].mediumAndWide.lineHeight,\n 'header-impact-xxxs':\n theme.typography.types['headings-impact'].configs['header-impact-xxxs'].mediumAndWide.lineHeight,\n /* latest */\n 'heading-impact-xxl': `${theme.typography.types['headings-impact'].configs['heading-impact-xxl'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xl': `${theme.typography.types['headings-impact'].configs['heading-impact-xl'].mediumAndWide.lineHeight}px`,\n 'heading-impact-l': `${theme.typography.types['headings-impact'].configs['heading-impact-l'].mediumAndWide.lineHeight}px`,\n 'heading-impact-m': `${theme.typography.types['headings-impact'].configs['heading-impact-m'].mediumAndWide.lineHeight}px`,\n 'heading-impact-s': `${theme.typography.types['headings-impact'].configs['heading-impact-s'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xs': `${theme.typography.types['headings-impact'].configs['heading-impact-xs'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxs'].mediumAndWide.lineHeight}px`,\n 'heading-impact-xxxs': `${theme.typography.types['headings-impact'].configs['heading-impact-xxxs'].mediumAndWide.lineHeight}px`,\n 'heading-xxl': `${theme.typography.types.headings.configs['heading-xxl'].mediumAndWide.lineHeight}px`,\n 'heading-xl': `${theme.typography.types.headings.configs['heading-xl'].mediumAndWide.lineHeight}px`,\n 'heading-l': `${theme.typography.types.headings.configs['heading-l'].mediumAndWide.lineHeight}px`,\n 'heading-m': `${theme.typography.types.headings.configs['heading-m'].mediumAndWide.lineHeight}px`,\n 'heading-s': `${theme.typography.types.headings.configs['heading-s'].mediumAndWide.lineHeight}px`,\n 'heading-xs': `${theme.typography.types.headings.configs['heading-xs'].mediumAndWide.lineHeight}px`,\n 'heading-xxs': `${theme.typography.types.headings.configs['heading-xxs'].mediumAndWide.lineHeight}px`,\n 'body-xl': `${theme.typography.types.bodies.configs['body-xl'].mediumAndWide.lineHeight}px`,\n 'body-l': `${theme.typography.types.bodies.configs['body-l'].mediumAndWide.lineHeight}px`,\n 'body-m': `${theme.typography.types.bodies.configs['body-m'].mediumAndWide.lineHeight}px`,\n 'body-s': `${theme.typography.types.bodies.configs['body-s'].mediumAndWide.lineHeight}px`,\n 'body-xs': `${theme.typography.types.bodies.configs['body-xs'].mediumAndWide.lineHeight}px`,\n },\n },\n fontWeights: {\n headings: {\n regular: theme.typography.types.headings.fontWeight.regular,\n bold: theme.typography.types.headings.fontWeight.bold,\n },\n 'headings-impact': {\n regular: theme.typography.types['headings-impact'].fontWeight,\n bold: theme.typography.types['headings-impact'].fontWeight,\n },\n bodies: {\n regular: theme.typography.types.bodies.fontWeight.regular,\n // TODO [https://ornikar.atlassian.net/browse/CME-767] This quick fix should be replaced by a 700 in every case, and native font weights should be handled by expo-fonts\n bold: Platform.OS === 'android' ? 400 : theme.typography.types.bodies.fontWeight.bold,\n },\n },\n fonts: {\n headings:\n Platform.OS === 'web'\n ? theme.typography.types.headings.fontFamily.web\n : theme.typography.types.headings.fontFamily.native,\n 'headings-impact':\n Platform.OS === 'web'\n ? theme.typography.types['headings-impact'].fontFamily.web\n : theme.typography.types['headings-impact'].fontFamily.native,\n bodies:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web\n : theme.typography.types.bodies.fontFamily.native,\n },\n\n shadows: {\n kitt: {\n shadows: {\n cards: {\n low: {\n shadowColor: theme.shadows.cards.low.color,\n shadowOffset: { width: theme.shadows.cards.low.offsetX, height: theme.shadows.cards.low.offsetY },\n shadowOpacity: theme.shadows.cards.low.opacity,\n shadowRadius: theme.shadows.cards.low.radius,\n },\n medium: {\n shadowColor: theme.shadows.cards.medium.color,\n shadowOffset: { width: theme.shadows.cards.medium.offsetX, height: theme.shadows.cards.medium.offsetY },\n shadowOpacity: theme.shadows.cards.medium.opacity,\n shadowRadius: theme.shadows.cards.medium.radius,\n },\n highBase: {\n shadowColor: theme.shadows.cards.highBase.color,\n shadowOffset: {\n width: theme.shadows.cards.highBase.offsetX,\n height: theme.shadows.cards.highBase.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highBase.opacity,\n shadowRadius: theme.shadows.cards.highBase.radius,\n },\n highMedium: {\n shadowColor: theme.shadows.cards.highMedium.color,\n shadowOffset: {\n width: theme.shadows.cards.highMedium.offsetX,\n height: theme.shadows.cards.highMedium.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highMedium.opacity,\n shadowRadius: theme.shadows.cards.highMedium.radius,\n },\n highLarge: {\n shadowColor: theme.shadows.cards.highLarge.color,\n shadowOffset: {\n width: theme.shadows.cards.highLarge.offsetX,\n height: theme.shadows.cards.highLarge.offsetY,\n },\n shadowOpacity: theme.shadows.cards.highLarge.opacity,\n shadowRadius: theme.shadows.cards.highLarge.radius,\n },\n },\n navigation: {\n left: {\n shadowColor: theme.shadows.navigation.left.color,\n shadowOffset: {\n width: theme.shadows.navigation.left.offsetX,\n height: theme.shadows.navigation.left.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.left.opacity,\n shadowRadius: theme.shadows.navigation.left.radius,\n },\n right: {\n shadowColor: theme.shadows.navigation.right.color,\n shadowOffset: {\n width: theme.shadows.navigation.right.offsetX,\n height: theme.shadows.navigation.right.offsetY,\n },\n shadowOpacity: theme.shadows.navigation.right.opacity,\n shadowRadius: theme.shadows.navigation.right.radius,\n },\n },\n panel: {\n shadowColor: theme.shadows.panel.color,\n shadowOffset: { width: theme.shadows.panel.offsetX, height: theme.shadows.panel.offsetY },\n shadowOpacity: theme.shadows.panel.opacity,\n shadowRadius: theme.shadows.panel.radius,\n },\n },\n actionCard: {\n secondary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.secondary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.default.shadow.offsetX,\n height: theme.actionCard.secondary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.default.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.secondary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.hovered.shadow.offsetX,\n height: theme.actionCard.secondary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.secondary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.focused.shadow.offsetX,\n height: theme.actionCard.secondary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.secondary.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.pressed.shadow.offsetX,\n height: theme.actionCard.secondary.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard.secondary.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.secondary.disabled.shadow.offsetX,\n height: theme.actionCard.secondary.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.secondary.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.secondary.disabled.shadow.radius,\n },\n },\n },\n primary: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.primary.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.default.shadow.offsetX,\n height: theme.actionCard.primary.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.default.shadow.opacity,\n shadowRadius: theme.actionCard.primary.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.primary.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.hovered.shadow.offsetX,\n height: theme.actionCard.primary.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.primary.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.primary.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.focused.shadow.offsetX,\n height: theme.actionCard.primary.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.focused.shadow.opacity,\n shadowRadius: theme.actionCard.primary.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.primary.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.pressed.shadow.offsetX,\n height: theme.actionCard.primary.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.primary.pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard.primary.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.primary.disabled.shadow.offsetX,\n height: theme.actionCard.primary.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.primary.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.primary.disabled.shadow.radius,\n },\n },\n },\n 'primary-border-soft': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-soft'].disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-soft'].disabled.shadow.offsetX,\n height: theme.actionCard['primary-border-soft'].disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-soft'].disabled.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-soft'].disabled.shadow.radius,\n },\n },\n },\n 'primary-border-hard': {\n default: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].default.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].default.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].default.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].hovered.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].hovered.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].focused.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].focused.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].pressed.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].pressed.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard['primary-border-hard'].disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard['primary-border-hard'].disabled.shadow.offsetX,\n height: theme.actionCard['primary-border-hard'].disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard['primary-border-hard'].disabled.shadow.opacity,\n shadowRadius: theme.actionCard['primary-border-hard'].disabled.shadow.radius,\n },\n },\n },\n highlight: {\n default: {\n shadow: {\n shadowColor: theme.actionCard.highlight.default.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.default.shadow.offsetX,\n height: theme.actionCard.highlight.default.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.default.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.default.shadow.radius,\n },\n },\n hovered: {\n shadow: {\n shadowColor: theme.actionCard.highlight.hovered.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.hovered.shadow.offsetX,\n height: theme.actionCard.highlight.hovered.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.hovered.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.hovered.shadow.radius,\n },\n },\n focused: {\n shadow: {\n shadowColor: theme.actionCard.highlight.focused.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.focused.shadow.offsetX,\n height: theme.actionCard.highlight.focused.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.focused.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.focused.shadow.radius,\n },\n },\n pressed: {\n shadow: {\n shadowColor: theme.actionCard.highlight.pressed.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.pressed.shadow.offsetX,\n height: theme.actionCard.highlight.pressed.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.pressed.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.pressed.shadow.radius,\n },\n },\n disabled: {\n shadow: {\n shadowColor: theme.actionCard.highlight.disabled.shadow.color,\n shadowOffset: {\n width: theme.actionCard.highlight.disabled.shadow.offsetX,\n height: theme.actionCard.highlight.disabled.shadow.offsetY,\n },\n shadowOpacity: theme.actionCard.highlight.disabled.shadow.opacity,\n shadowRadius: theme.actionCard.highlight.disabled.shadow.radius,\n },\n },\n },\n },\n cardModal: {\n shadow: {\n shadowColor: theme.cardModal.shadow.color,\n shadowOffset: { width: theme.cardModal.shadow.offsetX, height: theme.cardModal.shadow.offsetY },\n shadowOpacity: theme.cardModal.shadow.opacity,\n shadowRadius: theme.cardModal.shadow.radius,\n },\n },\n dialogModal: {\n shadow: {\n shadowColor: theme.dialogModal.shadow.color,\n shadowOffset: { width: theme.dialogModal.shadow.offsetX, height: theme.dialogModal.shadow.offsetY },\n shadowOpacity: theme.dialogModal.shadow.opacity,\n shadowRadius: theme.dialogModal.shadow.radius,\n },\n },\n picker: {\n web: {\n optionsContainer: {\n shadow: {\n shadowColor: theme.picker.web.optionsContainer.shadow.color,\n shadowOffset: {\n width: theme.picker.web.optionsContainer.shadow.offsetX,\n height: theme.picker.web.optionsContainer.shadow.offsetY,\n },\n shadowOpacity: theme.picker.web.optionsContainer.shadow.opacity,\n shadowRadius: theme.picker.web.optionsContainer.shadow.radius,\n },\n },\n },\n },\n forms: {\n autocomplete: {\n optionsContainer: {\n shadow: {\n shadowColor: theme.forms.autocomplete.optionsContainer.shadow.color,\n shadowOffset: {\n width: theme.forms.autocomplete.optionsContainer.shadow.offsetX,\n height: theme.forms.autocomplete.optionsContainer.shadow.offsetY,\n },\n shadowOpacity: theme.forms.autocomplete.optionsContainer.shadow.opacity,\n shadowRadius: theme.forms.autocomplete.optionsContainer.shadow.radius,\n },\n },\n },\n },\n },\n app: appTheme?.shadows,\n },\n\n opacity: {\n app: appTheme?.opacity,\n kitt: {\n tooltip: {\n opacity: theme.tooltip.opacity,\n },\n },\n },\n\n components: {\n Input: {\n baseStyle: {\n width: '100%',\n height: theme.forms.input.height,\n py: theme.forms.input.padding.vertical,\n px: theme.forms.input.padding.horizontal,\n borderRadius: theme.forms.input.borderRadius,\n _disabled: {\n opacity: 1, // override default native-base opacity\n },\n _light: {\n color: theme.forms.input.states.default.color,\n placeholderTextColor: theme.forms.input.color.placeholder,\n borderColor: theme.forms.input.states.default.borderColor,\n bg: theme.forms.input.states.default.backgroundColor,\n _hover: {\n bg: theme.forms.input.states.hover.backgroundColor,\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n _focus: {\n bg: theme.forms.input.states.default.backgroundColor,\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n },\n _focus: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n _hover: {\n borderColor: theme.forms.input.states.focus.borderColor,\n color: theme.forms.input.states.focus.color,\n },\n _stack: {\n style: {\n outlineWidth: 0,\n boxShadow: 'none',\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\n },\n },\n _invalid: {\n borderColor: theme.forms.input.states.invalid.borderColor,\n color: theme.forms.input.states.invalid.color,\n _hover: {\n borderColor: theme.forms.input.states.hover.borderColor,\n color: theme.forms.input.states.hover.color,\n },\n },\n _ios: {\n selectionColor: theme.forms.input.color.selection,\n },\n _android: {\n selectionColor: theme.forms.input.color.selection,\n },\n _disabled: {\n placeholderTextColor: theme.forms.input.states.disabled.color,\n color: theme.forms.input.states.disabled.color,\n borderColor: theme.forms.input.states.disabled.borderColor,\n bg: theme.forms.input.states.disabled.backgroundColor,\n },\n },\n },\n variants: {\n outline: {\n borderWidth: theme.forms.input.borderWidth,\n _focus: {\n bg: theme.forms.input.states.default.backgroundColor,\n },\n },\n underlined: {},\n rounded: {},\n filled: {},\n unstyled: {},\n },\n },\n Text: {\n baseStyle: {\n _light: {\n color: 'kitt.typography.black',\n },\n _dark: {\n color: 'kitt.typography.white',\n },\n fontFamily:\n Platform.OS === 'web'\n ? theme.typography.types.bodies.fontFamily.web.regular\n : theme.typography.types.bodies.fontFamily.native.regular,\n fontStyle: theme.typography.types.bodies.fontStyle.regular,\n fontWeight: theme.typography.types.bodies.fontWeight.regular,\n fontSize: undefined,\n lineHeight: theme.typography.types.bodies.configs.body.baseAndSmall.lineHeight,\n },\n },\n },\n });\n\n return { ...extendedTheme, space: extendedTheme.space as typeof spaces.positive & typeof spaces.negative };\n}\n\ntype KittNativeBaseCustomTheme = ReturnType<typeof createKittNativeBaseCustomTheme>;\n\ndeclare module 'native-base' {\n interface ICustomTheme extends KittNativeBaseCustomTheme {}\n}\n\nexport interface KittNativeBaseProviderProps {\n /**\n * `theme` should come from `useKittTheme`\n */\n theme: KittTheme;\n isSSR: NativeBaseProviderProps['isSSR'];\n /**\n * `appTheme` is optional and provides extended theme configuration. It's a native-base representation of your application theme.\n * This variable must not change at each render\n */\n appTheme?: AppTheme;\n children: ReactNode;\n}\n\n/**\n * Provide theme to native-base\n *\n * `appTheme` is optional and provides extended theme configuration. This variable must not change at each render\n *\n * @exemple\n * ```tsx\n * const appTheme = {};\n * export function MyAppThemeProvider({ children }) {\n * const theme = useKittTheme();\n * return <KittNativeBaseProvider theme={theme} appTheme={appTheme}>{children}</KittNativeBaseProvider>\n * }\n * ```\n */\nexport function KittNativeBaseProvider({ theme, isSSR, appTheme, children }: KittNativeBaseProviderProps): ReactNode {\n const kittTheme = theme.kitt;\n\n const nativeBaseCustomTheme = useMemo(\n () => createKittNativeBaseCustomTheme(kittTheme, appTheme),\n [kittTheme, appTheme],\n );\n\n const kittInternalTheme = useMemo(() => ({ kitt: kittTheme }), [kittTheme]);\n\n return (\n <NativeBaseProvider theme={nativeBaseCustomTheme} isSSR={isSSR}>\n <KittThemeContext.Provider value={kittInternalTheme}>{children}</KittThemeContext.Provider>\n </NativeBaseProvider>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect, useState } from 'react';\nimport { CardModalAnimation } from '../CardModal/CardModalAnimation/CardModalAnimation';\nimport { FullscreenModalAnimation } from '../FullscreenModal/FullscreenModalAnimation';\nimport type { ModalBehaviourProps } from '../ModalBehaviour/ModalBehaviour';\nimport { ModalBehaviour } from '../ModalBehaviour/ModalBehaviour';\nimport type { ModalAnimationComponentProps } from '../ModalBehaviour/type';\nimport { useBreakpointValue } from '../native-base/utils';\n\ntype AnimationComponentType = typeof CardModalAnimation | typeof FullscreenModalAnimation;\n\nexport interface NavigationModalBehaviourProps extends ModalBehaviourProps, ModalAnimationComponentProps {\n onClose: () => void;\n}\n\nexport function NavigationModalBehaviour({\n children,\n visible,\n appear = true,\n onExited,\n onEnter,\n onExit,\n onClose,\n ...props\n}: NavigationModalBehaviourProps): ReactNode {\n const AnimationComponent = useBreakpointValue<AnimationComponentType>({\n base: FullscreenModalAnimation,\n small: CardModalAnimation,\n });\n\n const [isModalBehaviourVisible, setIsModalBehaviourVisible] = useState(visible);\n const [shouldAppear, setShouldAppear] = useState(appear);\n\n useEffect(() => {\n if (visible === true) {\n setIsModalBehaviourVisible(true);\n }\n }, [visible]);\n\n const handleExitAnimationDone = (): void => {\n if (onExited) onExited();\n setIsModalBehaviourVisible(false);\n };\n\n const handleEnter = (): void => {\n if (onEnter) onEnter();\n\n // Once a children as been displayed, we force appear to false in order to avoid replaying animation on breakpoint change\n setShouldAppear(false);\n };\n\n const handleExit = (): void => {\n if (onExit) onExit();\n\n // Reset appear value to its original value for future modal display\n setShouldAppear(appear);\n };\n\n return (\n <ModalBehaviour visible={isModalBehaviourVisible} onClose={onClose}>\n <AnimationComponent\n {...props}\n appear={shouldAppear}\n visible={visible}\n onEnter={handleEnter}\n onExit={handleExit}\n onExited={handleExitAnimationDone}\n onClose={onClose}\n >\n {children}\n </AnimationComponent>\n </ModalBehaviour>\n );\n}\n","import type { ReactNode } from 'react';\nimport { CardModal } from '../CardModal/CardModal';\nimport type { CardModalBodyProps } from '../CardModal/CardModalBody';\nimport type { CardModalFooterProps } from '../CardModal/CardModalFooter';\nimport type { CardModalHeaderProps } from '../CardModal/CardModalHeader';\nimport type { FullscreenModalBodyProps } from '../FullscreenModal/Body';\nimport type { FullscreenModalFooterProps } from '../FullscreenModal/Footer';\nimport { FullscreenModal } from '../FullscreenModal/FullscreenModal';\nimport type { FullscreenModalProps } from '../FullscreenModal/FullscreenModal';\nimport type { FullscreenModalHeaderProps } from '../FullscreenModal/Header';\nimport { useBreakpointValue } from '../native-base/utils';\nimport { NavigationModalBehaviour } from './NavigationModalBehaviour';\n\nexport interface NavigationModalProps extends FullscreenModalProps {}\n\nexport function NavigationModal({ body, backgroundColor, footer, header }: NavigationModalProps): ReactNode {\n const Component = useBreakpointValue<typeof FullscreenModal | typeof CardModal>({\n base: FullscreenModal,\n small: CardModal,\n });\n\n return <Component body={body} backgroundColor={backgroundColor} footer={footer} header={header} />;\n}\n\ntype HeaderProps = CardModalHeaderProps | FullscreenModalHeaderProps;\n\nfunction Header(props: HeaderProps): ReactNode {\n const Component: typeof FullscreenModal.Header | typeof CardModal.Header = useBreakpointValue({\n base: FullscreenModal.Header,\n small: CardModal.Header,\n });\n return <Component {...props} />;\n}\n\ntype BodyProps = CardModalBodyProps | FullscreenModalBodyProps;\n\nfunction Body(props: BodyProps): ReactNode {\n const Component: typeof FullscreenModal.Body | typeof CardModal.Body = useBreakpointValue({\n base: FullscreenModal.Body,\n small: CardModal.Body,\n });\n return <Component {...props} />;\n}\n\ntype FooterProps = CardModalFooterProps | FullscreenModalFooterProps;\n\nfunction Footer(props: FooterProps): ReactNode {\n const Component: typeof FullscreenModal.Footer | typeof CardModal.Footer = useBreakpointValue({\n base: FullscreenModal.Footer,\n small: CardModal.Footer,\n });\n return <Component {...props} />;\n}\n\nNavigationModal.Header = Header;\nNavigationModal.Body = Body;\nNavigationModal.Footer = Footer;\nNavigationModal.ModalBehaviour = NavigationModalBehaviour;\n","import type { ReactNode } from 'react';\nimport { BaseMessage } from '../BaseMessage/BaseMessage';\nimport type { BaseMessageProps } from '../BaseMessage/BaseMessage';\n\nexport interface NotificationProps extends BaseMessageProps {}\n\nexport function Notification({ type, children, centeredText, insets, onDismiss }: NotificationProps): ReactNode {\n return (\n <BaseMessage hasNoRadius type={type} centeredText={centeredText} insets={insets} onDismiss={onDismiss}>\n {children}\n </BaseMessage>\n );\n}\n","import type { ReactNode } from 'react';\nimport Animated, { useAnimatedProps } from 'react-native-reanimated';\nimport type { CircleProps } from 'react-native-svg';\nimport { Circle } from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\n\nconst AnimatedCircle = Animated.createAnimatedComponent(Circle);\n\ninterface PageLoaderCircleProps {\n color: CircleProps['stroke'];\n progress: Animated.SharedValue<number>;\n}\n\nexport function AnimatedLoaderCircle({ color, progress }: PageLoaderCircleProps): ReactNode {\n const theme = useTheme();\n\n const { strokeWidth, size } = theme.kitt.pageLoader;\n\n const centerCoord = size * 0.5;\n const radius = centerCoord - strokeWidth;\n const circlePerimeter = 2 * Math.PI * (size * 0.5 - strokeWidth);\n\n const strokeAnimation = useAnimatedProps(() => {\n return {\n strokeDashoffset: circlePerimeter - circlePerimeter * progress.value,\n };\n });\n\n return (\n <AnimatedCircle\n transform-origin=\"center center\"\n strokeWidth={strokeWidth}\n stroke={color}\n strokeLinecap=\"round\"\n cx={centerCoord}\n cy={centerCoord}\n r={radius}\n fill=\"none\"\n strokeDasharray={circlePerimeter}\n animatedProps={strokeAnimation}\n />\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nexport function AnimatedBackgroundCircle(): ReactNode {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation, colors, size } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, circleBackgroundFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withTiming(1, { duration: circleBackgroundFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n );\n }, [progress, animation]);\n\n return (\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.base} progress={progress} />\n </Svg>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../KittThemeContext';\n\nconst isInfinitAnimation = -1;\n\ninterface AnimatedFillCircleContainerProps {\n children: NonNullable<ReactNode>;\n duration: number;\n}\n\nexport function AnimatedFillCircleContainer({ children, duration }: AnimatedFillCircleContainerProps): ReactNode {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { animation } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay } = animation;\n\n progress.value = withDelay(\n delay,\n withRepeat(withTiming(1, { duration, easing: Easing.linear }), isInfinitAnimation),\n );\n }, [progress, animation, duration]);\n\n const rotationStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotate: `${360 * progress.value}deg`,\n },\n ],\n };\n });\n\n return <Animated.View style={[StyleSheet.absoluteFill, rotationStyles]}>{children}</Animated.View>;\n}\n","import type { ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { Easing, useSharedValue, withDelay, withRepeat, withTiming } from 'react-native-reanimated';\nimport Svg from 'react-native-svg';\nimport { useTheme } from '../KittThemeContext';\nimport { AnimatedFillCircleContainer } from './AnimatedFillCircleContainer';\nimport { AnimatedLoaderCircle } from './AnimatedLoaderCircle';\n\nconst isInfinitAnimation = -1;\nconst shouldReverse = true;\n\nexport function AnimatedFilledCircle(): ReactNode {\n const theme = useTheme();\n const progress = useSharedValue(0);\n\n const { size, animation, colors } = theme.kitt.pageLoader;\n\n useEffect(() => {\n const { delay, filledCircleFillDuration, fillEasingFunction } = animation;\n const [x1, y1, x2, y2] = fillEasingFunction;\n\n progress.value = withDelay(\n delay,\n withRepeat(\n withTiming(0.8, { duration: filledCircleFillDuration, easing: Easing.bezier(x1, y1, x2, y2) }),\n isInfinitAnimation,\n shouldReverse,\n ),\n );\n }, [progress, animation]);\n\n return (\n <AnimatedFillCircleContainer duration={animation.groupFilledCircleRotationDuration}>\n <AnimatedFillCircleContainer duration={animation.filledCircleRotationDuration}>\n <Svg width={size} height={size} viewBox={`0 0 ${size} ${size}`}>\n <AnimatedLoaderCircle color={colors.fill} progress={progress} />\n </Svg>\n </AnimatedFillCircleContainer>\n </AnimatedFillCircleContainer>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { AnimatedBackgroundCircle } from './AnimatedBackgroundCircle';\nimport { AnimatedFilledCircle } from './AnimatedFillCircle';\n\nexport type PageLoaderProps = Record<string, never>;\n\nexport function PageLoader(props: PageLoaderProps): ReactNode {\n const sharedTransformStyle = {\n style: {\n /* Needed to make the animation starting from the top of the circles */\n transform: [{ rotate: '90deg' }, { scale: -1 }],\n },\n };\n\n return (\n <View\n position=\"relative\"\n height=\"kitt.pageLoader.size\"\n width=\"kitt.pageLoader.size\"\n _ios={sharedTransformStyle}\n _android={sharedTransformStyle}\n >\n <AnimatedBackgroundCircle />\n <AnimatedFilledCircle />\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\nexport interface PickerItemProps {\n children: ReactNode;\n isSelected?: boolean;\n isHighlighted?: boolean;\n isPressed?: boolean;\n isHovered?: boolean;\n isFocused?: boolean;\n}\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerItem({ children, isSelected }: PickerItemProps): ReactNode {\n return (\n <View\n backgroundColor={\n isSelected\n ? 'kitt.picker.android.option.selected.backgroundColor'\n : 'kitt.picker.android.option.default.backgroundColor'\n }\n paddingX=\"kitt.picker.android.option.horizontalPadding\"\n paddingY=\"kitt.picker.android.option.verticalPadding\"\n >\n <Typography.SetDefaultColor value={isSelected ? 'white' : undefined}>{children}</Typography.SetDefaultColor>\n </View>\n );\n}\n","import type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport type { ReactNode } from 'react';\nimport { Typography } from '../typography/Typography';\n\ninterface PickerOptionChildrenProps {\n isHighlighted?: boolean;\n isSelected?: boolean;\n}\n\nexport interface PickerOptionProps<T> extends Pick<NativePickerItemProps<T>, 'label'>, PickerOptionChildrenProps {\n children: ReactNode | ((props: PickerOptionChildrenProps) => ReactNode);\n value: T;\n testID?: string;\n}\n\n// This item is for Android only, iOS uses its own implementation and web is not supported yet\nexport function PickerOption<T>({ children, testID, isHighlighted, isSelected }: PickerOptionProps<T>): ReactNode {\n return (\n <Typography.Text testID={testID} base=\"body\">\n {typeof children === 'function' ? children({ isHighlighted, isSelected }) : children}\n </Typography.Text>\n );\n}\n","import type { Reducer } from 'react';\n\nexport interface State {\n isOpen?: boolean;\n currentValue?: any;\n internalValue?: any;\n}\n\ninterface ChangeInternalValueAction {\n type: 'change-internal-value';\n payload: {\n nextInternalValue?: any;\n };\n}\n\ninterface OpenModalAction {\n type: 'open-modal';\n}\n\ninterface CloseModalAction {\n type: 'close-modal';\n}\n\ninterface ChangeValueAction {\n type: 'change-value';\n}\n\ntype Actions = ChangeInternalValueAction | CloseModalAction | ChangeValueAction | OpenModalAction;\n\nexport const nativePickerReducer: Reducer<State, Actions> = (state, action) => {\n switch (action.type) {\n case 'change-internal-value': {\n return {\n ...state,\n internalValue: action.payload.nextInternalValue,\n };\n }\n\n case 'close-modal': {\n return {\n ...state,\n isOpen: false,\n internalValue: state.currentValue ? state.internalValue : undefined,\n };\n }\n\n case 'open-modal': {\n return {\n ...state,\n isOpen: true,\n };\n }\n\n case 'change-value': {\n return {\n ...state,\n currentValue: state.internalValue,\n isOpen: false,\n };\n }\n\n default:\n return state;\n }\n};\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { PickerItemProps as NativePickerItemProps } from '@react-native-picker/picker';\nimport { Picker as NativePicker } from '@react-native-picker/picker';\nimport { useSx } from 'native-base';\nimport type { ReactElement, ReactNode } from 'react';\nimport React, { cloneElement, useReducer } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform, ScrollView } from 'react-native';\nimport { Button } from '../Button/Button';\nimport { CardModal } from '../CardModal/CardModal';\nimport { IconButton } from '../IconButton/IconButton';\nimport type { ViewProps } from '../native-base/primitives';\nimport { Pressable } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { useMediaQuery } from '../utils/windowSize/useMediaQuery';\nimport { PickerItem } from './PickerItem';\nimport type { PickerOptionProps } from './PickerOption';\nimport { PickerOption } from './PickerOption';\nimport { nativePickerReducer } from './reducer/nativePickerReducer';\n\nexport interface PickerRenderTriggerProps<T> {\n isOpen?: boolean;\n selectedItem?: T;\n disabled?: boolean;\n // event is required for web implementation\n onPress: (event: unknown) => void;\n}\n\nexport interface PickerProps<T> {\n children: NonNullable<ReactNode>;\n renderTrigger: (props: PickerRenderTriggerProps<T>) => ReactElement;\n isInitialOpen?: boolean;\n initialValue?: T;\n /**\n * @description: Native only, used to display a custom title in the picker modal\n */\n title: ReactNode;\n /**\n * @description: Native only, used to display a custom label in the picker modal\n */\n validateButtonLabel?: ReactNode;\n /**\n * @description: Web only, used to add custom style on view element that wraps trigger element\n */\n triggerViewProps?: ViewProps;\n /**\n * @description: Web only, used to keep the options open when the value changes\n */\n keepOpenOnChange?: boolean;\n disabled?: boolean;\n testID?: string;\n /**\n * @description: iOS only, used to display a label based on the item in the native iOS element\n */\n itemToString: (item: T) => string;\n checkSelectedItem: (selectedItem: T | undefined, item: T) => boolean;\n onChange?: (value?: T) => void;\n onClose?: () => void;\n /**\n * @description: iOS only, used to display the native picker on iOS. Default to true.\n */\n shouldDisplayNativePickerOnIOS?: boolean;\n}\n\nexport function Picker<T>({\n children,\n renderTrigger,\n title,\n initialValue,\n validateButtonLabel,\n disabled,\n isInitialOpen,\n testID,\n itemToString,\n checkSelectedItem,\n onChange,\n onClose,\n shouldDisplayNativePickerOnIOS = true,\n}: PickerProps<T>): ReactNode {\n const [state, dispatch] = useReducer(nativePickerReducer, {\n isOpen: isInitialOpen,\n currentValue: initialValue,\n internalValue: initialValue,\n });\n\n const sx = useSx();\n const iosTextStyle = sx({\n color: 'kitt.picker.ios.option.selected.color',\n });\n\n // Max height is based on base Modal sizes (which are not themified): padding (4*20*2) + footer (58) + header (58) + default iOS picker height (216)\n const [isMatchingMaxHeight] = useMediaQuery({\n maxHeight: 492,\n });\n\n const iosItemStyle = sx({\n fontSize: 'baseAndSmall.body',\n lineHeight: 'baseAndSmall.body',\n fontFamily: 'bodies.regular',\n color: 'kitt.typography.black-light',\n\n // As it is displayed in a modal, we must hard code an height to ensure that the picker doesn't bleed out of it\n // We can't set a percentage as it will be computed based on the page height\n height: isMatchingMaxHeight ? 'kitt.picker.ios.landscape.height' : 'kitt.picker.ios.default.height',\n });\n\n const handleClose = (): void => {\n dispatch({ type: 'close-modal' });\n\n if (onClose) onClose();\n };\n\n const handleChange = (): void => {\n if (onChange) onChange(state.internalValue);\n\n dispatch({ type: 'change-value' });\n\n if (onClose) onClose();\n };\n\n const handleInternalChange = (itemValue: T): void => {\n dispatch({\n type: 'change-internal-value',\n payload: {\n nextInternalValue: itemValue,\n },\n });\n };\n\n const handlePressTrigger = (): void => {\n dispatch({ type: 'open-modal' });\n };\n\n return (\n <>\n {renderTrigger({ isOpen: state.isOpen, selectedItem: state.currentValue, disabled, onPress: handlePressTrigger })}\n\n <CardModal.ModalBehaviour visible={state.isOpen} onClose={handleClose}>\n <CardModal>\n <CardModal.Header right={<IconButton icon={<XIcon />} onPress={handleClose} />}>\n <Typography.Text base=\"body\" variant=\"bold\">\n {title}\n </Typography.Text>\n </CardModal.Header>\n\n {Platform.OS === 'ios' && shouldDisplayNativePickerOnIOS ? (\n <NativePicker<T>\n testID={testID}\n selectedValue={state.internalValue}\n itemStyle={iosItemStyle}\n onValueChange={handleInternalChange}\n >\n {React.Children.map(children, (child) => {\n const item = child as ReactElement<NativePickerItemProps<T>>;\n\n // iOS Picker doesn't support a custom Item component, we need to override its props manually for the selected one\n return cloneElement(item, {\n color: item.props.value === state.currentValue ? iosTextStyle.color : undefined,\n label: itemToString(item.props.value as T),\n });\n })}\n </NativePicker>\n ) : (\n <ScrollView testID={testID}>\n {React.Children.map(children, (child, index) => {\n const item = child as ReactElement<PickerOptionProps<T>>;\n\n const isSelected = checkSelectedItem(state.internalValue, item.props.value);\n\n return (\n <Pressable\n // eslint-disable-next-line react/no-array-index-key\n key={index}\n accessibilityRole=\"button\"\n accessibilityState={{\n selected: isSelected,\n }}\n onPress={() => {\n handleInternalChange(item.props.value);\n }}\n >\n {({ isHovered, isFocused, isPressed }) => (\n <PickerItem\n isSelected={isSelected}\n isHovered={isHovered}\n isFocused={isFocused}\n isPressed={isPressed}\n >\n {child}\n </PickerItem>\n )}\n </Pressable>\n );\n })}\n </ScrollView>\n )}\n\n <CardModal.Footer>\n <Button stretch type=\"primary\" onPress={handleChange}>\n {validateButtonLabel || <FormattedMessage defaultMessage=\"Valider\" id=\"kitt-universal.Picker.validate\" />}\n </Button>\n </CardModal.Footer>\n </CardModal>\n </CardModal.ModalBehaviour>\n </>\n );\n}\n\nPicker.Option = PickerOption;\n\n/**\n * @description: This is exported for testing purposes only\n */\nPicker.UnsafeInternalItem = PickerItem;\n","<svg viewBox=\"0 0 453 71\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"#fff\" d=\"m40 0 2.598 1.5-40 69.282L0 69.282zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5zm10 0 2.598 1.5-40 69.282-2.598-1.5z\"/></svg>","import { HStack, View } from 'native-base';\nimport type { ReactNode } from 'react';\nimport Stripes from './assets/stripes.inline.svg';\n\nexport type SegmentedProgressBarSizes = 'small' | 'default';\nexport type SegmentedProgressBarColors = 'primary' | 'validated';\n\ninterface SegmentedProgressBarProps {\n currentStep?: number;\n stepsCount: number;\n size?: SegmentedProgressBarSizes;\n colorVariant?: SegmentedProgressBarColors;\n withCurrentInProgress?: boolean;\n}\n\nexport function SegmentedProgressBar({\n currentStep = 0,\n stepsCount,\n size = 'default',\n colorVariant = 'primary',\n withCurrentInProgress,\n}: SegmentedProgressBarProps): ReactNode {\n const height = size === 'small' ? 'kitt.2' : 'kitt.4';\n const fillColor =\n colorVariant === 'validated' ? 'kitt.palettes.lateOcean.viride' : 'kitt.palettes.lateOcean.lateOceanLight1';\n\n const steps = [...Array.from({ length: stepsCount }).keys()];\n\n return (\n <HStack height={height} space={2} borderRadius={height} overflow=\"hidden\">\n {steps.map((stepNumber) => {\n const isSegmentCurrentInProgress = withCurrentInProgress && stepNumber === currentStep - 1;\n const color = stepNumber < currentStep ? fillColor : 'kitt.palettes.lateOcean.black50';\n\n return (\n <View\n key={stepNumber}\n height=\"100%\"\n flexGrow={1}\n flexShrink={1}\n flexBasis={0}\n backgroundColor={isSegmentCurrentInProgress ? 'kitt.palettes.lateOcean.lateOceanLight3' : color}\n borderRadius={2}\n overflow=\"hidden\"\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n {isSegmentCurrentInProgress ? (\n <View width=\"453\" height=\"71\">\n <Stripes />\n </View>\n ) : null}\n </View>\n );\n })}\n </HStack>\n );\n}\n","import { LinearGradient } from 'expo-linear-gradient';\nimport type { ReactNode } from 'react';\nimport { useEffect } from 'react';\nimport { StyleSheet } from 'react-native';\nimport Animated, {\n Easing,\n interpolate,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\n\ninterface SkeletonProps {\n isLoading?: boolean;\n width: number;\n}\n\nconst AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient);\n\nexport function SkeletonContent({ isLoading, width }: SkeletonProps): ReactNode {\n const theme = useTheme();\n const sharedX = useSharedValue(0);\n\n useEffect(() => {\n if (isLoading) {\n sharedX.value = withRepeat(\n withTiming(1, { duration: theme.kitt.skeleton.animationDuration, easing: Easing.inOut(Easing.ease) }),\n -1,\n );\n }\n }, [sharedX, width, isLoading, theme]);\n\n const linearGradientStyle = useAnimatedStyle(() => {\n return {\n transform: [{ translateX: interpolate(sharedX.value, [0, 1], [-width, width]) }],\n };\n });\n\n return (\n <View\n height=\"100%\"\n width=\"100%\"\n backgroundColor=\"kitt.skeleton.backgroundColor\"\n borderColor=\"kitt.skeleton.flareColor\"\n >\n <AnimatedLinearGradient\n colors={[\n theme.kitt.skeleton.backgroundColor,\n theme.kitt.skeleton.flareColor,\n theme.kitt.skeleton.backgroundColor,\n ]}\n locations={[0.1, 0.5, 0.9]}\n start={{ x: 0, y: 0 }}\n end={{ x: 1, y: 0 }}\n style={[StyleSheet.absoluteFill, linearGradientStyle]}\n />\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { StyleProp, ViewStyle } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { SkeletonContent } from './SkeletonContent';\n\nexport interface SkeletonProps extends Omit<ViewProps, 'onLayout'> {\n isLoading?: boolean;\n style?: StyleProp<ViewStyle>;\n}\n\nexport function Skeleton({ isLoading = false, style, ...props }: SkeletonProps): ReactNode {\n const [width, setWidth] = useState(0);\n\n return (\n <View {...props} overflow=\"hidden\" style={style} onLayout={({ nativeEvent }) => setWidth(nativeEvent.layout.width)}>\n <SkeletonContent isLoading={isLoading} width={width} />\n </View>\n );\n}\n\nexport interface BarSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Bar({ size, ...props }: BarSkeletonProps): ReactNode {\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.bar.borderRadius';\n\n return (\n <Skeleton\n {...props}\n width=\"100%\"\n height={size || 'kitt.skeleton.shape.bar.size'}\n borderRadius={currentBorderRadius}\n />\n );\n}\n\nexport interface CircleSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Circle({ size, ...props }: CircleSkeletonProps): ReactNode {\n const currentSize = size || 'kitt.skeleton.shape.circle.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.circle.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nexport interface SquareSkeletonProps extends Omit<SkeletonProps, 'width' | 'height' | 'borderRadius'> {\n size?: number;\n}\n\nfunction Square({ size, ...props }: SquareSkeletonProps): ReactNode {\n const currentSize = size || 'kitt.skeleton.shape.square.size';\n const currentBorderRadius = size ? size * 0.5 : 'kitt.skeleton.shape.square.borderRadius';\n\n return <Skeleton {...props} width={currentSize} height={currentSize} borderRadius={currentBorderRadius} />;\n}\n\nSkeleton.Bar = Bar;\nSkeleton.Circle = Circle;\nSkeleton.Square = Square;\n","export interface MapCenter {\n long: number;\n lat: number;\n zoom: number;\n}\n\nexport interface GetStaticMapImageUrlParams {\n mapId: string;\n apiToken: string;\n mapWidth: number;\n mapHeight: number;\n center: MapCenter;\n is2x?: boolean;\n}\n\nexport function getStaticMapImageUrl({\n mapId,\n apiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: GetStaticMapImageUrlParams): string {\n const width = Math.round(mapWidth);\n const height = Math.round(mapHeight);\n\n const centerPart = `${center.long},${center.lat},${center.zoom}/`;\n\n const sizePart = `${width}x${height}`;\n\n const urlParts = [\n `https://api.mapbox.com/styles/v1/ornikar/${mapId}/static/`,\n centerPart,\n sizePart,\n is2x ? '@2x' : '',\n ];\n\n const mapImageUrl = new URL(urlParts.join(''));\n mapImageUrl.searchParams.append('access_token', apiToken);\n\n return mapImageUrl.toString();\n}\n","import { useEffect, useRef, useState } from 'react';\nimport { useKittMapConfig } from '../../KittMapConfigProvider/hooks/useKittMapConfig';\nimport type { GetStaticMapImageUrlParams } from '../utils/getStaticMapImageUrl';\nimport { getStaticMapImageUrl } from '../utils/getStaticMapImageUrl';\n\ninterface UseGetStaticMapImageUrlParams extends Omit<GetStaticMapImageUrlParams, 'mapId' | 'apiToken'> {\n forceMapId?: string;\n forceApiToken?: string;\n}\n\nexport function useGetStaticMapImageUrl({\n forceMapId,\n forceApiToken,\n mapWidth,\n mapHeight,\n center,\n is2x,\n}: UseGetStaticMapImageUrlParams): string {\n const { mapId, apiToken } = useKittMapConfig();\n const [currentUrl, setCurrentUrl] = useState<string>('');\n\n const currentMapIdRef = useRef(forceMapId || mapId);\n const currentApiTokenRef = useRef(forceApiToken || apiToken);\n\n useEffect(() => {\n const newUrl = getStaticMapImageUrl({\n center,\n is2x,\n mapHeight,\n mapWidth,\n mapId: currentMapIdRef.current,\n apiToken: currentApiTokenRef.current,\n });\n\n setCurrentUrl(newUrl);\n }, [mapHeight, mapWidth, center, is2x]);\n\n return currentUrl;\n}\n","import { RotateCCWIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport { IconButton } from '../IconButton/IconButton';\nimport { View } from '../native-base/primitives';\n\ninterface StaticMapErrorProps {\n onReload?: () => void;\n}\n\nexport function StaticMapError({ onReload }: StaticMapErrorProps): ReactNode {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\" backgroundColor=\"kitt.separator\">\n <IconButton icon={<RotateCCWIcon />} onPress={onReload} />\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { Image } from '../native-base/primitives';\n\ninterface StaticMapImageProps {\n url: string;\n alt?: string;\n width: number;\n height: number;\n onLoadEnd?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMapImage({ url, alt, width, height, onLoadEnd, onError }: StaticMapImageProps): ReactNode {\n return (\n <Image source={{ uri: url }} width={width} height={height} alt={alt} onError={onError} onLoadEnd={onLoadEnd} />\n );\n}\n","import type { ReactNode } from 'react';\nimport { Skeleton } from '../Skeleton/Skeleton';\nimport { View } from '../native-base/primitives';\n\nexport function StaticMapLoader(): ReactNode {\n return (\n <View alignItems=\"center\" justifyContent=\"center\" height=\"100%\">\n <Skeleton isLoading width=\"100%\" height=\"100%\" />\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { MapMarkerLarge, MapMarkerPosition, MapMarkerSimple } from '../MapMarker/MapMarker';\nimport { View } from '../native-base/primitives';\n\ntype MarkerVariant = 'large' | 'position' | 'simple';\n\ninterface MarkerProps {\n variant?: MarkerVariant;\n}\n\nfunction getMarkerPosition(variant: MarkerVariant): [{ translateX: number }, { translateY: number }] {\n if (variant === 'position') return [{ translateX: -2 }, { translateY: 8 }];\n\n if (variant === 'large') return [{ translateX: 8 }, { translateY: -20 }];\n\n return [{ translateX: 6 }, { translateY: -15 }];\n}\n\nexport function StaticMapMarker({ variant = 'simple' }: MarkerProps): ReactNode {\n return (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n height=\"100%\"\n style={{\n transform: getMarkerPosition(variant),\n }}\n >\n {variant === 'position' ? <MapMarkerPosition /> : null}\n {variant === 'large' ? <MapMarkerLarge /> : null}\n {variant === 'simple' ? <MapMarkerSimple /> : null}\n </View>\n </View>\n );\n}\n","export function getRangedWidthValue(nextWidth: number, maxValue: number): number {\n const rangedMapWidth = Math.max(1, Math.min(nextWidth, maxValue));\n\n return rangedMapWidth;\n}\n","import { PixelRatio } from 'react-native';\n\nexport function getShouldDisplay2x(): boolean {\n const currentDevicePixelRatio = PixelRatio.get();\n\n return currentDevicePixelRatio > 1;\n}\n","import type { ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { LayoutChangeEvent } from 'react-native';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StaticMapError } from './StaticMapError';\nimport { StaticMapImage } from './StaticMapImage';\nimport { StaticMapLoader } from './StaticMapLoader';\nimport { StaticMapMarker } from './StaticMapMarker';\nimport { useGetStaticMapImageUrl } from './hooks/useGetStaticMapImageUrl';\nimport { getRangedWidthValue } from './utils/getRangedWidthValue';\nimport { getShouldDisplay2x } from './utils/getShouldDisplay2x';\nimport type { MapCenter } from './utils/getStaticMapImageUrl';\n\nconst mapBoxMaxPictureWidth = 1280;\n\n// Mapbox requestable width for image is between 1 - 1280px\nfunction getPictureWidth(nextWidth: number): number {\n return getRangedWidthValue(nextWidth, mapBoxMaxPictureWidth);\n}\n\nexport interface StaticMapProps extends Omit<ViewProps, 'onLayout'> {\n width?: number;\n height: number;\n alt?: string;\n center: MapCenter;\n marker?: ReactNode;\n /**\n * Mapbox map id.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n mapId?: string;\n /**\n * Mapbox api access token.\n * Only use this props if you want to use something different that the config in <KittMapConfigProvider />\n */\n apiToken?: string;\n\n onLoaded?: () => void;\n onError?: () => void;\n}\n\nexport function StaticMap({\n width = 0,\n height,\n alt,\n apiToken,\n mapId,\n marker,\n center,\n onLoaded,\n onError,\n ...props\n}: StaticMapProps): ReactNode {\n const [currentWidth, setCurrentWidth] = useState(getPictureWidth(width));\n const [isLoading, setIsLoading] = useState(true);\n const [hasError, setHasError] = useState(false);\n const [currentMapKey, setCurrentMapKey] = useState(0);\n\n const shouldDisplay2xImage = getShouldDisplay2x();\n\n const mapUrl = useGetStaticMapImageUrl({\n forceApiToken: apiToken,\n forceMapId: mapId,\n mapWidth: currentWidth,\n mapHeight: height,\n center,\n is2x: shouldDisplay2xImage,\n });\n\n const handleParentLayout = (event: LayoutChangeEvent): void => {\n const { nativeEvent } = event;\n const rangedMapWidth = getPictureWidth(nativeEvent.layout.width);\n\n setCurrentWidth(rangedMapWidth);\n };\n\n const handleImageLoadEnd = (): void => {\n setIsLoading(false);\n\n if (onLoaded) onLoaded();\n };\n\n const handleError = (): void => {\n setHasError(true);\n\n if (onError) onError();\n };\n\n const handleReload = (): void => {\n setHasError(false);\n setIsLoading(true);\n setCurrentMapKey((prev) => prev + 1);\n };\n\n const shouldDisplayMarker = marker && !isLoading && !hasError;\n\n // Prevents requesting unusable image\n const shouldDisplayPicture = currentWidth > 1 && mapUrl;\n\n return (\n <View\n position=\"relative\"\n maxWidth={mapBoxMaxPictureWidth}\n height={height}\n onLayout={handleParentLayout}\n {...props}\n data-chromatic={process.env.KITT_MAP_CHROMATIC_IGNORE === 'true' ? 'ignore' : undefined}\n >\n {shouldDisplayPicture ? (\n <StaticMapImage\n key={`map-key-${currentMapKey}`}\n url={mapUrl}\n width={currentWidth}\n height={height}\n alt={alt}\n onLoadEnd={handleImageLoadEnd}\n onError={handleError}\n />\n ) : null}\n\n {shouldDisplayMarker ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n {marker}\n </View>\n ) : null}\n\n {isLoading ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapLoader />\n </View>\n ) : null}\n\n {hasError ? (\n <View position=\"absolute\" top=\"0\" left=\"0\" width=\"100%\" height=\"100%\">\n <StaticMapError onReload={handleReload} />\n </View>\n ) : null}\n </View>\n );\n}\n\nStaticMap.Image = StaticMapImage;\nStaticMap.Loader = StaticMapLoader;\nStaticMap.Error = StaticMapError;\nStaticMap.Marker = StaticMapMarker;\n","import type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\n\ninterface FlexProps extends Except<ViewProps, 'display' | 'flexDirection' | 'flexWrap'> {\n direction: ViewStyle['flexDirection'];\n wrap?: ViewStyle['flexWrap'];\n}\n\nexport function Flex({ direction, wrap = 'wrap', ...props }: FlexProps): ReactNode {\n return <View {...props} flexDirection={direction} flexWrap={wrap} />;\n}\n","export const storyPadding = 'kitt.4';\n","import type { ReactNode } from 'react';\nimport { createContext, useContext } from 'react';\nimport type { KittThemeContextValue } from '../KittThemeContext';\nimport { useTheme } from '../KittThemeContext';\nimport { View } from '../native-base/primitives';\nimport type { ExtendedTypographyColor } from '../typography/Typography';\nimport { storyPadding } from './theme';\n\nexport interface StoryBlockProps {\n background?: 'dark' | 'light' | 'primary' | 'transparent';\n children: ReactNode;\n}\n\nconst getBackgroundColorFromBlockColor = (\n theme: KittThemeContextValue,\n color: StoryBlockProps['background'] = 'transparent',\n): string => {\n switch (color) {\n case 'dark':\n return '#293033';\n case 'light':\n return '#ffffff';\n case 'primary':\n return theme.kitt.palettes.lateOcean.lateOcean;\n default:\n return 'transparent';\n }\n};\n\nconst getTypographyColorFromBlockColor = (\n color: StoryBlockProps['background'] = 'transparent',\n): ExtendedTypographyColor => {\n switch (color) {\n case 'dark':\n case 'primary':\n return 'white';\n case 'light':\n default:\n return 'black';\n }\n};\n\nexport const StoryBlockBackgroundContext = createContext<StoryBlockProps['background']>('transparent');\nconst StoryBlockColorContext = createContext<ExtendedTypographyColor>('black');\n\nexport const useStoryBlockColor = (color?: ExtendedTypographyColor | undefined): ExtendedTypographyColor => {\n const storyBlockColor = useContext(StoryBlockColorContext);\n return color || storyBlockColor;\n};\n\nexport function StoryBlock({ children, background }: StoryBlockProps): ReactNode {\n const theme = useTheme();\n return (\n <View\n paddingTop=\"kitt.4\"\n paddingX={storyPadding}\n marginX={`-${storyPadding}`}\n background={getBackgroundColorFromBlockColor(theme, background)}\n >\n <StoryBlockColorContext.Provider value={getTypographyColorFromBlockColor(background)}>\n <StoryBlockBackgroundContext.Provider value={background}>{children}</StoryBlockBackgroundContext.Provider>\n </StoryBlockColorContext.Provider>\n </View>\n );\n}\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport type { TypographyProps } from '../typography/Typography';\nimport { useStoryBlockColor } from './StoryBlock';\n\ninterface StoryTitleProps {\n color?: TypographyProps['color'];\n numberOfLines?: TypographyProps['numberOfLines'];\n children: ReactNode;\n}\n\nexport function StoryTitle({ color, children, numberOfLines }: StoryTitleProps): ReactNode {\n return (\n <View marginBottom={30}>\n <Typography.Header1 variant=\"bold\" base=\"header1\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header1>\n </View>\n );\n}\n\nfunction StoryTitleLevel2({ color, children, numberOfLines }: StoryTitleProps): ReactNode {\n return (\n <View marginBottom={30}>\n <Typography.Header2 variant=\"bold\" base=\"header2\" color={useStoryBlockColor(color)} numberOfLines={numberOfLines}>\n {children}\n </Typography.Header2>\n </View>\n );\n}\n\nStoryTitleLevel2.displayName = 'StoryTitle.Level2';\n\nfunction StoryTitleLevel3({ color, children, numberOfLines }: StoryTitleProps): ReactNode {\n return (\n <View marginBottom={10}>\n <Typography.Header3\n variant=\"bold\"\n base=\"header3\"\n medium=\"header4\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header3>\n </View>\n );\n}\n\nStoryTitleLevel3.displayName = 'StoryTitle.Level3';\n\nfunction StoryTitleLevel4({ color, children, numberOfLines }: StoryTitleProps): ReactNode {\n return (\n <View marginBottom={10}>\n <Typography.Header4\n variant=\"bold\"\n base=\"header4\"\n medium=\"header5\"\n color={useStoryBlockColor(color)}\n numberOfLines={numberOfLines}\n >\n {children}\n </Typography.Header4>\n </View>\n );\n}\n\nStoryTitleLevel4.displayName = 'StoryTitle.Level3';\n\nStoryTitle.Level2 = StoryTitleLevel2;\nStoryTitle.Level3 = StoryTitleLevel3;\nStoryTitle.Level4 = StoryTitleLevel4;\n","import type { ReactNode } from 'react';\nimport type { ScrollViewProps } from '../native-base/primitives';\nimport { ScrollView } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\nimport { storyPadding } from './theme';\n\nexport interface StoryProps {\n title: ReactNode;\n children: ReactNode;\n contentContainerStyle?: ScrollViewProps['contentContainerStyle'];\n}\n\nexport function Story({ title, contentContainerStyle, children }: StoryProps): ReactNode {\n return (\n <ScrollView background=\"#fff\" padding={storyPadding} contentContainerStyle={contentContainerStyle}>\n <StoryTitle>{title}</StoryTitle>\n {children}\n </ScrollView>\n );\n}\n","import type { ReactNode } from 'react';\nimport type { Except } from 'type-fest';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\n\nexport interface StorySectionProps extends Except<ViewProps, 'marginBottom'> {\n title: ReactNode;\n children: ReactNode;\n /** @private */\n internalIsDemoSection?: boolean;\n}\n\nexport function StorySection({ title, children, internalIsDemoSection, ...props }: StorySectionProps): ReactNode {\n if (title === 'Demo' && !internalIsDemoSection) throw new Error('Use StorySection.Demo instead');\n return (\n <View marginBottom=\"kitt.8\" {...props}>\n <StoryTitle.Level2>{title}</StoryTitle.Level2>\n {children}\n </View>\n );\n}\n\nfunction SubSection({ title, children, ...props }: StorySectionProps): ReactNode {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level3>{title}</StoryTitle.Level3>\n {children}\n </View>\n );\n}\n\nfunction BlockSection({ title, children, ...props }: StorySectionProps): ReactNode {\n return (\n <View marginBottom=\"kitt.4\" {...props}>\n <StoryTitle.Level4>{title}</StoryTitle.Level4>\n {children}\n </View>\n );\n}\n\nexport interface DemoSectionProps extends ViewProps {\n children: ReactNode;\n}\n\nfunction DemoSection({ children, ...props }: DemoSectionProps): ReactNode {\n return (\n <View marginBottom=\"kitt.16\" {...props}>\n <StorySection internalIsDemoSection title=\"Demo\">\n {children}\n </StorySection>\n </View>\n );\n}\n\nStorySection.SubSection = SubSection;\nStorySection.BlockSection = BlockSection;\n/** @deprecated use StorySection.Demo instead */\nStorySection.DemoSection = DemoSection;\nStorySection.Demo = DemoSection;\n\n/** @deprecated use StorySection instead */\nexport const DeprecatedSection = StorySection;\n","import type { ReactNode } from 'react';\nimport { StorySection } from './StorySection';\n\nexport interface StoryContainerProps {\n children: NonNullable<ReactNode>;\n state?: 'none' | 'active' | 'hover' | 'focus';\n platform?: 'all' | 'native' | 'web';\n title?: ReactNode;\n}\n\nexport function StoryContainer({ children, title, state = 'none', platform = 'all' }: StoryContainerProps): ReactNode {\n if (platform === 'web') return null;\n\n return (\n <StorySection.BlockSection testID={state} title={title}>\n {children}\n </StorySection.BlockSection>\n );\n}\n","import type { DecoratorFunction } from '@storybook/addons';\nimport type { ReactNode } from 'react';\nimport { Story as StoryContainer } from './Story';\n\n// eslint-disable-next-line react/function-component-definition -- this is not a component, it's a decorator for storybook.\nexport const StoryDecorator: DecoratorFunction<ReactNode> = (storyFn, context) => {\n if (context.parameters.disableStoryContainer) {\n return storyFn();\n }\n return <StoryContainer title={context.name}>{storyFn()}</StoryContainer>;\n};\n","import type { ReactNode } from 'react';\nimport { Children } from 'react';\nimport { Platform } from 'react-native';\nimport type { TypographyProps } from '..';\nimport { View } from '../native-base/primitives';\nimport { StoryTitle } from './StoryTitle';\n\nexport interface StoryGridRowProps {\n children: NonNullable<ReactNode>;\n breakpoint?: 'small' | 'medium';\n flexWrap?: boolean;\n}\n\nfunction StoryGridRow({ children, breakpoint = 'small', flexWrap }: StoryGridRowProps): ReactNode {\n return (\n <View\n flexDirection={{ base: 'column', [breakpoint]: 'row' }}\n flexWrap={flexWrap ? 'wrap' : undefined}\n marginX={{ [breakpoint]: '-kitt.1' }}\n marginBottom={{ [breakpoint]: 'kitt.4' }}\n >\n {Children.map(children, (child) => (\n <View\n flexGrow={{ [breakpoint]: 1 }}\n flexBasis={flexWrap ? undefined : { [breakpoint]: 0 }}\n paddingTop={{ base: 'kitt.2', [breakpoint]: 0 }}\n paddingBottom={{ base: 'kitt.4', [breakpoint]: 0 }}\n marginX={{ [breakpoint]: 'kitt.2' }}\n >\n {child}\n </View>\n ))}\n </View>\n );\n}\n\nexport interface StoryGridColProps {\n children: NonNullable<ReactNode>;\n title?: string;\n titleColor?: TypographyProps['color'];\n platform?: 'all' | 'native' | 'web';\n}\n\nfunction StoryGridCol({ title, titleColor, children, platform = 'all' }: StoryGridColProps): ReactNode {\n const isNative = Platform.OS === 'ios' || Platform.OS === 'android';\n\n if (Platform.OS === 'web' && platform === 'native') {\n return null;\n }\n\n if (isNative && platform === 'web') {\n return null;\n }\n\n return (\n <>\n {title ? (\n <StoryTitle.Level4 numberOfLines={1} color={titleColor}>\n {title}\n </StoryTitle.Level4>\n ) : null}\n {children}\n </>\n );\n}\n\nexport const StoryGrid = {\n Row: StoryGridRow,\n Col: StoryGridCol,\n};\n","import { useMemo } from 'react';\nimport type { Theme } from './themes/default';\nimport { theme as kittTheme } from './themes/default';\n\nexport interface KittTheme {\n kitt: Theme;\n}\n\nexport function useKittTheme(): KittTheme {\n return useMemo(() => {\n return { kitt: kittTheme };\n }, []);\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport { HStack } from '../native-base/layout';\nimport type { TypographyBodyType } from '../typography/Typography';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport { useKittTheme } from '../useKittTheme';\n\nexport type TagColor = 'eggshell' | 'sun' | 'coral' | 'raspberry' | 'lavender' | 'violine' | 'blue' | 'green';\nexport type TagSize = 'small' | 'medium' | 'large';\nexport type TagVariant = 'outline' | 'fill';\nexport type TagType = 'primary' | 'default' | 'danger' | 'warn';\n\nexport interface TagProps {\n label: ReactNode;\n icon?: ReactElement;\n color?: TagColor;\n size?: TagSize;\n variant?: TagVariant;\n /** @deprecated use `color=` instead */\n type?: TagType;\n}\n\nconst getTypography = (size: TagSize): TypographyBodyType => {\n switch (size) {\n case 'small':\n return 'body-xs';\n case 'medium':\n return 'body-s';\n case 'large':\n default:\n return 'body-m';\n }\n};\n\nconst typeToColor = (color?: TagColor, type?: TagType): TagColor => {\n if (color) return color;\n switch (type) {\n case 'primary':\n return 'violine';\n case 'warn':\n return 'sun';\n case 'danger':\n return 'coral';\n case 'default':\n default:\n return 'eggshell';\n }\n};\n\nexport function Tag({ label, icon, color, type, size = 'medium', variant = 'fill' }: TagProps): ReactNode {\n const kittTheme = useKittTheme();\n\n const tagColor = typeToColor(color, type);\n return (\n <HStack\n alignSelf=\"flex-start\"\n borderRadius=\"kitt.tag.borderRadius\"\n height={`kitt.tag.${icon ? 'withIcon' : 'withoutIcon'}.${size}.height`}\n paddingLeft={`kitt.tag.${icon ? 'withIcon' : 'withoutIcon'}.${size}.paddingLeft`}\n paddingRight={`kitt.tag.${icon ? 'withIcon' : 'withoutIcon'}.${size}.paddingRight`}\n backgroundColor={variant === 'fill' ? kittTheme.kitt.palettes.lateOcean[`${tagColor}.4`] : 'kitt.transparent'}\n borderColor={kittTheme.kitt.palettes.lateOcean[`${tagColor}.6`]}\n borderWidth={`kitt.tag.${variant}.borderWidth`}\n space=\"kitt.1\"\n alignItems=\"center\"\n >\n {icon ? <TypographyIcon icon={icon} size={`kitt.tag.${size}.iconSize`} /> : null}\n <Typography.Text base={getTypography(size)} color=\"black\">\n {label}\n </Typography.Text>\n </HStack>\n );\n}\n","import { XIcon } from '@ornikar/kitt-icons';\nimport type { AndroidNativeProps, DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactNode } from 'react';\nimport { useState } from 'react';\nimport { FormattedMessage } from 'react-intl';\nimport { Platform } from 'react-native';\nimport type { ButtonProps } from '../Button/Button';\nimport { Button } from '../Button/Button';\nimport type { CardModalProps } from '../CardModal/CardModal';\nimport { CardModal } from '../CardModal/CardModal';\nimport { IconButton } from '../IconButton/IconButton';\n\ninterface ModalDateTimePickerProps {\n title?: ReactNode;\n visible?: boolean;\n /** @description Native only props - iOSNativeProps['minuteInterval'] has same type */\n minuteInterval?: AndroidNativeProps['minuteInterval'];\n value: Date;\n validateButtonLabel?: ButtonProps['children'];\n testID?: CardModalProps['testID'];\n pickerTestID?: string;\n onChange: (newDate: Date) => void;\n onClose: () => void;\n}\n\nexport function ModalDateTimePicker({\n title,\n visible,\n value,\n minuteInterval,\n validateButtonLabel,\n testID,\n pickerTestID,\n onChange,\n onClose,\n}: ModalDateTimePickerProps): ReactNode {\n const [currentValue, setCurrentValue] = useState(value);\n\n // Prevent unsynced value between the modal and its parent state\n const handleClose = (): void => {\n setCurrentValue(value);\n onClose();\n };\n\n const handleSubmit = (): void => {\n onChange(currentValue);\n };\n\n const handleChange = (nextDate?: Date): void => {\n if (nextDate) setCurrentValue(nextDate);\n };\n\n const buttonContent = validateButtonLabel || (\n <FormattedMessage id=\"kitt-universal.ModalDateTimePicker.confirm\" defaultMessage=\"Valider\" />\n );\n\n return (\n <CardModal.ModalBehaviour visible={Boolean(visible)} onClose={handleClose}>\n <CardModal testID={testID}>\n {title ? (\n <CardModal.Header\n title={title}\n right={\n <IconButton testID=\"timePicker.ModalDateTimePicker.closeButton\" icon={<XIcon />} onPress={handleClose} />\n }\n />\n ) : null}\n\n <CardModal.Body>\n <DateTimePicker\n is24Hour\n minuteInterval={minuteInterval}\n testID={pickerTestID}\n value={currentValue}\n mode=\"time\"\n display={Platform.OS === 'ios' ? 'spinner' : 'default'}\n onChange={(event: DateTimePickerEvent, date?: Date) => handleChange(date)}\n />\n </CardModal.Body>\n <CardModal.Footer>\n <Button stretch testID=\"timePicker.ModalDateTimePicker.submitButton\" type=\"primary\" onPress={handleSubmit}>\n {buttonContent}\n </Button>\n </CardModal.Footer>\n </CardModal>\n </CardModal.ModalBehaviour>\n );\n}\n","function formatNumberToTimeString(time: number): string {\n return `${String(time).padStart(2, '0')}`;\n}\n\nexport function formatDateToTimeString(date: Date): string {\n return `${formatNumberToTimeString(date.getHours())}:${formatNumberToTimeString(date.getMinutes())}`;\n}\n","import type { InputUIState } from '../../forms/utils';\n\ninterface GetCurrentInternalForcedStateParams {\n isDisabled?: boolean;\n isFocusedInternal?: boolean;\n isPressedInternal?: boolean;\n isHoveredInternal?: boolean;\n}\n\nexport function getCurrentInternalForcedState({\n isDisabled,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n}: GetCurrentInternalForcedStateParams): InputUIState | 'disabled' {\n if (isDisabled) return 'disabled';\n\n if (isHoveredInternal) return 'hover';\n\n if (isFocusedInternal) return 'focus';\n\n if (isPressedInternal) return 'hover';\n\n return 'default';\n}\n","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport { InputText } from '../forms/InputText/InputText';\nimport type { PressableProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { createResponsiveStyleFromProp } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { formatDateToTimeString } from './utils/formatDateToTimeString';\nimport { getCurrentInternalForcedState } from './utils/getCurrentInternalForcedState';\n\ninterface TimePickerPressableProps {\n testID?: PressableProps['testID'];\n disabled?: boolean;\n stretch?: ResponsiveValue<boolean | undefined>;\n value?: Date;\n placeholder?: string;\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n onPress?: () => void;\n}\n\nexport const TimePickerPressable = forwardRef<PressableProps, TimePickerPressableProps>(\n (\n {\n testID,\n disabled,\n stretch,\n value,\n placeholder,\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n onPress,\n }: TimePickerPressableProps,\n ref,\n ): ReactElement => {\n return (\n <Pressable\n ref={ref}\n testID={testID}\n disabled={disabled}\n accessibilityRole=\"button\"\n width={createResponsiveStyleFromProp(stretch, '100%', 'kitt.forms.timePicker.minWidth')}\n pointerEvents=\"box-only\"\n onPress={onPress}\n >\n {({ isHovered, isFocused, isPressed }) => (\n <View position=\"relative\">\n <InputText\n internalForceState={getCurrentInternalForcedState({\n isDisabled: disabled,\n isHoveredInternal: isHovered || isHoveredInternal,\n isFocusedInternal: isFocused || isFocusedInternal,\n isPressedInternal: isPressed || isPressedInternal,\n })}\n value={value ? formatDateToTimeString(value) : undefined}\n placeholder={placeholder}\n disabled={disabled}\n textAlign=\"center\"\n />\n <View position=\"absolute\" top=\"0\" left=\"0\" height=\"100%\" width=\"100%\" />\n </View>\n )}\n </Pressable>\n );\n },\n);\n","import type { AndroidNativeProps, DateTimePickerEvent } from '@react-native-community/datetimepicker';\nimport DateTimePicker from '@react-native-community/datetimepicker';\nimport type { ReactElement, ReactNode } from 'react';\nimport { forwardRef, useState } from 'react';\nimport { Platform } from 'react-native';\nimport type { CardModalProps } from '../CardModal/CardModal';\nimport type { PressableProps } from '../native-base/primitives';\nimport type { ResponsiveValue } from '../utils/createResponsiveStyleFromProp/createResponsiveStyleFromProp';\nimport { ModalDateTimePicker } from './ModalDateTimePicker';\nimport { TimePickerPressable } from './TimePickerPressable';\n\nexport interface TimePickerProps {\n value?: Date;\n disabled?: boolean;\n placeholder?: string;\n stretch?: ResponsiveValue<boolean | undefined>;\n testID?: PressableProps['testID'];\n // iOSNativeProps['minuteInterval'] has same type\n minuteInterval?: AndroidNativeProps['minuteInterval'];\n /** @descritpion Native only props - title displayed in the CardModal that shows the native picker */\n title?: ReactNode;\n /** @description Native only props */\n validateButtonLabel?: string;\n /** @description Native only props */\n isDefaultVisible?: boolean;\n /** @description Native only props */\n modalTestID?: CardModalProps['testID'];\n /** @description Native only props */\n pickerTestID?: string;\n /** @internal for story purpose */\n isHoveredInternal?: boolean;\n /** @internal for story purpose */\n isFocusedInternal?: boolean;\n /** @internal for story purpose */\n isPressedInternal?: boolean;\n onChange?: (nextDate: Date | undefined) => void;\n onBlur?: () => void;\n}\n\nexport const TimePicker = forwardRef<PressableProps, TimePickerProps>(\n (\n {\n title,\n disabled = false,\n stretch,\n value,\n minuteInterval,\n validateButtonLabel,\n isDefaultVisible,\n placeholder = '--:--',\n testID,\n modalTestID,\n pickerTestID = 'timePicker.ModalDateTimePicker.dateTimeNativePicker',\n isHoveredInternal,\n isFocusedInternal,\n isPressedInternal,\n onChange,\n onBlur,\n }: TimePickerProps,\n ref,\n ): ReactElement => {\n const [currentValue, setCurrentValue] = useState<Date | undefined>(value);\n const [isPickerVisible, setIsPickerVisible] = useState(isDefaultVisible);\n\n const handleClose = (): void => {\n setIsPickerVisible(false);\n };\n\n const handleChange = (nextDate?: Date | undefined): void => {\n setIsPickerVisible(false);\n\n setCurrentValue(nextDate);\n\n if (onChange) onChange(nextDate);\n\n if (onBlur) onBlur();\n };\n\n const handlePress = (): void => {\n setIsPickerVisible(true);\n };\n\n const pickerValue = currentValue || new Date();\n\n return (\n <>\n <TimePickerPressable\n ref={ref}\n testID={testID}\n disabled={disabled}\n stretch={stretch}\n value={currentValue}\n placeholder={placeholder}\n isHoveredInternal={isHoveredInternal}\n isFocusedInternal={isFocusedInternal}\n isPressedInternal={isPressedInternal}\n onPress={handlePress}\n />\n\n {Platform.OS === 'android' && isPickerVisible ? (\n <DateTimePicker\n is24Hour\n testID={pickerTestID}\n value={pickerValue}\n minuteInterval={minuteInterval}\n mode=\"time\"\n display=\"spinner\"\n onChange={(event: DateTimePickerEvent, date?: Date) => handleChange(date)}\n />\n ) : null}\n\n {Platform.OS !== 'android' ? (\n <ModalDateTimePicker\n visible={isPickerVisible}\n minuteInterval={minuteInterval}\n title={title}\n testID={modalTestID}\n pickerTestID={pickerTestID}\n value={pickerValue}\n validateButtonLabel={validateButtonLabel}\n onChange={handleChange}\n onClose={handleClose}\n />\n ) : null}\n </>\n );\n },\n);\n","<svg viewBox=\"0 0 36 9\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill=\"currentColor\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M22.399 6.128C20.939 7.722 19.767 9 18 9s-2.938-1.278-4.399-2.872C11.187 3.494 7.984 0 0 0h36c-7.984 0-11.187 3.494-13.601 6.128z\"/></svg>","import type { ReactElement } from 'react';\nimport { forwardRef } from 'react';\nimport { useTheme } from '../KittThemeContext';\nimport type { ViewProps } from '../native-base/primitives';\nimport { View } from '../native-base/primitives';\nimport type { TooltipPosition } from './Tooltip';\nimport TooltipArrowImage from './arrow.inline.svg';\n\nexport interface ArrowProps {\n position: TooltipPosition;\n top?: number;\n left?: number;\n display?: ViewProps['display'];\n}\n\nexport const Arrow = forwardRef<typeof View, ArrowProps>(\n ({ position, top, left, display }: ArrowProps, ref): ReactElement => {\n const theme = useTheme();\n return (\n <View\n ref={ref}\n display={display || { base: 'none', small: 'flex' }}\n width=\"kitt.tooltip.arrow.width\"\n height=\"kitt.tooltip.arrow.height\"\n left={left}\n top={top}\n style={{\n transform: `rotate(${position === 'bottom' ? '180deg' : '0deg'})`,\n }}\n >\n <TooltipArrowImage color={theme.kitt.tooltip.backgroundColor} opacity={theme.kitt.tooltip.opacity} />\n </View>\n );\n },\n);\n","import type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\n\ninterface TooltipContentProps {\n children: ReactNode;\n}\n\nexport function TooltipContent({ children }: TooltipContentProps): ReactNode {\n return (\n <View\n backgroundColor=\"kitt.tooltip.backgroundColor\"\n borderRadius=\"kitt.tooltip.borderRadius\"\n opacity=\"kitt.tooltip.opacity\"\n paddingY=\"kitt.tooltip.verticalPadding\"\n paddingX=\"kitt.tooltip.horizontalPadding\"\n >\n <Typography.Text base=\"body-small\" color=\"white-light\">\n {children}\n </Typography.Text>\n </View>\n );\n}\n","import { useEffect, useState } from 'react';\nimport { useWindowDimensions } from 'react-native';\n\ninterface CustomShiftParams {\n tooltipX: number;\n refPageX: number;\n refWidth: number;\n floatingWidth: number;\n wWidth: number;\n}\n// HG 08/11/2022\n// At the moment `shift` from `@floating-ui/react-native` does not work properly\nexport function customShift({ tooltipX, refPageX, refWidth, floatingWidth, wWidth }: CustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const refCenterOnScreen = refPageX + refWidth * 0.5;\n const halfFloatingWith = floatingWidth * 0.5;\n\n // Left collisions\n if (refCenterOnScreen - halfFloatingWith < 0) {\n return {\n left: 0,\n right: undefined,\n };\n }\n\n // Right collisions\n if (refCenterOnScreen + halfFloatingWith > wWidth) {\n return {\n left: undefined,\n right: 0,\n };\n }\n\n // No collisions\n return {\n left: tooltipX,\n right: undefined,\n };\n}\n\ninterface UseCustomShiftParams {\n tooltipX: number;\n pressableRect?: {\n pageX: number;\n width: number;\n };\n floatingWidth?: number;\n}\n\nexport function useCustomShift({ tooltipX, pressableRect, floatingWidth }: UseCustomShiftParams): {\n left?: number;\n right?: number;\n} {\n const windowDimensions = useWindowDimensions();\n const [customShiftData, setCustomShiftData] = useState<{ left?: number; right?: number }>({\n left: undefined,\n right: undefined,\n });\n\n useEffect(() => {\n if (tooltipX === undefined || !pressableRect || floatingWidth === undefined) return;\n\n const res = customShift({\n tooltipX,\n refPageX: pressableRect.pageX,\n refWidth: pressableRect.width,\n wWidth: windowDimensions.width,\n floatingWidth,\n });\n\n setCustomShiftData(res);\n }, [floatingWidth, tooltipX, windowDimensions, pressableRect]);\n\n return customShiftData;\n}\n","import type { MiddlewareData, Placement } from '@floating-ui/react-native';\nimport { autoPlacement, offset, useFloating } from '@floating-ui/react-native';\nimport type { ReactElement, ReactNode, Ref, RefObject } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport type { Pressable as NativePressable } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withSpring } from 'react-native-reanimated';\nimport { useTheme } from '../KittThemeContext';\nimport type { PressableProps, ViewProps } from '../native-base/primitives';\nimport { Pressable, View } from '../native-base/primitives';\nimport { Arrow } from './Arrow';\nimport { TooltipContent } from './TooltipContent';\nimport { useCustomShift } from './hooks/useCustomShift';\n\nexport type TooltipPosition = 'bottom' | 'top';\nexport type WebFloatingPosition = 'fixed' | 'absolute';\n\nexport interface UpdateCallbackParams {\n x: number;\n y: number;\n placement: Placement;\n strategy: string;\n refs: {\n reference: RefObject<any>;\n floating: RefObject<any>;\n offsetParent?: RefObject<any>;\n };\n middlewareData: MiddlewareData;\n update: () => void;\n}\n\ntype OnUpdateCallback = (params: UpdateCallbackParams) => void;\n\ntype RenderPressablePropsAndRef = Pick<\n PressableProps,\n // native-only\n | 'onPress'\n // web-only\n | 'onHoverIn'\n // web-only\n | 'onFocus'\n // web-only\n | 'onBlur'\n> & {\n // native-only\n ref?: Ref<typeof NativePressable>;\n};\n\nexport interface BaseTooltipProps {\n alignSelf?: ViewProps['alignSelf'];\n content: NonNullable<ReactNode>;\n floatingPadding?: number;\n position?: TooltipPosition;\n zIndex?: number;\n fullWidth?: boolean;\n /**\n * @description\n * This value init the internal visibile state of the tooltip. This is mainly used for testing purpose.\n */\n defaultVisible?: boolean;\n /**\n * @default absolute\n * @description\n * Specific position strategy to apply to the tooltip.\n * Might be usefull when dealing with edge case (see https://floating-ui.com/docs/misc#z-index-stacking).\n */\n floatingStrategy?: {\n web: WebFloatingPosition;\n };\n onToggle?: (isVisible: boolean) => void;\n onUpdate?: OnUpdateCallback;\n}\n\nexport interface TooltipPropsWithRenderPressable extends BaseTooltipProps {\n children?: never;\n renderPressable: (pressablePropsAndRef: RenderPressablePropsAndRef) => ReactElement;\n}\n\nexport interface TooltipPropsWithChildren extends BaseTooltipProps {\n renderPressable?: never;\n children: NonNullable<ReactNode>;\n}\n\nexport type TooltipProps = TooltipPropsWithRenderPressable | TooltipPropsWithChildren;\n\n// eslint-disable-next-line unicorn/expiring-todo-comments\n// TODO : update position on scroll in future iteration\nexport function Tooltip({\n children,\n alignSelf,\n defaultVisible,\n position = 'top',\n content,\n floatingPadding,\n zIndex = 1000,\n fullWidth,\n renderPressable = (pressablePropsAndRef) => (\n <Pressable accessibilityRole=\"button\" {...pressablePropsAndRef}>\n {children}\n </Pressable>\n ),\n onUpdate,\n onToggle,\n}: TooltipProps): ReactNode {\n const theme = useTheme();\n const currentFloatingPadding = floatingPadding || theme.kitt.tooltip.floatingPadding;\n\n const [floatingWidth, setFloatingWidth] = useState<number | undefined>(undefined);\n const pressableRectRef = useRef<{ width: number; pageX: number } | undefined>(undefined);\n\n const pressed = useSharedValue(defaultVisible);\n\n const animatedStyles = useAnimatedStyle(() => {\n return {\n opacity: withSpring(pressed.value ? theme.kitt.tooltip.opacity : 0),\n transform: [\n {\n scale: withSpring(pressed.value ? 1 : 0.8),\n },\n ],\n };\n });\n\n const { x, y, reference, floating, update, refs, middlewareData, strategy, placement } = useFloating({\n placement: position,\n middleware: [\n // Order matters\n offset(currentFloatingPadding),\n // shift() => shift is replaced by customShift\n autoPlacement({\n allowedPlacements: ['top', 'bottom'],\n padding: currentFloatingPadding,\n }),\n // arrow is not reliable enough for implementation\n // arrow({ element: arrowRef }),\n ],\n });\n\n const tooltipY = Math.round(y ?? 0);\n const tooltipX = Math.round(x ?? 0);\n\n useEffect(() => {\n if (!onUpdate) return;\n onUpdate({\n x: tooltipX,\n y: tooltipY,\n placement,\n strategy,\n update,\n refs,\n middlewareData,\n });\n }, [tooltipX, tooltipY, placement, strategy, update, refs, middlewareData, onUpdate]);\n\n const getPressableRect = useCallback(\n (element: any) => {\n if (element) {\n element.measure((_x: number, _y: number, width: number, _h: number, pageX: number) => {\n pressableRectRef.current = { width, pageX };\n });\n }\n },\n [pressableRectRef],\n );\n\n const customShiftData = useCustomShift({ tooltipX, pressableRect: pressableRectRef.current, floatingWidth });\n\n const handlePress = (): void => {\n if (onToggle) onToggle(!!pressed.value);\n pressed.value = !pressed.value;\n };\n\n return (\n <View position=\"relative\" alignSelf={alignSelf}>\n <View ref={reference}>{renderPressable({ ref: getPressableRect, onPress: handlePress })}</View>\n\n <View\n ref={floating}\n accessibilityElementsHidden={!pressed.value}\n importantForAccessibility={pressed.value === true ? 'auto' : 'no-hide-descendants'}\n position=\"absolute\"\n maxWidth={fullWidth ? undefined : { base: '100%', small: 'kitt.tooltip.maxWidth' }}\n top={tooltipY}\n left={customShiftData.left}\n right={customShiftData.right}\n onLayout={({ nativeEvent }) => setFloatingWidth(nativeEvent.layout.width)}\n >\n <Animated.View style={[animatedStyles]}>\n <TooltipContent>{content}</TooltipContent>\n </Animated.View>\n </View>\n </View>\n );\n}\n\nTooltip.Arrow = Arrow;\nTooltip.Content = TooltipContent;\n","import type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport type { Entries } from 'type-fest';\nimport type { EmojiProps } from '../Emoji/Emoji';\nimport { Emoji } from '../Emoji/Emoji';\nimport { KittBreakpointNameEnum } from '../KittBreakpoints';\nimport type { KittThemeContextValue } from '../KittThemeContext';\nimport { useTheme } from '../KittThemeContext';\nimport type { TypographyTypeConfig } from '../themes/late-ocean/typography';\nimport type { TypographyBreakpointType, TypographyType } from './Typography';\nimport { getTypographyTypeConfigKeyFromTypeName } from './Typography';\nimport { getTypographyFamily } from './utils/getTypographyFamily';\n\nfunction getTypographyTypeConfig(type: TypographyType, theme: KittThemeContextValue): TypographyTypeConfig {\n const { configs } = theme.kitt.typography.types[getTypographyFamily(type)];\n return (configs as any)[type];\n}\n\ninterface Sizes {\n size: EmojiProps['size'];\n marginLeft: NonNullable<EmojiProps['_web']>['marginLeft'];\n marginRight: NonNullable<EmojiProps['_web']>['marginRight'];\n}\n\nfunction calcSizesFromType(type: TypographyBreakpointType, theme: KittThemeContextValue): Sizes {\n const typeWithMediumForced = {\n ...type,\n medium: type.medium || type.small || type.base,\n };\n\n const size: Sizes['size'] = {\n base: getTypographyTypeConfig(type.base ?? 'body', theme).baseAndSmall.fontSize,\n };\n\n [\n KittBreakpointNameEnum.SMALL,\n KittBreakpointNameEnum.MEDIUM,\n KittBreakpointNameEnum.LARGE,\n KittBreakpointNameEnum.WIDE,\n ].forEach((typeName) => {\n const value = typeWithMediumForced[typeName];\n if (value) {\n size[typeName] = getTypographyTypeConfig(value, theme)[getTypographyTypeConfigKeyFromTypeName(typeName)].fontSize;\n }\n });\n\n const marginLeft: Sizes['marginLeft'] = {};\n const marginRight: Sizes['marginRight'] = {};\n\n (Object.entries(size) as Entries<typeof size>).forEach(([key, value]) => {\n if (value) {\n marginLeft[key] = value / 10;\n marginLeft[key] = value / 20;\n }\n });\n\n return { size, marginLeft, marginRight };\n}\n\nexport interface TypographyEmojiProps extends TypographyBreakpointType {\n type?: TypographyBreakpointType;\n emoji: string;\n}\n\nexport function TypographyEmoji({\n emoji,\n base: legacyBase,\n small: legacySmall,\n medium: legacyMedium,\n large: legacyLarge,\n wide: legacyWide,\n type = { base: legacyBase, small: legacySmall, medium: legacyMedium, large: legacyLarge, wide: legacyWide },\n}: TypographyEmojiProps): ReactNode {\n const theme = useTheme();\n const { base, small, medium, large, wide } = type;\n const { size, marginLeft, marginRight } = useMemo(\n () => calcSizesFromType({ base, small, medium, large, wide }, theme),\n [base, small, medium, large, wide, theme],\n );\n\n return (\n <Emoji\n size={size}\n emoji={emoji}\n alignSelf=\"center\"\n _web={{\n style: {\n transform: 'translateY(20%)',\n },\n /* Style Twemoji: https://github.com/twitter/twemoji#inline-styles */\n marginLeft,\n marginRight,\n }}\n />\n );\n}\n","import type { ReactElement, ReactNode } from 'react';\n\nexport interface TypographyLinkWebWrapperProps {\n children: ReactNode;\n hasNoUnderline?: boolean;\n}\n\nexport function TypographyLinkWebWrapper({ children, ...props }: TypographyLinkWebWrapperProps): ReactNode {\n return children as ReactElement;\n}\n","import type { ReactNode } from 'react';\nimport type { TextProps } from 'react-native';\nimport type { Except } from 'type-fest';\nimport type { TypographyPropsWithoutAccessibilityRole } from './Typography';\nimport { Typography } from './Typography';\nimport { TypographyLinkWebWrapper } from './TypographyLinkWebWrapper';\n\nexport interface TypographyLinkProps extends Except<TypographyPropsWithoutAccessibilityRole, 'children'> {\n children: NonNullable<ReactNode>;\n disabled?: boolean;\n noUnderline?: boolean;\n variant: NonNullable<TypographyPropsWithoutAccessibilityRole['variant']>;\n href?: TextProps['href'];\n hrefAttrs?: TextProps['hrefAttrs'];\n onPress?: TextProps['onPress'];\n}\n\nexport function TypographyLink({\n children,\n disabled,\n noUnderline,\n href,\n hrefAttrs,\n onPress,\n ...otherProps\n}: TypographyLinkProps): ReactNode {\n return (\n <TypographyLinkWebWrapper hasNoUnderline={noUnderline}>\n <Typography\n underline={!noUnderline}\n color={disabled ? 'black-disabled' : undefined}\n href={href}\n hrefAttrs={hrefAttrs}\n accessibilityRole=\"link\"\n dataSet={{\n // remove data-kitt-universal when we delete kitt web. See :global(a) in Link styles.module.css\n 'kitt-universal': 'true',\n }}\n _web={{\n cursor: disabled ? 'not-allowed' : 'pointer',\n transitionProperty: 'color',\n transitionDuration: '0.2s',\n transitionTimingFunction: 'ease-in-out',\n }}\n // TODO[native-base@>=3.4.19] this currently does not work. Retest when updating native-base.\n // _active={{\n // underline: !!noUnderline,\n // }}\n // _hover={{\n // underline: !!noUnderline,\n // }}\n onPress={disabled ? undefined : onPress}\n {...otherProps}\n >\n {children}\n </Typography>\n </TypographyLinkWebWrapper>\n );\n}\n","import { makeDecorator } from '@storybook/addons';\nimport type { ReactNode } from 'react';\nimport type { AppTheme, KittNativeBaseProviderProps } from '../../native-base/KittNativeBaseProvider';\nimport { KittNativeBaseProvider } from '../../native-base/KittNativeBaseProvider';\nimport { useKittTheme } from '../../useKittTheme';\n\ninterface KittThemeProviderProps {\n appTheme?: AppTheme;\n isSSR?: KittNativeBaseProviderProps['isSSR'];\n children: ReactNode;\n}\n\nexport function KittThemeProvider({ isSSR, children, appTheme }: KittThemeProviderProps): ReactNode {\n const theme = useKittTheme();\n return (\n <KittNativeBaseProvider theme={theme} isSSR={isSSR} appTheme={appTheme}>\n {children}\n </KittNativeBaseProvider>\n );\n}\n\nexport const KittThemeDecorator = makeDecorator({\n name: 'ThemeDecorator',\n parameterName: 'theme',\n wrapper: (storyFn, context, { options = {}, parameters = {} }) => {\n return (\n <KittThemeProvider isSSR={parameters.isSSR ?? (options as any).isSSR}>\n {storyFn(context) as ReactNode}\n </KittThemeProvider>\n );\n },\n});\n","import type { ComponentProps, ElementType, ReactElement, ReactNode } from 'react';\nimport { Platform } from 'react-native';\n\nexport interface StyleWebWrapperProps<T extends ElementType> {\n as: T;\n children: ReactNode;\n}\n\n/**\n * @deprecated Use react-native Platform instead\n */\nexport function StyleWebWrapper<T extends ElementType = 'div'>({\n as,\n children,\n ...props\n}: StyleWebWrapperProps<T> & ComponentProps<T>): ReactNode {\n if (Platform.OS !== 'web') return children as ReactElement;\n const Component: T = as || ('div' as T); // as or default to div. If as is undefined, T is div but typescript is not sure\n return <Component {...(props as any)}>{children}</Component>;\n}\n","import { useWindowDimensions } from 'react-native';\n\nexport interface WindowDimensions {\n width?: number;\n height?: number;\n}\n\nexport interface MatchWindowSizeOptions {\n minWidth?: number;\n maxWidth?: number;\n minHeight?: number;\n maxHeight?: number;\n}\nexport function matchWindowSize(\n { width, height }: WindowDimensions,\n { minWidth, maxWidth, minHeight, maxHeight }: MatchWindowSizeOptions,\n): boolean {\n const hasWidthMatched = width ? (!minWidth || width >= minWidth) && (!maxWidth || width <= maxWidth) : true;\n const hasHeightMatched = height ? (!minHeight || height >= minHeight) && (!maxHeight || height <= maxHeight) : true;\n return hasWidthMatched && hasHeightMatched;\n}\n\n/**\n * Returns if a size matches based on dimensions passed as options.\n *\n * WARNING: Not SSR friendly.\n */\nexport function useMatchWindowSize(options: MatchWindowSizeOptions): boolean {\n const { width, height } = useWindowDimensions();\n return matchWindowSize({ width, height }, options);\n}\n","import type { ReactElement, ReactNode } from 'react';\nimport type { BreakpointValueHookValues } from '../../native-base/utils';\nimport { useBreakpointValue } from '../../native-base/utils';\nimport type { MatchWindowSizeOptions } from './useMatchWindowSize';\nimport { useMatchWindowSize } from './useMatchWindowSize';\n\ninterface MatchWindowSizeProps extends MatchWindowSizeOptions {\n children: ReactNode;\n}\n\n/**\n * Display children if match window size options\n *\n * WARNING: Currently not SSR friendly (but could be).\n */\nexport function MatchWindowSize({ children, ...matchWindowSizeOptions }: MatchWindowSizeProps): ReactNode {\n const match = useMatchWindowSize(matchWindowSizeOptions);\n if (!match) return null;\n return children as ReactElement;\n}\n\ntype SwitchBreakpointsProps = BreakpointValueHookValues<ReactNode>;\n\n/**\n * Display based on current breakpoint\n *\n * WARNING: Currently not SSR friendly (but could be).\n */\nexport function SwitchBreakpoints(breakpoints: SwitchBreakpointsProps): ReactNode {\n return useBreakpointValue(breakpoints);\n}\n","import { KittBreakpointNameEnum } from '../../KittBreakpoints';\nimport { useBreakpointValue } from '../../native-base/utils';\n\nexport function useCurrentBreakpointName(): KittBreakpointNameEnum {\n return useBreakpointValue({\n base: KittBreakpointNameEnum.BASE,\n small: KittBreakpointNameEnum.SMALL,\n medium: KittBreakpointNameEnum.MEDIUM,\n large: KittBreakpointNameEnum.LARGE,\n wide: KittBreakpointNameEnum.WIDE,\n });\n}\n","import { CheckIcon } from '@ornikar/kitt-icons';\nimport type { ReactNode } from 'react';\nimport { View } from '../native-base/primitives';\nimport { Typography } from '../typography/Typography';\nimport { TypographyIcon } from '../typography/TypographyIcon';\nimport type { StepState } from './Step';\n\nconst backgroundColors = {\n done: 'kitt.verticalSteps.done.icon.backgroundColor',\n active: 'kitt.verticalSteps.active.icon.backgroundColor',\n default: 'kitt.verticalSteps.default.icon.backgroundColor',\n};\n\nexport interface IconStatusProps {\n state: StepState;\n index: number;\n}\n\nfunction IconStatus({ state, index }: IconStatusProps): ReactNode {\n if (state === 'done') {\n return <TypographyIcon icon={<CheckIcon />} color=\"kitt.verticalSteps.done.icon.textColor\" />;\n }\n\n return (\n // padding aligns the text in the center\n <View paddingBottom={2}>\n <Typography.Text\n textAlign=\"center\"\n variant=\"bold\"\n color={\n state === 'active' ? 'kitt.verticalSteps.active.icon.textColor' : 'kitt.verticalSteps.default.icon.textColor'\n }\n >\n {index + 1}\n </Typography.Text>\n </View>\n );\n}\n\ninterface StepIconProps {\n index: number;\n state?: StepState;\n}\n\nexport function StepIcon({ index, state = 'default' }: StepIconProps): ReactNode {\n return (\n <View\n justifyContent=\"center\"\n alignItems=\"center\"\n width={30}\n height={30}\n borderRadius={15}\n backgroundColor={backgroundColors[state]}\n >\n <IconStatus state={state} index={index} />\n </View>\n );\n}\n","import { HStack } from 'native-base';\nimport type { ReactNode } from 'react';\nimport { ActionCard } from '../ActionCard/ActionCard';\nimport { View } from '../native-base/primitives';\nimport { StepIcon } from './StepIcon';\n\nexport type StepState = 'active' | 'done' | 'default';\n\nexport interface ExternalStepProps {\n children: ReactNode;\n shouldDisableNextLink?: boolean;\n}\n\nexport function ExternalStep(props: ExternalStepProps): ReactNode {\n return null;\n}\n\nexport interface StepProps {\n index?: number;\n children: ReactNode;\n state?: StepState;\n isLast?: boolean;\n shouldDisableNextLink?: boolean;\n}\n\nexport function Step({\n index = 0,\n children,\n state = 'default',\n isLast = false,\n shouldDisableNextLink = false,\n}: StepProps): ReactNode {\n return (\n <HStack space=\"kitt.2\" flexGrow={1}>\n <View marginTop=\"kitt.2\" paddingY=\"kitt.2\" backgroundColor=\"kitt.white\">\n <StepIcon state={state} index={index} />\n {!isLast ? (\n <View\n backgroundColor={\n shouldDisableNextLink ? 'kitt.palettes.lateOcean.black100' : 'kitt.palettes.lateOcean.moonPurple'\n }\n width={1}\n position=\"absolute\"\n top={46}\n left={15}\n zIndex={-1}\n height=\"100%\"\n />\n ) : null}\n </View>\n <View flexGrow={1} flexShrink={1}>\n <ActionCard variant=\"primary\">{children}</ActionCard>\n </View>\n </HStack>\n );\n}\n","import type { StepState } from '../Step';\n\nexport function getStepState(index: number, activeIndex: number): StepState {\n if (index === activeIndex) {\n return 'active';\n }\n if (index < activeIndex) {\n return 'done';\n }\n return 'default';\n}\n","import type { ViewProps } from '@ornikar/kitt-universal';\nimport { VStack } from 'native-base';\nimport type { ReactComponentElement, ReactNode } from 'react';\nimport { Children, createElement } from 'react';\nimport type { StepProps } from './Step';\nimport { ExternalStep, Step } from './Step';\nimport { getStepState } from './utils/getStepState';\n\nexport interface VerticalStepsProps extends ViewProps {\n children: ReactComponentElement<typeof ExternalStep> | ReactComponentElement<typeof ExternalStep>[];\n activeIndex: number;\n}\n\nexport function VerticalSteps({ children, activeIndex, ...props }: VerticalStepsProps): ReactNode {\n return (\n <VStack space=\"kitt.4\" width=\"100%\" {...props}>\n {Children.map(children, (child: ReactComponentElement<typeof ExternalStep>, index) => {\n if (__DEV__ && child.type !== ExternalStep) {\n throw new Error('VerticalSteps only accepts VerticalSteps.Step as children');\n }\n\n const isLast = index === Children.count(children) - 1;\n return createElement<StepProps>(\n Step,\n {\n ...child.props,\n index,\n isLast,\n state: getStepState(index, activeIndex),\n },\n child.props.children,\n );\n })}\n </VStack>\n );\n}\n\nVerticalSteps.Step = ExternalStep;\n"],"names":["View","NativeBaseView","ScrollView","NativeBaseScrollView","Pressable","NativeBasePressable","Image","NativeBaseImage","FlatList","NativeBaseFlatList","SectionList","NativeBaseSectionList","hex2rgba","hex","alpha","arguments","length","undefined","r","parseInt","slice","g","b","concat","createColorScale","colorScale","colorScales","eggshell","violine","lavender","blue","raspberry","coral","sun","green","transformColorScalesToTokens","Object","fromEntries","entries","flatMap","_ref","_ref2","_slicedToArray","colorName","map","_ref3","_ref4","scaleNumber","colorValue","lateOceanColorPalette","_objectSpread","lateOcean","lateOceanLight1","lateOceanLight2","lateOceanLight3","lateOceanDark1","warmEmbrace","warmEmbraceLight1","white","black","black1000","black800","black555","black400","black200","black100","black50","black25","viride","englishVermillon","goldCrayola","aero","seaShell","transparent","moonPurple","moonPurpleLight1","colors","primary","primaryLight","accent","accentLight","success","correct","danger","info","warning","separator","hover","blackDisabled","blackLight","blackAnthracite","uiBackground","uiBackgroundLight","disabled","overlay","dark","light","actionCard","borderRadius","backgroundColor","borderColor","borderWidth","shadow","color","offsetX","offsetY","opacity","radius","translateY","hovered","focused","pressed","secondary","highlight","defaultAvatarSize","defaultAvatarIconSize","largeAvatarSize","largeAvatarIconSize","avatar","size","iconSize","large","spacing","bottomSheet","container","padding","handle","button","focus","minHeight","minWidth","maxWidth","scale","base","active","medium","contentPadding","xLarge","horizontal","vertical","transition","duration","timingFunction","pressedBackgroundColor","hoverBackgroundColor","focusBorderColor","ghost","hoverColor","activeColor","subtle","card","webAnimationContentDuration","webAnimationContentEasing","webAnimationOverlayDuration","webAnimationOverlayEasing","overlayHorizontalPadding","cardModal","maxWidthWithPadding","header","height","footer","overlayPadding","animation","easing","content","choices","row","column","item","small","selected","hoverWhenSelected","border","width","property","dialogModal","feedbackMessage","autocomplete","option","verticalPadding","highlighted","optionsContainer","checkbox","markColor","textSpacing","checked","datePicker","day","month","year","inputStatesStyle","pending","valid","invalid","webAnimationDuration","webAnimationTimingFunction","webAnimationProperties","input","selection","placeholder","icon","rightContainer","properties","states","inputField","containerPaddingTop","containerPaddingBottom","feedbackPaddingTop","labelContainerPaddingBottom","labelFeedbackMarginLeft","inputTag","labelColor","radio","unchecked","innerSize","innerBackgroundColor","radioButtonGroup","textArea","timePicker","forms","fullscreenModal","sharedHorizontalPadding","body","regular","getIconSizeFromFontSize","fontSize","createTypographyIconSizeConfig","baseAndSmallFontSize","mediumAndWideFontSize","baseAndSmallIconSize","mediumAndWideIconSize","baseAndSmall","mediumAndWide","defaultSize","typographySize","header1","header2","header3","header4","header5","iconButton","listItem","horizontalPadding","innerMargin","pageLoaderSize","pageLoaderStrokeWidth","webAnimationDelay","webAnimationCircleBackgroundFillDuration","webAnimationFilledCircleFillDuration","webAnimationFilledCircleRotationDuration","fillEasingFunction","pageLoader","strokeWidth","fill","delay","circleBackgroundFillDuration","filledCircleFillDuration","groupFilledCircleRotationDuration","filledCircleRotationDuration","calcLineHeight","lineHeightMultiplier","Math","round","createLegacyTypographyTypeConfig","lineHeightMultiplierBaseAndSmall","lineHeightMultiplierMediumAndWide","lineHeight","createTypographyConfig","config","typography","kittColors","types","headings","fontFamily","bold","web","fontWeight","fontStyle","configs","bodies","link","disabledColor","picker","ios","landscape","android","shadows","cards","low","highBase","highMedium","highLarge","navigation","left","right","panel","skeletonBackgroundColor","skeletonFlareColor","skeleton","flareColor","animationDuration","shape","bar","circle","square","tag","withIcon","paddingLeft","paddingRight","withoutIcon","outline","tooltip","floatingPadding","out","arrow","verticalSteps","textColor","done","breakpoints","values","wide","min","smallBreakpoint","mediumBreakpoint","largeBreakpoint","wideBreakpoint","max","theme","getSpacing","multiplier","palettes","KittThemeContext","createContext","kitt","kittTheme","useTheme","useContext","getStateKey","isHovered","isPressed","isFocused","getThemeName","variant","borderVariant","ActionCardContentWrapper","_ref$borderVariant","children","state","__DEV__","Error","sharedTransform","transform","themeName","_jsx","_ios","style","_android","_web","flexGrow","ActionCardDisabled","borderStyle","ActionCard","_ref$variant","props","_objectWithoutProperties","_excluded","ActionCardPressable","forwardRef","ref","_ref2$variant","_ref2$borderVariant","testID","href","hrefAttrs","_ref2$accessibilityRo","accessibilityRole","isHoveredInternal","isPressedInternal","isFocusedInternal","onPress","Stack","NativeBaseStack","VStack","NativeBaseVStack","HStack","NativeBaseHStack","Center","NativeBaseCenter","createResponsiveStyleFromProp","responsiveBooleanValue","valueIfTrue","valueIfFalse","keys","responsiveValue","forEach","breakpointName","warn","message","process","env","NODE_ENV","console","deprecatedMessage","symbol","deprecation","replaceBy","replaceMessage","deprecatedInComponent","component","getCurrentBackgroundColorForNativeBaseTheme","type","isDisabled","baseKey","AnimatedContainer","animatedStyles","currentBackgroundColor","sx","useSx","styles","Animated","KittBreakpoints","BASE","SMALL","MEDIUM","LARGE","WIDE","KittBreakpointsMax","KittBreakpointNameEnum","typographyColors","getNBThemeColorFromColorProps","isColorTypographyColor","includes","getTypographyColorValue","_typeof","value","isTypeHeadings","startsWith","isTypeHeadingsImpact","getTypographyFamily","getTypographyFamilyWithAncestorValue","typographyFamilyInContext","TypographyFamilyContext","TypographyTypeContext","TypographyColorContext","useTypographyColor","useTypographyAncestorType","TypographyDefaultColorContext","useTypographyDefaultColor","getTypographyTypeConfigKeyFromTypeName","createNativeBaseFontSize","typeWithMediumForced","fontSizeForNativeBase","typeName","Typography","_type$base","legacyBase","legacySmall","legacyMedium","legacyLarge","legacyWide","_ref$type","otherProps","defaultColor","hasTypographyAncestor","baseOrDefaultToBody","typographyFamily","nonNullableVariant","currentColor","currentColorValue","colorStyles","textDecorationColor","key","text","NBText","Provider","TypographyText","TypographyParagraph","Platform","OS","createHeading","level","defaultBase","TypographyHeading","displayName","SetDefaultColor","Text","Paragraph","Header1","Header2","Header3","Header4","Header5","Header6","h1","h2","h3","h4","h5","Icon","_ref$size","_ref$align","align","clonedIcon","cloneElement","alignSelf","getIconSizeConfigKeyFromTypeName","createNativeBaseIconSize","iconSizeForNativeBase","TypographyIconSpecifiedColor","ancestorType","_sx","colorStyleValue","TypographyIconInheritColor","TypographyIcon","_excluded2","getButtonTextColorByType","isButtonInteractedWith","ButtonIcon","iconPosition","marginRight","marginLeft","ButtonContentChildren","buttonIconSharedProps","sharedNativeStyle","flexShrink","_jsxs","alignItems","justifyContent","flexDirection","textAlign","ButtonContent","flexBasis","getCurrentPaddingConfig","ButtonPadding","currentPaddingKey","position","paddingX","paddingY","DisabledBorder","top","bottom","FocusBorder","_useTheme","buttonTheme","transitionProperty","transitionDuration","transitionTimingFunction","hasVariant","getVariantValuesIfExist","useNativeAnimation","useSharedValue","_getVariantValuesIfEx","useAnimatedStyle","interpolateColor","withSpring","onPressIn","handlePressIn","onPressOut","handlePressOut","getButtonSize","allowedGhostTypes","Button","stretch","sizeProp","_ref$iconPosition","_ref$accessibilityRol","onHoverIn","onHoverOut","onFocus","onBlur","_useNativeAnimation","deprecatedProp","isStretch","SpinningIcon","String","animationRef","useRef","Value","rotation","current","interpolate","inputRange","outputRange","useEffect","loop","timing","toValue","Easing","linear","useNativeDriver","start","stop","rotate","LoaderIcon","ArcIcon","ActionsItem","as","_ref$stretch","_useState","useState","_useState2","isLoading","setIsLoading","mountedRef","handlePress","e","callPressAndUpdateLoadingState","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","t0","apply","ActionsButton","_extends","_objectDestructuringEmpty","getCurrentLayout","layout","getCurrentDirection","getCurrentAlignSelf","Actions","reversed","currentAlignItems","currentDirection","currentAlignSelf","direction","space","Item","getCurrentRadius","sizeVariant","getCurrentSize","getIconSize","getInitials","firstname","lastname","toUpperCase","AvatarContent","src","alt","isLight","source","uri","UserIcon","Avatar","currentSize","currentBorderRadius","overflow","BottomSheetComp","Content","_ref$hasScrollView","hasScrollView","_ref$hasBackdrop","hasBackdrop","_ref$hasHandle","hasHandle","onDismiss","Wrapper","useMemo","BottomSheetScrollView","BottomSheetView","initialSnapPoints","_useBottomSheetDynami","useBottomSheetDynamicSnapPoints","animatedHandleHeight","animatedSnapPoints","animatedContentHeight","handleContentLayout","BottomSheetModal","enablePanDownToClose","snapPoints","index","handleHeight","handleIndicatorStyle","handleComponent","BottomSheetHandle","backdropComponent","BottomSheetBackdrop","appearsOnIndex","disappearsOnIndex","contentHeight","data","SafeAreaView","edges","onLayout","BottomSheetContainerView","BottomSheet","useBottomSheet","useStaticBottomSheet","bottomSheetRef","BottomSheetMemoized","ModalBehaviourPortal","_Fragment","OnCloseContext","OnCloseProvider","onClose","useOnCloseModalBehaviour","CloseButton","onCloseContextCallback","handleClose","ModalBehaviour","visible","Overlay","CardModalRotationContainer","maxHeight","NativeOpacityAnimation","onExited","hasRunAnimationRef","handleAnimationFinished","opacityStyle","_theme$kitt$cardModal","_easing","x1","y1","x2","y2","withTiming","bezier","isFinished","runOnJS","StyleSheet","absoluteFillObject","NativeRotationAnimation","onEntered","animatedStyle","rotateZ","CardModalAnimation","onEnter","onExit","isModalVisible","setIsModalVisible","_useState3","_useState4","isContentVisible","setIsContentVisible","handleAnimationExited","Modal","supportedOrientations","onShow","CardModalBehaviour","isModalBehaviourVisible","setIsModalBehaviourVisible","handleExitAnimationDone","CardModalBody","_ref$paddingX","_ref$paddingY","showsVerticalScrollIndicator","_contentContainerStyle","CardModalFooter","_ref$padding","_ref$hasSeparator","hasSeparator","marginTop","borderTopWidth","CardModalHeader","title","_ref$paddingBottom","paddingBottom","defaultContainerPadding","borderBottomWidth","CardModal","_ref$backgroundColor","_ref$maxWidth","withoutShadow","Body","Header","Footer","getBackgroundColor","isSelected","getBorderRadius","Number","MAX_SAFE_INTEGER","AnimatedChoiceItemView","Boolean","progress","useDerivedValue","backgroundStyles","_theme$kitt$choices$i","defaultBg","pressedBg","selectedBg","disabledBg","getCurrentTextColor","ChoiceItem","onChange","handleChange","accessibilityState","ChoiceItemContainer","isLast","currentItemMarginValue","marginBottom","ChoicesContainer","Choices","id","_ref2$direction","currentValue","setCurrentValue","isForm","childrenArray","Children","toArray","sharedProps","newValue","child","element","createChoicesComponent","ButtonChoices","ChoicesElements","_theme$kitt$dialogMod","DialogModalAnimation","DialogModalBehaviour","bounces","contentContainerStyle","DialogModal","illustration","actions","paddingTop","DialogModalButton","_ref2$stretch","Emoji","emoji","_useMemo","parse","assetType","_useMemo2","emojiData","url","ExternalAppLink","Component","appScheme","appValue","onOpenAppError","rest","handleOnPress","canOpen","Linking","canOpenURL","sent","defaultPrevented","openURL","error","Sms","phoneNumber","Tel","_excluded3","Mail","_ref5","emailAddress","_excluded4","defaultOpenLinkBehavior","useOpenExternalLink","_ref$behavior","behavior","WebBrowser","openBrowserAsync","ExternalLink","_ref$openLinkBehavior","openLinkBehavior","_ref$onOpenLinkError","onOpenLinkError","openExternalLink","getIconColor","InputIcon","InputPressable","InputTextContainer","InputText","internalForceState","_ref$disabled","_ref$autoCorrect","autoCorrect","_ref$textContentType","textContentType","_ref$autoComplete","autoComplete","_ref$inputMode","inputMode","multiline","onSubmitEditing","shouldHandleSingleLineOnIOS","Input","py","isHighlighted","AutocompleteItem","AutocompleteItemsListContainer","_ref$zIndex","zIndex","elevation","AutocompleteOption","patchNativeEvent","event","preventDownshiftDefault","preventDefault","isReactElement","Autocomplete","name","isInitialOpen","initialValue","containerProps","filterItemBasedOnCurrentInputValue","checkSelectedItem","itemToString","onInputChange","onSelectItem","onOuterPress","errorElement","emptyResultsElement","_ref$inputTestID","inputTestID","_ref$listContainerTes","listContainerTestID","items","filter","Downshift","defaultIsOpen","initialSelectedItem","initialInputValue","handleItemToString","stateReducer","changes","stateChangeTypes","changeInput","selectedItem","stateAndHelpers","onSelect","onOuterClick","onInputValueChange","getRootProps","getInputProps","getMenuProps","getItemProps","getToggleButtonProps","isOpen","inputValue","highlightedIndex","openMenu","shouldSuppressRefError","rootProps","suppressRefError","menuProps","_getToggleButtonProps","onClickToggle","onClick","onPressToggle","toggleProps","_getInputProps","onKeyDown","onSearchInputFocus","onSearchInputBlur","onSearchInputChange","inputProps","hasCurrentSearch","currentItems","isCurrentlyOpen","canDisplayCollapseButton","hitSlop","handleTogglePress","CaretUpFillIcon","CaretDownFillIcon","onKeyPress","_getItemProps","role","ariaSelected","itemProps","Option","UnsafeInternalItem","isChecked","getBorderColor","Checkbox","_ref$hitSlop","display","CheckboxMarkIcon","getEnterKeyHintForNumericInput","enterKeyHint","prefixWithZero","maxLength","padStart","dayFormatter","monthFormatter","yearFormatter","getDayInInterval","getMonthInInterval","minDate","maxDate","minValue","getMonth","maxValue","getYearInInterval","getFullYear","getValueToDisplayedString","toString","keyboardDatePickerReducer","action","nextDay","currentDay","displayedDay","nextMonth","currentMonth","displayedMonth","nextYear","currentYear","displayedYear","nextCurrentDay","nextCurrentMonth","nextCurrentYear","isNumber","isNaN","onDatePartChange","_ref$validYearMinLeng","validYearMinLength","arrayParts","isEverythingUndefined","every","v","isEverythingDefined","nextValue","Date","isValidYear","setDate","setMonth","setFullYear","setMinutes","setHours","setSeconds","setMilliseconds","isMinDateAfterNextValue","getTime","isMaxDateBeforeNextValue","stringToNumber","parsedText","getCurrentInternalForcedState","InputPart","PartContainer","KeyboardDatePicker","monthRef","yearRef","defaultValue","defaultDay","getDate","defaultMonth","defaultYear","_useReducer","useReducer","_useReducer2","dispatch","sharedInputPartProps","handleDatePartChange","handleAutoFocusNextField","currentFieldValue","nextFieldRef","nativeEvent","_monthRef$current","_yearRef$current","PressableDateInputs","pointerEvents","DatePickerAndroid","pickerDefaultDate","pickerUITestID","isDefaultVisible","setIsFocused","handleModalOpen","DateTimePickerAndroid","open","now","timestamp","date","onTouchCancel","getDatePickerDisplayMode","PlatformDateTimePicker","_ref$defaultDate","defaultDate","maximumDate","minimuDate","displayMode","iosProps","DateTimePicker","is24Hour","mode","minimumDate","_event","ModalTitle","ModalPlatformDateTimePicker","isVisible","validateButtonLabel","newDate","handleSubmit","FormattedMessage","DefaultNativeUIDatePicker","pickerUITitle","pickerUIValidateButtonLabel","isPickerUIVisible","setIsPickerUIVisible","_useState5","_useState6","handleModalClose","NativeUIDatePicker","DatePicker","_ref$fillMode","fillMode","GoogleMapsApiKeyContext","GoogleMapsApiKeyProvider","apiKey","useGoogleMapApiKey","context","makeMapsApiUrl","resource","paramName","encodeURIComponent","useGoogleMapsApi","makeApiUrl","sharedFetchOptions","method","headers","googlePlacesServices","getPlacePredictions","_getPlacePredictions","response","fetch","json","status","results","predictions","google","maps","places","PlacesServiceStatus","UNKNOWN_ERROR","placesService","getDetails","_getDetails","_callee2","placeId","_context2","result","googleMapsAutocompleteReducer","hasSearchError","isLoadingSearch","payload","hasSelectResultError","isLoadingResultDetails","currentSelectedValue","findComponentByType","components","find","matchStreetNumberWithOriginalAddress","streetNumber","address","exec","_ref2$","number","_ref2$2","extension","formatAddressFromGoogle","placeResult","originalAddress","_placeResult$geometry","_placeResult$geometry2","_findComponentByType","_findComponentByType2","_findComponentByType3","_findComponentByType4","_findComponentByType5","_findComponentByType6","_findComponentByType7","_findComponentByType8","_placeResult$address_","address_components","addressComponents","lat","geometry","location","lng","locality","long_name","subLocality","zipcode","streetName","country","administrativeAreaLevel1","administrativeAreaLevel2","GoogleMapsAutocompleteContext","shouldDisplayEmptyStateWhenNoResults","Promise","resolve","GoogleMapsAutocompleteProvider","_ref$minCharsToSearch","minCharsToSearch","_ref$debounceTimeout","debounceTimeout","mapsApi","searchResultsCache","resultDetailsCache","handleInputChange","useDebouncedCallback","useCallback","predictionsPromise","_yield$predictionsPro","handleSelectItem","placePromise","place","formattedAddress","place_id","then","description","api","useGoogleMapsAutocomplete","InputAddressOption","MapPinIcon","structured_formatting","main_text","secondary_text","defaultItemToString","formatInitialValueToAutocompletePrediction","reference","terms","matched_substrings","join","main_text_matched_substrings","InputAddress","_ref$itemToString","_useGoogleMapsAutocom","formattedInitialValue","InputEmail","autoCapitalize","getColorFromState","InputFeedback","InputField","label","labelFeedback","feedback","InputNumber","parseFloat","InputPassword","isPasswordDefaultVisible","setIsVisible","secureTextEntry","EyeClosedRegularIcon","EyeRegularIcon","isPhoneNumberValid","isValidNumber","phoneNumberLength","InputPhone","_ref$phoneNumberLengt","currentEnterKeyHint","parseNumber","phone","finalPhoneNumber","eventWithoutCountryCode","countryCode","getCountryCallingCode","originalNativeEventText","InputTag","Label","htmlFor","isWeb","InnerCircle","OuterCircle","Radio","focusable","isFirst","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderLeftWidth","HoverBorder","shouldDisplayBorder","margin","_theme$kitt$forms$rad","_theme$kitt$forms$rad2","pressedBorderColor","RadioButton","RadioButtonGroupItem","RadioButtonGroup","flexWrap","clone","TextArea","textAlignVertical","FullscreenModalBody","shouldHandleBottomNotch","shouldHandleTopNotch","_useSafeAreaInsets","useSafeAreaInsets","FullscreenModalFooter","_ref$shouldHandleBott","borderTopColor","_theme$kitt$fullscree","NativeSlideInAnimation","_useWindowDimensions","useWindowDimensions","wHeight","translateStyle","flex","FullscreenModalAnimation","FullscreenModalBehaviour","FullscreenModalContainer","FullscreenModalHeader","isTransparent","_ref$shouldHandleTopN","hasRight","hasLeft","hasContent","borderBottomColor","FullscreenModal","AnimatedCaret","AnimatedContent","withTimingConfig","ease","isExpanded","isInitialRender","translate","containerAnimatedStyles","caretAnimatedStyles","contentAnimatedStyles","handleHoverIn","handleHoverOut","Highlight","_ref$canCollapse","canCollapse","_ref$isInitialCollaps","isInitialCollapsed","_ref$icon","setIsExpanded","setContentHeight","setIsInitialRender","highlightStyle","spaceBetween","contentMarginY","handleLayout","layoutHeight","newContentHeight","ellipsizeMode","CaretDownRegularIcon","useBreakpointValue","useBreakpointValueNativeBaseBadlyTyped","Background","AnimatedBackground","opacityStyles","currentOpacityStyles","AnimatedScale","scaleStyles","getIconButtonTextColorByColor","IconButton","_ref$color","ariaLabel","backfaceVisibility","isCurrentHovered","isCurrentPressed","CloseIconButton","XRegularIcon","KittMapConfigProviderContext","KittMapConfigProvider","mapId","apiToken","providerValue","useKittMapConfig","ListItemContent","ListItemSideContainer","_ref$side","side","ListItemSideContent","_ref2$align","ListItem","withPadding","borders","Fragment","wrapperProps","SideContent","SideContainer","MapMarkerSimple","_ref$width","_ref$height","DefaultMarkerSvg","MapMarkerLarge","_ref2$width","_ref2$height","_ref2$color","LargeMarkerSvg","MapMarkerPosition","_ref3$width","_ref3$height","_ref3$color","PositionMarkerSvg","IconContent","AlertCircleIcon","CheckIcon","AlertTriangleIcon","InfoIcon","getColorByType","getIconButtonColor","messageType","BaseMessage","hasNoRadius","centeredText","insets","Message","createKittSpaces","sizes","positive","negative","overridenNativeBaseSizeandSpaceScale","createKittNativeBaseCustomTheme","appTheme","spaces","appBreakpoints","extendedTheme","extendTheme","innerCircle","app","radii","lg","md","sm","xl","xs","borderWidths","fontSizes","lineHeights","fontWeights","fonts","shadowColor","shadowOffset","shadowOpacity","shadowRadius","baseStyle","px","_disabled","_light","placeholderTextColor","bg","_hover","_focus","_stack","outlineWidth","boxShadow","selectionColor","_invalid","variants","underlined","rounded","filled","unstyled","_dark","KittNativeBaseProvider","isSSR","nativeBaseCustomTheme","kittInternalTheme","NativeBaseProvider","NavigationModalBehaviour","_ref$appear","appear","AnimationComponent","shouldAppear","setShouldAppear","handleEnter","handleExit","NavigationModal","Notification","AnimatedCircle","createAnimatedComponent","Circle","AnimatedLoaderCircle","_theme$kitt$pageLoade","centerCoord","circlePerimeter","PI","strokeAnimation","useAnimatedProps","strokeDashoffset","stroke","strokeLinecap","cx","cy","strokeDasharray","animatedProps","AnimatedBackgroundCircle","_fillEasingFunction","withDelay","Svg","viewBox","isInfinitAnimation","AnimatedFillCircleContainer","withRepeat","rotationStyles","absoluteFill","shouldReverse","AnimatedFilledCircle","PageLoader","sharedTransformStyle","PickerItem","PickerOption","nativePickerReducer","internalValue","nextInternalValue","Picker","renderTrigger","_ref$shouldDisplayNat","shouldDisplayNativePickerOnIOS","iosTextStyle","_useMediaQuery","useMediaQuery","_useMediaQuery2","isMatchingMaxHeight","iosItemStyle","handleInternalChange","itemValue","handlePressTrigger","XIcon","NativePicker","selectedValue","itemStyle","onValueChange","React","SegmentedProgressBar","_ref$currentStep","currentStep","stepsCount","_ref$colorVariant","colorVariant","withCurrentInProgress","fillColor","steps","_toConsumableArray","Array","from","stepNumber","isSegmentCurrentInProgress","Stripes","AnimatedLinearGradient","LinearGradient","SkeletonContent","sharedX","inOut","linearGradientStyle","translateX","locations","x","y","end","Skeleton","_ref$isLoading","setWidth","Bar","Square","getStaticMapImageUrl","mapWidth","mapHeight","center","is2x","centerPart","zoom","sizePart","urlParts","mapImageUrl","URL","searchParams","append","useGetStaticMapImageUrl","forceMapId","forceApiToken","_useKittMapConfig","currentUrl","setCurrentUrl","currentMapIdRef","currentApiTokenRef","newUrl","StaticMapError","onReload","RotateCCWIcon","StaticMapImage","onLoadEnd","onError","StaticMapLoader","getMarkerPosition","StaticMapMarker","getRangedWidthValue","nextWidth","rangedMapWidth","getShouldDisplay2x","currentDevicePixelRatio","PixelRatio","get","mapBoxMaxPictureWidth","getPictureWidth","StaticMap","marker","onLoaded","currentWidth","setCurrentWidth","hasError","setHasError","_useState7","_useState8","currentMapKey","setCurrentMapKey","shouldDisplay2xImage","mapUrl","handleParentLayout","KITT_MAP_CHROMATIC_IGNORE","handleImageLoadEnd","handleError","handleReload","Loader","Marker","Flex","_ref$wrap","storyPadding","getBackgroundColorFromBlockColor","getTypographyColorFromBlockColor","StoryBlockBackgroundContext","StoryBlockColorContext","useStoryBlockColor","storyBlockColor","StoryBlock","background","marginX","StoryTitle","numberOfLines","StoryTitleLevel2","StoryTitleLevel3","StoryTitleLevel4","Level2","Level3","Level4","Story","StorySection","internalIsDemoSection","SubSection","BlockSection","DemoSection","Demo","DeprecatedSection","StoryContainer","_ref$state","_ref$platform","platform","StoryDecorator","storyFn","parameters","disableStoryContainer","StoryGridRow","_ref$breakpoint","breakpoint","_defineProperty","StoryGridCol","_ref10","titleColor","_ref10$platform","isNative","StoryGrid","Row","Col","useKittTheme","getTypography","typeToColor","Tag","tagColor","ModalDateTimePicker","minuteInterval","pickerTestID","nextDate","buttonContent","formatNumberToTimeString","time","formatDateToTimeString","getHours","getMinutes","TimePickerPressable","TimePicker","_ref$placeholder","modalTestID","_ref$pickerTestID","isPickerVisible","setIsPickerVisible","pickerValue","Arrow","TooltipArrowImage","TooltipContent","customShift","tooltipX","refPageX","refWidth","floatingWidth","wWidth","refCenterOnScreen","halfFloatingWith","useCustomShift","pressableRect","windowDimensions","customShiftData","setCustomShiftData","res","pageX","Tooltip","defaultVisible","_ref$position","fullWidth","_ref$renderPressable","renderPressable","pressablePropsAndRef","onUpdate","onToggle","currentFloatingPadding","setFloatingWidth","pressableRectRef","_useFloating","useFloating","placement","middleware","offset","autoPlacement","allowedPlacements","floating","update","refs","middlewareData","strategy","tooltipY","getPressableRect","measure","_x","_y","_h","accessibilityElementsHidden","importantForAccessibility","getTypographyTypeConfig","calcSizesFromType","TypographyEmoji","_ref3$type","TypographyLinkWebWrapper","TypographyLink","noUnderline","hasNoUnderline","underline","dataSet","cursor","KittThemeProvider","KittThemeDecorator","makeDecorator","parameterName","wrapper","_parameters$isSSR","_ref2$options","options","_ref2$parameters","StyleWebWrapper","matchWindowSize","hasWidthMatched","hasHeightMatched","useMatchWindowSize","MatchWindowSize","matchWindowSizeOptions","match","SwitchBreakpoints","useCurrentBreakpointName","backgroundColors","IconStatus","StepIcon","_ref2$state","ExternalStep","Step","_ref$index","_ref$isLast","_ref$shouldDisableNex","shouldDisableNextLink","getStepState","activeIndex","VerticalSteps","count","createElement"],"mappings":"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"}
|