{"version":3,"file":"modern.connect-page.D4j988Hd.js","names":[],"sources":["../../../../../../owl-nest/external/owl-kit/src/icons/logos/IOSApp.tsx","../../../../../../owl-nest/external/owl-kit/src/icons/logos/AndroidApp.tsx","../../../../../../owl-nest/common/messages/src/Components/FlashDisplayer.tsx","../../../../../../owl-nest/common/services/src/resetPassword.ts","../../../../../../owl-nest/common/connect/src/hooks/useUserWithToken.tsx","../../../../../../owl-nest/common/connect/src/ResetPassword.tsx","../../../../../../owl-nest/ulule/features/connect-page/src/views/BufferPage.tsx","../../../../../../owl-nest/ulule/features/connect-page/src/UFE.ts","../../../../../../owl-nest/ulule/features/connect-page/src/components/Spot.tsx","../../../../../../owl-nest/ulule/features/connect-page/src/flavours/CDB/illustrations.tsx","../../../../../../owl-nest/ulule/features/connect-page/src/flavours/CDB/index.tsx","../../../../../../owl-nest/ulule/features/connect-page/src/flavours/default/illustrations.tsx","../../../../../../owl-nest/ulule/features/connect-page/src/flavours/default/index.tsx","../../../../../../owl-nest/ulule/features/connect-page/src/utils/circle.ts","../../../../../../owl-nest/ulule/features/connect-page/src/views/styles.tsx","../../../../../../owl-nest/ulule/features/connect-page/src/views/ConnectPage.tsx","../../../../../../owl-nest/ulule/features/connect-page/src/views/ResetPasswordPage.tsx","../../../../../../owl-nest/ulule/features/connect-page/src/views/ResetPasswordConfirmationPage.tsx","../../../../../../owl-nest/ulule/features/connect-page/src/index.tsx"],"sourcesContent":["import * as React from 'react'\nimport { styled } from 'next-yak'\n\nimport { lightweight, standalone, type SymbolProps } from '../spritesheetUtils'\n\nconst ID = 'ios-app-logo-icon'\n\nexport function LogoSymbol({ id = ID, ...props }: SymbolProps): React.ReactElement {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\ntype LogoProps = React.SVGAttributes\n\nconst LogoStandaloneContent = standalone(LogoSymbol, ID)\n\nexport const Logo = styled(function LogoStandaloneComponent(props: LogoProps) {\n return (\n \n \n \n )\n})``\n\nexport const LogoLightweight = styled(function LogoComponent(props: LogoProps) {\n return {lightweight(ID)}\n})``\n","import * as React from 'react'\nimport { styled } from 'next-yak'\n\nimport { lightweight, standalone, type SymbolProps } from '../spritesheetUtils'\n\nconst ID = 'android-app-logo-icon'\n\nexport function LogoSymbol({ id = ID, ...props }: SymbolProps): React.ReactElement {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\ntype LogoProps = React.SVGAttributes\n\nconst LogoStandaloneContent = standalone(LogoSymbol, ID)\n\nexport const Logo = styled(function LogoStandaloneComponent(props: LogoProps) {\n return (\n \n \n \n )\n})``\n\nexport const LogoLightweight = styled(function LogoComponent(props: LogoProps) {\n return {lightweight(ID)}\n})``\n","import * as React from 'react'\nimport { styled, css } from 'next-yak'\n\nimport * as plume from '@ulule/owl-kit-components/next'\n\nimport { type MessageFlash, useMessage } from '../index'\n\ntype FlashDisplayerProps = {\n className?: string\n contexts?: string[]\n}\n\nexport function FlashDisplayerContainer({\n className,\n contexts = [],\n}: FlashDisplayerProps): React.ReactElement {\n const { messages, clear, softDelete } = useMessage(contexts)\n\n React.useEffect(() => {\n const timers = messages.map((message) => {\n if (message.type === 'flash' && message.deleted === false) {\n return setTimeout(() => {\n softDelete(message.context)\n }, message.timeOpen)\n }\n })\n\n return () => {\n timers.forEach((timer) => {\n if (timer) {\n clearTimeout(timer)\n }\n })\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [messages])\n\n const toastMessages = messages.filter((message) => message.type === 'flash') as MessageFlash[]\n\n return (\n <>\n message.deleted)}>\n {toastMessages.map((message) => {\n const flashProps = {\n closable: message.closable ?? false,\n closed: message.deleted ?? false,\n onClose: () => {\n clear(message.context)\n message.onClose?.()\n },\n type: message.level,\n }\n\n return (\n \n {message.message}\n \n )\n })}\n \n \n )\n}\n\nconst Wrapper = styled.div<{ isAllDeleted: boolean }>`\n ${({ isAllDeleted }) =>\n isAllDeleted &&\n css`\n pointer-events: none;\n `}\n`\n\nexport const FlashDisplayer = styled(FlashDisplayerContainer)`\n margin: 0;\n position: sticky;\n top: calc(${plume.SIZES.HEADER_HEIGHT});\n width: 100%;\n`\n","import * as api from '@owl-nest/api-client/next'\nimport * as auth from '@owl-nest/auth'\n// TODO: clean this when we remove the update function from auth, and don't forget to remove the import into package.json\n\nexport async function sendResetPasswordRequest(email: string): Promise {\n const response = await api.client('POST /users/password-reset', {\n body: {\n email,\n },\n })\n\n return response.next((success) => {\n return success.body\n })\n}\n\nexport function updatePassword(userId: number, password: string, passwordConfirmation: string, token: string) {\n return auth.update(\n userId,\n {\n password,\n password_confirmation: passwordConfirmation,\n },\n token,\n )\n}\n","import * as React from 'react'\n\nimport * as api from '@owl-nest/api-client/next'\n\nexport function useUserWithToken(token: string | undefined) {\n const [user, setUser] = React.useState | undefined>(undefined)\n\n React.useEffect(() => {\n if (token) {\n getUser(token).then((response) => {\n response.caseOf({\n right: (value) => {\n setUser(value.body)\n },\n left: () => {\n setUser(undefined)\n },\n })\n })\n }\n }, [token])\n\n return user\n}\n\nasync function getUser(token: string) {\n const response = await api.client('GET /me', { token })\n\n return response.next((value) => {\n return value\n })\n}\n","import * as React from 'react'\nimport { Formik, type FieldProps, Field } from 'formik'\nimport isEmail from 'validator/es/lib/isEmail'\nimport * as Yup from 'yup'\n\nimport * as plume from '@ulule/owl-kit-components/next'\n\nimport * as api from '@owl-nest/api-client/next'\nimport * as env from '@owl-nest/config'\nimport * as service from '@owl-nest/services'\nimport { t } from '@owl-nest/localize'\nimport { utils as authUtils } from '@owl-nest/auth'\n\nimport * as S from './styles'\nimport { useNewPasswordValidator } from './useNewPasswordValidator'\nimport { useUserWithToken } from './hooks/useUserWithToken'\nimport { ValidatedField } from './components/ValidatedField'\nimport { getGenericAuthFailureMessage } from './validators'\n\ntype RequestResetPasswordForm = { identifier: string }\ntype ResetPasswordConfirmForm = { password: string; password_confirmation: string }\n\nexport function ResetPassword(): React.ReactElement {\n const urlParams = new URLSearchParams(window.location.search)\n const token = urlParams.get('token') ?? undefined\n const user = useUserWithToken(token)\n\n if (token && user !== undefined) {\n return \n }\n\n return \n}\n\nfunction ResetPasswordForm(): React.ReactElement {\n const urlParams = new URLSearchParams(window.location.search)\n const originUrl = urlParams.get('origin_url') ?? env.SIGNUP_URL\n\n const [loading, setLoading] = React.useState(false)\n const [submitError, setSubmitError] = React.useState(undefined)\n\n const resetPasswordSchema = Yup.object().shape({\n identifier: Yup.string()\n .required(t('This field is required'))\n .test('is-valid-email', t('Enter a valid email address'), (value) => {\n if (!value) {\n return false\n }\n return isEmail(authUtils.getImpostorFreeEmail(value).email)\n }),\n })\n\n return (\n \n initialValues={{ identifier: '' }}\n validationSchema={resetPasswordSchema}\n onSubmit={async (values) => {\n setLoading(true)\n setSubmitError(undefined)\n try {\n const response = await service.resetPassword.sendResetPasswordRequest(values.identifier)\n response.caseOf({\n right: () => {\n document.location.href = `${env.SIGNIN_URL}?resetRequested=true`\n },\n left: (failure) => {\n setSubmitError(getGenericAuthFailureMessage(failure) ?? t('Something went wrong. Please try again.'))\n setLoading(false)\n },\n })\n } catch {\n setSubmitError(t('Something went wrong. Please try again.'))\n setLoading(false)\n }\n }}\n validateOnChange={false}\n validateOnBlur={false}\n >\n {({ handleSubmit }) => {\n return (\n \n \n {({ field, meta }: FieldProps) => {\n return (\n {\n setSubmitError(undefined)\n field.onChange(event)\n }}\n onBlur={field.onBlur}\n error={submitError || (meta.touched ? meta.error : undefined)}\n />\n )\n }}\n \n\n \n {t('Reset my password')}\n \n\n \n {t('Back')}\n \n \n )\n }}\n \n )\n}\n\nfunction ResetPasswordConfirmationForm({\n user,\n token,\n}: {\n user: api.PublicUser\n token: string\n}): React.ReactElement {\n const [loading, setLoading] = React.useState(false)\n const [submitError, setSubmitError] = React.useState(undefined)\n const [feedback, validateNewPassword] = useNewPasswordValidator()\n\n const resetPasswordConfirmationSchema = Yup.object().shape({\n password: Yup.string().required(t('This field is required')),\n password_confirmation: Yup.string()\n .required(t('This field is required'))\n .oneOf([Yup.ref('password')], t('The passwords do not match. Please check and try again.')),\n })\n\n return (\n \n initialValues={{ password: '', password_confirmation: '' }}\n validationSchema={resetPasswordConfirmationSchema}\n onSubmit={async (values) => {\n setLoading(true)\n setSubmitError(undefined)\n try {\n const response = await service.resetPassword.updatePassword(\n user.id,\n values.password,\n values.password_confirmation,\n token,\n )\n response.caseOf({\n right: () => {\n document.location.href = `${env.SIGNIN_URL}?resetSuccess=true`\n },\n left: (failure) => {\n setSubmitError(getGenericAuthFailureMessage(failure) ?? t('Something went wrong. Please try again.'))\n setLoading(false)\n },\n })\n } catch {\n setSubmitError(t('Something went wrong. Please try again.'))\n setLoading(false)\n }\n }}\n validateOnChange={false}\n validateOnBlur={false}\n >\n {({ handleSubmit, validateField }) => {\n return (\n \n {\n if (!value) {\n return t('This field is required')\n } else {\n return validateNewPassword(value)\n }\n }}\n >\n {({ field, meta }: FieldProps) => {\n return (\n value !== ''}\n render={(validatedField) => (\n {\n setSubmitError(undefined)\n validatedField.onChange(event)\n }}\n onBlur={validatedField.onBlur}\n feedback={validatedField.value ? feedback : undefined}\n error={\n submitError ||\n (meta.touched && (meta.error === 'error' ? true : meta.error))\n }\n />\n )}\n />\n )\n }}\n \n\n \n {({ field, meta }: FieldProps) => {\n return (\n {\n setSubmitError(undefined)\n field.onChange(event)\n }}\n onBlur={field.onBlur}\n feedback={undefined}\n error={submitError || (meta.touched ? meta.error : undefined)}\n />\n )\n }}\n \n\n \n {t('Reset my password')}\n \n \n )\n }}\n \n )\n}\n","import * as React from 'react'\n\nimport { Formik, Field, type FieldProps } from 'formik'\nimport { styled } from 'next-yak'\nimport { useDramaticallyInefficientGlobalCss, css } from '@owl-nest/yak/extra-runtime'\n\nimport { markUserKnown } from '@owl-nest/auth'\nimport * as env from '@owl-nest/config'\nimport * as thirdPartyProvider from '@owl-nest/connect/src/thirdPartyProvider'\nimport { t, tc } from '@owl-nest/localize'\nimport * as models from '@owl-nest/models'\nimport * as plume from '@ulule/owl-kit-components/next'\nimport * as services from '@owl-nest/services'\nimport * as utils from '@owl-nest/utils'\n\ntype BufferPageProps = {}\n\ntype Form = {\n privacy: boolean\n terms: boolean\n}\n\nexport function BufferPage({}: BufferPageProps) {\n const auth = services.user.useAuth({\n onLogout: () => {\n if (typeof window !== 'undefined') {\n window.location.href = env.SIGNIN_URL\n }\n },\n })\n const [isConsentingUser, setIsConsentingUser] = React.useState(null)\n\n const providerName = React.useMemo(() => {\n let storedProvider\n storedProvider = thirdPartyProvider.recallThirdPartyProvider()\n const parsedProvider = document.location.pathname.split('/')[3]\n if (!storedProvider) {\n storedProvider = parsedProvider\n }\n\n switch (storedProvider) {\n case 'facebook':\n return 'Facebook'\n case 'kisskissbankbank':\n return 'KissKissBankBank'\n case 'google':\n return 'Google'\n default:\n return utils.text.capitalize(parsedProvider)\n }\n }, [])\n\n const isComingFromKKBB = ['kisskissbankbank'].includes(document.location.pathname.split('/')[3])\n React.useEffect(() => {\n // There are some providers that use a specific cookie and do not trigger the creation of a corresponding and usable Ulule account.\n // KKBB is a good example of this behaviour, where the authentication creates a dedicated `access_token_for_kisskissbankbank` cookie.\n // Thus, there is no need to pass through useAuth() here, we just proceed to let the app that called Connect do its thing.\n if (isComingFromKKBB) {\n proceed()\n }\n }, [])\n\n React.useEffect(() => {\n // NOTE: When coming from KKBB, we must skip the following steps since the goal is not creating a new user,\n // but rather linking the KKBB user to an existing one.\n if (auth.type === 'loggedin' && !isComingFromKKBB) {\n if (auth.user.eula_accepted_at && !eulaAcceptanceIsWithinOneMinute(auth.user.eula_accepted_at)) {\n setIsConsentingUser(true)\n markUserKnown(auth.user)\n proceed()\n }\n }\n }, [auth.type])\n\n return (\n <>\n \n \n {auth.type !== 'loggedin' && (\n <>\n {t('Signing in')}\n \n \n )}\n {auth.type === 'loggedin' && isConsentingUser && (\n <>\n {t('Signing in')}\n \n {t('You will be redirected in a few moments.')}\n \n {tc('If you are not redirected, [link: click here]', {\n link: ,\n })}\n \n \n )}\n {auth.type === 'loggedin' && !isConsentingUser && (\n <>\n {t('Complete your sign-up')}\n {auth.user.username}}\n isPublic={auth.user.is_public}\n />\n \n onSubmit={() => {\n markUserKnown(auth.user)\n if (typeof window !== 'undefined') {\n window.location.href = env.JOIN_COMPLETE_URL\n }\n }}\n initialValues={{ privacy: false, terms: false }}\n >\n {({ handleSubmit }) => {\n return (\n
\n \n {({ field, meta }: FieldProps) => {\n return (\n ,\n },\n )}\n checked={field.value}\n error={meta.touched ? meta.error : undefined}\n name={field.name}\n onBlur={field.onBlur}\n onChange={field.onChange}\n />\n )\n }}\n \n \n {({ field, meta }: FieldProps) => {\n return (\n \n )\n }}\n \n \n {t('Continue')}\n \n \n auth.logout()} kind=\"secondary\">\n {t('Cancel sign-up')}\n \n \n
\n )\n }}\n \n \n )}\n
\n \n )\n}\n\nfunction eulaAcceptanceIsWithinOneMinute(eulaAcceptanceDate: string): boolean {\n const givenDate = new Date(eulaAcceptanceDate)\n const currentDate = new Date()\n const minutesDifference = (currentDate.getTime() - givenDate.getTime()) / (1000 * 60)\n return minutesDifference <= 1\n}\n\nfunction proceed() {\n if (typeof window !== 'undefined') {\n window.location.href = env.JOIN_COMPLETE_URL\n }\n}\n\nfunction validateRequiredField(value: boolean): string | undefined {\n if (!value) {\n return t('This field is required')\n }\n}\n\nfunction GlobalStyle() {\n useDramaticallyInefficientGlobalCss(css`\n body {\n background-color: ${plume.COLORS.PRIMARY_SAND_100};\n }\n `)\n\n return <>\n}\n\nconst Container = styled.div`\n align-items: center;\n background: ${plume.COLORS.PRIMARY_GREY_000};\n border-radius: 16px;\n box-shadow: ${plume.EFFECTS.SHADOW_3};\n display: flex;\n flex-direction: column;\n gap: 16px;\n justify-content: center;\n padding: 32px;\n max-width: 600px;\n margin: auto 32px;\n\n ${plume.UserLabel} {\n align-self: baseline;\n }\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n margin: 0 auto;\n }\n`\n\nconst Form = styled.form`\n display: flex;\n flex-direction: column;\n gap: 16px;\n`\n\nconst InformationalText = styled(plume.styles.copy.S.semiBold)`\n align-self: center;\n color: ${plume.COLORS.TEXT_TERTIARY};\n`\n","import { lens } from '@owl-nest/config'\n\ntype Global = {\n CONNECT_ASSETS: {\n campdebase: {\n '1x': string\n '2x': string\n '3x': string\n }\n }\n UFE: {\n urls: {\n next: string\n }\n }\n}\n\nconst windowLens = lens()\n\nexport const CAMP_DE_BASE_PREVIEW = windowLens\n .get('CONNECT_ASSETS')\n .get('campdebase')\n .value(globalThis, { forgive: true, silent: true, trust: true })\n\nexport const DJANGO_NEXT_URL = windowLens\n .get('UFE')\n .get('urls')\n .get('next')\n .value(globalThis, { forgive: true, silent: true, trust: true })\n","import * as React from 'react'\nimport { styled } from 'next-yak'\n\nimport * as plume from '@ulule/owl-kit-components/next'\n\nexport const Spot = styled(function Spot(props: React.SVGAttributes) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n )\n})``\n","import * as React from 'react'\n\nimport { styled } from 'next-yak'\n\nexport const CampDeBaseOwl = styled(function CampDeBaseOwl(props: React.SVGAttributes) {\n return (\n \n \n \n \n \n \n \n )\n})``\n","import * as React from 'react'\nimport { styled } from 'next-yak'\n\nimport * as plume from '@ulule/owl-kit-components/next'\nimport * as UFE from '../../UFE'\n\nimport { Spot } from '../../components/Spot'\n\nexport function CampDeBase() {\n const title = 'Rejoignez Ulule Connect, le camp de base des créateurs et des entrepreneurs'\n return (\n \n \n {title}\n {UFE.CAMP_DE_BASE_PREVIEW && (\n <>\n \n \n \n \n \n \n \n \n \n \n )}\n \n \n )\n}\n\nconst AppLinks = styled.div`\n align-self: flex-end;\n display: flex;\n gap: 8px;\n margin: 40px auto;\n z-index: 1;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n margin: 16px 16px 0 0;\n }\n\n @media screen and (max-height: 520px) {\n align-self: center;\n scale: 1.5;\n }\n`\n\nconst AppPreview = styled.img`\n height: auto;\n max-height: 32%;\n width: 100%;\n z-index: 1;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n max-height: 42%;\n width: auto;\n }\n\n @media screen and ${plume.BREAKPOINTS.LAPTOP} {\n max-height: 45%;\n }\n\n @media screen and (min-width: 1200px) {\n max-height: 62%;\n }\n\n @media screen and (min-width: 1280px) {\n max-height: 70%;\n }\n\n @media screen and (max-height: 832px) {\n max-height: 63%;\n }\n\n @media screen and (max-height: 710px) {\n max-height: 57%;\n }\n\n @media screen and (max-height: 590px) {\n max-height: 50%;\n }\n\n @media screen and (max-height: 550px) {\n max-height: 45%;\n }\n\n @media screen and (max-height: 520px) {\n display: none;\n }\n`\n\nconst BottomSpot = styled(Spot)`\n bottom: 32px;\n display: none;\n left: -136px;\n position: absolute;\n width: 456px;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n display: block;\n }\n`\n\nconst Tagline = styled(plume.styles.heading.M)`\n margin: 0 auto 32px;\n max-width: 360px;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n max-width: 492px;\n }\n`\nconst TopSpot = styled(Spot)`\n display: none;\n position: absolute;\n right: -54px;\n top: -80px;\n width: 456px;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n display: block;\n }\n`\n\nconst Wrapper = styled.aside`\n align-items: center;\n display: flex;\n flex-direction: column;\n height: 100%;\n margin-top: 12px;\n //overflow: hidden;\n position: relative;\n text-align: center;\n width: 100%;\n\n @media screen and ${plume.BREAKPOINTS.LAPTOP_L} {\n //overflow: visible;\n }\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n height: calc(100vh - 72px);\n margin-top: 0;\n padding-top: 64px;\n }\n`\n\nexport { CampDeBaseOwl } from './illustrations'\n","import * as React from 'react'\nimport { styled } from 'next-yak'\n\nexport const HandInHand = styled(function HandInHand(props: React.SVGAttributes) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n})``\n\nexport const PeopleStackingCoins = styled(function PeopleStackingCoins(props: React.SVGAttributes) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n})``\n\nexport const Sparkles = styled(function Sparkles(props: React.SVGAttributes) {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n})``\n","import * as React from 'react'\nimport { styled } from 'next-yak'\n\nimport { tc } from '@owl-nest/localize'\nimport * as plume from '@ulule/owl-kit-components/next'\nimport type { YakComponentOf, PolymorphicComponent } from '@owl-nest/yak/extra-runtime'\n\nimport { HandInHand, PeopleStackingCoins, Sparkles } from './illustrations'\nimport { Spot } from '../../components/Spot'\n\nexport function MakeGoodThingsHappen() {\n return (\n \n \n \n \n \n {tc('Make good[br][highlight: things happen]', { br:
, highlight: })}\n
\n \n \n
\n )\n}\n\nexport const BottomSpot = styled(Spot)`\n display: none;\n bottom: 0;\n position: absolute;\n width: 456px;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n display: block;\n }\n`\n\nconst BlueText = styled(plume.styles.heading.L)`\n color: ${plume.COLORS.PRIMARY_BLUE_500};\n font-style: normal;\n` as YakComponentOf>\n\nconst Tagline = styled(plume.styles.heading.L)`\n margin: 0 auto;\n max-width: 600px;\n position: relative;\n\n ${Sparkles} {\n margin-left: -64px;\n position: absolute;\n top: -24px;\n }\n`\n\nexport const TopSpot = styled(Spot)`\n display: none;\n position: absolute;\n right: -64px;\n top: 0;\n width: 456px;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n display: block;\n }\n`\n\nconst TRANSITION = '0.3s ease'\n\nconst Wrapper = styled.aside`\n align-items: center;\n display: flex;\n height: 288px;\n overflow: hidden;\n position: relative;\n text-align: center;\n width: 100%;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n height: calc(100vh - 72px);\n }\n\n @media screen and (min-width: 1441px) {\n overflow: visible;\n }\n\n ${HandInHand} {\n position: absolute;\n right: -56px;\n top: 0;\n transition: ${TRANSITION};\n width: 222px;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n right: -72px;\n top: 48px;\n min-width: 419px;\n width: 66%;\n }\n\n // Adjust\n @media screen and (min-width: 1441px) {\n right: -10%;\n width: 75%;\n }\n\n @media screen and (max-height: 700px) and ${plume.BREAKPOINTS.TABLET} {\n width: 45%;\n }\n }\n\n ${PeopleStackingCoins} {\n bottom: 0;\n left: 32px;\n position: absolute;\n transition: ${TRANSITION};\n width: 213px;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n bottom: 64px;\n left: revert;\n margin-left: -40px;\n min-width: 401px;\n position: fixed;\n width: 32%;\n }\n\n @media screen and (max-height: 700px) and ${plume.BREAKPOINTS.TABLET} {\n bottom: 0;\n }\n }\n`\n","/**\n * Circle (circle.so) is the SaaS we use to host and manage our Camp de base service.\n * In addition to the Web platform, they provide us with Android and iOS apps for which\n * we need to be able to authenticate users. The auth process goes through our Web page,\n * hosted in a Webview. The Webview provides a callback used to notify of the successful\n * operation. This is what these functions help us to manage.\n */\n\nexport function isWebview() {\n return typeof window !== 'undefined' && window.webview\n}\n\nexport function notify(email: string) {\n if (\n typeof window !== 'undefined' &&\n window.webview &&\n window.webview.accountCreatedCallback &&\n typeof window.webview.accountCreatedCallback === 'function'\n ) {\n window.webview.accountCreatedCallback({\n email,\n })\n }\n}\n","import * as React from 'react'\nimport { styled, css } from 'next-yak'\nimport { useDramaticallyInefficientGlobalCss } from '@owl-nest/yak/extra-runtime'\n\nimport * as plume from '@ulule/owl-kit-components/next'\nimport * as layout from '@owl-nest/layout'\n\nimport { CampDeBaseOwl } from '../flavours/CDB'\n\nexport const Footer = styled(layout.Footer)`\n bottom: 0;\n width: 100%;\n z-index: ${plume.ZINDEX.HIGH};\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n position: fixed;\n }\n\n @media screen and (max-height: 700px) and ${plume.BREAKPOINTS.TABLET} {\n position: relative;\n margin-top: 32px;\n }\n`\n\nexport const FormContainer = styled.div<{ $narrow?: boolean }>`\n background-color: ${plume.COLORS.PRIMARY_GREY_000};\n border-radius: 16px;\n box-shadow: ${plume.EFFECTS.SHADOW_3};\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n gap: 32px;\n justify-content: center;\n transition: 0.3s ease;\n padding: 24px 32px 56px;\n width: 100%;\n box-sizing: border-box;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n box-sizing: content-box;\n min-height: 664px;\n padding: 56px 72px 72px;\n width: 496px;\n\n ${({ $narrow = false }) => {\n if ($narrow) {\n return css`\n padding-left: 32px;\n padding-right: 32px;\n `\n }\n }}\n }\n\n @media screen and (max-height: 840px) and ${plume.BREAKPOINTS.TABLET} {\n min-height: initial;\n padding-bottom: 72px;\n padding-top: 72px;\n }\n\n @media screen and (max-height: 752px) and ${plume.BREAKPOINTS.TABLET} {\n padding-bottom: 32px;\n padding-top: 32px;\n }\n`\n\nexport function GlobalStyle() {\n useDramaticallyInefficientGlobalCss(`\n body {\n background-color: ${plume.COLORS.PRIMARY_BLUE_100};\n }\n `)\n\n useDramaticallyInefficientGlobalCss(`\n #wrapper::after {\n height: auto; // HACK reverting this hack: https://github.com/ulule/ulule/blob/dev/frontend/src/ulule/static/site/src/legacy/sass/_dirty.scss#L25. Hackception.\n }\n `)\n\n return <>\n}\n\nexport const Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n max-width: 1440px;\n width: 100%;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n flex-direction: row;\n }\n\n @media screen and ${plume.BREAKPOINTS.LAPTOP_L} {\n margin: 0 auto;\n }\n`\n\nexport const LeftColumn = styled.div`\n margin: 24px 16px 16px;\n z-index: 2;\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n margin: 24px 0 0 32px;\n }\n\n @media screen and ${plume.BREAKPOINTS.LAPTOP} {\n margin: 24px 0 0 52px;\n }\n\n @media screen and (min-width: 1200px) {\n margin: 24px 0 0 112px;\n }\n`\n\nexport const Title = styled.div`\n align-items: center;\n display: flex;\n flex-direction: column;\n gap: 16px;\n\n ${CampDeBaseOwl} {\n margin-top: 16px;\n }\n\n ${plume.logos.ulule.OwlOnlyLogo} {\n display: none;\n }\n\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n ${CampDeBaseOwl} {\n margin-top: 0;\n }\n\n ${plume.logos.ulule.OwlOnlyLogo} {\n display: block;\n }\n }\n`\n","import * as React from 'react'\n\nimport { Connect } from '@owl-nest/connect/src/Connect'\nimport * as env from '@owl-nest/config'\nimport { t } from '@owl-nest/localize'\nimport * as messages from '@owl-nest/messages'\nimport * as plume from '@ulule/owl-kit-components/next'\nimport * as services from '@owl-nest/services'\n\nimport { CampDeBase, CampDeBaseOwl } from '../flavours/CDB'\nimport { MakeGoodThingsHappen } from '../flavours/default'\nimport { circle } from '../utils'\n\nimport * as S from './styles'\nimport { DJANGO_NEXT_URL } from '../UFE'\n\ntype ConnectPageProps = {\n context?: string\n resetRequested?: boolean\n resetSuccess?: boolean\n}\n\nexport function ConnectPage({\n context,\n resetRequested = false,\n resetSuccess = false,\n}: ConnectPageProps): React.ReactElement {\n const auth = services.user.useAuth()\n const userLang = env.getUserConfig().lang\n const messenger = messages.useMessage()\n\n React.useEffect(() => {\n if (env.NOTIFICATIONS) {\n env.NOTIFICATIONS.forEach((notification) => {\n notifyWithLevel(notification.tags)({\n context: 'provider-error',\n closable: notification.closable,\n forceClose: false,\n message: notification.children,\n type: 'flash',\n })\n })\n }\n\n if (resetRequested) {\n messenger.confirm({\n context: 'password-reset',\n forceClose: true,\n message: t(\"We've e-mailed you the instructions to obtain a new password. You should be receiving it shortly.\"),\n type: 'toast',\n })\n }\n\n if (resetSuccess) {\n messenger.confirm({\n context: 'password-reset-success',\n forceClose: true,\n message: t('Your new password has been saved. You can now use it to log in.'),\n type: 'toast',\n })\n }\n }, [])\n\n const defaultTitle = t('Log in or sign up')\n const [title, setTitle] = React.useState(defaultTitle)\n\n const nextURL = React.useMemo(() => {\n if (typeof window === 'undefined') {\n return undefined\n }\n const urlParams = new URLSearchParams(window.location.search)\n return urlParams.get('next') ?? (DJANGO_NEXT_URL || undefined)\n }, [])\n\n React.useEffect(() => {\n if (auth.type === 'existing' || auth.type === 'known') {\n setTitle(t('Log in'))\n } else if (auth.type === 'new') {\n setTitle(t('Sign up'))\n } else {\n setTitle(defaultTitle)\n }\n }, [auth.type])\n\n return (\n <>\n \n \n \n \n \n {context === 'campdebase' ? (\n \n ) : (\n \n )}\n {title}\n \n {}}\n onLoggedIn={() => {}}\n onSignedUp={() => {}}\n onEulaValid={(user) => {\n if (circle.isWebview()) {\n circle.notify(user.email)\n }\n if (typeof window !== 'undefined' && nextURL) {\n window.location.href = nextURL\n }\n }}\n showHint={false}\n />\n \n \n {context === 'campdebase' ? : }\n \n \n \n )\n\n function notifyWithLevel(tag: string) {\n switch (tag) {\n case 'error':\n return messenger.error\n case 'info':\n return messenger.alert\n case 'success':\n return messenger.confirm\n default:\n return messenger.alert\n }\n }\n}\n","import * as React from 'react'\nimport { styled } from 'next-yak'\n\nimport * as plume from '@ulule/owl-kit-components/next'\n\nimport { ResetPassword } from '@owl-nest/connect/src/ResetPassword'\nimport * as env from '@owl-nest/config'\nimport { t } from '@owl-nest/localize'\nimport * as services from '@owl-nest/services'\n\nimport { CampDeBase } from '../flavours/CDB'\nimport { MakeGoodThingsHappen } from '../flavours/default'\n\nimport * as S from './styles'\n\ntype ResetPasswordPageProps = {\n context?: string\n}\n\nexport function ResetPasswordPage({ context }: ResetPasswordPageProps): React.ReactElement {\n const auth = services.user.useAuth()\n const userLang = env.getUserConfig().lang\n\n return (\n \n \n \n \n \n {t('Password reset')}\n\n \n \n \n {context === 'campdebase' ? : }\n \n \n \n )\n}\n\nconst ResetPasswordWrapper = styled.div`\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n ${S.FormContainer} {\n min-height: 373px;\n }\n\n ${S.LeftColumn} {\n align-items: center;\n display: flex;\n height: calc(100vh - 129px);\n margin: 0px 0 0 112px;\n }\n }\n`\n","import * as React from 'react'\nimport { styled } from 'next-yak'\n\nimport * as plume from '@ulule/owl-kit-components/next'\n\nimport { ResetPassword } from '@owl-nest/connect/src/ResetPassword'\nimport { useUserWithToken } from '@owl-nest/connect/src/hooks/useUserWithToken'\nimport * as env from '@owl-nest/config'\nimport { t, tc } from '@owl-nest/localize'\nimport { CampDeBase } from '../flavours/CDB'\nimport { MakeGoodThingsHappen } from '../flavours/default'\n\nimport * as S from './styles'\n\ntype ResetPasswordConfirmationPageProps = {\n context?: string\n token: string\n}\n\nexport function ResetPasswordConfirmationPage({\n context,\n token,\n}: ResetPasswordConfirmationPageProps): React.ReactElement {\n const userLang = env.getUserConfig().lang\n const user = useUserWithToken(token)\n\n if (user === undefined) {\n return (\n \n \n\n \n \n \n {t('Password reset unsuccessful')}\n\n \n {tc(\n 'The password reset link was invalid, possibly because it has already been used. [resetUrl: Please request a new password reset.]',\n {\n resetUrl: ,\n },\n )}\n \n \n \n\n {context === 'campdebase' ? : }\n \n \n \n )\n }\n\n return (\n \n \n\n \n \n \n \n {t('Password reset for %(email)s account', {\n email: () => user.email,\n })}\n \n\n \n {t('Please enter your new password twice so we can verify you typed it in correctly')}\n \n\n \n \n \n\n {context === 'campdebase' ? : }\n \n\n \n \n )\n}\n\nconst ResetPasswordWrapper = styled.div`\n @media screen and ${plume.BREAKPOINTS.TABLET} {\n ${S.FormContainer} {\n min-height: 373px;\n }\n\n ${S.LeftColumn} {\n align-items: center;\n display: flex;\n height: calc(100vh - 129px);\n margin: 0 0 0 112px;\n }\n }\n`\n","import * as React from 'react'\nimport * as ReactDOM from 'react-dom/client'\n\nimport * as env from '@owl-nest/config'\nimport * as header from '@ulule/header'\nimport * as logger from '@owl-nest/logger'\nimport { initializeLocalization } from '@owl-nest/localize'\nimport * as messages from '@owl-nest/messages'\n\nimport { BufferPage } from './views/BufferPage'\nimport { ConnectPage } from './views/ConnectPage'\nimport { ResetPasswordPage } from './views/ResetPasswordPage'\nimport { ResetPasswordConfirmationPage } from './views/ResetPasswordConfirmationPage'\n\ninit()\n\nasync function init(): Promise {\n await env.initUserConfig()\n const userConfig = env.getUserConfig()\n\n logger.init({\n dsn: env.SENTRY_PUBLIC_DSN,\n environment: env.ENVIRONMENT,\n user: {\n country: env.USER_COUNTRY,\n locale: userConfig.lang,\n },\n })\n logger.setTag('feature', 'connect-page')\n\n // TODO: Attach a listener to update Sentry context once user is available?\n // Thing is, this is very limited since we ARE on the auth page, but could\n // be useful for post-auth errors.\n\n await initializeLocalization(userConfig.lang, env.LOCALE_FILES[userConfig.lang])\n\n const urlParams = new URLSearchParams(window.location.search)\n const context = urlParams.get('context') ?? undefined\n const resetRequested = urlParams.get('resetRequested')\n if (resetRequested) {\n urlParams.delete('resetRequested')\n const newURL = `${window.location.pathname}?${urlParams.toString()}`\n window.history.replaceState({}, '', newURL)\n }\n\n renderHeader()\n renderConnectApp(context, Boolean(resetRequested))\n renderBuffer()\n}\n\nfunction renderBuffer(): void {\n const appContainer = document.querySelector('#js-complete')\n if (appContainer) {\n const root = ReactDOM.createRoot(appContainer)\n root.render()\n }\n}\n\nfunction renderConnectApp(context: string | undefined, resetRequested: boolean): void {\n const appContainer = document.querySelector('#js-authentication')\n const resetContainer = document.querySelector('#js-password-reset')\n const resetConfirmationContainer = document.querySelector('#js-password-reset-confirm')\n\n const urlParams = new URLSearchParams(window.location.search)\n const token = urlParams.get('token') ?? undefined\n\n const resetSuccess = urlParams.get('resetSuccess')\n if (resetSuccess) {\n urlParams.delete('resetSuccess')\n const newURL = `${window.location.pathname}?${urlParams.toString()}`\n window.history.replaceState({}, '', newURL)\n }\n\n if (appContainer) {\n const root = ReactDOM.createRoot(appContainer)\n root.render(\n \n \n \n \n ,\n )\n } else if (resetConfirmationContainer && token) {\n const root = ReactDOM.createRoot(resetConfirmationContainer)\n root.render(\n \n \n ,\n )\n } else if (resetContainer) {\n const root = ReactDOM.createRoot(resetContainer)\n root.render(\n \n \n \n ,\n )\n }\n}\n\nfunction renderHeader(): void {\n const headerContainer = document.querySelector('#react-ulule-header')\n if (headerContainer) {\n const headerRoot = ReactDOM.createRoot(headerContainer)\n headerRoot.render()\n } else {\n logger.err('[connect-page] Header container is missing')\n }\n}\n"],"mappings":"uqDAKM,EAAK,oBAEX,SAAgB,GAAW,CAAE,KAAK,EAAI,GAAG,GAAA,CACvC,OACE,EAAA,EAAA,KAAA,CAAC,SAAD,CAAQ,GAAI,EAAW,KAAI,QAAQ,YAAnC,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,OAAO,OAAO,iBAAiB,KAAK,SAAS,mBAAhD,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,YAAY,OACZ,EAAE,4JACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,YAAY,MACZ,EAAE,svEACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,YAAY,OACZ,EAAE,shBACH,CAAA,CACA,CACH,CAAA,GAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,WAAD,CAAU,GAAG,aACX,UAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,uBAAyB,CAAA,CACrC,CAAA,CACN,CAAA,CACA,GAEZ,CAIA,IAAM,GAAwB,EAAW,GAAY,CAAA,EAExC,GAAO,EAAO,SAAiC,EAAA,CAC1D,OACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,MAAM,KAAK,OAAO,KAAK,GAAI,EAC9B,UAAA,EAAA,EAAA,IAAA,CAAC,GAAD,CAAwB,CAAA,CACrB,CAAA,CAET,CAAA,CAAA,CAAA,SAAA,ECzCM,EAAK,wBAEX,SAAgB,GAAW,CAAE,KAAK,EAAI,GAAG,GAAA,CACvC,OACE,EAAA,EAAA,KAAA,CAAC,SAAD,CAAQ,GAAI,EAAW,KAAI,QAAQ,YAAnC,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,SAAS,qBAAZ,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,OACZ,EAAE,8JACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,UAAU,EAAE,uEAAyE,CAAA,GAChG,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,6FACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,UAAU,EAAE,mFAAqF,CAAA,GAC5G,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,UAAU,EAAE,uEAAyE,CAAA,GAChG,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,MACZ,EAAE,wqFACH,CAAA,CACA,CACH,CAAA,GAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,WAAD,CAAU,GAAG,eACX,UAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,6BAA+B,CAAA,CAC3C,CAAA,CACN,CAAA,CACA,GAEZ,CAIA,IAAM,GAAwB,EAAW,GAAY,CAAA,EAExC,GAAO,EAAO,SAAiC,EAAA,CAC1D,OACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,MAAM,KAAK,OAAO,KAAK,GAAI,EAC9B,UAAA,EAAA,EAAA,IAAA,CAAC,GAAD,CAAwB,CAAA,CACrB,CAAA,CAET,CAAA,CAAA,CAAA,SAAA,WCxCA,SAAgB,GAAwB,CACtC,YACA,WAAW,CAAA,GAAC,CAEZ,GAAM,CAAE,WAAU,QAAO,cAAe,EAAW,CAAA,EAEnD,EAAM,cAAA,CACJ,IAAM,EAAS,EAAS,IAAK,GAAA,CAC3B,GAAI,EAAQ,OAAS,SAAW,EAAQ,UAAY,GAClD,OAAO,eAAA,CACL,EAAW,EAAQ,OAAO,CAC5B,EAAG,EAAQ,QAAQ,CAEvB,CAAA,EAEA,UAAA,CACE,EAAO,QAAS,GAAA,CACV,GACF,aAAa,CAAA,CAEjB,CAAA,CACF,CAEF,EAAG,CAAC,CAAS,CAAA,EAEb,IAAM,EAAgB,EAAS,OAAQ,GAAY,EAAQ,OAAS,OAAA,EAEpE,OACE,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,GAAD,CAAoB,YAAW,aAAc,EAAc,MAAO,GAAY,EAAQ,OAAO,EAC1F,SAAA,EAAc,IAAK,GAAA,CAClB,IAAM,EAAa,CACjB,SAAU,EAAQ,UAAY,GAC9B,OAAQ,EAAQ,SAAW,GAC3B,YAAA,CACE,EAAM,EAAQ,OAAO,EACrB,EAAQ,UAAA,CACV,EACA,KAAM,EAAQ,KAChB,EAEA,OACE,EAAA,EAAA,IAAA,CAAC,GAAD,CAAoC,GAAI,EACrC,SAAA,EAAQ,OACG,EAFK,EAAQ,OAEb,CAElB,CAAA,CACO,CAAA,CACT,CAAA,CAEN,CAEA,IAAM,GAAU,EAAA,WACX,CAAE,kBACH,GACA,GAAA,UAAA,CAAA,EAKS,EAAiB,EAAO,EAAA,CAAA,CAAA,UAAA,ECpErC,eAAsB,GAAyB,EAAwC,CAOrF,OAAO,MANgB,EAAW,6BAA8B,CAC9D,KAAM,CACJ,OACF,CACF,CAAC,EAAA,CAEe,KAAM,GACb,EAAQ,IAChB,CACH,CAEA,SAAgB,GAAe,EAAgB,EAAkB,EAA8B,EAAe,CAC5G,OAAO,GACL,EACA,CACE,WACA,sBAAuB,CACzB,EACA,CACF,CACF,eCrBA,SAAgB,EAAiB,EAA2B,CAC1D,GAAM,CAAC,EAAM,GAAA,EAAiB,SAAgD,IAAA,EAAS,EAiBvF,OAfA,EAAM,cAAgB,CAChB,GACF,GAAQ,CAAK,CAAC,CAAC,KAAM,GAAa,CAChC,EAAS,OAAO,CACd,MAAQ,GAAU,CAChB,EAAQ,EAAM,IAAI,CACpB,EACA,SAAY,CACV,EAAQ,IAAA,EAAS,CACnB,CACF,CAAC,CACH,CAAC,CAEL,EAAG,CAAC,CAAK,CAAC,EAEH,CACT,CAEA,eAAe,GAAQ,EAAe,CAGpC,OAAO,MAFgB,EAAW,UAAW,CAAE,OAAM,CAAC,EAAA,CAEtC,KAAM,GACb,CACR,CACH,CCTA,SAAgB,GAAyC,CAEvD,IAAM,EAAQ,IADQ,gBAAgB,OAAO,SAAS,MACxC,CAAA,CAAU,IAAI,OAAO,GAAK,IAAA,GAClC,EAAO,EAAiB,CAAK,EAMnC,OAJI,GAAS,IAAS,IAAA,IACb,EAAA,EAAA,IAAA,CAAC,GAAD,CAAqC,OAAa,OAAQ,CAAA,GAG5D,EAAA,EAAA,IAAA,CAAC,GAAD,CAAoB,CAAA,CAC7B,CAEA,SAAS,IAA6C,CAEpD,IAAM,EAAY,IADI,gBAAgB,OAAO,SAAS,MACpC,CAAA,CAAU,IAAI,YAAY,GAAK,GAE3C,CAAC,EAAS,GAAA,EAAoB,SAAS,EAAK,EAC5C,CAAC,EAAa,GAAA,EAAwB,SAA6B,IAAA,EAAS,EAE5E,EAAsB,GAAW,CAAC,CAAC,MAAM,CAC7C,WAAY,EAAW,CAAC,CACrB,SAAS,EAAE,wBAAwB,CAAC,CAAC,CACrC,KAAK,iBAAkB,EAAE,6BAA6B,EAAI,GACpD,EAGE,GAAQ,GAA+B,CAAK,CAAC,CAAC,KAAK,EAFjD,EAGV,CACL,CAAC,EAED,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,cAAe,CAAE,WAAY,EAAG,EAChC,iBAAkB,EAClB,SAAU,KAAO,IAAW,CAC1B,EAAW,EAAI,EACf,EAAe,IAAA,EAAS,EACxB,GAAI,EAEF,MADuB,GAA+C,EAAO,UAAU,EAAA,CAC9E,OAAO,CACd,UAAa,CACX,SAAS,SAAS,KAAO,GAAG,EAAe,qBAC7C,EACA,KAAO,GAAY,CACjB,EAAe,EAA6B,CAAO,GAAK,EAAE,yCAAyC,CAAC,EACpG,EAAW,EAAK,CAClB,CACF,CAAC,CACH,MAAQ,CACN,EAAe,EAAE,yCAAyC,CAAC,EAC3D,EAAW,EAAK,CAClB,CACF,EACA,iBAAkB,GAClB,eAAgB,GAEd,UAAA,CAAE,mBAEA,EAAA,EAAA,KAAA,CAAC,EAAD,CAAqB,WAAA,GAAW,SAAU,EAA1C,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAO,KAAK,aACR,UAAA,CAAE,QAAO,WAEP,EAAA,EAAA,IAAA,CAAC,GAAD,CACE,MAAO,EAAE,gBAAgB,EACzB,YAAa,EAAE,gBAAgB,EAC/B,KAAK,QACL,KAAM,EAAM,KACZ,MAAO,EAAM,MACb,SAAW,GAAU,CACnB,EAAe,IAAA,EAAS,EACxB,EAAM,SAAS,CAAK,CACtB,EACA,OAAQ,EAAM,OACd,MAAO,IAAgB,EAAK,QAAU,EAAK,MAAQ,IAAA,GACpD,CAAA,CAGA,CAAA,GAEP,EAAA,EAAA,IAAA,CAAC,EAAD,CAA4B,UAAS,YAAA,GAAY,KAAK,SACnD,SAAA,EAAE,mBAAmB,CACL,CAAA,GAEnB,EAAA,EAAA,IAAA,CAAC,EAAD,CAAY,KAAM,EAAW,KAAK,YAC/B,SAAA,EAAE,MAAM,CACC,CAAA,CACO,GAGnB,CAAA,CAEZ,CAEA,SAAS,GAA8B,CACrC,OACA,SAI0B,CAC1B,GAAM,CAAC,EAAS,GAAA,EAAoB,SAAS,EAAK,EAC5C,CAAC,EAAa,GAAA,EAAwB,SAA6B,IAAA,EAAS,EAC5E,CAAC,EAAU,GAAuB,GAAwB,EAE1D,EAAkC,GAAW,CAAC,CAAC,MAAM,CACzD,SAAU,EAAW,CAAC,CAAC,SAAS,EAAE,wBAAwB,CAAC,EAC3D,sBAAuB,EAAW,CAAC,CAChC,SAAS,EAAE,wBAAwB,CAAC,CAAC,CACrC,MAAM,CAAC,GAAQ,UAAU,CAAC,EAAG,EAAE,yDAAyD,CAAC,CAC9F,CAAC,EAED,OACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,cAAe,CAAE,SAAU,GAAI,sBAAuB,EAAG,EACzD,iBAAkB,EAClB,SAAU,KAAO,IAAW,CAC1B,EAAW,EAAI,EACf,EAAe,IAAA,EAAS,EACxB,GAAI,EAOF,MANuB,GACrB,EAAK,GACL,EAAO,SACP,EAAO,sBACP,CACF,EAAA,CACS,OAAO,CACd,UAAa,CACX,SAAS,SAAS,KAAO,GAAG,EAAe,mBAC7C,EACA,KAAO,GAAY,CACjB,EAAe,EAA6B,CAAO,GAAK,EAAE,yCAAyC,CAAC,EACpG,EAAW,EAAK,CAClB,CACF,CAAC,CACH,MAAQ,CACN,EAAe,EAAE,yCAAyC,CAAC,EAC3D,EAAW,EAAK,CAClB,CACF,EACA,iBAAkB,GAClB,eAAgB,GAEd,UAAA,CAAE,eAAc,oBAEd,EAAA,EAAA,KAAA,CAAC,EAAD,CAAqB,WAAA,GAAW,SAAU,EAA1C,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,KAAK,WACL,SAAW,GACJ,EAGI,EAAoB,CAAK,EAFzB,EAAE,wBAAwB,EAMnC,UAAA,CAAE,QAAO,WAEP,EAAA,EAAA,IAAA,CAAC,GAAD,CACS,QACQ,gBACf,eAAiB,GAAU,IAAU,GACrC,OAAS,IACP,EAAA,EAAA,IAAA,CAAC,GAAD,CACE,UAAA,GACA,MAAO,EAAE,cAAc,EACvB,KAAM,EAAe,KACrB,MAAO,EAAe,MACtB,SAAW,GAAU,CACnB,EAAe,IAAA,EAAS,EACxB,EAAe,SAAS,CAAK,CAC/B,EACA,OAAQ,EAAe,OACvB,SAAU,EAAe,MAAQ,EAAW,IAAA,GAC5C,MACE,GACC,EAAK,UAAY,EAAK,QAAU,SAAiB,EAAK,MAE1D,CAAA,CAEJ,CAAA,CAGA,CAAA,GAEP,EAAA,EAAA,IAAA,CAAC,EAAD,CAAO,KAAK,wBACR,UAAA,CAAE,QAAO,WAEP,EAAA,EAAA,IAAA,CAAC,GAAD,CACE,MAAO,EAAE,2BAA2B,EACpC,KAAM,EAAM,KACZ,MAAO,EAAM,MACb,SAAW,GAAU,CACnB,EAAe,IAAA,EAAS,EACxB,EAAM,SAAS,CAAK,CACtB,EACA,OAAQ,EAAM,OACd,SAAU,IAAA,GACV,MAAO,IAAgB,EAAK,QAAU,EAAK,MAAQ,IAAA,GACpD,CAAA,CAGA,CAAA,GAEP,EAAA,EAAA,IAAA,CAAC,EAAD,CAA4B,UAAS,YAAA,GAAY,KAAK,SACnD,SAAA,EAAE,mBAAmB,CACL,CAAA,CACA,GAGnB,CAAA,CAEZ,CCnNA,SAAgB,GAAW,GAAA,CACzB,IAAM,EAAO,EAAsB,CACjC,aAAA,CACM,OAAO,OAAW,MACpB,OAAO,SAAS,KAAO,EAE3B,CACF,CAAA,EACM,CAAC,EAAkB,GAAA,EAA6B,SAAyB,IAAA,EAEzE,EAAA,EAAqB,YAAA,CACzB,IAAI,EACJ,EAAiB,GAAmB,EACpC,IAAM,EAAiB,SAAS,SAAS,SAAS,MAAM,GAAA,CAAI,CAAC,GAK7D,OAJA,AACE,IAAiB,EAGX,EAAR,CACE,IAAK,WACH,MAAO,WACT,IAAK,mBACH,MAAO,mBACT,IAAK,SACH,MAAO,SACT,QACE,OAAO,GAAsB,CAAA,CACjC,CACF,EAAG,CAAA,CAAE,EAEC,EAAmB,CAAC,kBAAmB,CAAA,CAAC,SAAS,SAAS,SAAS,SAAS,MAAM,GAAA,CAAI,CAAC,EAAE,EAsB/F,OArBA,EAAM,cAAA,CAIA,GACF,EAAA,CAEJ,EAAG,CAAA,CAAE,EAEL,EAAM,cAAA,CAGA,EAAK,OAAS,YAAc,CAAC,GAC3B,EAAK,KAAK,kBAAoB,CAAC,GAAgC,EAAK,KAAK,gBAAgB,IAC3F,EAAoB,EAAA,EACpB,EAAc,EAAK,IAAI,EACvB,EAAA,EAGN,EAAG,CAAC,EAAK,IAAK,CAAA,GAGZ,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,GAAD,CAAc,CAAA,GACd,EAAA,EAAA,KAAA,CAAC,GAAD,CAAA,SAAA,CACG,EAAK,OAAS,aACb,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SAA2B,EAAE,YAAA,CAAwC,CAAA,GACrE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAe,MAAA,EAAO,CAAA,CACtB,CAAA,CAAA,EAEH,EAAK,OAAS,YAAc,IAC3B,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SAA2B,EAAE,YAAA,CAAwC,CAAA,GACrE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAe,MAAA,EAAO,CAAA,GACtB,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SAAoB,EAAE,0CAAA,CAA+D,CAAA,GACrF,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SACG,EAAG,gDAAiD,CACnD,MAAM,EAAA,EAAA,IAAA,CAAC,EAAD,CAAY,KAAM,kBAAuB,KAAK,YAAY,WAAA,EAAY,CAAA,CAC9E,CAAA,CACiB,CAAA,CACnB,CAAA,CAAA,EAEH,EAAK,OAAS,YAAc,CAAC,IAC5B,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SAA2B,EAAE,uBAAA,CAAmD,CAAA,GAChF,EAAA,EAAA,IAAA,CAAC,GAAD,CACE,OAAQ,GAAmB,EAAK,KAAM,OAAA,EACtC,WAAW,SACX,KAAK,IACL,MAAM,EAAA,EAAA,IAAA,CAAC,GAAD,CAAA,SAA4B,EAAK,KAAK,QAAoC,CAAA,EAChF,SAAU,EAAK,KAAK,SACrB,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,aAAA,CACE,EAAc,EAAK,IAAI,EACnB,OAAO,OAAW,MACpB,OAAO,SAAS,KAAO,kBAE3B,EACA,cAAe,CAAE,QAAS,GAAO,MAAO,EAAM,EAE5C,UAAA,CAAE,mBAEA,EAAA,EAAA,KAAA,CAAC,GAAD,CAAM,WAAA,GAAW,SAAU,EAA3B,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAO,KAAK,QAAQ,SAAU,EAC1B,UAAA,CAAE,QAAO,WAEP,EAAA,EAAA,IAAA,CAAC,GAAD,CACE,MAAO,EACL,wGACA,CACE,MAAM,EAAA,EAAA,IAAA,CAAC,EAAD,CAAY,KAAM,gBAAsB,IAAI,WAAW,OAAO,QAAU,CAAA,CAChF,CAAA,EAEF,QAAS,EAAM,MACf,MAAO,EAAK,QAAU,EAAK,MAAQ,IAAA,GACnC,KAAM,EAAM,KACZ,OAAQ,EAAM,OACd,SAAU,EAAM,QACjB,CAAA,CAGA,CAAA,GACP,EAAA,EAAA,IAAA,CAAC,EAAD,CAAO,KAAK,UAAU,SAAU,EAC5B,UAAA,CAAE,QAAO,WAEP,EAAA,EAAA,IAAA,CAAC,GAAD,CACE,MAAO,EACL,yFACA,CACE,SAAU,CACZ,CAAA,EAEF,QAAS,EAAM,MACf,MAAO,EAAK,QAAU,EAAK,MAAQ,IAAA,GACnC,KAAM,EAAM,KACZ,OAAQ,EAAM,OACd,SAAU,EAAM,QACjB,CAAA,CAGA,CAAA,GACP,EAAA,EAAA,IAAA,CAAC,EAAD,CAAmB,YAAA,GAAY,KAAK,SACjC,SAAA,EAAE,UAAA,CACc,CAAA,GACnB,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,GAAD,CAAoB,YAAe,EAAK,OAAA,EAAU,KAAK,YACpD,SAAA,EAAE,gBAAA,CACe,CAAA,CACH,CAAA,CACf,GAGJ,CAAA,CACR,CAAA,CAAA,CAEK,CAAA,CAAA,CACX,CAAA,CAAA,CAEN,CAEA,SAAS,GAAgC,EAAA,CACvC,IAAM,EAAY,IAAI,KAAK,CAAA,EAG3B,OAD2B,IADH,KACG,CAAA,CAAY,QAAA,EAAY,EAAU,QAAA,GAAc,KAC/C,CAC9B,CAEA,SAAS,GAAA,CACH,OAAO,OAAW,MACpB,OAAO,SAAS,KAAO,GAE3B,CAEA,SAAS,EAAsB,EAAA,CAC7B,GAAI,CAAC,EACH,OAAO,EAAE,wBAAA,CAEb,CAEA,SAAS,IAAA,CAOP,OANA,EAAoC,EAAG;;0BAEf,EAA8B;;GAErD,GAEM,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAI,CAAA,CACb,CAEA,IAAM,GAAY,EAAA,SAAA,EAsBZ,GAAO,GAAA,UAAA,EAMP,EAAoB,EAAA,EAA2B,QAAQ,CAAA,CAAA,UAAA,ECvNvD,EAAa,GAAa,EAEnB,EAAuB,EACjC,IAAI,gBAAgB,CAAC,CACrB,IAAI,YAAY,CAAC,CACjB,MAAM,WAAY,CAAE,QAAS,GAAM,OAAQ,GAAM,MAAO,EAAK,CAAC,EAEpD,GAAkB,EAC5B,IAAI,KAAK,CAAC,CACV,IAAI,MAAM,CAAC,CACX,IAAI,MAAM,CAAC,CACX,MAAM,WAAY,CAAE,QAAS,GAAM,OAAQ,GAAM,MAAO,EAAK,CAAC,ECvBpD,EAAO,EAAO,SAAc,EAAA,CACvC,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,MAAM,6BAA6B,KAAK,OAAO,QAAQ,cAAc,GAAI,EAA9E,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,OAAO,eAAe,QAAS,GAChC,UAAA,EAAA,EAAA,IAAA,CAAC,SAAD,CAAQ,GAAI,IAAK,GAAI,IAAK,EAAG,GAAI,KAAM,CAAgC,CAAA,CACtE,CAAA,GACH,EAAA,EAAA,IAAA,CAAC,OAAD,CAAA,UACE,EAAA,EAAA,KAAA,CAAC,SAAD,CACE,GAAG,SACH,MAAO,MACP,OAAQ,MACR,EAAG,GACH,EAAG,GACH,0BAA0B,OAC1B,YAAY,iBAPd,SAAA,EASE,EAAA,EAAA,IAAA,CAAC,UAAD,CAAS,aAAc,EAAG,OAAO,oBAAsB,CAAA,GACvD,EAAA,EAAA,IAAA,CAAC,UAAD,CAAS,GAAG,gBAAgB,IAAI,qBAAqB,OAAO,OAAS,CAAA,GACrE,EAAA,EAAA,IAAA,CAAC,iBAAD,CAAgB,OAAO,mCAAmC,aAAc,KAAQ,CAAA,CAC1E,CACJ,CAAA,CAAA,CAAA,CACH,GAET,CAAA,CAAA,CAAA,SAAA,ECxBa,GAAgB,EAAO,SAAuB,EAAA,CACzD,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,MAAM,6BAA6B,KAAK,OAAO,QAAQ,YAAY,GAAI,EAA5E,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,6PACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,wSACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,0wEACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,miBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,knDACH,CAAA,CACE,GAET,CAAA,CAAA,CAAA,SAAA,ECrBA,SAAgB,GAAA,CACd,IAAM,EAAQ,8EACd,OACE,EAAA,EAAA,KAAA,CAAC,GAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,GAAD,CAAU,CAAA,GACV,EAAA,EAAA,IAAA,CAAC,GAAD,CAAS,UAAU,IAAK,SAAA,CAAe,CAAA,EACtC,IACC,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,GAAD,CACE,IAAK,EACL,IAAA,EAA8B,MAC9B,OAAQ,GAAA,EAA4B,MAAM,OAAA,EAAgC,MAAM,OAAA,EAAgC,MAAM,IACvH,CAAA,GACD,EAAA,EAAA,KAAA,CAAC,GAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,IAAD,CACE,KAAK,gFACL,OAAO,SACP,IAAI,sBAEJ,UAAA,EAAA,EAAA,IAAA,CAAC,GAAD,CAAyB,MAAO,GAAM,CAAA,CACrC,CAAA,GACH,EAAA,EAAA,IAAA,CAAC,IAAD,CACE,KAAK,qEACL,OAAO,SACP,IAAI,sBAEJ,UAAA,EAAA,EAAA,IAAA,CAAC,GAAD,CAA6B,MAAO,GAAM,CAAA,CACzC,CAAA,CACK,CAAA,CAAA,CACV,CAAA,CAAA,GAEJ,EAAA,EAAA,IAAA,CAAC,GAAD,CAAa,CAAA,CACN,CAAA,CAAA,CAEb,CAEA,IAAM,GAAW,EAAA,SAAA,EAiBX,GAAa,GAAA,UAAA,EA4Cb,GAAa,EAAO,CAAA,CAAA,CAAA,UAAA,EAYpB,GAAU,EAAO,EAAsB,CAAA,CAAA,UAAA,EAQvC,GAAU,EAAO,CAAA,CAAA,CAAA,UAAA,EAYjB,GAAU,EAAA,UAAA,ECtIH,GAAa,EAAO,SAAoB,EAAA,CACnD,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,MAAM,6BAA6B,KAAK,OAAO,QAAQ,cAAc,GAAI,EAA9E,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,SAAS,uBAAZ,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,kdACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,imCACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,6MACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,kGACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,iNACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,mEAAqE,CAAA,GACzF,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,0GACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,iGACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,OAAO,OACP,iBAAkB,GAClB,YAAa,KACb,EAAE,iEACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,oEAAsE,CAAA,GAC1F,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,OAAO,OACP,iBAAkB,GAClB,YAAa,KACb,EAAE,sDACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,8JACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,qdACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,yFACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,6LACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,qKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gZACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,+JACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,qgBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,6FACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,2MACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,wOACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,4uBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,0NACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,kHACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,+DAAiE,CAAA,GACrF,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAkB,GAClB,YAAa,IACb,EAAE,kEACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,8WACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAkB,GAClB,YAAa,KACb,EAAE,oXACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gGACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,yPACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,sEAAwE,CAAA,GAC5F,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,OAAO,OACP,iBAAkB,GAClB,YAAa,KACb,EAAE,uDACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,yFACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,2OACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,qEAAuE,CAAA,GAC3F,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,qEAAuE,CAAA,GAC3F,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,4EAA8E,CAAA,GAClG,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,sEAAwE,CAAA,GAC5F,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,qEAAuE,CAAA,GAC3F,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,sEAAwE,CAAA,GAC5F,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,UAAU,EAAE,gDAAkD,CAAA,GACzE,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,qZACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,68BACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,yHACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,idACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gIACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,mfACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,wKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,sfACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gGACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,iXACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,iMACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,mNACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,wzBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gSACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,0hBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,6fACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,kIACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,uHACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,onBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,mGACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,qIACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,8bACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,sIACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,qeACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,2LACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gbACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,qcACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,8yCACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,gGACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,sMACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,qKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,ijBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,UAAU,EAAE,qFAAuF,CAAA,GAC9G,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,6MACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,uOACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,+uBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,2NACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,mkBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,8HACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,uTACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,UAAU,EAAE,+DAAiE,CAAA,GACxF,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,wEAA0E,CAAA,GAC9F,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,6eACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,4WACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gwBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,2WACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,u2BACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,wGACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,iiBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,mGACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,wTACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,mEAAqE,CAAA,GACzF,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,0IACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,wGACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,2cACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,+GACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,0fACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,2gBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,ssBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,kIACH,CAAA,CACA,CACH,CAAA,GAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,WAAD,CAAU,GAAG,iBACX,UAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,qBAAuB,CAAA,CACnC,CAAA,CACN,CAAA,CACH,GAET,CAAA,CAAA,CAAA,SAAA,EAEa,GAAsB,EAAO,SAA6B,EAAA,CACrE,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,MAAM,6BAA6B,KAAK,OAAO,QAAQ,cAAc,GAAI,EAA9E,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,SAAS,gCAAZ,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,GAAG,0BAA0B,MAAM,MAAM,OAAO,MAAM,EAAE,IAAI,EAAE,IAAI,UAAU,iBAChF,UAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,2BAA6B,CAAA,CAC7C,CAAA,GACN,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,KAAK,gCAAR,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,6EAA+E,CAAA,GACnG,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,yKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,geACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,2KACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,2IACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,2KACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,4iBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,gSACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,ysBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gIACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,kVACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,mJACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,yTACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,+DACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,UAAU,EAAE,iDAAmD,CAAA,GAC1E,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,yGACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,gVACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,OAAO,OACP,iBAAiB,KACjB,YAAY,OACZ,EAAE,gVACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,m6BACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,8KACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,qeACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,qUACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,wxBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,+EAAiF,CAAA,GACrG,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gLACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,8XACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,81BACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,yCACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,UAAU,EAAE,2CAA6C,CAAA,GACpE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,oFAAsF,CAAA,GAC1G,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,UAAU,EAAE,6CAA+C,CAAA,GACtE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,uFAAyF,CAAA,GAC7G,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,UAAU,EAAE,8CAAgD,CAAA,GACvE,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,qFAAuF,CAAA,GAC3G,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,iIACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,mRACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,sKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,sKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,6fACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,wPACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,0LACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gfACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,sKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,sKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,sfACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,2PACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,wLACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,ifACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,sKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,sKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,4fACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,wPACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,wLACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,ifACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,oKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,oKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,6fACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,wPACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,wLACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,kfACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,mKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,mKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,wfACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,4PACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,wLACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,8eACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,qKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,qKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,yfACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,uPACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,uLACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,kfACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,kKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,kKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,qfACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,sPACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,sLACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,6eACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,mKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,mKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,yPACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,sLACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,8eACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,oKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,oKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,ofACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,sPACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,sLACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,+eACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,kKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,kKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,wfACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,sPACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,wLACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,8eACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,kKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,kKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,sfACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,yPACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,4mBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,0MACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,ohBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,OAAO,OACP,iBAAiB,KACjB,YAAY,QACZ,EAAE,0KACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,0KACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,weACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,2PACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,q0BACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,sJACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,kbACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,iKACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,m8CACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,q7BACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,unBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,wTACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,yIACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,wTACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,2oBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,sFACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,OAAO,OACP,iBAAiB,KACjB,YAAY,OACZ,EAAE,sFACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gOACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,gUACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,qrBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,+HACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,4SACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,yIACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,8LACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,obACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,k9BACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,mUACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,gxBACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,UACL,EAAE,6GACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,iVACH,CAAA,CACA,CACF,CAAA,CAAA,CACH,CAAA,GAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,WAAD,CAAU,GAAG,0BACX,UAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,oBAAsB,CAAA,CAClC,CAAA,CACN,CAAA,CACH,GAET,CAAA,CAAA,CAAA,UAAA,EAEa,GAAW,EAAO,SAAkB,EAAA,CAC/C,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,MAAM,6BAA6B,KAAK,OAAO,QAAQ,YAAY,GAAI,EAA5E,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,IAAD,CAAG,SAAS,mBAAZ,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,0JACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,4VACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,wJACH,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,OAAD,CACE,KAAK,OACL,EAAE,4TACH,CAAA,CACA,CACH,CAAA,GAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,WAAD,CAAU,GAAG,aACX,UAAA,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,KAAK,OAAO,EAAE,eAAiB,CAAA,CAC7B,CAAA,CACN,CAAA,CACH,GAET,CAAA,CAAA,CAAA,UAAA,ECt/BA,SAAgB,GAAA,CACd,OACE,EAAA,EAAA,KAAA,CAAC,GAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,GAAD,CAAU,CAAA,GACV,EAAA,EAAA,IAAA,CAAC,GAAD,CAAa,CAAA,GACb,EAAA,EAAA,KAAA,CAAC,GAAD,CAAS,UAAU,MAAnB,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,GAAD,CAAU,MAAO,EAAK,CAAA,EACrB,EAAG,0CAA2C,CAAE,IAAI,EAAA,EAAA,IAAA,CAAC,KAAD,CAAK,CAAA,EAAG,WAAW,EAAA,EAAA,IAAA,CAAC,GAAD,CAAU,UAAU,MAAM,GAAG,IAAM,CAAA,CAAE,CAAA,CACtG,KACT,EAAA,EAAA,IAAA,CAAC,GAAD,CAAa,CAAA,GACb,EAAA,EAAA,IAAA,CAAC,GAAD,CAAsB,CAAA,CACf,CAAA,CAAA,CAEb,CAEA,IAAa,GAAa,EAAO,CAAA,CAAA,CAAA,SAAA,EAW3B,GAAW,EAAO,EAAsB,CAAA,CAAA,UAAA,EAKxC,GAAU,EAAO,EAAsB,CAAA,CAAA,UAAA,EAYhC,GAAU,EAAO,CAAA,CAAA,CAAA,UAAA,EAcxB,GAAU,EAAA,UAAA,EC3DhB,SAAgB,IAAY,CAC1B,OAAO,OAAO,OAAW,KAAe,OAAO,OACjD,CAEA,SAAgB,GAAO,EAAe,CAElC,OAAO,OAAW,KAClB,OAAO,SACP,OAAO,QAAQ,wBACf,OAAO,OAAO,QAAQ,wBAA2B,YAEjD,OAAO,QAAQ,uBAAuB,CACpC,OACF,CAAC,CAEL,CCdA,IAAa,EAAS,EAAO,EAAa,CAAA,CAAA,SAAA,EAe7B,EAAgB,EAAA,YAoBtB,CAAE,UAAU,MAAA,CACb,GAAI,EACF,OAAO,GAAA,UAAA,CAKX,CAAA,EAeJ,SAAgB,GAAA,CAad,OAZA,EAAoC;;0BAEZ,EAA8B;;GAErD,EAED,EAAoC;;;;GAInC,GAEM,EAAA,EAAA,IAAA,CAAA,EAAA,SAAA,CAAI,CAAA,CACb,CAEA,IAAa,EAAU,EAAA,UAAA,EAgBV,EAAa,EAAA,UAAA,EAiBb,GAAQ,EAAA,UAAA,EC7FrB,SAAgB,GAAY,CAC1B,UACA,iBAAiB,GACjB,eAAe,IAC6B,CAC5C,IAAM,EAAO,EAAsB,EAC7B,EAAW,EAAkB,CAAC,CAAC,KAC/B,EAAY,EAAoB,EAEtC,EAAM,cAAgB,CAChB,GACF,EAAkB,QAAS,GAAiB,CAC1C,EAAgB,EAAa,IAAI,CAAC,CAAC,CACjC,QAAS,iBACT,SAAU,EAAa,SACvB,WAAY,GACZ,QAAS,EAAa,SACtB,KAAM,OACR,CAAC,CACH,CAAC,EAGC,GACF,EAAU,QAAQ,CAChB,QAAS,iBACT,WAAY,GACZ,QAAS,EAAE,mGAAmG,EAC9G,KAAM,OACR,CAAC,EAGC,GACF,EAAU,QAAQ,CAChB,QAAS,yBACT,WAAY,GACZ,QAAS,EAAE,iEAAiE,EAC5E,KAAM,OACR,CAAC,CAEL,EAAG,CAAC,CAAC,EAEL,IAAM,EAAe,EAAE,mBAAmB,EACpC,CAAC,EAAO,GAAA,EAAkB,SAAS,CAAY,EAE/C,EAAA,EAAgB,YAAc,CAC9B,YAAO,OAAW,KAItB,OAAO,IADe,gBAAgB,OAAO,SAAS,MAC/C,CAAA,CAAU,IAAI,MAAM,IAAM,IAAmB,IAAA,GACtD,EAAG,CAAC,CAAC,EAYL,OAVA,EAAM,cAAgB,CAChB,EAAK,OAAS,YAAc,EAAK,OAAS,QAC5C,EAAS,EAAE,QAAQ,CAAC,EACX,EAAK,OAAS,MACvB,EAAS,EAAE,SAAS,CAAC,EAErB,EAAS,CAAY,CAEzB,EAAG,CAAC,EAAK,IAAI,CAAC,GAGZ,EAAA,EAAA,KAAA,CAAA,EAAA,SAAA,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,CAAA,GAChB,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,UACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAiB,QAAS,EAAK,OAAS,WAAa,EAAK,OAAS,UAAnE,SAAA,EACE,EAAA,EAAA,KAAA,CAAC,GAAD,CAAA,SAAA,CACG,IAAY,cACX,EAAA,EAAA,IAAA,CAAC,GAAD,CAAe,MAAO,EAAK,CAAA,GAE3B,EAAA,EAAA,IAAA,CAAC,GAAD,CAA+B,OAAQ,GAAI,MAAO,EAAK,CAAA,GAEzD,EAAA,EAAA,IAAA,CAAC,GAAD,CAAA,SAAyB,CAA8B,CAAA,CAChD,CAAA,CAAA,GACT,EAAA,EAAA,IAAA,CAAC,GAAD,CACW,UACT,oBAAuB,CAAC,EACxB,eAAkB,CAAC,EACnB,eAAkB,CAAC,EACnB,YAAc,GAAS,CACjB,GAAiB,GACnB,GAAc,EAAK,KAAK,EAEtB,OAAO,OAAW,KAAe,IACnC,OAAO,SAAS,KAAO,EAE3B,EACA,SAAU,EACX,CAAA,CACc,CACL,CAAA,CAAA,CAAA,EACb,IAAY,cAAe,EAAA,EAAA,IAAA,CAAC,EAAD,CAAa,CAAA,GAAI,EAAA,EAAA,IAAA,CAAC,EAAD,CAAuB,CAAA,CAC3D,CAAA,CAAA,GACX,EAAA,EAAA,IAAA,CAAC,EAAD,CAAU,KAAM,EAAU,YAAA,GAAY,YAAa,CAAC,CAAI,CAAA,CACxD,CAAA,CAAA,EAGJ,SAAS,EAAgB,EAAa,CACpC,OAAQ,EAAR,CACE,IAAK,QACH,OAAO,EAAU,MACnB,IAAK,OACH,OAAO,EAAU,MACnB,IAAK,UACH,OAAO,EAAU,QACnB,QACE,OAAO,EAAU,KACrB,CACF,CACF,CClHA,SAAgB,GAAkB,CAAE,WAAA,CAClC,IAAM,EAAO,EAAc,EACrB,EAAW,EAAI,CAAA,CAAgB,KAErC,OACE,EAAA,EAAA,KAAA,CAAC,GAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,CAAA,GAChB,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,UACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAiB,QAAS,EAAK,OAAS,WAAa,EAAK,OAAS,UAAnE,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SAA2B,EAAE,gBAAA,CAA4C,CAAA,GAEzE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,CAAA,CACD,CACL,CAAA,CAAA,CAAA,EACb,IAAY,cAAe,EAAA,EAAA,IAAA,CAAC,EAAD,CAAa,CAAA,GAAI,EAAA,EAAA,IAAA,CAAC,EAAD,CAAuB,CAAA,CAC3D,CAAA,CAAA,GACX,EAAA,EAAA,IAAA,CAAC,EAAD,CAAU,KAAM,EAAU,YAAA,GAAY,YAAa,CAAA,CAAK,CAAA,CACpC,CAAA,CAAA,CAE1B,CAEA,IAAM,GAAuB,EAAA,SAAA,ECtB7B,SAAgB,GAA8B,CAC5C,UACA,SAAA,CAEA,IAAM,EAAW,EAAI,CAAA,CAAgB,KAC/B,EAAO,EAAiB,CAAA,EA8B9B,OA5BI,IAAS,IAAA,IAET,EAAA,EAAA,KAAA,CAAC,GAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,CAAA,GAEhB,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,UACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAiB,QAAS,GAA1B,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SAA2B,EAAE,6BAAA,CAAyD,CAAA,GAEtF,EAAA,EAAA,IAAA,CAAA,EAAqB,QAArB,CAAA,SACG,EACC,oIACA,CACE,UAAU,EAAA,EAAA,IAAA,CAAC,EAAD,CAAY,OAAA,GAAO,KAAM,kBAAqB,CAAA,CAC1D,CAAA,CAEyB,CAAA,CACd,CACL,CAAA,CAAA,CAAA,EAEb,IAAY,cAAe,EAAA,EAAA,IAAA,CAAC,EAAD,CAAa,CAAA,GAAI,EAAA,EAAA,IAAA,CAAC,EAAD,CAAuB,CAAA,CAC3D,CAAA,CAAA,GACX,EAAA,EAAA,IAAA,CAAC,EAAD,CAAU,KAAM,EAAU,YAAA,GAAY,YAAa,CAAA,CAAK,CAAA,CACpC,CAAA,CAAA,GAKxB,EAAA,EAAA,KAAA,CAAC,GAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,CAAA,GAEhB,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,UACE,EAAA,EAAA,KAAA,CAAC,EAAD,CAAiB,QAAS,GAA1B,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,SACG,EAAE,uCAAwC,CACzC,UAAa,EAAK,KACpB,CAAA,CACwB,CAAA,GAE1B,EAAA,EAAA,IAAA,CAAA,EAAqB,QAArB,CAAA,SACG,EAAE,iFAAA,CACwB,CAAA,GAE7B,EAAA,EAAA,IAAA,CAAC,EAAD,CAAgB,CAAA,CACD,CACL,CAAA,CAAA,CAAA,EAEb,IAAY,cAAe,EAAA,EAAA,IAAA,CAAC,EAAD,CAAa,CAAA,GAAI,EAAA,EAAA,IAAA,CAAC,EAAD,CAAuB,CAAA,CAC3D,CAAA,CAAA,GAEX,EAAA,EAAA,IAAA,CAAC,EAAD,CAAU,KAAM,EAAU,YAAA,GAAY,YAAa,CAAA,CAAK,CAAA,CACpC,CAAA,CAAA,CAE1B,CAEA,IAAM,GAAuB,EAAA,SAAA,ECrE7B,GAAK,EAEL,eAAe,IAAsB,CACnC,MAAM,GAAmB,EACzB,IAAM,EAAa,EAAkB,EAErC,GAAY,CACV,IAAK,EACL,YAAa,GACb,KAAM,CACJ,QAAS,GACT,OAAQ,EAAW,IACrB,CACF,CAAC,EACD,GAAc,UAAW,cAAc,EAMvC,MAAM,GAAuB,EAAW,KAAM,EAAiB,EAAW,KAAK,EAE/E,IAAM,EAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACtD,EAAU,EAAU,IAAI,SAAS,GAAK,IAAA,GACtC,EAAiB,EAAU,IAAI,gBAAgB,EACrD,GAAI,EAAgB,CAClB,EAAU,OAAO,gBAAgB,EACjC,IAAM,EAAS,GAAG,OAAO,SAAS,SAAS,GAAG,EAAU,SAAS,IACjE,OAAO,QAAQ,aAAa,CAAC,EAAG,GAAI,CAAM,CAC5C,CAEA,GAAa,EACb,GAAiB,EAAS,EAAQ,CAAe,EACjD,GAAa,CACf,CAEA,SAAS,IAAqB,CAC5B,IAAM,EAAe,SAAS,cAAc,cAAc,EACtD,GAEF,EADsB,WAAW,CACjC,CAAA,CAAK,QAAO,EAAA,EAAA,IAAA,CAAC,GAAD,CAAa,CAAA,CAAC,CAE9B,CAEA,SAAS,GAAiB,EAA6B,EAA+B,CACpF,IAAM,EAAe,SAAS,cAAc,oBAAoB,EAC1D,EAAiB,SAAS,cAAc,oBAAoB,EAC5D,EAA6B,SAAS,cAAc,4BAA4B,EAEhF,EAAY,IAAI,gBAAgB,OAAO,SAAS,MAAM,EACtD,EAAQ,EAAU,IAAI,OAAO,GAAK,IAAA,GAElC,EAAe,EAAU,IAAI,cAAc,EACjD,GAAI,EAAc,CAChB,EAAU,OAAO,cAAc,EAC/B,IAAM,EAAS,GAAG,OAAO,SAAS,SAAS,GAAG,EAAU,SAAS,IACjE,OAAO,QAAQ,aAAa,CAAC,EAAG,GAAI,CAAM,CAC5C,CAEI,EAEF,EADsB,WAAW,CACjC,CAAA,CAAK,QACH,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAyB,SAAU,CAAC,gBAAgB,CAAI,CAAA,GACxD,EAAA,EAAA,IAAA,CAAC,GAAD,CACE,SAAU,CAAC,iBAAkB,wBAAwB,EACrD,SAAS,KACV,CAAA,GACD,EAAA,EAAA,IAAA,CAAC,GAAD,CAAsB,UAAyB,iBAAgB,aAAc,EAAQ,CAAgB,CAAA,CAC5E,CAAA,CAAA,CAC7B,EACS,GAA8B,EAEvC,EADsB,WAAW,CACjC,CAAA,CAAK,QACH,EAAA,EAAA,IAAA,CAAC,EAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAAC,GAAD,CAAwC,UAAgB,OAAQ,CAAA,CACvC,CAAA,CAC7B,EACS,GAET,EADsB,WAAW,CACjC,CAAA,CAAK,QACH,EAAA,EAAA,KAAA,CAAC,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,EAAD,CAAyB,SAAU,CAAC,CAAI,CAAA,GACxC,EAAA,EAAA,IAAA,CAAC,GAAD,CAA4B,SAAU,CAAA,CACb,CAAA,CAAA,CAC7B,CAEJ,CAEA,SAAS,IAAqB,CAC5B,IAAM,EAAkB,SAAS,cAAc,qBAAqB,EAChE,EAEF,EAD4B,WAAW,CACvC,CAAA,CAAW,QAAO,EAAA,EAAA,IAAA,CAAC,GAAD,CAAe,aAAc,EAAQ,CAAA,CAAC,EAExD,GAAW,4CAA4C,CAE3D"}