{"version":3,"file":"shared-lib.2F6eUm2K.mjs","names":["emptyStateStyle","defaultEvents","fontSizeOptions","fontControls","borderRadiusControl","paddingControl","useRef","useLayoutEffect","containerStyles","emptyStateStyle","containerStyles","defaultEmptyStateStyle","useState","useCallback","useRef","Head.Script","useReducer","defaultConsent","useState","useState","_Fragment","Suspense","Banner","Button","useState","_Fragment","Suspense","fonts","css","className"],"sources":["https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/pGX59rXoC0HT59XwdE2E/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/hBlZg653Ysd6kjz7zLQR/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/M5fttmqD6cHt7sJo18U0/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/P9C4xa5EyEV5QrWg6L16/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/hD74nJZ8QftHAmwk3QMB/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/xj83Fugl9PimBxSG0Mqo/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/nacLjsTMn32cMNAw9Zfm/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/1OOG8WmiJmFKh6mvmfrV/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/5DVyfdzmPxtXf0YHiZCB/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/Iy0HwLMS0wA3yltSv2VO/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/1ROHI8D9Isp5lwLhCj5v/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/cEFVyEx9T01KOFOsOKOU/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/gdTelnbTEhE4YcdtjFBZ/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/6PUrw5LusdRrh9u1cVlt/propUtils.js","https:/framer.com/m/framer/default-utils.js@0.42.0","https:/framer.com/m/Head-KL6Y.js@0DJ9VAp4ohq4RF96KF6A","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/tTLhbOFToDhKcwOVmn8E/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/AAh30yXzt1DUsOi1YwUY/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framer.com/m/framer/default-utils.js@^0.43.0","https:/framer.com/m/framer/integrations-styles.js@0.2.0","https:/framerusercontent.com/modules/0FGMb16YHyLms7uyPaAH/uiNz4HGoeFhuXmRmChjk/Trustpilot.js","https:/framerusercontent.com/modules/RFM6zI5MxOiqwwNiQep4/2CcJhEanvh9oX5JHRkd8/send.js","https:/framerusercontent.com/modules/tfq8EDfrazNLXzc9LJte/hLcdFz4t8UjInDMvzq41/utils.js","https:/framerusercontent.com/modules/zvf2WTzc98u6EX2y7YDj/dsQTNWNk09IMnZEHMfzP/consent.js","https:/framerusercontent.com/modules/HKzIAGtbudIGLRAteuFH/Nhaar5CYKIbxxEaVvTJs/inEU.js","https:/framerusercontent.com/modules/0oeZpJVursioGAbwgB9e/atthcI0SmGvO4HAxG9e5/region.js","https:/framerusercontent.com/modules/EkwkxVF9vkTs720qqBC8/6ViXEDlSyuNyc0Na4Rzv/Banner.js","https:/framerusercontent.com/modules/GbX8S6ghmyszcS2GLR2F/LJki37UjB5KBVYI60fjt/Cookies.js","https:/framerusercontent.com/modules/q8toq7iGAX0BEmpuSoOK/ZnMobApAcwxwahsq1MNn/rUfzZINEI.js","https:/framerusercontent.com/modules/4AoTXC7sSmZT6N6r5X2G/VbtJXZmaTbwZPREliaGI/X5657tCnx.js","https:/framerusercontent.com/modules/c3MLnQT8KZy6KzJvrGPm/K7L2Vrz64icVWr5vP9gQ/siteMetadata.js"],"sourcesContent":["import { ControlType } from \"framer\"; export const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`; export const containerStyles = {position: \"relative\", width: \"100%\", height: \"100%\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\"}; export const emptyStateStyle = {...containerStyles, borderRadius: 6, background: \"rgba(136, 85, 255, 0.3)\", color: \"#85F\", border: \"1px dashed #85F\", flexDirection: \"column\"}; export const defaultEvents = {onClick: {type: ControlType.EventHandler}, onMouseEnter: {type: ControlType.EventHandler}, onMouseLeave: {type: ControlType.EventHandler}}; export const fontSizeOptions = {type: ControlType.Number, title: \"Font Size\", min: 2, max: 200, step: 1, displayStepper: true}; export const fontControls = {font: {type: ControlType.Boolean, title: \"Font\", defaultValue: false, disabledTitle: \"Default\", enabledTitle: \"Custom\"}, fontFamily: {type: ControlType.String, title: \"Family\", placeholder: \"Inter\", hidden: ({ font }) => { return !font; }}, fontWeight: {type: ControlType.Enum, title: \"Weight\", options: [100, 200, 300, 400, 500, 600, 700, 800, 900], optionTitles: [\"Thin\", \"Extra-light\", \"Light\", \"Regular\", \"Medium\", \"Semi-bold\", \"Bold\", \"Extra-bold\", \"Black\"], hidden: ({ font }) => { return !font; }}}; export const localeOptions = {af: \"Afrikaans\", sq: \"Albanian\", an: \"Aragonese\", ar: \"Arabic (Standard)\", \"ar-dz\": \"Arabic (Algeria)\", \"ar-bh\": \"Arabic (Bahrain)\", \"ar-eg\": \"Arabic (Egypt)\", \"ar-iq\": \"Arabic (Iraq)\", \"ar-jo\": \"Arabic (Jordan)\", \"ar-kw\": \"Arabic (Kuwait)\", \"ar-lb\": \"Arabic (Lebanon)\", \"ar-ly\": \"Arabic (Libya)\", \"ar-ma\": \"Arabic (Morocco)\", \"ar-om\": \"Arabic (Oman)\", \"ar-qa\": \"Arabic (Qatar)\", \"ar-sa\": \"Arabic (Saudi Arabia)\", \"ar-sy\": \"Arabic (Syria)\", \"ar-tn\": \"Arabic (Tunisia)\", \"ar-ae\": \"Arabic (U.A.E.)\", \"ar-ye\": \"Arabic (Yemen)\", hy: \"Armenian\", as: \"Assamese\", ast: \"Asturian\", az: \"Azerbaijani\", eu: \"Basque\", bg: \"Bulgarian\", be: \"Belarusian\", bn: \"Bengali\", bs: \"Bosnian\", br: \"Breton\", my: \"Burmese\", ca: \"Catalan\", ch: \"Chamorro\", ce: \"Chechen\", zh: \"Chinese\", \"zh-hk\": \"Chinese (Hong Kong)\", \"zh-cn\": \"Chinese (PRC)\", \"zh-sg\": \"Chinese (Singapore)\", \"zh-tw\": \"Chinese (Taiwan)\", cv: \"Chuvash\", co: \"Corsican\", cr: \"Cree\", hr: \"Croatian\", cs: \"Czech\", da: \"Danish\", nl: \"Dutch (Standard)\", \"nl-be\": \"Dutch (Belgian)\", en: \"English\", \"en-au\": \"English (Australia)\", \"en-bz\": \"English (Belize)\", \"en-ca\": \"English (Canada)\", \"en-ie\": \"English (Ireland)\", \"en-jm\": \"English (Jamaica)\", \"en-nz\": \"English (New Zealand)\", \"en-ph\": \"English (Philippines)\", \"en-za\": \"English (South Africa)\", \"en-tt\": \"English (Trinidad & Tobago)\", \"en-gb\": \"English (United Kingdom)\", \"en-us\": \"English (United States)\", \"en-zw\": \"English (Zimbabwe)\", eo: \"Esperanto\", et: \"Estonian\", fo: \"Faeroese\", fa: \"Farsi\", fj: \"Fijian\", fi: \"Finnish\", fr: \"French (Standard)\", \"fr-be\": \"French (Belgium)\", \"fr-ca\": \"French (Canada)\", \"fr-fr\": \"French (France)\", \"fr-lu\": \"French (Luxembourg)\", \"fr-mc\": \"French (Monaco)\", \"fr-ch\": \"French (Switzerland)\", fy: \"Frisian\", fur: \"Friulian\", gd: \"Gaelic (Scots)\", \"gd-ie\": \"Gaelic (Irish)\", gl: \"Galacian\", ka: \"Georgian\", de: \"German (Standard)\", \"de-at\": \"German (Austria)\", \"de-de\": \"German (Germany)\", \"de-li\": \"German (Liechtenstein)\", \"de-lu\": \"German (Luxembourg)\", \"de-ch\": \"German (Switzerland)\", el: \"Greek\", gu: \"Gujurati\", ht: \"Haitian\", he: \"Hebrew\", hi: \"Hindi\", hu: \"Hungarian\", is: \"Icelandic\", id: \"Indonesian\", iu: \"Inuktitut\", ga: \"Irish\", it: \"Italian (Standard)\", \"it-ch\": \"Italian (Switzerland)\", ja: \"Japanese\", kn: \"Kannada\", ks: \"Kashmiri\", kk: \"Kazakh\", km: \"Khmer\", ky: \"Kirghiz\", tlh: \"Klingon\", ko: \"Korean\", \"ko-kp\": \"Korean (North Korea)\", \"ko-kr\": \"Korean (South Korea)\", la: \"Latin\", lv: \"Latvian\", lt: \"Lithuanian\", lb: \"Luxembourgish\", mk: \"FYRO Macedonian\", ms: \"Malay\", ml: \"Malayalam\", mt: \"Maltese\", mi: \"Maori\", mr: \"Marathi\", mo: \"Moldavian\", nv: \"Navajo\", ng: \"Ndonga\", ne: \"Nepali\", no: \"Norwegian\", nb: \"Norwegian (Bokmal)\", nn: \"Norwegian (Nynorsk)\", oc: \"Occitan\", or: \"Oriya\", om: \"Oromo\", \"fa-ir\": \"Persian/Iran\", pl: \"Polish\", pt: \"Portuguese\", \"pt-br\": \"Portuguese (Brazil)\", pa: \"Punjabi\", \"pa-in\": \"Punjabi (India)\", \"pa-pk\": \"Punjabi (Pakistan)\", qu: \"Quechua\", rm: \"Rhaeto-Romanic\", ro: \"Romanian\", \"ro-mo\": \"Romanian (Moldavia)\", ru: \"Russian\", \"ru-mo\": \"Russian (Moldavia)\", sz: \"Sami (Lappish)\", sg: \"Sango\", sa: \"Sanskrit\", sc: \"Sardinian\", sd: \"Sindhi\", si: \"Singhalese\", sr: \"Serbian\", sk: \"Slovak\", sl: \"Slovenian\", so: \"Somani\", sb: \"Sorbian\", es: \"Spanish\", \"es-ar\": \"Spanish (Argentina)\", \"es-bo\": \"Spanish (Bolivia)\", \"es-cl\": \"Spanish (Chile)\", \"es-co\": \"Spanish (Colombia)\", \"es-cr\": \"Spanish (Costa Rica)\", \"es-do\": \"Spanish (Dominican Republic)\", \"es-ec\": \"Spanish (Ecuador)\", \"es-sv\": \"Spanish (El Salvador)\", \"es-gt\": \"Spanish (Guatemala)\", \"es-hn\": \"Spanish (Honduras)\", \"es-mx\": \"Spanish (Mexico)\", \"es-ni\": \"Spanish (Nicaragua)\", \"es-pa\": \"Spanish (Panama)\", \"es-py\": \"Spanish (Paraguay)\", \"es-pe\": \"Spanish (Peru)\", \"es-pr\": \"Spanish (Puerto Rico)\", \"es-es\": \"Spanish (Spain)\", \"es-uy\": \"Spanish (Uruguay)\", \"es-ve\": \"Spanish (Venezuela)\", sx: \"Sutu\", sw: \"Swahili\", sv: \"Swedish\", \"sv-fi\": \"Swedish (Finland)\", \"sv-sv\": \"Swedish (Sweden)\", ta: \"Tamil\", tt: \"Tatar\", te: \"Teluga\", th: \"Thai\", tig: \"Tigre\", ts: \"Tsonga\", tn: \"Tswana\", tr: \"Turkish\", tk: \"Turkmen\", uk: \"Ukrainian\", hsb: \"Upper Sorbian\", ur: \"Urdu\", ve: \"Venda\", vi: \"Vietnamese\", vo: \"Volapuk\", wa: \"Walloon\", cy: \"Welsh\", xh: \"Xhosa\", ji: \"Yiddish\", zu: \"Zulu\"}; export const __FramerMetadata__ = {exports: {defaultEvents: {type: \"variable\"}, fontStack: {type: \"variable\"}, emptyStateStyle: {type: \"variable\"}, fontControls: {type: \"variable\"}, localeOptions: {type: \"variable\"}, containerStyles: {type: \"variable\"}, fontSizeOptions: {type: \"variable\"}}}; ","import { useIsInCurrentNavigationTarget } from \"framer\"; import { useEffect } from \"react\"; export function useOnEnter (onEnter, enabled) { return useOnSpecificTargetChange(true, onEnter, enabled); }; export function useOnExit (onExit, enabled) { return useOnSpecificTargetChange(false, onExit, enabled); }; function useOnSpecificTargetChange (goal, callback, enabled = true) { const isInTarget = useIsInCurrentNavigationTarget(); useEffect(() => { if (enabled && isInTarget === goal) { callback() }; }, [isInTarget]); }; export const __FramerMetadata__ = {exports: {useOnEnter: {type: \"function\"}, useOnExit: {type: \"function\"}}}; ","import { useRef } from \"react\"; export function useConstant (init) { const ref = useRef(null); if (ref.current === null) { ref.current = init(); }; return ref.current; }; export const __FramerMetadata__ = {exports: {useConstant: {type: \"function\"}}}; ","import { Color } from \"framer\"; export function colorFromToken (color) { if (color.startsWith(\"var(--token-\")) { return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1] }; return color; }; export function colorTokentoValue (color) { return Color(colorFromToken(color)).toValue(); }; export const __FramerMetadata__ = {exports: {colorTokentoValue: {type: \"function\"}, colorFromToken: {type: \"function\"}}}; ","import { MotionValue } from \"framer\"; export const isMotionValue = (v) => { return v instanceof MotionValue; }; export const __FramerMetadata__ = {exports: {isMotionValue: {type: \"variable\"}}}; ","import * as React from \"react\"; const letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\"; const l = () => { return letters[Math.floor(Math.random() * letters.length)]; }; export const randomID = () => { return l() + l() + l() + l() + l() + l() + l() + l() + l(); }; function createUniqueClass (suffix) { return `framer-${suffix}-${randomID()}`; }; export function useUniqueClassName (suffix, deps) { const [className,setClassName] = React.useState(createUniqueClass(suffix)); React.useEffect(() => { setClassName(createUniqueClass(suffix)); }, [suffix, ...deps]); return className; }; export const __FramerMetadata__ = {exports: {randomID: {type: \"variable\"}, useUniqueClassName: {type: \"function\"}}}; ","import { ControlType } from \"framer\"; export function getVariantControls (Component, variant, additionalControls = {}) { return {[`${variant}TextColor`]: {type: ControlType.Color, title: \"Text Color\", defaultValue: Component.defaultProps[`${variant}TextColor`], hidden: (props) => { return props.variant !== variant; }}, [`${variant}IconColor`]: {type: ControlType.Color, title: \"Icon Color\", defaultValue: Component.defaultProps[`${variant}IconColor`], hidden: (props) => { return props.variant !== variant; }}, [`${variant}BackgroundColor`]: {type: ControlType.Color, title: \"Bg Color\", defaultValue: Component.defaultProps[`${variant}BackgroundColor`], hidden: (props) => { return props.variant !== variant; }}, [`${variant}BorderColor`]: {type: ControlType.Color, title: \"Border Color\", defaultValue: Component.defaultProps[`${variant}BorderColor`], hidden: (props) => { return props.variant !== variant; }}, [`${variant}BorderWidth`]: {type: ControlType.Number, title: \" \", min: 0, max: 5, displayStepper: true, defaultValue: Component.defaultProps[`${variant}BorderWidth`], hidden: (props) => { return props.variant !== variant; }}, ...additionalControls}; }; export const __FramerMetadata__ = {exports: {getVariantControls: {type: \"function\"}}}; ","import { useMemo } from \"react\"; export const isBrowserSafari = () => { if (typeof navigator !== `undefined`) { const userAgent = navigator.userAgent.toLowerCase(); const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0; return isSafari; } else { return false }; }; export const useIsBrowserSafari = () => { return useMemo(() => { return isBrowserSafari(); }, []); }; export const __FramerMetadata__ = {exports: {isBrowserSafari: {type: \"variable\"}, useIsBrowserSafari: {type: \"variable\"}}}; ","import { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/hD74nJZ8QftHAmwk3QMB/isMotionValue.js\"; import { useEffect } from \"react\"; export function useOnChange (value, callback) { useEffect(() => { return isMotionValue(value) ? value.onChange(callback) : undefined; }); }; export function useMultiOnChange (values, handler) { useEffect(() => { const subscriptions = values.map((value) => { return value.onChange(handler); }); return () => { return subscriptions.forEach((unsubscribe) => { return unsubscribe(); }); }; }); }; export const __FramerMetadata__ = {exports: {useOnChange: {type: \"function\"}, Subscriber: {type: \"tsType\"}, useMultiOnChange: {type: \"function\"}}}; ","import { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/hD74nJZ8QftHAmwk3QMB/isMotionValue.js\"; import { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/M5fttmqD6cHt7sJo18U0/useConstant.js\"; import { useCallback , useEffect , useRef } from \"react\"; import { motionValue , animate , RenderTarget } from \"framer\"; export function useAutoMotionValue (inputValue, options) { var ref; const optionsRef = useRef(options); const animation = useRef(); const didInitialMount = useRef(false); const isOnCanvas = RenderTarget.current() === RenderTarget.canvas; const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : []; const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [...onChangeDeps]); const transformer = useCallback((value) => { return ((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value; }, []); const value = useConstant(() => { return isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue)); }); useEffect(() => { if (!isMotionValue(inputValue) && didInitialMount.current) { var ref1, ref2; const newValue = transformer(inputValue); (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop(); if (onChange) { onChange(newValue, value) }; if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) { var ref3; animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition); } else { value.set(newValue); }; }; didInitialMount.current = true; }, [inputValue, ...onChangeDeps]); return value; }; export const __FramerMetadata__ = {exports: {useAutoMotionValue: {type: \"function\"}}}; ","import { fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/pGX59rXoC0HT59XwdE2E/constants.js\"; import { fontStore } from \"framer\"; import { useEffect } from \"react\"; const fontWeights = {100: \"Thin\", 200: \"Extra-light\", 300: \"Light\", 400: \"Regular\", 500: \"Medium\", 600: \"Semi-bold\", 700: \"Bold\", 800: \"Extra-bold\", 900: \"Black\"}; export function useFontControls (props) { const { fontFamily, fontSize, fontWeight, font } = props; const fontWeightName = fontWeights[fontWeight]; const customFontStack = `\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`; const fontFamilyStyle = fontFamily ? {fontSize, fontWeight, fontFamily: customFontStack} : {fontSize, fontWeight}; const fetchCustomFonts = async () => { await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`, `CUSTOM;${fontFamily} ${fontWeightName}`, `GF;${fontFamily}-${fontWeightName.toLowerCase()}`]).catch((e) => { return console.error(e); }); }; useEffect(() => { if (font) { fetchCustomFonts() }; }, [font, fontFamily, fontWeight]); return fontFamilyStyle; }; export const __FramerMetadata__ = {exports: {useFontControls: {type: \"function\"}}}; ","import { useMemo } from \"react\"; import { RenderTarget } from \"framer\"; export function useRenderTarget () { const currentRenderTarget = useMemo(() => { return RenderTarget.current(); }, []); return currentRenderTarget; }; export function useIsInPreview () { const inPreview = useMemo(() => { return RenderTarget.current() === RenderTarget.preview; }, []); return inPreview; }; export const __FramerMetadata__ = {exports: {useRenderTarget: {type: \"function\"}, useIsInPreview: {type: \"function\"}}}; ","import * as React from \"react\"; export function useControlledState (value) { const [controlledValue,setValue] = React.useState(value); React.useEffect(() => { setValue(value); }, [value]); return [controlledValue, setValue]; }; export const __FramerMetadata__ = {exports: {useControlledState: {type: \"function\"}}}; ","import { useMemo } from \"react\"; import { ControlType } from \"framer\"; export function useRadius (props) { const { borderRadius, isMixedBorderRadius, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius } = props; const radiusValue = useMemo(() => { return isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`; }, [borderRadius, isMixedBorderRadius, topLeftRadius, topRightRadius, bottomRightRadius, bottomLeftRadius]); return radiusValue; }; export const borderRadiusControl = {borderRadius: {title: \"Radius\", type: ControlType.FusedNumber, toggleKey: \"isMixedBorderRadius\", toggleTitles: [\"Radius\", \"Radius per corner\"], valueKeys: [\"topLeftRadius\", \"topRightRadius\", \"bottomRightRadius\", \"bottomLeftRadius\"], valueLabels: [\"TL\", \"TR\", \"BR\", \"BL\"], min: 0}}; export function usePadding (props) { const { padding, paddingPerSide, paddingTop, paddingRight, paddingBottom, paddingLeft } = props; const paddingValue = useMemo(() => { return paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding; }, [padding, paddingPerSide, paddingTop, paddingRight, paddingBottom, paddingLeft]); return paddingValue; }; export const paddingControl = {padding: {type: ControlType.FusedNumber, toggleKey: \"paddingPerSide\", toggleTitles: [\"Padding\", \"Padding per side\"], valueKeys: [\"paddingTop\", \"paddingRight\", \"paddingBottom\", \"paddingLeft\"], valueLabels: [\"T\", \"R\", \"B\", \"L\"], min: 0, title: \"Padding\"}}; export const __FramerMetadata__ = {exports: {PaddingProps: {type: \"tsType\"}, usePadding: {type: \"function\"}, paddingControl: {type: \"variable\"}, borderRadiusControl: {type: \"variable\"}, RadiusProps: {type: \"tsType\"}, useRadius: {type: \"function\"}}}; ","import { defaultEvents, localeOptions, fontControls, fontSizeOptions, emptyStateStyle, containerStyles, fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/pGX59rXoC0HT59XwdE2E/constants.js\";\nimport { useOnEnter, useOnExit } from \"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/hBlZg653Ysd6kjz7zLQR/useOnNavigationTargetChange.js\";\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/M5fttmqD6cHt7sJo18U0/useConstant.js\";\nimport { colorTokentoValue, colorFromToken } from \"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/P9C4xa5EyEV5QrWg6L16/colorFromToken.js\";\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/hD74nJZ8QftHAmwk3QMB/isMotionValue.js\";\nimport { useUniqueClassName, randomID } from \"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/xj83Fugl9PimBxSG0Mqo/useUniqueClassName.js\";\nimport { getVariantControls } from \"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/nacLjsTMn32cMNAw9Zfm/variantUtils.js\";\nimport { useIsBrowserSafari } from \"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/1OOG8WmiJmFKh6mvmfrV/isBrowser.js\";\nimport { useMultiOnChange, useOnChange } from \"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/5DVyfdzmPxtXf0YHiZCB/useOnChange.js\";\nimport { mstoMinAndSec, secondsToMinutes } from \"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/Or5DTpBHTVgiuIwcqaiU/time.js\";\nimport { useAutoMotionValue } from \"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/Iy0HwLMS0wA3yltSv2VO/useAutoMotionValue.js\";\nimport { useFontControls } from \"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/1ROHI8D9Isp5lwLhCj5v/useFontControls.js\";\nimport { useRenderTarget, useIsInPreview } from \"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/cEFVyEx9T01KOFOsOKOU/useRenderTarget.js\";\nimport { useControlledState } from \"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/gdTelnbTEhE4YcdtjFBZ/useControlledState.js\";\nimport { usePadding, useRadius, paddingControl, borderRadiusControl } from \"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/6PUrw5LusdRrh9u1cVlt/propUtils.js\";\nimport { detectAutoSizingAxis } from \"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/Ta42E9MFTVAqkmTOO9Yu/detectAutoSizingAxis.js\";\nexport { useOnEnter, useOnExit, defaultEvents, isMotionValue, colorFromToken, colorTokentoValue, localeOptions, fontControls, fontSizeOptions, emptyStateStyle, containerStyles, fontStack, useUniqueClassName, getVariantControls, useIsBrowserSafari, randomID, useConstant, useMultiOnChange, useOnChange, usePadding, useRadius, paddingControl, borderRadiusControl, mstoMinAndSec, useFontControls, secondsToMinutes, useAutoMotionValue, useRenderTarget, useIsInPreview, useControlledState, detectAutoSizingAxis,  };\n\nexport const __FramerMetadata__ = {\"exports\":{\"usePadding\":{\"type\":\"variable\"},\"colorFromToken\":{\"type\":\"variable\"},\"useConstant\":{\"type\":\"variable\"},\"isMotionValue\":{\"type\":\"variable\"},\"useControlledState\":{\"type\":\"variable\"},\"useRenderTarget\":{\"type\":\"variable\"},\"defaultEvents\":{\"type\":\"variable\"},\"useIsInPreview\":{\"type\":\"variable\"},\"colorTokentoValue\":{\"type\":\"variable\"},\"useRadius\":{\"type\":\"variable\"},\"randomID\":{\"type\":\"variable\"},\"fontStack\":{\"type\":\"variable\"},\"fontSizeOptions\":{\"type\":\"variable\"},\"useOnExit\":{\"type\":\"variable\"},\"localeOptions\":{\"type\":\"variable\"},\"borderRadiusControl\":{\"type\":\"variable\"},\"mstoMinAndSec\":{\"type\":\"variable\"},\"containerStyles\":{\"type\":\"variable\"},\"fontControls\":{\"type\":\"variable\"},\"useOnChange\":{\"type\":\"variable\"},\"useAutoMotionValue\":{\"type\":\"variable\"},\"paddingControl\":{\"type\":\"variable\"},\"useOnEnter\":{\"type\":\"variable\"},\"useMultiOnChange\":{\"type\":\"variable\"},\"emptyStateStyle\":{\"type\":\"variable\"},\"detectAutoSizingAxis\":{\"type\":\"variable\"},\"getVariantControls\":{\"type\":\"variable\"},\"secondsToMinutes\":{\"type\":\"variable\"},\"useFontControls\":{\"type\":\"variable\"},\"useIsBrowserSafari\":{\"type\":\"variable\"},\"useUniqueClassName\":{\"type\":\"variable\"}}}","import{useEffect,useLayoutEffect,useRef}from\"react\";const noop=(..._args)=>{};const useBrowserLayoutEffect=typeof window!==\"undefined\"?useLayoutEffect:noop;export function Title({children}){useBrowserLayoutEffect(()=>{if(!children)return;document.title=children;},[children]);return null;}export function Meta({name,property,content}){const ref=useRef(null);useBrowserLayoutEffect(()=>{if(!content||!name&&!property)return;let needsCleanup=false;const attribute=property?\"property\":\"name\";const identifier=property!==null&&property!==void 0?property:name;var ref1;let element=(ref1=ref===null||ref===void 0?void 0:ref.current)!==null&&ref1!==void 0?ref1:document.querySelector(`meta[${attribute}=\"${identifier}\"]`);if(!element){needsCleanup=true;element=document.createElement(\"meta\");element.setAttribute(attribute,identifier);document.head.appendChild(element);}if(needsCleanup)ref.current=element;element.setAttribute(\"content\",content);},[name,property,content]);useEffect(()=>()=>{if(ref.current){document.head.removeChild(ref.current);}},[]);return null;}export function Link({rel,href}){const ref6=useRef(null);useBrowserLayoutEffect(()=>{if(!href)return;let needsCleanup=false;var ref7;let element=(ref7=ref6===null||ref6===void 0?void 0:ref6.current)!==null&&ref7!==void 0?ref7:document.querySelector(`link[rel=\"${rel}\"]`);if(!element){needsCleanup=true;element=document.createElement(\"link\");element.setAttribute(\"rel\",rel);document.head.appendChild(element);}if(needsCleanup)ref6.current=element;element.setAttribute(\"href\",href);},[rel,href]);useEffect(()=>()=>{if(ref6.current){document.head.removeChild(ref6.current);}},[]);return null;}export function Script({content,src,async,defer,type,onLoad}){const ref6=useRef(null);useBrowserLayoutEffect(()=>{if(!content&&!src)return;let needsCleanup=false;var ref8;let element=(ref8=ref6===null||ref6===void 0?void 0:ref6.current)!==null&&ref8!==void 0?ref8:document.querySelector(`script[src=\"${src}\"]`);if(!element){needsCleanup=true;element=document.createElement(\"script\");}if(async)element.async=async;if(defer)element.defer=defer;if(type)element.type=type;if(src){element.setAttribute(\"src\",src);}else{element.innerHTML=content;}if(onLoad){element.onload=onLoad;}if(needsCleanup){ref6.current=element;document.head.appendChild(element);}},[content,src,async,defer,type,onLoad]);useEffect(()=>()=>{if(ref6.current){document.head.removeChild(ref6.current);}},[]);return null;}\nexport const __FramerMetadata__ = {\"exports\":{\"Title\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Meta\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Link\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Script\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./Head.map","import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport { fontStore } from \"framer\";\nimport { useEffect } from \"react\";\n// @ts-ignore\nimport { fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";\nconst fontWeights = {\n    100: \"Thin\",\n    200: \"Extra-light\",\n    300: \"Light\",\n    400: \"Regular\",\n    500: \"Medium\",\n    600: \"Semi-bold\",\n    700: \"Bold\",\n    800: \"Extra-bold\",\n    900: \"Black\"\n};\nexport function useFontControls(props) {\n    const { fontFamily , fontSize , fontWeight , font  } = props;\n    const fontWeightName = fontWeights[fontWeight];\n    const customFontStack = `\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;\n    const fontFamilyStyle = fontFamily ? {\n        fontSize,\n        fontWeight,\n        fontFamily: customFontStack\n    } : {\n        fontSize,\n        fontWeight\n    };\n    const fetchCustomFonts = async ()=>{\n        await fontStore.loadWebFontsFromSelectors([\n            `CUSTOM;${fontFamily}`,\n            `CUSTOM;${fontFamily} ${fontWeightName}`,\n            `GF;${fontFamily}-${fontWeightName.toLowerCase()}`, \n        ]).catch((e)=>console.error(e)\n        );\n    };\n    useEffect(()=>{\n        if (font) fetchCustomFonts();\n    }, [\n        font,\n        fontFamily,\n        fontWeight\n    ]);\n    return fontFamilyStyle;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import { defaultEvents, localeOptions, fontControls, fontSizeOptions, emptyStateStyle, containerStyles, fontStack } from \"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";\nimport { useOnEnter, useOnExit } from \"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nimport { colorTokentoValue, colorFromToken } from \"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nimport { useUniqueClassName, randomID } from \"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";\nimport { getVariantControls } from \"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";\nimport { useIsBrowserSafari } from \"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";\nimport { useMultiOnChange, useOnChange } from \"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";\nimport { mstoMinAndSec, secondsToMinutes } from \"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";\nimport { useAutoMotionValue } from \"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";\nimport { useFontControls } from \"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/tTLhbOFToDhKcwOVmn8E/useFontControls.js\";\nimport { useRenderTarget, useIsInPreview } from \"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/AAh30yXzt1DUsOi1YwUY/useRenderTarget.js\";\nimport { useControlledState } from \"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";\nimport { usePadding, useRadius, paddingControl, borderRadiusControl } from \"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";\nimport { detectAutoSizingAxis } from \"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";\nexport { useOnEnter, useOnExit, defaultEvents, isMotionValue, colorFromToken, colorTokentoValue, localeOptions, fontControls, fontSizeOptions, emptyStateStyle, containerStyles, fontStack, useUniqueClassName, getVariantControls, useIsBrowserSafari, randomID, useConstant, useMultiOnChange, useOnChange, usePadding, useRadius, paddingControl, borderRadiusControl, mstoMinAndSec, useFontControls, secondsToMinutes, useAutoMotionValue, useRenderTarget, useIsInPreview, useControlledState, detectAutoSizingAxis,  };\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","import{containerStyles,emptyStateStyle as defaultEmptyStateStyle}from\"https://framer.com/m/framer/default-utils.js@^0.43.0\";export const emptyStateStyle={...containerStyles,...defaultEmptyStateStyle,textAlign:\"center\",padding:15,width:200,height:100,overflow:\"hidden\"};export const neutralStateStyle={...emptyStateStyle,color:\"#09f\",background:\"rgb(0, 153, 255, 0.1)\",borderColor:\"#09f\"};export const stateTitleStyle={fontSize:12,fontWeight:600,margin:0};export const stateParagraphStyle={fontSize:12,maxWidth:200,lineHeight:1.4,margin:\"5px 0 0 0\"};\nexport const __FramerMetadata__ = {\"exports\":{\"neutralStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stateTitleStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stateParagraphStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./styles.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{motion}from\"framer-motion\";import{containerStyles}from\"https://framer.com/m/framer/default-utils.js@0.42.0\";import{useCallback,useState,useRef,useEffect}from\"react\";import*as Head from\"https://framer.com/m/Head-KL6Y.js@0DJ9VAp4ohq4RF96KF6A\";import{emptyStateStyle,stateParagraphStyle,stateTitleStyle}from\"https://framer.com/m/framer/integrations-styles.js@0.2.0\";const TEMPLATE_MICRO_REVIEW_COUNT=\"5419b6a8b0d04a076446a9ad\";const TEMPLATE_REVIEW_COLLECTOR=\"56278e9abfbbba0bdcd568bc\";const languages={\"en-US\":\"English\",\"de-DE\":\"German\",\"es-ES\":\"Spanish\",\"fr-FR\":\"French\",\"nl-NL\":\"Dutch\",\"it-IT\":\"Italian\",\"ja-JP\":\"Japanese\",\"pt-PT\":\"Portuguese\",\"ru-RU\":\"Russian\"};const templates={count:TEMPLATE_MICRO_REVIEW_COUNT,button:TEMPLATE_REVIEW_COLLECTOR};function useForceUpdate(){const[,dispatch]=useState(Object.create(null));const memoizedDispatch=useCallback(()=>{dispatch(Object.create(null));},[dispatch]);return memoizedDispatch;}/**\n * TRUSTPILOT\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 100\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n */ export default function Trustpilot({businessId,type,language,theme,minimumReviewCount,style,...props}){const ref=useRef(null);const forceUpdate=useForceUpdate();const initializeTrustpilot=useCallback(()=>{if((window===null||window===void 0?void 0:window.Trustpilot)&&(ref===null||ref===void 0?void 0:ref.current)&&businessId){var ref1;window===null||window===void 0?void 0:(ref1=window.Trustpilot)===null||ref1===void 0?void 0:ref1.loadFromElement(ref.current,true);}},[businessId]);const handleScriptLoading=useCallback(()=>{forceUpdate();initializeTrustpilot();},[initializeTrustpilot]);useEffect(initializeTrustpilot,[businessId,theme,language,type,minimumReviewCount,]);return businessId?/*#__PURE__*/ _jsx(motion.div,{style:{...containerStyles,width:200,height:54,...style},ref:ref,className:\"trustpilot-widget\",\"data-locale\":language,\"data-template-id\":templates[type],\"data-style-height\":\"54px\",\"data-style-width\":\"100%\",\"data-businessunit-id\":businessId,\"data-min-review-count\":minimumReviewCount,\"data-theme\":theme,...props,children:/*#__PURE__*/ _jsx(Head.Script,{src:\"https://widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js\",onLoad:handleScriptLoading,async:true})}):/*#__PURE__*/ _jsxs(motion.div,{style:{...emptyStateStyle,...style},...props,children:[/*#__PURE__*/ _jsx(\"h1\",{style:stateTitleStyle,children:\"Trustpilot\"}),/*#__PURE__*/ _jsx(\"p\",{style:stateParagraphStyle,children:\"Set a business ID in the Properties.\"})]});};addPropertyControls(Trustpilot,{businessId:{title:\"ID\",type:ControlType.String,placeholder:\"1234abcd5678efgh\",description:\"Create a [Trustpilot](https://www.trustpilot.com/) account and copy your business ID.\"},type:{title:\"Type\",type:ControlType.Enum,options:[\"count\",\"button\"],optionTitles:[\"Count\",\"Button\"],displaySegmentedControl:true,defaultValue:\"count\"},language:{title:\"Language\",type:ControlType.Enum,options:Object.keys(languages),optionTitles:Object.values(languages),defaultValue:\"en-US\"},theme:{title:\"Theme\",type:ControlType.Enum,options:[\"light\",\"dark\"],optionTitles:[\"Light\",\"Dark\"],displaySegmentedControl:true,defaultValue:\"light\",hidden:({type})=>type===\"button\"},minimumReviewCount:{title:\"Minimum\",type:ControlType.Enum,options:[undefined,10,20,50],optionTitles:[\"None\",\"10 reviews\",\"20 reviews\",\"50 reviews\"],defaultValue:10,hidden:({type})=>type===\"button\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Trustpilot\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"100\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Trustpilot.map","import{isBrowser}from\"framer-motion\";export const DEFAULT_DOMAIN=\"https://www.googletagmanager.com\";export const DEFAULT_SCRIPT_NAME=\"gtm.js\";/**\n * Function to get and set dataLayer\n * @param dataLayer - The dataLayer\n * @param dataLayerName - The dataLayer name\n */const getDataLayerSnippet=(dataLayer,dataLayerName=\"dataLayer\")=>`window['${dataLayerName}']=window['${dataLayerName}']||[];`+(dataLayer?`window['${dataLayerName}'].push(${JSON.stringify(dataLayer)});`:\"\")+`window['${dataLayerName}'].push({'gtm.start':new Date().getTime(),event:'gtm.js'})`;/**\n * Function to get the GTM script\n * @param dataLayerName - The name of the dataLayer\n * @param customDomain - Custom domain for gtm\n * @param customScriptName - Custom script file name for gtm\n * @param environment - The parameters to use a custom environment\n * @param id - The id of the container\n */const getGTMScript=(dataLayerName,id,environment,customDomain=DEFAULT_DOMAIN,customScriptName=DEFAULT_SCRIPT_NAME)=>{let params=\"\";if(environment){const{gtm_auth,gtm_preview}=environment;params=`&gtm_auth=${gtm_auth}&gtm_preview=${gtm_preview}&gtm_cookies_win=x`;}return`${customDomain}/${customScriptName}?id=${id}${dataLayerName===\"dataLayer\"?\"\":`&l=${dataLayerName}`}${params}`;};/**\n * Function to setup the Google Tag Manager\n * @param params - The snippets params\n */const setupGTM=params=>{const getDataLayerScript=()=>{const dataLayerScript=document.createElement(\"script\");if(params.nonce){dataLayerScript.setAttribute(\"nonce\",params.nonce);}dataLayerScript.innerHTML=getDataLayerSnippet(params.dataLayer,params.dataLayerName);return dataLayerScript;};const getScript=()=>{const script=document.createElement(\"script\");if(params.nonce){script.setAttribute(\"nonce\",params.nonce);}script.src=getGTMScript(params.dataLayerName,params.id,params.environment,params.customDomain,params.customScriptName);script.crossOrigin=\"anonymous\"// allows for more detailed INP collection\n;return script;};return{getDataLayerScript,getScript};};/**\n * Function to init the GTM\n * @param dataLayer - The dataLayer\n * @param dataLayerName - The dataLayer name\n * @param environment - Specify the custom environment to use\n * @param nonce - Server-generated nonce\n * @param id - The ID of the GTM\n */export const initGTM=({dataLayer,dataLayerName,environment,nonce,id,customDomain,customScriptName})=>{const gtm=setupGTM({dataLayer,dataLayerName,environment,nonce,id,customDomain,customScriptName});const dataLayerScript=gtm.getDataLayerScript();const script=gtm.getScript();document.head.append(dataLayerScript,script);};export function sendToGTM(){if(isBrowser){window[\"dataLayer\"]=window[\"dataLayer\"]||[];window[\"dataLayer\"].push(arguments);}}\nexport const __FramerMetadata__ = {\"exports\":{\"DEFAULT_DOMAIN\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_SCRIPT_NAME\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"initGTM\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"sendToGTM\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./send.map","import{isBrowser}from\"framer-motion\";import{useLayoutEffect}from\"react\";export const DEFAULT_FONT_FAMILY=`\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;export function getFlexboxValues(position){const positionParts=position.split(\"-\");let justifyContent,alignItems;switch(positionParts[0]){case\"top\":alignItems=\"flex-start\";break;case\"bottom\":alignItems=\"flex-end\";break;case\"center\":alignItems=\"center\";break;default:alignItems=\"initial\";break;}switch(positionParts[1]){case\"left\":justifyContent=\"flex-start\";break;case\"right\":justifyContent=\"flex-end\";break;case\"center\":justifyContent=\"center\";break;default:justifyContent=\"initial\";break;}return{justifyContent,alignItems};}export function getMultipleShadows(...shadows){const output=[];shadows.forEach(shadow=>{return shadow&&output.push(shadow);});return output.join(\", \");}export function getShadow(shadow){if(shadow){return`${shadow.shadowX}px ${shadow.shadowY}px ${shadow.shadowBlur}px ${shadow.shadowColor}`;}else return null;}export function safeJSONParse(jsonString,onError){try{return JSON.parse(jsonString);}catch{if(onError)onError();}}export const getCookie=(name,cookies)=>{cookies=cookies?cookies:isBrowser?document.cookie:\"\";var _cookies_match;const[,,cookie]=(_cookies_match=cookies.match(`(^|;) ?${name}=([^;]*)(;|$)`))!==null&&_cookies_match!==void 0?_cookies_match:[null,null,null];return cookie;};/**\n * Yields to main thread before continuing execution, which might allow the browser to paint.\n * If `options.priority` is 'user-blocking', it will asynchronously resolve in older browsers.\n * @param {object} options - see https://github.com/WICG/scheduling-apis/blob/main/explainers/yield-and-continuation.md\n * @see interactionResponse for guaranteeing execution after a paint\n */export function yieldToMain(options){if(\"scheduler\"in window){if(\"yield\"in scheduler)return scheduler.yield(options);if(\"postTask\"in scheduler)return scheduler.postTask(()=>{},options);}if((options===null||options===void 0?void 0:options.priority)===\"user-blocking\"){// `setTimeout` could suffer from being delayed for longer: https://developer.chrome.com/blog/introducing-scheduler-yield-origin-trial#the_problem_with_current_yielding_strategies\n// so for browsers not supporting yield, we guarantee execution for high priority actions, but this does not create space for a paint opportunity as trade-off.\nreturn Promise.resolve();}return new Promise(resolve=>{setTimeout(resolve);});}/**\n * Helper function for `yieldToMain`, which yields before calling `fn`.\n * @see yieldToMain\n */export async function yieldBeforeCb(fn,options){await yieldToMain(options);return fn();}/**\n * Similar to `yieldToMain`, but also waits for the next animation frame before yielding (with a fallback of 100ms if the animation frame never fires).\n * Compared to `yieldToMain`, it guarantees improved INP, but might make processing a little slower. Use only if necessary.\n * @see yieldToMain\n */export function interactionResponse(options){return new Promise(resolve=>{setTimeout(resolve,200)// Fallback for the case where the animation frame never fires.\n;requestAnimationFrame(()=>{void yieldBeforeCb(resolve,options);});});}/**\n * Runs `fn` after the next paint. Similar to `useEffect`, but *guarantees* that the function is run after the next paint.\n * @important Does not support a cleanup fn.\n * @see https://thoughtspile.github.io/2021/11/15/unintentional-layout-effect/\n */export function useAfterPaintEffect(fn,deps,options){useLayoutEffect(()=>{const runAfterPaint=async()=>{await interactionResponse(options);fn();};void runAfterPaint();// eslint-disable-next-line react-hooks/exhaustive-deps -- deps are passed in\n},deps);}\nexport const __FramerMetadata__ = {\"exports\":{\"useAfterPaintEffect\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCookie\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeJSONParse\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFlexboxValues\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"yieldBeforeCb\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getShadow\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMultipleShadows\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FlexboxPosition\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"yieldToMain\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"interactionResponse\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_FONT_FAMILY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","import{useIsOnFramerCanvas}from\"framer\";import{isBrowser}from\"framer-motion\";import{useEffect,useReducer,useState,startTransition}from\"react\";import{initGTM,sendToGTM}from\"https://framerusercontent.com/modules/RFM6zI5MxOiqwwNiQep4/2CcJhEanvh9oX5JHRkd8/send.js\";import{safeJSONParse,yieldBeforeCb}from\"https://framerusercontent.com/modules/tfq8EDfrazNLXzc9LJte/hLcdFz4t8UjInDMvzq41/utils.js\";function toGTMConsent(consent){return{functionality_storage:consent.necessary?\"granted\":\"denied\",security_storage:consent.necessary?\"granted\":\"denied\",ad_storage:consent.marketing?\"granted\":\"denied\",ad_user_data:consent.marketing?\"granted\":\"denied\",ad_personalization:consent.marketing?\"granted\":\"denied\",analytics_storage:consent.analytics?\"granted\":\"denied\",personalization_storage:consent.preferences?\"granted\":\"denied\"};}function fromGTMConsent(consent){return{necessary:consent.functionality_storage===\"granted\"&&consent.security_storage===\"granted\",marketing:consent.ad_storage===\"granted\"&&consent.ad_user_data===\"granted\"&&consent.ad_personalization===\"granted\",analytics:consent.analytics_storage===\"granted\",preferences:consent.personalization_storage===\"granted\"};}function reducer(state,action){switch(action.type){case\"autoAccept\":return{...state,sync:true,autoAccepted:true,modes:{analytics:true,marketing:true,necessary:true,preferences:true}};case\"acceptAll\":return{...state,sync:true,dismissed:true,modes:{analytics:true,marketing:true,necessary:true,preferences:true}};case\"rejectAll\":return{...state,sync:true,dismissed:true,modes:{analytics:false,marketing:false,necessary:false,preferences:false}};case\"acceptCurrent\":return{...state,dismissed:true,sync:true};case\"update\":return{...state,modes:{...state.modes,...action.modes},sync:action.sync};case\"toggle\":return{...state,modes:{...state.modes,[action.mode]:!state.modes[action.mode]}};case\"initFromLocalStorage\":return{...state,modes:action.modes,dismissed:action.dismissed,autoAccepted:action.autoAccepted,initializedFromLocalStorage:true,sync:true};case\"initFromGTM\":return{...state,modes:action.modes,initializedFromGTM:true};case\"dismiss\":return{...state,dismissed:true};case\"synced\":return{...state,sync:false,hasSynced:state.hasSynced||action.success};default:return state;}}const initialState={dismissed:false,autoAccepted:false,modes:null,sync:false,initializedFromLocalStorage:false,initializedFromGTM:false,hasSynced:false};export const defaultConsent={necessary:false,analytics:false,marketing:false,preferences:false};// Keep track of if GTM has been loaded as a script and default consent has been set,\n// to ensure the script does not keep appending between page switches.\nlet hasInitializedGTM=false;export function useConsent({gtmId,defaultConsent,gtmLoadedExternally=false,defaultsFromGTM=false}){const[state,dispatch]=useReducer(reducer,initialState);const isOnFramerCanvas=useIsOnFramerCanvas();const consentModeLocalStorageKey=\"framerCookiesConsentMode\";const dismissedLocalStorageKey=\"framerCookiesDismissed\";const autoAcceptedLocalStorageKey=\"framerCookiesAutoAccepted\";function getStateFromLocalStorage(){const consentFromLocalStorage=localStorage.getItem(consentModeLocalStorageKey);const dismissedFromLocalStorage=localStorage.getItem(dismissedLocalStorageKey);const autoAcceptedFromLocalStorage=localStorage.getItem(autoAcceptedLocalStorageKey);const isDismissed=dismissedFromLocalStorage!==null;const isAutoAccepted=autoAcceptedFromLocalStorage!==null;const hasConsentInLocalStorage=consentFromLocalStorage!==null;const consentInLocalStorageIsNotDefault=isDismissed||isAutoAccepted;const shouldLoadConsentFromLocalStorage=hasConsentInLocalStorage&&consentInLocalStorageIsNotDefault;dispatch({type:\"initFromLocalStorage\",dismissed:isDismissed,autoAccepted:isAutoAccepted,modes:shouldLoadConsentFromLocalStorage?safeJSONParse(consentFromLocalStorage,()=>localStorage.removeItem(consentModeLocalStorageKey)):defaultConsent});}function syncToGTM(){if(gtmId){if(!hasInitializedGTM&&!gtmLoadedExternally&&!defaultsFromGTM){// This is the first time we sync consent, so we save it as \"default\" and initialize tag manager.\n// This order is important, because we need to have set the default consent BEFORE we initialize\n// GTM. See https://developers.google.com/tag-platform/devguides/consent?tab=tag-manager&sjid=11348191096952324675-EU#implementation_example\n// It might seem weird that we're \"sending\" before initializing, but \"sending\" here means building up\n// the \"dataLayer\" object that GTM picks up when it initializes.\nsendToGTM(\"consent\",\"default\",toGTMConsent(state.modes));initGTM({dataLayer:undefined,dataLayerName:\"dataLayer\",environment:undefined,nonce:undefined,injectScript:true,id:gtmId});hasInitializedGTM=true;}else{hasInitializedGTM=true;sendToGTM(\"consent\",\"update\",toGTMConsent(state.modes));// must be sent like this or else GTM doesn't act on it(?)\n// Publically documented: https://www.framer.com/academy/lessons/cookie-banner-component#:~:text=Run%20a%20Tag%20After%20The%20Consent%20Update\nwindow.dataLayer.push({event:\"cookie_consent_update\"});}}}useEffect(()=>{if(isOnFramerCanvas)return;if(!defaultsFromGTM)return;if(defaultConsent===null)return;if(state.initializedFromGTM)return;if(state.modes!==null)return;// State was already set (from localStorage)\nyieldBeforeCb(()=>{dispatch({type:\"initFromGTM\",modes:defaultConsent});},{priority:\"user-blocking\"});},[defaultsFromGTM,defaultConsent,state.initializedFromGTM,state.modes]);useEffect(()=>{if(isOnFramerCanvas)return;yieldBeforeCb(()=>getStateFromLocalStorage(),{priority:\"user-blocking\"});},[]);// Anytime the dismissed value is updated, we need to persist it in local storage.\nuseEffect(()=>{if(isOnFramerCanvas)return;if(state.dismissed){localStorage.setItem(dismissedLocalStorageKey,\"true\");}},[state.dismissed]);// Anytime consent is auto accepted, we need to persist it in local storage.\nuseEffect(()=>{if(isOnFramerCanvas)return;if(state.autoAccepted){localStorage.setItem(autoAcceptedLocalStorageKey,\"true\");}},[state.autoAccepted]);// Sync data to dataLayer and localStorage.\nuseEffect(()=>{if(isOnFramerCanvas)return;if(!state.sync)return;const shouldSync=isBrowser&&state.modes!==null;yieldBeforeCb(()=>{if(!shouldSync){dispatch({type:\"synced\",success:false});return;}// else\nsyncToGTM();// Save locally\nlocalStorage.setItem(consentModeLocalStorageKey,JSON.stringify(state.modes));dispatch({type:\"synced\",success:true});},{priority:\"user-blocking\"});},[state.sync,state.modes]);function dismiss(){dispatch({type:\"dismiss\"});localStorage.setItem(dismissedLocalStorageKey,\"true\");}function autoAccept(){dispatch({type:\"autoAccept\"});}function acceptAll(){dispatch({type:\"acceptAll\"});}function rejectAll(){dispatch({type:\"rejectAll\"});}function acceptCurrent(){dispatch({type:\"acceptCurrent\"});}function toggleMode(mode){dispatch({type:\"toggle\",mode});}return{modes:state.modes,isInitialized:state.hasSynced||state.initializedFromGTM,isDismissed:state.dismissed,isAutoAccepted:state.autoAccepted,dismiss,autoAccept,acceptAll,rejectAll,acceptCurrent,toggleMode};}////////////////////////////////////////////////////////////////////////////////\nconst PROMISE_NAME=\"__framer_cookieBannerDefaultConsentPromise\";// NOTE: Error can be ignored, because of `isBrowser`\nconst gtmSetsDefaultConsent=isBrowser&&!!window[PROMISE_NAME];export function useGTMDefaultConsent(){const[consent,setConsent]=useState(null);useEffect(()=>{if(!gtmSetsDefaultConsent)return;window[PROMISE_NAME].then(result=>{startTransition(()=>{setConsent(result);});});},[]);// Simplified region to use for the cookie banner\nlet region;if(consent){region=Object.values(consent).every(v=>v===\"granted\")?\"World\":\"EU\";}return{available:gtmSetsDefaultConsent,consent:consent?fromGTMConsent(consent):null,region};}\nexport const __FramerMetadata__ = {\"exports\":{\"ConsentModeName\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useGTMDefaultConsent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ConsentModes\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useConsent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultConsent\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./consent.map","// Check if visitor is in EU\nconst countries=[\"BE\",\"EL\",\"LT\",\"PT\",\"BG\",\"ES\",\"LU\",\"RO\",\"CZ\",\"FR\",\"RE\",\"GP\",\"MQ\",\"GF\",\"YT\",\"BL\",\"MF\",\"PM\",\"WF\",\"PF\",\"NC\",\"HU\",\"SI\",\"DK\",\"FO\",\"GL\",\"HR\",\"MT\",\"SK\",\"DE\",\"IT\",\"NL\",\"AW\",\"CW\",\"SX\",\"FI\",\"AX\",\"EE\",\"CY\",\"AT\",\"SE\",\"IE\",\"LV\",\"PL\",\"UK\",\"GB\",\"AI\",\"BM\",\"IO\",\"VG\",\"KY\",\"FK\",\"GI\",\"MS\",\"PN\",\"SH\",\"TC\",\"GG\",\"JE\",\"IM\"];const isInEUTimezone=()=>{return Intl?.DateTimeFormat()?.resolvedOptions()?.timeZone?.startsWith(\"Europe\");};const isEULocale=()=>{const locale=navigator.language??navigator.languages?.[0];return countries.some(country=>locale?.toUpperCase()?.includes(country));};let _inEU=null;export const inEU=()=>{if(_inEU===null)_inEU=isInEUTimezone()||isEULocale();return _inEU;};\nexport const __FramerMetadata__ = {\"exports\":{\"inEU\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./inEU.map","import{isBrowser}from\"framer-motion\";import{inEU}from\"https://framerusercontent.com/modules/HKzIAGtbudIGLRAteuFH/Nhaar5CYKIbxxEaVvTJs/inEU.js\";export function useRegion({content,useRegionFromProps,skipEUCheck,regionFromGTM}){const isInEUBasedOnLocation=isBrowser&&!skipEUCheck&&!regionFromGTM?inEU():false;const regionBasedOnLocation=isInEUBasedOnLocation?\"EU\":\"World\";const regionFromProps=content.isEU?\"EU\":\"World\";const regionContent={EU:{title:content.euTitle,description:content.euDescription,type:content.euType,defaults:content.euDefaults,policy:content.euPolicy,blocking:content.euBlocking,showReject:content.euType===\"advanced\"?content.euShowReject:true},World:{title:content.worldTitle,description:content.worldDescription,type:content.worldType,defaults:content.worldDefaults,policy:content.worldPolicy,blocking:content.worldBlocking,showReject:content.worldType===\"advanced\"?content.worldShowReject:true}};return regionContent[regionFromGTM?regionFromGTM:useRegionFromProps?regionFromProps:regionBasedOnLocation];}\nexport const __FramerMetadata__ = {\"exports\":{\"RegionContent\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RegionType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRegion\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./region.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useState,lazy,Suspense}from\"react\";import{withCSS}from\"framer\";import{AnimatePresence,motion}from\"framer-motion\";import{DEFAULT_FONT_FAMILY,getMultipleShadows,getShadow}from\"https://framerusercontent.com/modules/tfq8EDfrazNLXzc9LJte/hLcdFz4t8UjInDMvzq41/utils.js\";const SPACING=20;// if you update the Toggle component inside this project, copy the new URL to here:\nconst Toggle=/*#__PURE__*/lazy(()=>import(\"https://framerusercontent.com/modules/QDCSmi7dYWSK5AcRSFyX/iWVjq9atvKQLvxgv6qiM/Blf0sjosZ.js\"));export const Banner=withCSS(function Banner({banner,button,region,options,previewOptions,consentModes,onDismiss,onAcceptAll,onRejectAll,onAcceptCurrent,onToggleConsent,animateOnMount}){const maxHeightReduction=banner.insetPerSide?banner.insetTop+banner.insetBottom:banner.inset*2;const linkColor=banner.style.link||button.primary.fill;const paddingValue=banner.paddingPerSide?`${banner.paddingTop}px ${banner.paddingRight}px ${banner.paddingBottom}px ${banner.paddingLeft}px`:`${banner.padding}px`;const bannerShadow=getShadow(banner.style.shadow);const borderShadow=banner.style.border?.width?`inset 0 0 0 ${banner.style.border.width}px ${banner.style.border.color}`:null;const bannerStyle={background:banner.style.fill,boxShadow:getMultipleShadows(bannerShadow,borderShadow),overflow:\"hidden\",borderRadius:banner.style.border.radius};return /*#__PURE__*/_jsx(motion.div,{initial:animateOnMount&&{x:banner.animation.x,y:banner.animation.y,scale:banner.animation.scale,opacity:0},animate:{y:0,x:0,scale:1,opacity:1},exit:{x:banner.animation.x,y:banner.animation.y,scale:banner.animation.scale,opacity:0},transition:animateOnMount?banner.animation.transition:{duration:0},style:{fontFamily:DEFAULT_FONT_FAMILY,maxHeight:`calc(100vh - ${maxHeightReduction}px)`,flexDirection:\"column\",gap:12,position:\"relative\",display:\"flex\",zIndex:100,pointerEvents:\"auto\"},children:/*#__PURE__*/_jsx(\"div\",{style:{...bannerStyle,overflow:\"scroll\",width:\"100%\",maxWidth:banner.width},className:`--framer-cookie-banner-container --framer-cookie-banner-type-${region.type}`,children:region.type===\"simple\"?/*#__PURE__*/_jsx(SimpleBanner,{banner:banner,button:button,linkColor:linkColor,description:region.description,policy:region.policy,onDismiss:onDismiss}):region.type===\"medium\"?/*#__PURE__*/_jsx(AcceptRejectBanner,{banner:banner,button:button,linkColor:linkColor,title:region.title,description:region.description,policy:region.policy,onAccept:onAcceptAll,onReject:onRejectAll}):/*#__PURE__*/_jsx(OptionsBanner,{banner:banner,button:button,options:options,previewOptions:previewOptions,linkColor:linkColor,title:region.title,description:region.description,showReject:region.showReject,policy:region.policy,onOptionToggle:onToggleConsent,consent:consentModes,onAcceptAll:onAcceptAll,onRejectAll:onRejectAll,onAcceptCurrent:onAcceptCurrent})})});},[`.--framer-cookie-banner-container::-webkit-scrollbar { display: none; }`,`.--framer-cookie-banner-container { \n            -ms-overflow-style: none; \n            scrollbar-width: none;  \n        }`],\"framer-lib-cookie-banner\");function SimpleBanner({banner,button,description,policy,onDismiss,linkColor}){const padding=banner.paddingPerSide?`${banner.paddingTop}px ${banner.paddingRight}px ${banner.paddingBottom}px ${banner.paddingLeft}px`:`${banner.padding}px`;return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"row\",padding,gap:SPACING},children:[/*#__PURE__*/_jsx(Description,{style:{...banner.style.fontBody,flex:1,alignItems:\"center\",color:banner.style.colorBody},linkColor:linkColor,description:description,policy:policy}),/*#__PURE__*/_jsx(motion.div,{style:{display:\"flex\",justifyContent:\"center\",alignItems:\"center\"},children:/*#__PURE__*/_jsx(Button,{onClick:onDismiss,settings:{...button,fluid:false},id:\"dismiss\",children:button.labels.confirm})})]});}function AcceptRejectBanner({banner,button,title,linkColor,description,policy,onAccept,onReject}){const padding=banner.paddingPerSide?`${banner.paddingTop}px ${banner.paddingRight}px ${banner.paddingBottom}px ${banner.paddingLeft}px`:`${banner.padding}px`;return /*#__PURE__*/_jsxs(\"div\",{style:{padding},children:[/*#__PURE__*/_jsxs(\"div\",{children:[title&&/*#__PURE__*/_jsx(Headline,{style:{...banner.style.fontTitle,color:banner.style.colorTitle},children:title}),/*#__PURE__*/_jsx(Description,{style:{...banner.style.fontBody,color:banner.style.colorBody},linkColor:linkColor,description:description,policy:policy})]}),/*#__PURE__*/_jsxs(Buttons,{direction:button.direction,children:[/*#__PURE__*/_jsx(Button,{settings:button,onClick:onReject,id:\"reject\",children:button.labels.reject}),/*#__PURE__*/_jsx(Button,{settings:button,primary:true,onClick:onAccept,id:\"accept\",children:button.labels.accept})]})]});}function OptionsBanner({banner,button,options,previewOptions,title,description,policy,showReject=true,linkColor,consent,onAcceptCurrent,onAcceptAll,onRejectAll,onOptionToggle}){const[showOptions,setShowOptions]=useState(false);const optionTheme={...options.style,color:banner.style.colorBody};const padding=banner.paddingPerSide?`${banner.paddingTop}px ${banner.paddingRight}px ${banner.paddingBottom}px ${banner.paddingLeft}px`:`${banner.padding}px`;// const optionNames = consent && Object.keys(consent)\nconst optionNames=[\"necessary\",\"preferences\",\"analytics\",\"marketing\"];const shouldShowOptions=showOptions||previewOptions;return /*#__PURE__*/_jsxs(\"div\",{style:{padding},children:[/*#__PURE__*/_jsxs(\"div\",{children:[title&&/*#__PURE__*/_jsx(Headline,{style:{...banner.style.fontTitle,color:banner.style.colorTitle},children:title}),/*#__PURE__*/_jsx(Description,{style:{...banner.style.fontBody,color:banner.style.colorBody},linkColor:linkColor,description:description,policy:policy}),/*#__PURE__*/_jsx(AnimatePresence,{children:shouldShowOptions&&/*#__PURE__*/_jsx(motion.div,{initial:previewOptions?null:{opacity:0,height:0},animate:{opacity:1,height:\"auto\"},exit:{opacity:0,height:0},style:{display:\"flex\",flexDirection:\"column\",gap:10,marginTop:SPACING,overflow:\"hidden\"},children:optionNames&&optionNames.map(option=>/*#__PURE__*/_jsx(Option,{title:options[option].title,description:options[option].description,titleColor:banner.style.colorTitle,descriptionColor:banner.style.colorBody,showDescription:options.descriptions,enabled:consent[option],onClick:()=>onOptionToggle(option),theme:optionTheme,optional:option===\"necessary\"?options[option].optional:true}))},\"modal\")})]}),/*#__PURE__*/_jsx(Buttons,{direction:button.direction,children:shouldShowOptions?/*#__PURE__*/_jsx(Button,{settings:button,primary:true,onClick:onAcceptCurrent,id:\"accept\",children:button.labels.save}):/*#__PURE__*/_jsxs(_Fragment,{children:[showReject&&/*#__PURE__*/_jsx(Button,{settings:button,onClick:onRejectAll,id:\"reject\",children:button.labels.rejectAll}),/*#__PURE__*/_jsx(Button,{settings:button,onClick:()=>{setShowOptions(true);},id:\"customize\",children:button.labels.customize}),/*#__PURE__*/_jsx(Button,{settings:button,primary:true,onClick:onAcceptAll,id:\"accept\",children:button.labels.acceptAll})]})})]});}function Option({title,titleColor,description,descriptionColor,showDescription,enabled,optional,onClick,theme}){const paddingValue=theme.paddingPerSide?`${theme.paddingTop}px ${theme.paddingRight}px ${theme.paddingBottom}px ${theme.paddingLeft}px`:`${theme.padding}px`;const borderShadow=theme.border?`inset 0 0 0 ${theme.border.width}px ${theme.border.color}`:null;return /*#__PURE__*/_jsxs(motion.div,{style:{boxShadow:borderShadow,background:theme.background,borderRadius:theme.border.radius,padding:paddingValue,cursor:\"pointer\",userSelect:\"none\",pointerEvents:\"all\"},onClick:onClick,whileHover:{opacity:.5},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",justifyContent:\"space-between\"},children:[/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontWeight:600,fontSize:12,color:titleColor,...theme.fontTitle},children:title}),optional?/*#__PURE__*/_jsx(Suspense,{children:/*#__PURE__*/_jsx(Toggle,{variant:enabled?\"On\":\"Off\",background:theme.toggleColor,backgroundInactive:theme.toggleColorInactive})}):/*#__PURE__*/_jsx(\"p\",{style:{margin:0,fontSize:12,color:theme.toggleColor,...theme.fontTitle,fontWeight:400},children:\"Always active\"})]}),description&&/*#__PURE__*/_jsx(\"p\",{style:{margin:0,marginTop:10,fontSize:12,lineHeight:1.5,color:descriptionColor,...theme.fontBody},children:description})]});}function Headline({children,style}){return /*#__PURE__*/_jsx(\"p\",{style:{fontSize:14,margin:\"0px 0px 10px 0px\",fontWeight:\"bold\",padding:0,...style},children:children});}function Description({style,description,policy,linkColor}){const shouldShow=description||policy?.link;if(!shouldShow)return null;if(!description){return /*#__PURE__*/_jsx(DescriptionParagraph,{policy:policy,style:style,linkColor:linkColor});}// @ivan: Support rendering the description in multiple paragraphs.\n// This is a site speed optimization: it allows to split a single\n// huge <p> into several smaller ones, which prevents the huge <p>\n// from becoming an LCP element.\nconst descriptionParagraphs=description?.split(\"\\n\\n\");return description.split(\"\\n\\n\").map((line,index)=>/*#__PURE__*/_jsx(DescriptionParagraph,{line:line,// Only render the policy in the last paragraph\n    policy:index===descriptionParagraphs.length-1?policy:null,style:{// Add a spacing between paragraphs\n    marginTop:index>0?4:0,...style},linkColor:linkColor},index));}function DescriptionParagraph({line,policy,style,linkColor}){return /*#__PURE__*/_jsxs(\"p\",{style:{lineHeight:1.5,margin:0,padding:0,fontSize:14,...style},children:[line,line&&policy?.link?\" \":null,policy?.link&&/*#__PURE__*/_jsxs(\"span\",{children:[policy?.prefix,\" \",/*#__PURE__*/_jsx(\"a\",{href:policy?.link,target:\"_blank\",style:{color:linkColor,textDecoration:\"none\"},children:policy?.label}),\".\"]})]});}function Buttons({children,direction}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:direction,gap:10,marginTop:16},children:children});}const Button=withCSS(function Button({id,children,primary,settings,onClick}){const paddingValue=settings.paddingPerSide?`${settings.paddingTop}px ${settings.paddingRight}px ${settings.paddingBottom}px ${settings.paddingLeft}px`:`${settings.padding}px`;const theme=primary?settings.primary:settings.secondary;return /*#__PURE__*/_jsx(motion.input,{className:\"__framer-cookie-component-button\",id:`__framer-cookie-component-button-${id}`,onClick:onClick,type:\"button\",value:`${children}`,whileHover:{opacity:settings.hoverOpacity??.6},whileTap:{opacity:settings.tapOpacity??.4},style:{WebkitAppearance:\"none\",appearance:\"none\",width:settings.fluid?\"100%\":\"auto\",height:\"auto\",border:\"none\",padding:paddingValue,borderRadius:settings.borderRadius,boxShadow:getShadow(theme.shadow),background:theme.fill,color:theme.color,fontSize:14,lineHeight:1,cursor:\"pointer\",fontWeight:settings.font?\"unset\":600,...settings.font}});},\".__framer-cookie-component-button:focus:not(:focus-visible){outline-color:transparent}\");\nexport const __FramerMetadata__ = {\"exports\":{\"BannerComponentProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Banner\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Banner.map","import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsOnFramerCanvas,withCSS}from\"framer\";import{AnimatePresence,isBrowser,motion}from\"framer-motion\";import{lazy,Suspense,useEffect,useState}from\"react\";import{createPortal}from\"react-dom\";import{defaultConsent,useConsent,useGTMDefaultConsent}from\"https://framerusercontent.com/modules/zvf2WTzc98u6EX2y7YDj/dsQTNWNk09IMnZEHMfzP/consent.js\";import{useRegion}from\"https://framerusercontent.com/modules/0oeZpJVursioGAbwgB9e/atthcI0SmGvO4HAxG9e5/region.js\";import{Banner}from\"https://framerusercontent.com/modules/EkwkxVF9vkTs720qqBC8/6ViXEDlSyuNyc0Na4Rzv/Banner.js\";import{inEU}from\"https://framerusercontent.com/modules/HKzIAGtbudIGLRAteuFH/Nhaar5CYKIbxxEaVvTJs/inEU.js\";import{DEFAULT_FONT_FAMILY,getFlexboxValues,interactionResponse,yieldBeforeCb}from\"https://framerusercontent.com/modules/tfq8EDfrazNLXzc9LJte/hLcdFz4t8UjInDMvzq41/utils.js\";// Keep track of open state between page reloads\nlet initiallyOpen=false;/**\n * COOKIE BANNER\n * By Floris Verloop\n *\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n *\n */export default function CookieBanner({gtmId,preview,trigger,banner,button,content,options,style,gtmLoadedExternally,onShown,onConsentChange,onAccept,onDismiss,onReject,onSavePreferences}){const isOnFramerCanvas=useIsOnFramerCanvas();const isPreview=preview&&isOnFramerCanvas;const skipLogic=!preview&&isOnFramerCanvas;const isInEU=isBrowser?inEU():false;const gtmDefaults=useGTMDefaultConsent();const region=useRegion({content,useRegionFromProps:isPreview,// skip EU check (expensive) if we are on the canvas and don't want a preview\nskipEUCheck:skipLogic,regionFromGTM:gtmDefaults.region});const consent=useConsent({gtmId,defaultConsent:gtmDefaults.available?gtmDefaults.consent:region.defaults,gtmLoadedExternally,defaultsFromGTM:gtmDefaults.available});const[isOpen,setIsOpen]=useState(initiallyOpen);// On page switch, disable all transitions so the banner shows up as fast as possible.\nconst[instantlyShowOnMount,setInstantlyShowOnMount]=useState(initiallyOpen);useEffect(()=>{if(skipLogic)return;// Save open state between page switches\ninitiallyOpen=isOpen;// Disable instantly show on mount after first open\nif(isOpen){setInstantlyShowOnMount(false);}// Track shown event\nif(isOpen&&!isPreview&&onShown){yieldBeforeCb(()=>onShown({isInEU}),{priority:\"user-blocking\"});}},[isOpen,skipLogic]);// Check if user should be prompted\nuseEffect(()=>{if(skipLogic)return;const noConsentGiven=consent.isInitialized&&!consent.isDismissed;const shouldAutoAccept=region.type===\"simple\"&&!consent.isAutoAccepted;if(noConsentGiven){performance.mark(\"framer-cookie-open\");setIsOpen(true);/** Automatically accept all cookies for simple banner. */if(shouldAutoAccept){consent.autoAccept();// Fire callback\nif(onAccept){yieldBeforeCb(()=>onAccept({isInEU}));}}}if(consent.isDismissed){setIsOpen(false);}},[consent.isInitialized,consent.isDismissed,skipLogic]);useEffect(()=>{if(skipLogic)return;if(onConsentChange){yieldBeforeCb(()=>onConsentChange({isInEU,consent:consent.modes}));}},[consent.modes,skipLogic]);async function handleDismiss(){await interactionResponse();consent.dismiss();setIsOpen(false);// Fire callback\nif(onDismiss){yieldBeforeCb(()=>onDismiss({isInEU}));}}async function handleAcceptAll(){await interactionResponse();consent.acceptAll();setIsOpen(false);// Fire callback\nif(onAccept){yieldBeforeCb(()=>onAccept({isInEU}));}}async function handleRejectAll(){await interactionResponse();consent.rejectAll();setIsOpen(false);// Fire callback\nif(onReject){yieldBeforeCb(()=>onReject({isInEU}));}}async function handleAcceptCurrent(){await interactionResponse();consent.acceptCurrent();setIsOpen(false);// Fire callbacks\nyieldBeforeCb(()=>{if(onAccept){onAccept({isInEU});}});yieldBeforeCb(()=>{if(onSavePreferences){onSavePreferences({isInEU});}});}if(isPreview){return /*#__PURE__*/_jsx(\"div\",{style:{...style,width:banner.width},children:/*#__PURE__*/_jsx(Banner,{banner:banner,button:button,region:region,options:options,previewOptions:isPreview&&options.preview,consentModes:{...defaultConsent,necessary:true},animateOnMount:false})});}return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(Trigger,{style:style,trigger:trigger,onClick:()=>setIsOpen(true)}),!skipLogic&&/*#__PURE__*/_jsx(Overlay,{banner:banner,button:button,region:region,options:options,consentModes:consent.modes,animateOnMount:!instantlyShowOnMount,onAcceptAll:handleAcceptAll,onAcceptCurrent:handleAcceptCurrent,onRejectAll:handleRejectAll,onDismiss:handleDismiss,onToggleConsent:consent.toggleMode,isOpen:isOpen})]});}const IconCookie=/*#__PURE__*/lazy(()=>import(\"https://framerusercontent.com/modules/80EyUU0Nk6u7skW3IlHH/qKhU3oZiLDe4R0LcF3Tp/Icons.js\"));function Overlay(props){const insetValue=props.banner.insetPerSide?`${props.banner.insetTop}px ${props.banner.insetRight}px ${props.banner.insetBottom}px ${props.banner.insetLeft}px`:`${props.banner.inset}px`;const{justifyContent,alignItems}=getFlexboxValues(props.banner.position);const isOpen=props.isOpen;const[shouldRenderPortal,setShouldRenderPortal]=useState(isOpen);// if the portal has previously been rendered, we want to keep rendering the portal, which ensures:\n// - that AnimatePresence works (fade out effect)\n// - we don't cause body style recalc/reflow when the DOM node is removed\nif(!shouldRenderPortal&&isOpen)setShouldRenderPortal(isOpen);if(!shouldRenderPortal)return null;const blocking=props.region.blocking;return /*#__PURE__*/createPortal(/*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},children:/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen?/*#__PURE__*/_jsxs(motion.div,{style:{// We only need to span to the full viewport width if the overlay is blocking.\n// Otherwise, we optimize for a smaller layer size. see: https://framer-team.slack.com/archives/C05V49Q4NJ2/p1709820207863249\ntop:blocking||alignItems===\"flex-start\"?0:undefined,left:blocking||justifyContent===\"flex-start\"?0:undefined,right:blocking||justifyContent===\"flex-end\"?0:undefined,height:blocking?\"100%\":undefined,width:blocking||justifyContent===\"center\"?\"100%\":undefined,bottom:blocking||alignItems===\"flex-end\"?0:undefined,boxSizing:\"border-box\",position:\"fixed\",touchAction:\"none\",padding:insetValue,zIndex:props.banner.zIndex,display:\"flex\",flexDirection:\"row\",gap:20,justifyContent:\"center\",pointerEvents:blocking?\"all\":\"none\"},children:[blocking&&/*#__PURE__*/_jsx(Backdrop,{color:props.banner.style?.backdrop}),/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",justifyContent,alignItems,pointerEvents:\"none\",maxWidth:props.banner.containerWidth>0?props.banner.containerWidth:\"unset\"},children:/*#__PURE__*/_jsx(Banner,{...props})})]}):null})}),document.body);}const Trigger=withCSS(({trigger,style,onClick})=>{const isOnFramerCanvas=useIsOnFramerCanvas();if(trigger.type!==\"none\"){return /*#__PURE__*/_jsx(\"button\",{className:\"__framer-cookie-component-button\",\"aria-label\":\"Cookie Trigger\",style:{width:\"100%\",height:\"100%\",background:\"none\",display:\"flex\",border:\"none\",padding:0,color:trigger.color,fontSize:16,cursor:\"pointer\",...trigger.textFont},onClick:onClick,children:trigger.type===\"icon\"?/*#__PURE__*/_jsx(_Fragment,{children:trigger.iconType===\"custom\"&&trigger.iconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon entry point for Site Search\",src:trigger.iconImage.src,width:trigger.iconSize,height:trigger.iconSize}):/*#__PURE__*/_jsx(Suspense,{children:/*#__PURE__*/_jsx(IconCookie,{width:trigger.iconSize,height:trigger.iconSize,color:trigger.color})})}):/*#__PURE__*/_jsx(\"span\",{style:{whiteSpace:\"nowrap\"},children:trigger.text})});}if(isOnFramerCanvas){return /*#__PURE__*/_jsxs(\"div\",{style:{borderRadius:8,color:\"#09F\",border:\"1px dashed #09F\",background:\"rgba(0, 153, 255, 0.1)\",padding:20,display:\"flex\",flexDirection:\"column\",gap:5,fontFamily:DEFAULT_FONT_FAMILY,textAlign:\"center\",justifyContent:\"center\",width:164,...style},children:[/*#__PURE__*/_jsx(\"p\",{style:{fontSize:12,fontWeight:600,lineHeight:1,margin:0},children:\"Cookie Banner\"}),/*#__PURE__*/_jsx(\"p\",{style:{fontSize:12,lineHeight:1.5,margin:0},children:\"Put on a page to add a Cookie Banner.\"})]});}},\".__framer-cookie-component-button:focus:not(:focus-visible){outline-color:transparent}\",\"framer-lib-cookie-trigger\");function Backdrop({color}){return /*#__PURE__*/_jsx(motion.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},style:{position:\"absolute\",top:0,left:0,right:0,bottom:0,width:\"100%\",height:\"100%\",backgroundColor:color,pointerEvents:\"none\"}});}addPropertyControls(CookieBanner,{gtmId:{title:\"GTM ID\",type:ControlType.String,placeholder:\"GTM-AAAAAAA\",description:\"Your GTM container ID.\\n[Learn more](https://www.framer.com/learn/cookie-banner/)\"},preview:{type:ControlType.Boolean,defaultValue:true,description:\"Lets you preview the banner on the Canvas.\"},trigger:{type:ControlType.Object,buttonTitle:\"Icon, Text\",controls:{type:{title:\"Type\",type:ControlType.Enum,options:[\"text\",\"icon\",\"none\"],optionTitles:[\"Text\",\"Icon\",\"None\"],defaultValue:\"text\",displaySegmentedControl:true},iconType:{title:\"Icon\",type:ControlType.Enum,options:[\"default\",\"custom\"],optionTitles:[\"Default\",\"Custom\"],displaySegmentedControl:true,hidden:props=>props.type!==\"icon\"},text:{title:\"Label\",type:ControlType.String,defaultValue:\"Cookie Settings\",hidden:props=>props.type!==\"text\"},textFont:{// @ts-ignore - internal\ntype:ControlType.Font,title:\" \",controls:\"extended\",hidden:props=>props.type!==\"text\"},iconSize:{title:\"Size\",type:ControlType.Number,displayStepper:true,defaultValue:24,hidden:props=>props.type!==\"icon\"},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\",hidden:props=>props.type===\"none\"||props.type===\"icon\"&&props.iconType===\"custom\"},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.iconType===\"default\"}}},banner:{title:\"Banner\",type:ControlType.Object,buttonTitle:\"Font, Styles\",controls:{position:{type:ControlType.Enum,title:\"Position\",options:[\"top-left\",\"top-center\",\"top-right\",\"bottom-right\",\"bottom-center\",\"bottom-left\"],optionTitles:[\"Top Left\",\"Top Center\",\"Top Right\",\"Bottom Right\",\"Bottom Center\",\"Bottom Left\"],defaultValue:\"bottom-right\"},zIndex:{title:\"Z Index\",type:ControlType.Number,defaultValue:10,displayStepper:true,min:0,max:10},width:{title:\"Width\",type:ControlType.Number,defaultValue:360,min:200,max:1e3,displayStepper:true,step:5},containerWidth:{title:\"Wrapping\",type:ControlType.Number,defaultValue:0,min:0},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:20,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},inset:{title:\"Inset\",type:ControlType.FusedNumber,toggleKey:\"insetPerSide\",toggleTitles:[\"Inset\",\"Inset per side\"],defaultValue:20,valueKeys:[\"insetTop\",\"insetRight\",\"insetBottom\",\"insetLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},style:{type:ControlType.Object,title:\"Style\",buttonTitle:\"Fonts, Colors, Shadow\",controls:{fontTitle:{// @ts-ignore - internal\ntype:ControlType.Font,title:\"Title\",controls:\"extended\"},colorTitle:{title:\" \",type:ControlType.Color,defaultValue:\"#000\"},fontBody:{// @ts-ignore - internal\ntype:ControlType.Font,title:\"Body\",controls:\"extended\"},colorBody:{title:\" \",type:ControlType.Color,defaultValue:\"#444\"},fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#FFF\"},link:{title:\"Link\",type:ControlType.Color,optional:true,defaultValue:\"#999\"},border:{type:ControlType.Object,title:\"Border\",buttonTitle:\"Radius, Width\",controls:{radius:{title:\"Radius\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:14},width:{title:\"Width\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:1},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.05)\"}}},shadow:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"X\",type:ControlType.Number,min:-100,max:100,defaultValue:0},shadowY:{title:\"Y\",type:ControlType.Number,min:-100,max:100,defaultValue:2},shadowBlur:{title:\"Blur\",type:ControlType.Number,min:0,max:100,defaultValue:4}}},backdrop:{title:\"Backdrop\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.1)\",hidden:(_,props)=>!props.content.euBlocking&&!props.content.worldBlocking}}},animation:{icon:\"effect\",buttonTitle:\"Options\",type:ControlType.Object,controls:{x:{type:ControlType.Number,displayStepper:true,defaultValue:0},y:{type:ControlType.Number,displayStepper:true,defaultValue:10},scale:{type:ControlType.Number,min:0,step:.1,defaultValue:1},transition:{type:ControlType.Transition}}}}},button:{title:\"Buttons\",type:ControlType.Object,buttonTitle:\"Variants, Style\",controls:{primary:{title:\"Primary\",type:ControlType.Object,buttonTitle:\"Colors, Shadow\",controls:{fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#000\"},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#FFF\"},shadow:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"X\",type:ControlType.Number,min:-100,max:100},shadowY:{title:\"Y\",type:ControlType.Number,min:-100,max:100},shadowBlur:{title:\"Blur\",type:ControlType.Number,min:0,max:100}}}}},secondary:{title:\"Secondary\",type:ControlType.Object,buttonTitle:\"Colors, Shadow\",controls:{fill:{title:\"Fill\",type:ControlType.Color,defaultValue:\"#EEE\"},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#444\"},shadow:{type:ControlType.Object,title:\"Shadow\",optional:true,controls:{shadowColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.25)\"},shadowX:{title:\"X\",type:ControlType.Number,min:-100,max:100},shadowY:{title:\"Y\",type:ControlType.Number,min:-100,max:100},shadowBlur:{title:\"Blur\",type:ControlType.Number,min:0,max:100}}}}},labels:{type:ControlType.Object,controls:{accept:{type:ControlType.String,defaultValue:\"Accept\"},reject:{type:ControlType.String,defaultValue:\"Reject\"},acceptAll:{type:ControlType.String,defaultValue:\"Accept all\"},rejectAll:{type:ControlType.String,defaultValue:\"Reject all\"},customize:{type:ControlType.String,defaultValue:\"Customize\"},save:{type:ControlType.String,defaultValue:\"Save Preferences\"},confirm:{type:ControlType.String,defaultValue:\"Okay\"}}},font:{// @ts-ignore - internal\ntype:ControlType.Font,title:\"Font\",controls:\"extended\"},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:10,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},borderRadius:{title:\"Radius\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:8},tapOpacity:{title:\"Tap Opacity\",type:ControlType.Number,step:.1,displayStepper:true,max:1,min:0,defaultValue:.4},hoverOpacity:{title:\"Hover Opacity\",type:ControlType.Number,step:.1,displayStepper:true,max:1,min:0,defaultValue:.6},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"row\",\"column\"],// @ts-ignore - internal\noptionIcons:[\"direction-horizontal\",\"direction-vertical\"],defaultValue:\"row\",displaySegmentedControl:true},fluid:{title:\"Fluid\",type:ControlType.Boolean,defaultValue:true}}},content:{title:\"Regions\",type:ControlType.Object,buttonTitle:\"World, EU\",controls:{isEU:{title:\" \",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"EU\",disabledTitle:\"World\"},euType:{title:\"Choices\",type:ControlType.Enum,options:[\"simple\",\"medium\",\"advanced\"],optionTitles:[\"None\",\"Accept/Reject\",\"Customizable\"],defaultValue:\"medium\",hidden:props=>!props.isEU},euTitle:{title:\"Title\",type:ControlType.String,defaultValue:\"Cookie Settings\",hidden:props=>props.euType===\"simple\"||!props.isEU},euDescription:{title:\"Description\",type:ControlType.String,defaultValue:\"We use cookies to enhance your experience, analyze site traffic and deliver personalized content.\",displayTextArea:true,hidden:props=>!props.isEU},euPolicy:{title:\"Policy\",type:ControlType.Object,buttonTitle:\"Link, Prefix\",controls:{link:{title:\"Link\",type:ControlType.Link,defaultValue:\"https://www.framer.com/legal/policy/\"},prefix:{title:\"Prefix\",type:ControlType.String,defaultValue:\"Read our\"},label:{title:\"Label\",type:ControlType.String,defaultValue:\"Cookie Policy\"}},hidden:props=>!props.isEU},euDefaults:{title:\"Defaults\",buttonTitle:\"Options\",type:ControlType.Object,controls:{necessary:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:true},preferences:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:false},analytics:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:false},marketing:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:false,description:\"The default consent when the user hasn’t provided any yet.\"}},hidden:props=>!props.isEU},euShowReject:{title:\"Reject All\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:props=>props.euType!==\"advanced\"},euBlocking:{title:\"Blocking\",type:ControlType.Boolean,defaultValue:false,description:\"Renders a content blocking backdrop.\",hidden:props=>!props.isEU},worldType:{title:\"Choices\",type:ControlType.Enum,options:[\"simple\",\"medium\",\"advanced\"],optionTitles:[\"None\",\"Accept/Reject\",\"Customizable\"],defaultValue:\"simple\",hidden:props=>props.isEU},worldTitle:{title:\"Title\",type:ControlType.String,defaultValue:\"Cookie Settings\",hidden:props=>props.worldType===\"simple\"||props.isEU},worldDescription:{title:\"Description\",type:ControlType.String,defaultValue:\"We use cookies to personalize content, run ads, and analyze traffic.\",displayTextArea:true,hidden:props=>props.isEU},worldPolicy:{title:\"Policy\",type:ControlType.Object,buttonTitle:\"Link, Prefix\",controls:{link:{title:\"Link\",type:ControlType.Link},prefix:{title:\"Prefix\",type:ControlType.String,defaultValue:\"Read our\"},label:{title:\"Label\",type:ControlType.String,defaultValue:\"Cookie Policy\"}},hidden:props=>props.isEU},worldDefaults:{title:\"Defaults\",buttonTitle:\"Options\",type:ControlType.Object,controls:{necessary:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:true},preferences:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:true},analytics:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:true},marketing:{type:ControlType.Boolean,enabledTitle:\"Granted\",disabledTitle:\"Denied\",defaultValue:true,description:\"The default consent when the user hasn’t provided any yet.\"}},hidden:props=>props.isEU},worldShowReject:{title:\"Reject All\",type:ControlType.Boolean,defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",hidden:props=>props.worldType!==\"advanced\"},worldBlocking:{title:\"Blocking\",type:ControlType.Boolean,defaultValue:false,description:\"Renders a content blocking backdrop.\",hidden:props=>props.isEU}}},options:{type:ControlType.Object,buttonTitle:\"Content, Styles\",hidden:(_,props)=>props.content.euType!==\"advanced\"&&props.content.worldType!==\"advanced\",controls:{preview:{type:ControlType.Boolean,defaultValue:false,description:\"Open when previewing banner on the canvas.\",hidden:(_,props)=>!props.preview},necessary:{title:\"Necessary\",type:ControlType.Object,buttonTitle:\"Content\",controls:{title:{title:\"Title\",type:ControlType.String,defaultValue:\"Necessary\"},description:{title:\"Description\",type:ControlType.String,defaultValue:\"Enables security and basic functionality.\",displayTextArea:true},optional:{title:\"Optional\",type:ControlType.Boolean,defaultValue:true}}},preferences:{title:\"Preferences\",type:ControlType.Object,buttonTitle:\"Content\",controls:{title:{title:\"Title\",type:ControlType.String,defaultValue:\"Preferences\"},description:{title:\"Description\",type:ControlType.String,defaultValue:\"Enables personalized content and settings.\",displayTextArea:true,optional:true}}},analytics:{title:\"Analytics\",type:ControlType.Object,buttonTitle:\"Content\",controls:{title:{title:\"Title\",type:ControlType.String,defaultValue:\"Analytics\"},description:{title:\"Description\",type:ControlType.String,defaultValue:\"Enables tracking of performance.\",displayTextArea:true}}},marketing:{title:\"Marketing\",type:ControlType.Object,buttonTitle:\"Content\",controls:{title:{title:\"Title\",type:ControlType.String,defaultValue:\"Marketing\"},description:{title:\"Description\",type:ControlType.String,defaultValue:\"Enables ads personalization and tracking.\",displayTextArea:true}}},style:{type:ControlType.Object,title:\"Style\",buttonTitle:\"Fonts, Colors\",controls:{fontTitle:{// @ts-ignore - internal\ntype:ControlType.Font,title:\"Title\",controls:\"basic\"},fontBody:{// @ts-ignore - internal\ntype:ControlType.Font,title:\"Body\",controls:\"basic\"},background:{title:\"Background\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.02)\"},border:{type:ControlType.Object,title:\"Border\",buttonTitle:\"Radius, Width\",controls:{radius:{title:\"Radius\",type:ControlType.Number,displayStepper:true,min:0,defaultValue:8},width:{title:\"Width\",type:ControlType.Number,displayStepper:true},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.02)\"}}},toggleColor:{title:\"On\",type:ControlType.Color,defaultValue:\"#000\"},toggleColorInactive:{title:\"Off\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.1)\"},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],defaultValue:12,valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0}}}}}});CookieBanner.displayName=\"Cookie Banner\";\nexport const __FramerMetadata__ = {\"exports\":{\"ContentType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PolicyProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CookieBannerProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ButtonsProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"CookieBanner\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"auto\"}},\"OptionsStyle\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ContentProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b6d5dad)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-Ep2QK .framer-styles-preset-5jznh2:not(.rich-text-wrapper), .framer-Ep2QK .framer-styles-preset-5jznh2.rich-text-wrapper a { --framer-link-current-text-color: #ffffff; --framer-link-current-text-decoration: underline; --framer-link-hover-text-color: #28a71b; --framer-link-hover-text-decoration: underline; --framer-link-text-color: #ffffff; }\"];export const className=\"framer-Ep2QK\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (b6d5dad)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-UQt9B .framer-styles-preset-dykfu:not(.rich-text-wrapper), .framer-UQt9B .framer-styles-preset-dykfu.rich-text-wrapper a { --framer-link-current-text-color: #ffffff; --framer-link-current-text-decoration: underline; --framer-link-hover-text-color: #03bdf3; --framer-link-hover-text-decoration: underline; --framer-link-text-color: #ffffff; }\"];export const className=\"framer-UQt9B\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (ff07650)\nexport default function metadata(params,activeLocale){return{customHTMLBodyStart:'<!-- Google Tag Manager (noscript) -->\\n<noscript><iframe src=\"https://www.googletagmanager.com/ns.html?id=GTM-WC566MC3\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\"></iframe></noscript>\\n<!-- End Google Tag Manager (noscript) -->',customHTMLHeadEnd:'<!-- TrustBox script -->\\n<script type=\"text/javascript\" src=\"//widget.trustpilot.com/bootstrap/v5/tp.widget.bootstrap.min.js\" async=\"\"></script>\\n<!-- End TrustBox script -->\\n\\n<style>\\n  .calculator-wrapper {\\n    flex-direction: row;\\n    flex-wrap: nowrap;\\n  }\\n\\n  @media (max-width: 480px) {\\n    .calculator-wrapper {\\n      flex-direction: column !important;\\n      padding: 24px !important;\\n      gap: 16px !important;\\n    }\\n  }\\n</style>',customHTMLHeadStart:\"<!-- Google Tag Manager -->\\n<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\\nnew Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\\nj=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\\n'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\\n})(window,document,'script','dataLayer','GTM-WC566MC3');</script>\\n<!-- End Google Tag Manager -->\\n\\n<script type=\\\"text/javascript\\\" src=\\\"//widget.trustpilot.com/bootstrap/v5/tp.widget.sync.bootstrap.min.js\\\" async=\\\"\\\"></script>\\n\",favicon:\"https://framerusercontent.com/assets/ma6TRYotsQdbt5mEgWZKVG4Z1jc.png\",robots:\"max-image-preview:large\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"gmBAAqC,CAA4M,EAAkB,CAAC,SAAU,WAAY,MAAO,OAAQ,OAAQ,OAAQ,QAAS,OAAQ,eAAgB,SAAU,WAAY,SAAS,CAAsD,CAApB,GAAG,EAA+B,CAA4J,EAAY,aAAoC,EAAY,aAAoC,EAAY,aAAsD,EAAY,OAAwH,EAAY,QAAmH,EAAY,OAA4G,EAAY,sBCA1kC,IAAmC,iBCA5D,kBCAA,iBCAM,kBCAN,kBCAM,sBCAL,kBCAiG,IAAmC,kBCAnC,IAA8H,IAA0D,IAA+D,kBCA/P,IAAoC,IAAmC,kBCAhK,IAAuC,kBCAxC,kBCAC,IAAsC,CAA0hB,EAAY,YAA0pB,EAAY,6BCA1jC,KACjE,IAC1B,KACyB,IACrB,KACoB,KAChB,KACH,KACa,KAEJ,KACN,KACgB,KACV,KAC+B,ICdy8C,SAAgB,GAAO,CAAC,UAAQ,MAAI,QAAM,QAAM,OAAK,UAAQ,CAAC,IAAM,EAAKc,EAAO,KAAK,CAAgrB,OAA/qB,OAA2B,CAAC,GAAG,CAAC,GAAS,CAAC,EAAI,OAAO,IAAI,EAAa,GAAmB,EAAc,GAAuC,SAAoC,SAAS,cAAc,eAAe,EAAI,IAAI,CAAC,AAA+B,KAAlB,EAAa,GAAa,SAAS,cAAc,SAAS,EAAK,IAAM,EAAQ,MAAM,GAAS,IAAM,EAAQ,MAAM,GAAS,IAAK,EAAQ,KAAK,GAAQ,EAAK,EAAQ,aAAa,MAAM,EAAI,CAAO,EAAQ,UAAU,EAAY,IAAQ,EAAQ,OAAO,GAAW,IAAc,EAAK,QAAQ,EAAQ,SAAS,KAAK,YAAY,EAAQ,GAAI,CAAC,EAAQ,EAAI,EAAM,EAAM,EAAK,EAAO,CAAC,CAAC,UAAkB,CAAI,EAAK,SAAS,SAAS,KAAK,YAAY,EAAK,QAAQ,EAAI,EAAE,CAAC,CAAQ,iCAA30E,CAAM,IAAM,GAAG,IAAQ,GAAS,GAA8B,IAAS,OAA4B,GAAhBP,sBCAlG,CAExBG,EAAkB,CAC3B,SAAU,WACV,MAAO,OACP,OAAQ,OACR,QAAS,OACT,eAAgB,SAChB,WAAY,SACf,CACYD,EAAkB,CAC3B,GAAGC,EACH,aAAc,EACd,WAAY,0BACZ,MAAO,OACP,OAAQ,kBACR,cAAe,SAClB,CAGa,EAAY,aAGZ,EAAY,aAGZ,EAAY,aAIhB,EAAY,OASR,EAAY,QAOZ,EAAY,OAMZ,EAAY,sBCpD8B,IACtB,iBCDH,kBCAA,iBCAM,kBCAN,kBCAM,sBCAL,kBCAE,IAE+F,kBCF1E,IACK,IAEqE,IAEJ,kBCJ1F,IACD,IAEuF,kBCJzF,IACM,kBCDP,kBCAC,IACK,CAiBvB,EAAY,YAoCZ,EAAY,6BCtD8L,KACjE,IAC1B,KACyB,IACrB,KACoB,KAChB,KACH,KACa,KAEJ,KACN,KACgB,KACV,KAC+B,4BCd9C,CAAa,GAAgB,CAAC,GAAGA,EAAgB,GAAGC,EAAuB,UAAU,SAAS,QAAQ,GAAG,MAAM,IAAI,OAAO,IAAI,SAAS,SAAS,CAAoD,CAAnB,GAAG,GAAsB,CAA2E,GAAgB,CAAC,SAAS,GAAG,WAAW,IAAI,OAAO,EAAE,CAAc,GAAoB,CAAC,SAAS,GAAG,SAAS,IAAI,WAAW,IAAI,OAAO,YAAY,ICA4T,SAAS,IAAgB,CAAC,GAAK,EAAE,GAAUa,EAAS,OAAO,OAAO,KAAK,CAAC,CAAqF,OAA7DX,MAAgB,CAAC,EAAS,OAAO,OAAO,KAAK,CAAC,EAAG,CAAC,EAAS,CAAC,CAQx/B,SAAwB,GAAW,CAAC,aAAW,OAAK,WAAS,QAAM,qBAAmB,QAAM,GAAG,GAAO,CAAC,IAAM,EAAIC,EAAO,KAAK,CAAO,EAAY,IAAgB,CAAO,EAAqBD,MAAgB,CAAC,GAAI,GAA6C,YAAc,GAAoC,SAAU,EAAW,CAAC,IAAI,EAAK,GAAS,OAA8B,EAAK,EAAO,aAAc,MAA2B,EAAK,gBAAgB,EAAI,QAAQ,GAAK,GAAI,CAAC,EAAW,CAAC,CAAO,EAAoBA,MAAgB,CAAC,GAAa,CAAC,GAAsB,EAAG,CAAC,EAAqB,CAAC,CAAsF,OAArF,EAAU,EAAqB,CAAC,EAAW,EAAM,EAAS,EAAK,EAAoB,CAAC,CAAQ,EAAyB,EAAK,EAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAgB,MAAM,IAAI,OAAO,GAAG,GAAG,EAAM,CAAK,MAAI,UAAU,oBAAoB,cAAc,EAAS,mBAAmB,GAAU,GAAM,oBAAoB,OAAO,mBAAmB,OAAO,uBAAuB,EAAW,wBAAwB,EAAmB,aAAa,EAAM,GAAG,EAAM,SAAuB,EAAKE,GAAY,CAAC,IAAI,wEAAwE,OAAO,EAAoB,MAAM,GAAK,CAAC,CAAC,CAAC,CAAe,EAAM,EAAO,IAAI,CAAC,MAAM,CAAC,GAAG,GAAgB,GAAG,EAAM,CAAC,GAAG,EAAM,SAAS,CAAe,EAAK,KAAK,CAAC,MAAM,GAAgB,SAAS,aAAa,CAAC,CAAe,EAAK,IAAI,CAAC,MAAM,GAAoB,SAAS,uCAAuC,CAAC,CAAC,CAAC,CAAC,mCARv3C,IAAoD,IAAkC,KAAiF,IAAyD,KAA4E,KAA0H,CAAM,GAA4B,2BAAiC,GAA0B,2BAAiC,GAAU,CAAC,QAAQ,UAAU,QAAQ,SAAS,QAAQ,UAAU,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,UAAU,QAAQ,WAAW,QAAQ,aAAa,QAAQ,UAAU,CAAO,GAAU,CAAC,MAAM,GAA4B,OAAO,GAA0B,CAQolB,EAAoB,GAAW,CAAC,WAAW,CAAC,MAAM,KAAK,KAAK,EAAY,OAAO,YAAY,mBAAmB,YAAY,wFAAwF,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,KAAK,QAAQ,CAAC,QAAQ,SAAS,CAAC,aAAa,CAAC,QAAQ,SAAS,CAAC,wBAAwB,GAAK,aAAa,QAAQ,CAAC,SAAS,CAAC,MAAM,WAAW,KAAK,EAAY,KAAK,QAAQ,OAAO,KAAK,GAAU,CAAC,aAAa,OAAO,OAAO,GAAU,CAAC,aAAa,QAAQ,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,KAAK,QAAQ,CAAC,QAAQ,OAAO,CAAC,aAAa,CAAC,QAAQ,OAAO,CAAC,wBAAwB,GAAK,aAAa,QAAQ,QAAQ,CAAC,UAAQ,IAAO,SAAS,CAAC,mBAAmB,CAAC,MAAM,UAAU,KAAK,EAAY,KAAK,QAAQ,CAAC,IAAA,GAAU,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,aAAa,aAAa,aAAa,CAAC,aAAa,GAAG,QAAQ,CAAC,UAAQ,IAAO,SAAS,CAAC,CAAC,ICcj+D,SAAgB,IAAW,CAAI,IAAW,EAAO,UAAa,EAAO,WAAc,EAAE,CAAC,EAAO,UAAa,KAAK,UAAU,0CAtBzZ,CAAa,GAAe,mCAAgD,GAAoB,SAI5H,IAAqB,EAAU,EAAc,cAAc,WAAW,EAAc,aAAa,EAAc,UAAU,EAAU,WAAW,EAAc,UAAU,KAAK,UAAU,EAAU,CAAC,IAAI,IAAI,WAAW,EAAc,4DAOjO,IAAc,EAAc,EAAG,EAAY,EAAa,GAAe,EAAiB,KAAsB,CAAC,IAAI,EAAO,GAAG,GAAG,EAAY,CAAC,GAAK,CAAC,WAAS,eAAa,EAAY,EAAO,aAAa,EAAS,eAAe,EAAY,oBAAqB,MAAM,GAAG,EAAa,GAAG,EAAiB,MAAM,IAAK,IAAgB,YAAY,GAAG,MAAM,MAAkB,KAG9W,GAAS,IACK,CAAC,uBADgC,CAAC,IAAM,EAAgB,SAAS,cAAc,SAAS,CAA2J,OAAvJ,EAAO,OAAO,EAAgB,aAAa,QAAQ,EAAO,MAAM,CAAE,EAAgB,UAAU,GAAoB,EAAO,UAAU,EAAO,cAAc,CAAQ,GACtO,cAD4Q,CAAC,IAAM,EAAO,SAAS,cAAc,SAAS,CACpW,OADwW,EAAO,OAAO,EAAO,aAAa,QAAQ,EAAO,MAAM,CAAE,EAAO,IAAI,GAAa,EAAO,cAAc,EAAO,GAAG,EAAO,YAAY,EAAO,aAAa,EAAO,iBAAiB,CAAC,EAAO,YAAY,YACpiB,GAA6C,EAOrC,IAAS,CAAC,YAAU,gBAAc,cAAY,QAAM,KAAG,eAAa,sBAAoB,CAAC,IAAM,EAAI,GAAS,CAAC,YAAU,gBAAc,cAAY,QAAM,KAAG,eAAa,mBAAiB,CAAC,CAAO,EAAgB,EAAI,oBAAoB,CAAO,EAAO,EAAI,WAAW,CAAC,SAAS,KAAK,OAAO,EAAgB,EAAO,KCtBrD,SAAgB,GAAiB,EAAS,CAAC,IAAM,EAAc,EAAS,MAAM,IAAI,CAAK,EAAe,EAAW,OAAO,EAAc,GAArB,CAAyB,IAAI,MAAM,EAAW,aAAa,MAAM,IAAI,SAAS,EAAW,WAAW,MAAM,IAAI,SAAS,EAAW,SAAS,MAAM,QAAQ,EAAW,UAAU,MAAO,OAAO,EAAc,GAArB,CAAyB,IAAI,OAAO,EAAe,aAAa,MAAM,IAAI,QAAQ,EAAe,WAAW,MAAM,IAAI,SAAS,EAAe,SAAS,MAAM,QAAQ,EAAe,UAAU,MAAO,MAAM,CAAC,iBAAe,aAAW,CAAE,SAAgB,GAAmB,GAAG,EAAQ,CAAC,IAAM,EAAO,EAAE,CAAgE,OAA/D,EAAQ,QAAQ,GAAgB,GAAQ,EAAO,KAAK,EAAO,CAAG,CAAQ,EAAO,KAAK,KAAK,CAAE,SAAgB,GAAU,EAAO,CAA+G,OAA3G,EAAc,GAAG,EAAO,QAAQ,KAAK,EAAO,QAAQ,KAAK,EAAO,WAAW,KAAK,EAAO,cAA2B,KAAM,SAAgB,GAAc,EAAW,EAAQ,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,EAAW,MAAO,CAAI,GAAQ,GAAS,EAK5rC,SAAgB,GAAY,EAAQ,CAAC,GAAG,cAAc,EAAO,CAAC,GAAG,UAAU,UAAU,OAAO,UAAU,MAAM,EAAQ,CAAC,GAAG,aAAa,UAAU,OAAO,UAAU,aAAa,GAAG,EAAQ,CAEjK,OAFuK,GAAgD,WAAY,gBAEtP,QAAQ,SAAS,CAAS,IAAI,QAAQ,GAAS,CAAC,WAAW,EAAQ,EAAG,CAG1E,eAAsB,EAAc,EAAG,EAAQ,CAA4B,OAA3B,MAAM,GAAY,EAAQ,CAAQ,GAAI,CAItF,SAAgB,EAAoB,EAAQ,CAAC,OAAO,IAAI,QAAQ,GAAS,CAAC,WAAW,EAAQ,IAAI,CACnG,0BAA0B,CAAM,EAAc,EAAQ,EAAQ,EAAG,EAAG,wBAfhC,IAAmC,CAAa,EAAoB,uKCA8R,SAAS,GAAa,EAAQ,CAAC,MAAM,CAAC,sBAAsB,EAAQ,UAAU,UAAU,SAAS,iBAAiB,EAAQ,UAAU,UAAU,SAAS,WAAW,EAAQ,UAAU,UAAU,SAAS,aAAa,EAAQ,UAAU,UAAU,SAAS,mBAAmB,EAAQ,UAAU,UAAU,SAAS,kBAAkB,EAAQ,UAAU,UAAU,SAAS,wBAAwB,EAAQ,YAAY,UAAU,SAAS,CAAE,SAAS,GAAe,EAAQ,CAAC,MAAM,CAAC,UAAU,EAAQ,wBAAwB,WAAW,EAAQ,mBAAmB,UAAU,UAAU,EAAQ,aAAa,WAAW,EAAQ,eAAe,WAAW,EAAQ,qBAAqB,UAAU,UAAU,EAAQ,oBAAoB,UAAU,YAAY,EAAQ,0BAA0B,UAAU,CAAE,SAAS,GAAQ,EAAM,EAAO,CAAC,OAAO,EAAO,KAAd,CAAoB,IAAI,aAAa,MAAM,CAAC,GAAG,EAAM,KAAK,GAAK,aAAa,GAAK,MAAM,CAAC,UAAU,GAAK,UAAU,GAAK,UAAU,GAAK,YAAY,GAAK,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC,GAAG,EAAM,KAAK,GAAK,UAAU,GAAK,MAAM,CAAC,UAAU,GAAK,UAAU,GAAK,UAAU,GAAK,YAAY,GAAK,CAAC,CAAC,IAAI,YAAY,MAAM,CAAC,GAAG,EAAM,KAAK,GAAK,UAAU,GAAK,MAAM,CAAC,UAAU,GAAM,UAAU,GAAM,UAAU,GAAM,YAAY,GAAM,CAAC,CAAC,IAAI,gBAAgB,MAAM,CAAC,GAAG,EAAM,UAAU,GAAK,KAAK,GAAK,CAAC,IAAI,SAAS,MAAM,CAAC,GAAG,EAAM,MAAM,CAAC,GAAG,EAAM,MAAM,GAAG,EAAO,MAAM,CAAC,KAAK,EAAO,KAAK,CAAC,IAAI,SAAS,MAAM,CAAC,GAAG,EAAM,MAAM,CAAC,GAAG,EAAM,OAAO,EAAO,MAAM,CAAC,EAAM,MAAM,EAAO,MAAM,CAAC,CAAC,IAAI,uBAAuB,MAAM,CAAC,GAAG,EAAM,MAAM,EAAO,MAAM,UAAU,EAAO,UAAU,aAAa,EAAO,aAAa,4BAA4B,GAAK,KAAK,GAAK,CAAC,IAAI,cAAc,MAAM,CAAC,GAAG,EAAM,MAAM,EAAO,MAAM,mBAAmB,GAAK,CAAC,IAAI,UAAU,MAAM,CAAC,GAAG,EAAM,UAAU,GAAK,CAAC,IAAI,SAAS,MAAM,CAAC,GAAG,EAAM,KAAK,GAAM,UAAU,EAAM,WAAW,EAAO,QAAQ,CAAC,QAAQ,OAAO,GAEnqE,SAAgB,GAAW,CAAC,QAAM,eAAA,EAAe,sBAAoB,GAAM,kBAAgB,IAAO,CAAC,GAAK,CAAC,EAAM,GAAUC,EAAW,GAAQ,GAAa,CAAO,EAAiB,GAAqB,CAAO,EAA2B,2BAAiC,EAAyB,yBAA+B,EAA4B,4BAA4B,SAAS,GAA0B,CAAC,IAAM,EAAwB,aAAa,QAAQ,EAA2B,CAAO,EAA0B,aAAa,QAAQ,EAAyB,CAAO,EAA6B,aAAa,QAAQ,EAA4B,CAAO,EAAY,IAA4B,KAAW,EAAe,IAA+B,KAA2O,EAAS,CAAC,KAAK,uBAAuB,UAAU,EAAY,aAAa,EAAe,MAA/R,IAA0B,OAA6C,GAAa,GAAmP,GAAc,MAA4B,aAAa,WAAW,EAA2B,CAAC,CAACC,EAAe,CAAC,CAAE,SAAS,GAAW,CAAI,IAAU,CAAC,GAAmB,CAAC,GAAqB,CAAC,GAK5zC,GAAU,UAAU,UAAU,GAAa,EAAM,MAAM,CAAC,CAAC,GAAQ,CAAC,UAAU,IAAA,GAAU,cAAc,YAAY,YAAY,IAAA,GAAU,MAAM,IAAA,GAAU,aAAa,GAAK,GAAG,EAAM,CAAC,CAAC,EAAkB,KAAW,EAAkB,GAAK,GAAU,UAAU,SAAS,GAAa,EAAM,MAAM,CAAC,CAE9R,EAAO,UAAU,KAAK,CAAC,MAAM,wBAAwB,CAAC,GAAI,MAAc,CAAI,GAA4B,GAA0BA,IAAiB,OAAe,EAAM,oBAA6B,EAAM,QAAQ,MACnN,MAAkB,CAAC,EAAS,CAAC,KAAK,cAAc,MAAMA,EAAe,CAAC,EAAG,CAAC,SAAS,gBAAgB,CAAC,GAAG,CAAC,EAAgBA,EAAe,EAAM,mBAAmB,EAAM,MAAM,CAAC,CAAC,MAAc,CAAI,GAAwB,MAAkB,GAA0B,CAAC,CAAC,SAAS,gBAAgB,CAAC,EAAG,EAAE,CAAC,CACtS,MAAc,CAAI,GAA2B,EAAM,WAAW,aAAa,QAAQ,EAAyB,OAAO,EAAI,CAAC,EAAM,UAAU,CAAC,CACzI,MAAc,CAAI,GAA2B,EAAM,cAAc,aAAa,QAAQ,EAA4B,OAAO,EAAI,CAAC,EAAM,aAAa,CAAC,CAClJ,MAAc,CAA4B,GAAxB,GAA2B,CAAC,EAAM,KAAK,OAAO,IAAM,EAAW,GAAW,EAAM,QAAQ,KAAK,MAAkB,CAAC,GAAG,CAAC,EAAW,CAAC,EAAS,CAAC,KAAK,SAAS,QAAQ,GAAM,CAAC,CAAC,OAC1L,GAAW,CACX,aAAa,QAAQ,EAA2B,KAAK,UAAU,EAAM,MAAM,CAAC,CAAC,EAAS,CAAC,KAAK,SAAS,QAAQ,GAAK,CAAC,EAAG,CAAC,SAAS,gBAAgB,CAAC,EAAG,CAAC,EAAM,KAAK,EAAM,MAAM,CAAC,CAAC,SAAS,GAAS,CAAC,EAAS,CAAC,KAAK,UAAU,CAAC,CAAC,aAAa,QAAQ,EAAyB,OAAO,CAAE,SAAS,GAAY,CAAC,EAAS,CAAC,KAAK,aAAa,CAAC,CAAE,SAAS,GAAW,CAAC,EAAS,CAAC,KAAK,YAAY,CAAC,CAAE,SAAS,GAAW,CAAC,EAAS,CAAC,KAAK,YAAY,CAAC,CAAE,SAAS,GAAe,CAAC,EAAS,CAAC,KAAK,gBAAgB,CAAC,CAAE,SAAS,EAAW,EAAK,CAAC,EAAS,CAAC,KAAK,SAAS,OAAK,CAAC,CAAE,MAAM,CAAC,MAAM,EAAM,MAAM,cAAc,EAAM,WAAW,EAAM,mBAAmB,YAAY,EAAM,UAAU,eAAe,EAAM,aAAa,UAAQ,aAAW,YAAU,YAAU,gBAAc,aAAW,CAEprB,SAAgB,IAAsB,CAAC,GAAK,CAAC,EAAQ,GAAYO,EAAS,KAAK,CAAC,MAAc,CAAK,GAA6B,EAAO,GAAc,KAAK,GAAQ,CAAC,MAAoB,CAAC,EAAW,EAAO,EAAG,EAAG,EAAG,EAAE,CAAC,CACpR,IAAI,EAAuF,OAA7E,IAAS,EAAO,OAAO,OAAO,EAAQ,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,QAAQ,MAAY,CAAC,UAAU,EAAsB,QAAQ,EAAQ,GAAe,EAAQ,CAAC,KAAK,SAAO,mCAlB9I,IAAqC,IAAiE,KAAuH,IAAkI,CAAs0D,GAAa,CAAC,UAAU,GAAM,aAAa,GAAM,MAAM,KAAK,KAAK,GAAM,4BAA4B,GAAM,mBAAmB,GAAM,UAAU,GAAM,CAAc,GAAe,CAAC,UAAU,GAAM,UAAU,GAAM,UAAU,GAAM,YAAY,GAAM,CAE37E,EAAkB,GAchB,EAAa,6CACb,EAAsB,GAAW,CAAC,CAAC,EAAO,kCChB1C,GAAU,gMAA6S,CAAO,OAA2B,MAAM,gBAAgB,EAAE,iBAAiB,EAAE,UAAU,WAAW,SAAS,CAAS,OAAe,CAAC,IAAM,EAAO,EAAU,UAAU,EAAU,YAAY,GAAG,OAAO,GAAU,KAAK,GAAS,GAAQ,aAAa,EAAE,SAAS,EAAQ,CAAC,EAAO,EAAM,KAAkB,OAAa,IAAQ,OAAK,EAAM,IAAgB,EAAE,IAAY,EAAQ,MCDzhB,SAAgB,GAAU,CAAC,UAAQ,qBAAmB,cAAY,iBAAe,CAAkF,IAAM,EAA3D,GAAW,CAAC,GAAa,CAAC,GAAc,GAAM,CAAyD,KAAK,QAAc,EAAgB,EAAQ,KAAK,KAAK,QAA6f,MAAje,CAAC,GAAG,CAAC,MAAM,EAAQ,QAAQ,YAAY,EAAQ,cAAc,KAAK,EAAQ,OAAO,SAAS,EAAQ,WAAW,OAAO,EAAQ,SAAS,SAAS,EAAQ,WAAW,WAAW,EAAQ,SAAS,WAAW,EAAQ,aAAa,GAAK,CAAC,MAAM,CAAC,MAAM,EAAQ,WAAW,YAAY,EAAQ,iBAAiB,KAAK,EAAQ,UAAU,SAAS,EAAQ,cAAc,OAAO,EAAQ,YAAY,SAAS,EAAQ,cAAc,WAAW,EAAQ,YAAY,WAAW,EAAQ,gBAAgB,GAAK,CAAC,CAAsB,IAA4B,EAAmB,EAAgB,sBAAr8B,KAA0G,ICIvG,SAAS,GAAa,CAAC,SAAO,SAAO,cAAY,SAAO,YAAU,aAAW,CAAC,IAAM,EAAQ,EAAO,eAAe,GAAG,EAAO,WAAW,KAAK,EAAO,aAAa,KAAK,EAAO,cAAc,KAAK,EAAO,YAAY,IAAI,GAAG,EAAO,QAAQ,IAAI,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,MAAM,UAAQ,IAAI,EAAQ,CAAC,SAAS,CAAc,EAAK,EAAY,CAAC,MAAM,CAAC,GAAG,EAAO,MAAM,SAAS,KAAK,EAAE,WAAW,SAAS,MAAM,EAAO,MAAM,UAAU,CAAW,YAAsB,cAAmB,SAAO,CAAC,CAAc,EAAK,EAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,OAAO,eAAe,SAAS,WAAW,SAAS,CAAC,SAAsB,EAAK,EAAO,CAAC,QAAQ,EAAU,SAAS,CAAC,GAAG,EAAO,MAAM,GAAM,CAAC,GAAG,UAAU,SAAS,EAAO,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,SAAS,GAAmB,CAAC,SAAO,SAAO,QAAM,YAAU,cAAY,SAAO,WAAS,YAAU,CAAC,IAAM,EAAQ,EAAO,eAAe,GAAG,EAAO,WAAW,KAAK,EAAO,aAAa,KAAK,EAAO,cAAc,KAAK,EAAO,YAAY,IAAI,GAAG,EAAO,QAAQ,IAAI,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,UAAQ,CAAC,SAAS,CAAc,EAAM,MAAM,CAAC,SAAS,CAAC,GAAoB,EAAK,GAAS,CAAC,MAAM,CAAC,GAAG,EAAO,MAAM,UAAU,MAAM,EAAO,MAAM,WAAW,CAAC,SAAS,EAAM,CAAC,CAAc,EAAK,EAAY,CAAC,MAAM,CAAC,GAAG,EAAO,MAAM,SAAS,MAAM,EAAO,MAAM,UAAU,CAAW,YAAsB,cAAmB,SAAO,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,GAAQ,CAAC,UAAU,EAAO,UAAU,SAAS,CAAc,EAAK,EAAO,CAAC,SAAS,EAAO,QAAQ,EAAS,GAAG,SAAS,SAAS,EAAO,OAAO,OAAO,CAAC,CAAc,EAAK,EAAO,CAAC,SAAS,EAAO,QAAQ,GAAK,QAAQ,EAAS,GAAG,SAAS,SAAS,EAAO,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,SAAS,GAAc,CAAC,SAAO,SAAO,UAAQ,iBAAe,QAAM,cAAY,SAAO,aAAW,GAAK,YAAU,UAAQ,kBAAgB,cAAY,cAAY,kBAAgB,CAAC,GAAK,CAAC,EAAY,GAAgBA,EAAS,GAAM,CAAO,EAAY,CAAC,GAAG,EAAQ,MAAM,MAAM,EAAO,MAAM,UAAU,CAAO,EAAQ,EAAO,eAAe,GAAG,EAAO,WAAW,KAAK,EAAO,aAAa,KAAK,EAAO,cAAc,KAAK,EAAO,YAAY,IAAI,GAAG,EAAO,QAAQ,IACxmE,EAAY,CAAC,YAAY,cAAc,YAAY,YAAY,CAAO,EAAkB,GAAa,EAAe,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,UAAQ,CAAC,SAAS,CAAc,EAAM,MAAM,CAAC,SAAS,CAAC,GAAoB,EAAK,GAAS,CAAC,MAAM,CAAC,GAAG,EAAO,MAAM,UAAU,MAAM,EAAO,MAAM,WAAW,CAAC,SAAS,EAAM,CAAC,CAAc,EAAK,EAAY,CAAC,MAAM,CAAC,GAAG,EAAO,MAAM,SAAS,MAAM,EAAO,MAAM,UAAU,CAAW,YAAsB,cAAmB,SAAO,CAAC,CAAc,EAAK,EAAgB,CAAC,SAAS,GAAgC,EAAK,EAAO,IAAI,CAAC,QAAQ,EAAe,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,GAAG,UAAU,EAAQ,SAAS,SAAS,CAAC,SAAS,GAAa,EAAY,IAAI,GAAqB,EAAK,GAAO,CAAC,MAAM,EAAQ,GAAQ,MAAM,YAAY,EAAQ,GAAQ,YAAY,WAAW,EAAO,MAAM,WAAW,iBAAiB,EAAO,MAAM,UAAU,gBAAgB,EAAQ,aAAa,QAAQ,EAAQ,GAAQ,YAAY,EAAe,EAAO,CAAC,MAAM,EAAY,SAAS,IAAS,YAAY,EAAQ,GAAQ,SAAS,GAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,GAAQ,CAAC,UAAU,EAAO,UAAU,SAAS,EAA+B,EAAK,EAAO,CAAC,SAAS,EAAO,QAAQ,GAAK,QAAQ,EAAgB,GAAG,SAAS,SAAS,EAAO,OAAO,KAAK,CAAC,CAAc,EAAMC,EAAU,CAAC,SAAS,CAAC,GAAyB,EAAK,EAAO,CAAC,SAAS,EAAO,QAAQ,EAAY,GAAG,SAAS,SAAS,EAAO,OAAO,UAAU,CAAC,CAAc,EAAK,EAAO,CAAC,SAAS,EAAO,YAAY,CAAC,EAAe,GAAK,EAAG,GAAG,YAAY,SAAS,EAAO,OAAO,UAAU,CAAC,CAAc,EAAK,EAAO,CAAC,SAAS,EAAO,QAAQ,GAAK,QAAQ,EAAY,GAAG,SAAS,SAAS,EAAO,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,SAAS,GAAO,CAAC,QAAM,aAAW,cAAY,mBAAiB,kBAAgB,UAAQ,WAAS,UAAQ,SAAO,CAAC,IAAM,EAAa,EAAM,eAAe,GAAG,EAAM,WAAW,KAAK,EAAM,aAAa,KAAK,EAAM,cAAc,KAAK,EAAM,YAAY,IAAI,GAAG,EAAM,QAAQ,IAAU,EAAa,EAAM,OAAO,eAAe,EAAM,OAAO,MAAM,KAAK,EAAM,OAAO,QAAQ,KAAK,OAAoB,EAAM,EAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAa,WAAW,EAAM,WAAW,aAAa,EAAM,OAAO,OAAO,QAAQ,EAAa,OAAO,UAAU,WAAW,OAAO,cAAc,MAAM,CAAS,UAAQ,WAAW,CAAC,QAAQ,GAAG,CAAC,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,eAAe,gBAAgB,CAAC,SAAS,CAAc,EAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,IAAI,SAAS,GAAG,MAAM,EAAW,GAAG,EAAM,UAAU,CAAC,SAAS,EAAM,CAAC,CAAC,EAAsB,EAAKC,EAAS,CAAC,SAAsB,EAAK,GAAO,CAAC,QAAQ,EAAQ,KAAK,MAAM,WAAW,EAAM,YAAY,mBAAmB,EAAM,oBAAoB,CAAC,CAAC,CAAC,CAAc,EAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,EAAM,YAAY,GAAG,EAAM,UAAU,WAAW,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAA0B,EAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,WAAW,IAAI,MAAM,EAAiB,GAAG,EAAM,SAAS,CAAC,SAAS,EAAY,CAAC,CAAC,CAAC,CAAC,CAAE,SAAS,GAAS,CAAC,WAAS,SAAO,CAAC,OAAoB,EAAK,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,OAAO,mBAAmB,WAAW,OAAO,QAAQ,EAAE,GAAG,EAAM,CAAU,WAAS,CAAC,CAAE,SAAS,EAAY,CAAC,QAAM,cAAY,SAAO,aAAW,CAA4C,GAAG,EAA7B,GAAa,GAAQ,MAAoB,OAAO,KAAK,GAAG,CAAC,EAAa,OAAoB,EAAK,GAAqB,CAAQ,SAAa,QAAgB,YAAU,CAAC,CAIt8G,IAAM,EAAsB,GAAa,MAAM;;EAAO,CAAC,OAAO,EAAY,MAAM;;EAAO,CAAC,KAAK,EAAK,IAAqB,EAAK,GAAqB,CAAM,OACnJ,OAAO,IAAQ,EAAsB,OAAO,EAAE,EAAO,KAAK,MAAM,CAChE,UAAU,EAAM,EAAE,EAAE,EAAE,GAAG,EAAM,CAAW,YAAU,CAAC,EAAM,CAAC,CAAE,SAAS,GAAqB,CAAC,OAAK,SAAO,QAAM,aAAW,CAAC,OAAoB,EAAM,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,OAAO,EAAE,QAAQ,EAAE,SAAS,GAAG,GAAG,EAAM,CAAC,SAAS,CAAC,EAAK,GAAM,GAAQ,KAAK,IAAI,KAAK,GAAQ,MAAmB,EAAM,OAAO,CAAC,SAAS,CAAC,GAAQ,OAAO,IAAiB,EAAK,IAAI,CAAC,KAAK,GAAQ,KAAK,OAAO,SAAS,MAAM,CAAC,MAAM,EAAU,eAAe,OAAO,CAAC,SAAS,GAAQ,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,SAAS,GAAQ,CAAC,WAAS,aAAW,CAAC,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,EAAU,IAAI,GAAG,UAAU,GAAG,CAAU,WAAS,CAAC,4BAXviB,IAA0C,IAA4B,IAAkD,IAAuJ,CAAM,EAAQ,GACtW,GAAoB,MAAS,OAAO,4BAAgG,CAAc,EAAO,EAAQ,SAAgB,CAAC,SAAO,SAAO,SAAO,UAAQ,iBAAe,eAAa,YAAU,cAAY,cAAY,kBAAgB,kBAAgB,kBAAgB,CAAC,IAAM,EAAmB,EAAO,aAAa,EAAO,SAAS,EAAO,YAAY,EAAO,MAAM,EAAQ,EAAU,EAAO,MAAM,MAAM,EAAO,QAAQ,KAAwB,EAAO,eAAe,GAAG,EAAO,aAAgB,EAAO,eAAkB,EAAO,gBAAmB,EAAO,cAAgB,GAAG,EAAO,UAAY,IAAM,EAAa,GAAU,EAAO,MAAM,OAAO,CAAO,EAAa,EAAO,MAAM,QAAQ,MAAM,eAAe,EAAO,MAAM,OAAO,MAAM,KAAK,EAAO,MAAM,OAAO,QAAQ,KAAW,EAAY,CAAC,WAAW,EAAO,MAAM,KAAK,UAAU,GAAmB,EAAa,EAAa,CAAC,SAAS,SAAS,aAAa,EAAO,MAAM,OAAO,OAAO,CAAC,OAAoB,EAAK,EAAO,IAAI,CAAC,QAAQ,GAAgB,CAAC,EAAE,EAAO,UAAU,EAAE,EAAE,EAAO,UAAU,EAAE,MAAM,EAAO,UAAU,MAAM,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,EAAO,UAAU,EAAE,EAAE,EAAO,UAAU,EAAE,MAAM,EAAO,UAAU,MAAM,QAAQ,EAAE,CAAC,WAAW,EAAe,EAAO,UAAU,WAAW,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,WAAW,EAAoB,UAAU,gBAAgB,EAAmB,KAAK,cAAc,SAAS,IAAI,GAAG,SAAS,WAAW,QAAQ,OAAO,OAAO,IAAI,cAAc,OAAO,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAY,SAAS,SAAS,MAAM,OAAO,SAAS,EAAO,MAAM,CAAC,UAAU,gEAAgE,EAAO,OAAO,SAAS,EAAO,OAAO,SAAsB,EAAK,GAAa,CAAQ,SAAc,SAAiB,YAAU,YAAY,EAAO,YAAY,OAAO,EAAO,OAAiB,YAAU,CAAC,CAAC,EAAO,OAAO,SAAsB,EAAK,GAAmB,CAAQ,SAAc,SAAiB,YAAU,MAAM,EAAO,MAAM,YAAY,EAAO,YAAY,OAAO,EAAO,OAAO,SAAS,EAAY,SAAS,EAAY,CAAC,CAAc,EAAK,GAAc,CAAQ,SAAc,SAAe,UAAuB,iBAAyB,YAAU,MAAM,EAAO,MAAM,YAAY,EAAO,YAAY,WAAW,EAAO,WAAW,OAAO,EAAO,OAAO,eAAe,EAAgB,QAAQ,EAAyB,cAAwB,cAA4B,kBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,0EAA0E;;;WAGv+E,CAAC,2BAA2B,CAOulB,EAAO,EAAQ,SAAgB,CAAC,KAAG,WAAS,UAAQ,WAAS,WAAS,CAAC,IAAM,EAAa,EAAS,eAAe,GAAG,EAAS,WAAW,KAAK,EAAS,aAAa,KAAK,EAAS,cAAc,KAAK,EAAS,YAAY,IAAI,GAAG,EAAS,QAAQ,IAAU,EAAM,EAAQ,EAAS,QAAQ,EAAS,UAAU,OAAoB,EAAK,EAAO,MAAM,CAAC,UAAU,mCAAmC,GAAG,oCAAoC,IAAa,UAAQ,KAAK,SAAS,MAAM,GAAG,IAAW,WAAW,CAAC,QAAQ,EAAS,cAAc,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAS,YAAY,GAAG,CAAC,MAAM,CAAC,iBAAiB,OAAO,WAAW,OAAO,MAAM,EAAS,MAAM,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,QAAQ,EAAa,aAAa,EAAS,aAAa,UAAU,GAAU,EAAM,OAAO,CAAC,WAAW,EAAM,KAAK,MAAM,EAAM,MAAM,SAAS,GAAG,WAAW,EAAE,OAAO,UAAU,WAAW,EAAS,KAAK,QAAQ,IAAI,GAAG,EAAS,KAAK,CAAC,CAAC,EAAG,yFAAyF,ICDrmD,SAAwB,EAAa,CAAC,QAAM,UAAQ,UAAQ,SAAO,SAAO,UAAQ,UAAQ,QAAM,sBAAoB,UAAQ,kBAAgB,WAAS,YAAU,WAAS,qBAAmB,CAAC,IAAM,EAAiB,GAAqB,CAAO,EAAU,GAAS,EAAuB,EAAU,CAAC,GAAS,EAAuB,EAAO,EAAU,GAAM,CAAC,GAAY,EAAY,IAAsB,CAAO,EAAO,GAAU,CAAC,UAAQ,mBAAmB,EACjc,YAAY,EAAU,cAAc,EAAY,OAAO,CAAC,CAAO,EAAQ,GAAW,CAAC,QAAM,eAAe,EAAY,UAAU,EAAY,QAAQ,EAAO,SAAS,sBAAoB,gBAAgB,EAAY,UAAU,CAAC,CAAM,CAAC,EAAO,GAAWF,EAAS,EAAc,CACxQ,CAAC,EAAqB,IAAyBA,EAAS,EAAc,CAAC,MAAc,CAAI,IAC9F,EAAc,EACX,GAAQ,GAAwB,GAAM,CACtC,GAAQ,CAAC,GAAW,GAAS,MAAkB,EAAQ,CAAC,SAAO,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,GAAI,CAAC,EAAO,EAAU,CAAC,CACtH,MAAc,CAAC,GAAG,EAAU,OAAO,IAAM,EAAe,EAAQ,eAAe,CAAC,EAAQ,YAAkB,EAAiB,EAAO,OAAO,UAAU,CAAC,EAAQ,eAAkB,IAAgB,YAAY,KAAK,qBAAqB,CAAC,EAAU,GAAK,CAA8D,IAAkB,EAAQ,YAAY,CACrV,GAAU,MAAkB,EAAS,CAAC,SAAO,CAAC,CAAC,GAAO,EAAQ,aAAa,EAAU,GAAM,EAAI,CAAC,EAAQ,cAAc,EAAQ,YAAY,EAAU,CAAC,CAAC,MAAc,CAAI,GAAoB,GAAiB,MAAkB,EAAgB,CAAC,SAAO,QAAQ,EAAQ,MAAM,CAAC,CAAC,EAAI,CAAC,EAAQ,MAAM,EAAU,CAAC,CAAC,eAAe,GAAe,CAAC,MAAM,GAAqB,CAAC,EAAQ,SAAS,CAAC,EAAU,GAAM,CAC3Y,GAAW,MAAkB,EAAU,CAAC,SAAO,CAAC,CAAC,CAAG,eAAe,IAAiB,CAAC,MAAM,GAAqB,CAAC,EAAQ,WAAW,CAAC,EAAU,GAAM,CACrJ,GAAU,MAAkB,EAAS,CAAC,SAAO,CAAC,CAAC,CAAG,eAAe,GAAiB,CAAC,MAAM,GAAqB,CAAC,EAAQ,WAAW,CAAC,EAAU,GAAM,CACnJ,GAAU,MAAkB,EAAS,CAAC,SAAO,CAAC,CAAC,CAAG,eAAe,IAAqB,CAAC,MAAM,GAAqB,CAAC,EAAQ,eAAe,CAAC,EAAU,GAAM,CAC9J,MAAkB,CAAI,GAAU,EAAS,CAAC,SAAO,CAAC,EAAI,CAAC,MAAkB,CAAI,GAAmB,EAAkB,CAAC,SAAO,CAAC,EAAI,CAAqS,OAAhS,EAA+B,EAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAM,MAAM,EAAO,MAAM,CAAC,SAAsB,EAAK,EAAO,CAAQ,SAAc,SAAc,SAAe,UAAQ,eAAe,GAAW,EAAQ,QAAQ,aAAa,CAAC,GAAG,GAAe,UAAU,GAAK,CAAC,eAAe,GAAM,CAAC,CAAC,CAAC,CAAsB,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAK,GAAQ,CAAO,QAAc,UAAQ,YAAY,EAAU,GAAK,CAAC,CAAC,CAAC,CAAC,GAAwB,EAAK,GAAQ,CAAQ,SAAc,SAAc,SAAe,UAAQ,aAAa,EAAQ,MAAM,eAAe,CAAC,EAAqB,YAAY,GAAgB,gBAAgB,GAAoB,YAAY,EAAgB,UAAU,EAAc,gBAAgB,EAAQ,WAAkB,SAAO,CAAC,CAAC,CAAC,CAAC,CAA6I,SAAS,GAAQ,EAAM,CAAC,IAAM,EAAW,EAAM,OAAO,aAAa,GAAG,EAAM,OAAO,SAAS,KAAK,EAAM,OAAO,WAAW,KAAK,EAAM,OAAO,YAAY,KAAK,EAAM,OAAO,UAAU,IAAI,GAAG,EAAM,OAAO,MAAM,IAAS,CAAC,iBAAe,cAAY,GAAiB,EAAM,OAAO,SAAS,CAAO,EAAO,EAAM,OAAY,CAAC,EAAmB,GAAuBD,EAAS,EAAO,CAGtzC,GAA1D,CAAC,GAAoB,GAAO,EAAsB,EAAO,CAAI,CAAC,EAAmB,OAAO,KAAK,IAAM,EAAS,EAAM,OAAO,SAAS,OAAoB,EAA0B,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,WAAW,CAAC,SAAsB,EAAK,EAAgB,CAAC,SAAS,EAAoB,EAAM,EAAO,IAAI,CAAC,MAAM,CAE3T,IAAI,GAAU,IAAa,aAAa,EAAE,IAAA,GAAU,KAAK,GAAU,IAAiB,aAAa,EAAE,IAAA,GAAU,MAAM,GAAU,IAAiB,WAAW,EAAE,IAAA,GAAU,OAAO,EAAS,OAAO,IAAA,GAAU,MAAM,GAAU,IAAiB,SAAS,OAAO,IAAA,GAAU,OAAO,GAAU,IAAa,WAAW,EAAE,IAAA,GAAU,UAAU,aAAa,SAAS,QAAQ,YAAY,OAAO,QAAQ,EAAW,OAAO,EAAM,OAAO,OAAO,QAAQ,OAAO,cAAc,MAAM,IAAI,GAAG,eAAe,SAAS,cAAc,EAAS,MAAM,OAAO,CAAC,SAAS,CAAC,GAAuB,EAAK,GAAS,CAAC,MAAM,EAAM,OAAO,OAAO,SAAS,CAAC,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,iBAAe,aAAW,cAAc,OAAO,SAAS,EAAM,OAAO,eAAe,EAAE,EAAM,OAAO,eAAe,QAAQ,CAAC,SAAsB,EAAK,EAAO,CAAC,GAAG,EAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAwgD,SAAS,GAAS,CAAC,SAAO,CAAC,OAAoB,EAAK,EAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,SAAS,WAAW,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,OAAO,OAAO,gBAAgB,EAAM,cAAc,OAAO,CAAC,CAAC,2BA1B7hF,IAAgF,IAA4D,IAAoD,IAAoC,KAAuJ,KAAiH,KAA8G,KAA0G,IAA6K,CAC57B,EAAc,GAoBw2B,GAAwB,MAAS,OAAO,wBAA4F,CAK5I,GAAQ,GAAS,CAAC,UAAQ,QAAM,aAAW,CAAC,IAAM,EAAiB,GAAqB,CAAC,GAAG,EAAQ,OAAO,OAAQ,OAAoB,EAAK,SAAS,CAAC,UAAU,mCAAmC,aAAa,iBAAiB,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,WAAW,OAAO,QAAQ,OAAO,OAAO,OAAO,QAAQ,EAAE,MAAM,EAAQ,MAAM,SAAS,GAAG,OAAO,UAAU,GAAG,EAAQ,SAAS,CAAS,UAAQ,SAAS,EAAQ,OAAO,OAAoB,EAAKC,EAAU,CAAC,SAAS,EAAQ,WAAW,UAAU,EAAQ,UAAuB,EAAK,MAAM,CAAC,IAAI,mCAAmC,IAAI,EAAQ,UAAU,IAAI,MAAM,EAAQ,SAAS,OAAO,EAAQ,SAAS,CAAC,CAAc,EAAKC,EAAS,CAAC,SAAsB,EAAK,GAAW,CAAC,MAAM,EAAQ,SAAS,OAAO,EAAQ,SAAS,MAAM,EAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,WAAW,SAAS,CAAC,SAAS,EAAQ,KAAK,CAAC,CAAC,CAAC,CAAE,GAAG,EAAkB,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,OAAO,OAAO,kBAAkB,WAAW,yBAAyB,QAAQ,GAAG,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAE,WAAW,EAAoB,UAAU,SAAS,eAAe,SAAS,MAAM,IAAI,GAAG,EAAM,CAAC,SAAS,CAAc,EAAK,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,IAAI,WAAW,EAAE,OAAO,EAAE,CAAC,SAAS,gBAAgB,CAAC,CAAc,EAAK,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC,SAAS,wCAAwC,CAAC,CAAC,CAAC,CAAC,EAAI,yFAAyF,4BAA4B,CAA6P,EAAoB,EAAa,CAAC,MAAM,CAAC,MAAM,SAAS,KAAK,EAAY,OAAO,YAAY,cAAc,YAAY;2DAAoF,CAAC,QAAQ,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,YAAY,6CAA6C,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,YAAY,aAAa,SAAS,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,KAAK,QAAQ,CAAC,OAAO,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,OAAO,OAAO,CAAC,aAAa,OAAO,wBAAwB,GAAK,CAAC,SAAS,CAAC,MAAM,OAAO,KAAK,EAAY,KAAK,QAAQ,CAAC,UAAU,SAAS,CAAC,aAAa,CAAC,UAAU,SAAS,CAAC,wBAAwB,GAAK,OAAO,GAAO,EAAM,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,aAAa,kBAAkB,OAAO,GAAO,EAAM,OAAO,OAAO,CAAC,SAAS,CAC56G,KAAK,EAAY,KAAK,MAAM,IAAI,SAAS,WAAW,OAAO,GAAO,EAAM,OAAO,OAAO,CAAC,SAAS,CAAC,MAAM,OAAO,KAAK,EAAY,OAAO,eAAe,GAAK,aAAa,GAAG,OAAO,GAAO,EAAM,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,MAAM,aAAa,OAAO,OAAO,GAAO,EAAM,OAAO,QAAQ,EAAM,OAAO,QAAQ,EAAM,WAAW,SAAS,CAAC,UAAU,CAAC,MAAM,OAAO,KAAK,EAAY,gBAAgB,iBAAiB,CAAC,MAAM,MAAM,MAAM,CAAC,OAAO,GAAO,EAAM,WAAW,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,SAAS,KAAK,EAAY,OAAO,YAAY,eAAe,SAAS,CAAC,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,WAAW,QAAQ,CAAC,WAAW,aAAa,YAAY,eAAe,gBAAgB,cAAc,CAAC,aAAa,CAAC,WAAW,aAAa,YAAY,eAAe,gBAAgB,cAAc,CAAC,aAAa,eAAe,CAAC,OAAO,CAAC,MAAM,UAAU,KAAK,EAAY,OAAO,aAAa,GAAG,eAAe,GAAK,IAAI,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,eAAe,GAAK,KAAK,EAAE,CAAC,eAAe,CAAC,MAAM,WAAW,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,UAAU,KAAK,EAAY,YAAY,UAAU,iBAAiB,aAAa,CAAC,UAAU,mBAAmB,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,eAAe,gBAAgB,cAAc,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,YAAY,UAAU,eAAe,aAAa,CAAC,QAAQ,iBAAiB,CAAC,aAAa,GAAG,UAAU,CAAC,WAAW,aAAa,cAAc,YAAY,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,YAAY,wBAAwB,SAAS,CAAC,UAAU,CACrqD,KAAK,EAAY,KAAK,MAAM,QAAQ,SAAS,WAAW,CAAC,WAAW,CAAC,MAAM,IAAI,KAAK,EAAY,MAAM,aAAa,OAAO,CAAC,SAAS,CACpI,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,CAAC,UAAU,CAAC,MAAM,IAAI,KAAK,EAAY,MAAM,aAAa,OAAO,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,MAAM,aAAa,OAAO,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,MAAM,SAAS,GAAK,aAAa,OAAO,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,YAAY,gBAAgB,SAAS,CAAC,OAAO,CAAC,MAAM,SAAS,KAAK,EAAY,OAAO,eAAe,GAAK,IAAI,EAAE,aAAa,GAAG,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,eAAe,GAAK,IAAI,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,MAAM,aAAa,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,GAAK,SAAS,CAAC,YAAY,CAAC,MAAM,QAAQ,KAAK,EAAY,MAAM,aAAa,mBAAmB,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAY,OAAO,IAAI,KAAK,IAAI,IAAI,aAAa,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAY,OAAO,IAAI,KAAK,IAAI,IAAI,aAAa,EAAE,CAAC,WAAW,CAAC,MAAM,OAAO,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,WAAW,KAAK,EAAY,MAAM,aAAa,kBAAkB,QAAQ,EAAE,IAAQ,CAAC,EAAM,QAAQ,YAAY,CAAC,EAAM,QAAQ,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,SAAS,YAAY,UAAU,KAAK,EAAY,OAAO,SAAS,CAAC,EAAE,CAAC,KAAK,EAAY,OAAO,eAAe,GAAK,aAAa,EAAE,CAAC,EAAE,CAAC,KAAK,EAAY,OAAO,eAAe,GAAK,aAAa,GAAG,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,KAAK,GAAG,aAAa,EAAE,CAAC,WAAW,CAAC,KAAK,EAAY,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,UAAU,KAAK,EAAY,OAAO,YAAY,kBAAkB,SAAS,CAAC,QAAQ,CAAC,MAAM,UAAU,KAAK,EAAY,OAAO,YAAY,iBAAiB,SAAS,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,MAAM,aAAa,OAAO,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,MAAM,aAAa,OAAO,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,GAAK,SAAS,CAAC,YAAY,CAAC,MAAM,QAAQ,KAAK,EAAY,MAAM,aAAa,mBAAmB,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAY,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAY,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,OAAO,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,YAAY,KAAK,EAAY,OAAO,YAAY,iBAAiB,SAAS,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,MAAM,aAAa,OAAO,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,MAAM,aAAa,OAAO,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,SAAS,GAAK,SAAS,CAAC,YAAY,CAAC,MAAM,QAAQ,KAAK,EAAY,MAAM,aAAa,mBAAmB,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAY,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,KAAK,EAAY,OAAO,IAAI,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,OAAO,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,aAAa,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,aAAa,SAAS,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,aAAa,aAAa,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,aAAa,aAAa,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,aAAa,YAAY,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,aAAa,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,aAAa,OAAO,CAAC,CAAC,CAAC,KAAK,CAC9jG,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,CAAC,QAAQ,CAAC,MAAM,UAAU,KAAK,EAAY,YAAY,UAAU,iBAAiB,aAAa,CAAC,UAAU,mBAAmB,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,eAAe,gBAAgB,cAAc,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,MAAM,SAAS,KAAK,EAAY,OAAO,eAAe,GAAK,IAAI,EAAE,aAAa,EAAE,CAAC,WAAW,CAAC,MAAM,cAAc,KAAK,EAAY,OAAO,KAAK,GAAG,eAAe,GAAK,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,CAAC,aAAa,CAAC,MAAM,gBAAgB,KAAK,EAAY,OAAO,KAAK,GAAG,eAAe,GAAK,IAAI,EAAE,IAAI,EAAE,aAAa,GAAG,CAAC,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,MAAM,SAAS,CAChsB,YAAY,CAAC,uBAAuB,qBAAqB,CAAC,aAAa,MAAM,wBAAwB,GAAK,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,QAAQ,aAAa,GAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,UAAU,KAAK,EAAY,OAAO,YAAY,YAAY,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,EAAY,QAAQ,aAAa,GAAK,aAAa,KAAK,cAAc,QAAQ,CAAC,OAAO,CAAC,MAAM,UAAU,KAAK,EAAY,KAAK,QAAQ,CAAC,SAAS,SAAS,WAAW,CAAC,aAAa,CAAC,OAAO,gBAAgB,eAAe,CAAC,aAAa,SAAS,OAAO,GAAO,CAAC,EAAM,KAAK,CAAC,QAAQ,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,aAAa,kBAAkB,OAAO,GAAO,EAAM,SAAS,UAAU,CAAC,EAAM,KAAK,CAAC,cAAc,CAAC,MAAM,cAAc,KAAK,EAAY,OAAO,aAAa,oGAAoG,gBAAgB,GAAK,OAAO,GAAO,CAAC,EAAM,KAAK,CAAC,SAAS,CAAC,MAAM,SAAS,KAAK,EAAY,OAAO,YAAY,eAAe,SAAS,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,KAAK,aAAa,uCAAuC,CAAC,OAAO,CAAC,MAAM,SAAS,KAAK,EAAY,OAAO,aAAa,WAAW,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,aAAa,gBAAgB,CAAC,CAAC,OAAO,GAAO,CAAC,EAAM,KAAK,CAAC,WAAW,CAAC,MAAM,WAAW,YAAY,UAAU,KAAK,EAAY,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,aAAa,UAAU,cAAc,SAAS,aAAa,GAAK,CAAC,YAAY,CAAC,KAAK,EAAY,QAAQ,aAAa,UAAU,cAAc,SAAS,aAAa,GAAM,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,aAAa,UAAU,cAAc,SAAS,aAAa,GAAM,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,aAAa,UAAU,cAAc,SAAS,aAAa,GAAM,YAAY,6DAA6D,CAAC,CAAC,OAAO,GAAO,CAAC,EAAM,KAAK,CAAC,aAAa,CAAC,MAAM,aAAa,KAAK,EAAY,QAAQ,aAAa,GAAK,aAAa,OAAO,cAAc,OAAO,OAAO,GAAO,EAAM,SAAS,WAAW,CAAC,WAAW,CAAC,MAAM,WAAW,KAAK,EAAY,QAAQ,aAAa,GAAM,YAAY,uCAAuC,OAAO,GAAO,CAAC,EAAM,KAAK,CAAC,UAAU,CAAC,MAAM,UAAU,KAAK,EAAY,KAAK,QAAQ,CAAC,SAAS,SAAS,WAAW,CAAC,aAAa,CAAC,OAAO,gBAAgB,eAAe,CAAC,aAAa,SAAS,OAAO,GAAO,EAAM,KAAK,CAAC,WAAW,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,aAAa,kBAAkB,OAAO,GAAO,EAAM,YAAY,UAAU,EAAM,KAAK,CAAC,iBAAiB,CAAC,MAAM,cAAc,KAAK,EAAY,OAAO,aAAa,uEAAuE,gBAAgB,GAAK,OAAO,GAAO,EAAM,KAAK,CAAC,YAAY,CAAC,MAAM,SAAS,KAAK,EAAY,OAAO,YAAY,eAAe,SAAS,CAAC,KAAK,CAAC,MAAM,OAAO,KAAK,EAAY,KAAK,CAAC,OAAO,CAAC,MAAM,SAAS,KAAK,EAAY,OAAO,aAAa,WAAW,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,aAAa,gBAAgB,CAAC,CAAC,OAAO,GAAO,EAAM,KAAK,CAAC,cAAc,CAAC,MAAM,WAAW,YAAY,UAAU,KAAK,EAAY,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,aAAa,UAAU,cAAc,SAAS,aAAa,GAAK,CAAC,YAAY,CAAC,KAAK,EAAY,QAAQ,aAAa,UAAU,cAAc,SAAS,aAAa,GAAK,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,aAAa,UAAU,cAAc,SAAS,aAAa,GAAK,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,aAAa,UAAU,cAAc,SAAS,aAAa,GAAK,YAAY,6DAA6D,CAAC,CAAC,OAAO,GAAO,EAAM,KAAK,CAAC,gBAAgB,CAAC,MAAM,aAAa,KAAK,EAAY,QAAQ,aAAa,GAAK,aAAa,OAAO,cAAc,OAAO,OAAO,GAAO,EAAM,YAAY,WAAW,CAAC,cAAc,CAAC,MAAM,WAAW,KAAK,EAAY,QAAQ,aAAa,GAAM,YAAY,uCAAuC,OAAO,GAAO,EAAM,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,YAAY,kBAAkB,QAAQ,EAAE,IAAQ,EAAM,QAAQ,SAAS,YAAY,EAAM,QAAQ,YAAY,WAAW,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAM,YAAY,6CAA6C,QAAQ,EAAE,IAAQ,CAAC,EAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,YAAY,KAAK,EAAY,OAAO,YAAY,UAAU,SAAS,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,aAAa,YAAY,CAAC,YAAY,CAAC,MAAM,cAAc,KAAK,EAAY,OAAO,aAAa,4CAA4C,gBAAgB,GAAK,CAAC,SAAS,CAAC,MAAM,WAAW,KAAK,EAAY,QAAQ,aAAa,GAAK,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,cAAc,KAAK,EAAY,OAAO,YAAY,UAAU,SAAS,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,aAAa,cAAc,CAAC,YAAY,CAAC,MAAM,cAAc,KAAK,EAAY,OAAO,aAAa,6CAA6C,gBAAgB,GAAK,SAAS,GAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,YAAY,KAAK,EAAY,OAAO,YAAY,UAAU,SAAS,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,aAAa,YAAY,CAAC,YAAY,CAAC,MAAM,cAAc,KAAK,EAAY,OAAO,aAAa,mCAAmC,gBAAgB,GAAK,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,YAAY,KAAK,EAAY,OAAO,YAAY,UAAU,SAAS,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,aAAa,YAAY,CAAC,YAAY,CAAC,MAAM,cAAc,KAAK,EAAY,OAAO,aAAa,4CAA4C,gBAAgB,GAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,YAAY,gBAAgB,SAAS,CAAC,UAAU,CAC36K,KAAK,EAAY,KAAK,MAAM,QAAQ,SAAS,QAAQ,CAAC,SAAS,CAC/D,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,QAAQ,CAAC,WAAW,CAAC,MAAM,aAAa,KAAK,EAAY,MAAM,aAAa,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,YAAY,gBAAgB,SAAS,CAAC,OAAO,CAAC,MAAM,SAAS,KAAK,EAAY,OAAO,eAAe,GAAK,IAAI,EAAE,aAAa,EAAE,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,OAAO,eAAe,GAAK,CAAC,MAAM,CAAC,MAAM,QAAQ,KAAK,EAAY,MAAM,aAAa,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,KAAK,KAAK,EAAY,MAAM,aAAa,OAAO,CAAC,oBAAoB,CAAC,MAAM,MAAM,KAAK,EAAY,MAAM,aAAa,kBAAkB,CAAC,QAAQ,CAAC,MAAM,UAAU,KAAK,EAAY,YAAY,UAAU,iBAAiB,aAAa,CAAC,UAAU,mBAAmB,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,eAAe,gBAAgB,cAAc,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAa,YAAY,0CChCh2B,GAAU,UAAU,EAAE,CAAC,CAAcC,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,EAAE,CAAC,CAAC,CAAcC,GAAI,CAAC,kWAAkW,CAAcC,GAAU,yCCAvd,GAAU,UAAU,EAAE,CAAC,CAAc,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,EAAE,CAAC,CAAC,CAAc,GAAI,CAAC,gWAAgW,CAAc,GAAU,kBCAnf,SAAwB,GAAS,EAAO,EAAa,CAAC,MAAM,CAAC,oBAAoB;;4CAAwP,kBAAkB;;;;;;;;;;;;;;;;;UAAuc,oBAAoB;;;;;;;;;EAAojB,QAAQ,uEAAuE,OAAO,0BAA0B"}