{"version":3,"file":"shared-lib.BENVOn7x.mjs","names":["e","Icon","className","useId","useState","splitWordsRegex","useRef","useCallback","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","splitWordsRegex","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","splitWordsRegex","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","useState","useTransition","SearchResultTitleType","useRef","useState","useDeferredValue","useCallback","useMemo","React","useState","useRef","useState","mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","mask","Base","MotionSVG","SVG","svg","getProps","Icon","React.forwardRef","getProps","React.forwardRef","fonts","css","className","fonts","css","className","fonts","css","className","Search","Languages","React.useContext","React.useMemo","React.Fragment","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","Image1","Menu","X","css","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","fonts","css","className","__esmMin","he","le","x","init_ssg_sandbox_shims","pe","navigator","fe","init_npm_react_18_3_1","ae","init_npm_react_dom_18_3_1","e","_e","Ha","oe","ne","p","c","J","init_jsx_runtime","ce","ie","de","window","useAnimate","clamp","LayoutGroup","AnimatePresence","MotionConfigContext","init_framer_motion_DhsWWWsN","motion","getFontsFromSharedStyle","useRouter","SmartComponentScopedContainer","withCSS","init_framer_DKWANagr","fontStore","RenderTarget","addFonts","RichText","useVariantState","getLoadingLazyAtYPosition","inferInitialRouteFromPath","Link","useLocaleInfo","useActiveVariantCallback","LazyValue","Instance","ComponentViewportProvider","cx","addPropertyControls","useComponentViewport","ControlType","Image$1","useLocalesForCurrentRoute","useSVGTemplate","getFonts","getBorderStyle","o","d","r","i","l","h","b","borderControls","init_border","getFocusStyle","result","color","width","style","offset","focusControls","init_focus","getHoverStyle","fillColor","textColor","borderColor","hoverControls","init_hover","getPaddingStyle","padding","paddingPerSide","paddingControls","init_padding","getRadiusStyle","radius","radiusPerCorner","radiusTopLeft","radiusTopRight","radiusBottomRight","radiusBottomLeft","radiusControls","init_radius","Icon$3","type","image","size","Caret","className$5","IconType","CaretType","LocaleSelector","init_LocaleSelector","\"Default\"","\"Custom\"","props","id","localesForCurrentRoute","activeLocaleId","activeLocale","lastActiveLocaleId","setLastActiveLocaleId","selectedLocaleId","setSelectedLocaleId","selectedLocale","locales","locale","handleChange","localeId","event","setLocale","font","border","hover","focus","icon","title","caret","SearchIcon","ClearIcon","SpinnerIcon","init_Icons","Storage","request","\"result\"","resolve","reject","init_storage","key","value","setCachedData","cacheKey","url","cache","dataToCache","checkForCachedData","init_cache","init_cache_YMiL","isDefaultLocaleId","getIndexKey","INDEX_KEY","getMetadataKey","METADATA_KEY","getCachedIndex","metadataKey","indexKey","metadata","cachedIndex","indexHash","setCachedIndex","index","VERSION","init_cachedIndex","fakeResults","init_fakeResults","peq","myers_32","myers_x","distance","init_fuzzySearch","a","m","lst","pv","mv","sc","eq","xv","mhc","phc","hsize","vsize","j","start","vlen","k","i1","pb","mb","xh","ph","mh","k1","mv1","pv1","start1","vlen1","k2","score","i2","eq1","pb1","mb1","xv1","xh1","ph1","mh1","k3","tmp","capitalizeFirstLetter","titleCase","groupsRegex","clampText","textLength","text","maxLength","slicedText","isEmptyObject","object","createLogger","log","data","time","label","timeEnd","noop","showOutput","getFontFamily","theme","DEFAULT_FONT_FAMILY","animationKeyFromLayout","layout","getMetaTagContent","metaTag","safeDocument","metaTagSelector","stripLocaleSlugFromPath","localeSlug","localeSlugWithSlash","yieldToMain","options","isHighPriority","localStorageDebugFlag","safeWindow","checkIfOverLimit","init_utils","log$3","time$3","timeEnd$3","init_useSearch","init_SearchModal","regex","Browser","init_browser","isTouch","isChrome","isWebKit","isSafari","useCallbackOnMouseMove","init_useCallbackOnMouseMove","prevPositionRef","callback","ref","mousePositionRef","prevCursorPosition","clientX","clientY","scrollIntoView","targetElementBounds","targetElement","scrollElementBounds","scrollElement","difference","offsetTop","topAligned","minOffset","bottomAligned","offsetBottom","init_scrollIntoView","SearchInputClearButtonType$3","SearchInputDividerType$3","SearchResultTitleType$3","SearchResultSubtitleType$3","SearchResultItemType$3","SearchLayoutType$3","SearchEntryType$3","SearchIconType$3","\"Icon\"","\"Text\"","\"None\"","\"FullWidth\"","\"Contained\"","\"H1\"","\"Title\"","\"Description\"","\"Path\"","\"Sidebar\"","\"FixedTop\"","\"QuickMenu\"","log$2","time$2","timeEnd$2","init_useSearch$1","SearchInputClearButtonType$2","SearchInputDividerType$2","SearchResultTitleType$2","SearchResultSubtitleType$2","SearchResultItemType$2","SearchLayoutType$2","SearchEntryType$2","SearchIconType$2","init_SearchModal$1","log$1","time$1","timeEnd$1","init_useSearch$2","SearchInputClearButtonType$1","SearchInputDividerType$1","SearchResultTitleType$1","SearchResultSubtitleType$1","SearchResultItemType$1","SearchLayoutType$1","SearchEntryType$1","SearchIconType$1","init_SearchModal$2","splitWords","splitWordsRegex","getUniqueWords","words","str","word","getNormalizedString","normalizeRegex","getNormalizedItemFromCache","cached","normalizedItemCache","item","normalizedItem","getNormalizedItem","getMatchRange","currentRange","end","getScoreForSearchIndexItem","match","urlWords","query","splitLength","titleWords","titleIndex","fullQuery","titleWord","headings","heading","headingWords","headingWord","descriptionIndex","codeblock","getSearchIndexItemScore","queryWords","normalizedQuery","total","queryWord","useRawSearch","results","setResults","startTransition","abortController","executeRawSearch","settings","res","err","path","items","deadline","QUANTUM","yieldToMainIfNecessary","signal","itemB","itemA","getIndexedScopedToUrl","scopedIndex","baseScopeUrlHasVariable","rawUrlScope","urlUpToPathVariable","urlScope","useSearch","searchIndex","_setSearchIndex","status","setStatus","setSearchIndex","loadSearchIndex","baseUrl","getBaseUrl","cacheResult","searchIndexUrl","getSearchIndexUrl","response","downloadedIndex","fallbackBaseUrl","fallbackSearchIndexUrl","fallbackResponse","error","name","baseURL","init_useSearch$3","ClearButton","iconOrText","Divider","styles","QuickMenuSpacer","LayoutContainer","layoutStyles","getLayoutBaseStyles","layoutType","layoutContainerStyle","innerStyle","getContainerAnimation","modalOptions","containerAnimation","onDismiss","ModalContainer","MODAL_MAX_HEIGHT","scope","animate","heightIsStatic","prevHeight","height","heightTransition","heightDeps","StatusMessage","verticalSpacing","VERTICAL_SPACING_MULTIPLIER","statusStyle","layoutOption","sidebarStyles","fixedTopStyles","quickMenuStyles","SearchModal","input","selectedResultRow","scrollView","selected","setSelected","prevMousePositionRef","isKeyboardNavigationDisabled","setIsKeyboardNavigationDisabled","setQuery","deferredQuery","resultOptions","selectedResult","handleResultRowPointerDown","handleResultRowMouseMove","previousSelected","router","navigateTo","route","routeId","pathVariables","handleKeyDown","maxIndex","showNoResults","showDivider","isItemContained","spacing","listPaddingTop","element","Input","inputOptions","ScrollView","isSelected","ResultRow","resultTitle","MAX_DESCRIPTION_LENGTH","inputContainerStyle","inputStyle","resultContainer","SearchInputClearButtonType","SearchInputDividerType","SearchResultTitleType","SearchResultSubtitleType","SearchResultItemType","SearchLayoutType","SearchEntryType","SearchIconType","init_SearchModal$3","inputValue","setInputValue","isFocused","setIsFocused","inputRef","inputElement","handleInputClick","handleClearClick","onChange","showClearButton","clearButtonType","searchIcon","iconType","autofocus","scrollOffset","urlPath","handleMouseMove","onMouseMove","isContained","borderRadius","subtitleText","subtitleType","onNavigateTo","onPointerDown","canScroll","setCanScroll","getViewportSize","useViewportSizeState","state","setState","getState","handleWindowResize","init_useViewportSizeState","buildShadow","shadowProperty","fallback","y","blur","spread","EntryPointOptions","Overlay","backdropStyles","containerStyle","bodyOverflowHidden","EntryPoint","init_Search","\"icon\"","\"input\"","handlePointerDown","overlay","isOpen","setIsOpen","isOverLimit","setIsOverLimit","isSafariTouchDevice","setIsSafariTouchDevice","isOnCanvas","baseInputFontSize","inputFontSize","handleClick","mask$2","Base$2","MotionSVG$2","SVG$2","svg$2","getProps$3","Icon$2","init_N1r1EO_A2","rest","animated","width1","restProps","href","className","P_DcoRcrY","JEeZYcamG","mask$1","Base$1","MotionSVG$1","SVG$1","svg$1","getProps$2","Icon$1","init_Vsaktx242","mask","Base","MotionSVG","SVG","svg","getProps$1","Icon","init_gpufTpA3b","fonts$4","css$5","className$4","init_GzFnHlDY6","fonts$3","css$4","className$3","init_HXR1UZYll","fonts$2","css$3","className$2","init_oJiY0ntEU","getLocalizedValue","values","valuesByLocaleId","preload","promises","promise","usePreloadLocalizedValues","preloadPromise","init_AlxkIlchD","addPropertyOverrides","variants","nextOverrides","variant","overrides","SearchFonts","LanguagesFonts","LocaleSelectorFonts","cycleOrder","serializationHash","variantClassNames","transition1","Transition","humanReadableVariantMap","Variants","getProps","createLayoutDependency","Component","css$2","FramerAlxkIlchD","init_AlxkIlchD$1","config","transition","contextValue","fallbackRef","refBinding","defaultLayoutId","componentViewport","layoutDependency","scopingClassNames","isDisplayed","baseVariant","onTap8ifpf5","activeVariantCallback","args","setVariant","onTap18gde6x","onTapx29ujy","onTap1xngaoz","layoutId","gestureHandlers","classNames","gestureVariant","contentLocale","fonts$1","css$1","className$1","init_dXWpJdsnW","fonts","css","init_vqVbbCKjE"],"sources":["https:/framerusercontent.com/modules/cuKUFdzXlhvw8OVOBeAc/T08RxQJ4qrs7LLc8wx4E/border.js","https:/framerusercontent.com/modules/9muYaW1MvHoRQJ0P7dkP/V2GVvLqiMxXRSxszkCSa/focus.js","https:/framerusercontent.com/modules/YfmtnpWjJrP37sQ18QUZ/9Y2P24U2SBIbf2fPVsOX/hover.js","https:/framerusercontent.com/modules/wjZLfSMaP1TvJDu5PCwr/XQ1GMXuIqYrEN1c0R6E5/padding.js","https:/framerusercontent.com/modules/N6MwtHbWoiZJNn1xpqxu/ZEWmVGYDUhL44tluQO5y/radius.js","https:/framerusercontent.com/modules/57FhkldN9P7x88MqAEaR/7Wx3r3ii8MhSQ44Rlwa5/LocaleSelector.js","https:/framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js","https:/framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js","https:/framerusercontent.com/modules/m2nL4qHNbqX9QCxsHsGL/b9aplVZjN51x28yfNK16/cache.js","https:/framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16","https:/framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js","https:/framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js","https:/framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js","https:/framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/IOZYtsQMauhTmjY894DM/useSearch.js","https:/framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js","https:/framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js","https:/framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/G59GwobMNJqwSjtPO6Pv/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/bsLTiXYjkHoD2XaMjabu/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/fpvHBWGoGQcWezUopJLS/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/1GynhDlRW7uuXFYW1RXb/SearchModal.js","https:/framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/1vZ2fdkLJI4IprrVTHqR/useSearch.js","https:/framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/lCNMpf6DznmmCJRndYjM/SearchModal.js","https:/framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js","https:/framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js","https:/framerusercontent.com/modules/DmZTdEl4I3oDparTcKOt/VHoYCWW4B2az5EkpBmIt/N1r1EO_A2.js","https:/framerusercontent.com/modules/nW28P7k6zS9mddbwEi9t/eJZbsb780olVJmyBoSe8/Vsaktx242.js","https:/framerusercontent.com/modules/s9ICNln7If6dbx787s8J/bsSFrd6i3uQgWvg7HD50/gpufTpA3b.js","https:/framerusercontent.com/modules/AfyNm1xigwdLPO5SsnAp/DMbeYEzsAwQuHWEpWpYW/GzFnHlDY6.js","https:/framerusercontent.com/modules/t7hzlAvsQnPVzv44tUf3/fB2KV8Wt5bjmRjvFhRPP/HXR1UZYll.js","https:/framerusercontent.com/modules/139uxDlhiVksXdt6XqOy/PUiEnk6Lz6QGD2pVCNac/oJiY0ntEU.js","https:/framerusercontent.com/modules/oP8siEjd6wvU5GS97mpF/NlOybKkPXyUORvjT2wSB/AlxkIlchD.js","https:/framerusercontent.com/modules/mwnbzGdJNtnWMAdCwcye/5aXwudC0eVsD46g9gF2S/AlxkIlchD.js","https:/framerusercontent.com/modules/kjiiu53e69v5x6p042Ew/CBYABRh8j4kU359qdFXg/dXWpJdsnW.js","https:/framerusercontent.com/modules/CQwlhIY0tXirmzQP8lvP/6AdyGavyMGGzcW76JCF5/vqVbbCKjE.js"],"sourcesContent":["import{ControlType as e}from\"framer\";export function getBorderStyle({color:e,width:t=0,widthPerSide:o=!1,widthTop:d=0,widthRight:r=0,widthBottom:i=0,widthLeft:l=0,style:h=\"none\"}={}){let b={};return e?(b[\"--framer-border-color\"]=e,b.borderStyle=h,o?(b.borderTopWidth=d,b.borderRightWidth=r,b.borderBottomWidth=i,b.borderLeftWidth=l):(b.borderTopWidth=t,b.borderRightWidth=t,b.borderBottomWidth=t,b.borderLeftWidth=t)):b.border=\"none\",b;}export const borderControls={color:{type:e.Color,defaultValue:\"#444\"},width:{type:e.FusedNumber,toggleKey:\"widthPerSide\",toggleTitles:[\"Width\",\"Width per side\"],valueKeys:[\"widthTop\",\"widthRight\",\"widthBottom\",\"widthLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],defaultValue:1,min:0},style:{type:e.Enum,options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"double\"],defaultValue:\"solid\"}};\nexport const __FramerMetadata__ = {\"exports\":{\"borderControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getBorderStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"BorderOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./border.map","import{ControlType}from\"framer\";export function getFocusStyle({color,width,style,offset}={}){const result={};if(color){result[\"--framer-focus-outline\"]=`${width}px ${style} ${color}`;result[\"--framer-focus-outline-offset\"]=`${offset}px`;}return result;}export const focusControls={color:{type:ControlType.Color,defaultValue:\"#09f\"},width:{type:ControlType.Number,displayStepper:true,defaultValue:1,min:0},style:{type:ControlType.Enum,options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"double\"],defaultValue:\"solid\"},offset:{type:ControlType.Number,displayStepper:true}};\nexport const __FramerMetadata__ = {\"exports\":{\"focusControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFocusStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FocusOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./focus.map","import{ControlType}from\"framer\";export function getHoverStyle({fillColor,textColor,borderColor}={}){return{\"--framer-hover-background-color\":fillColor,\"--framer-hover-color\":textColor,\"--framer-hover-border-color\":borderColor};}export const hoverControls={fillColor:{type:ControlType.Color,title:\"Fill\",optional:true},textColor:{type:ControlType.Color,title:\"Text\",optional:true},borderColor:{type:ControlType.Color,title:\"Border\",optional:true}};\nexport const __FramerMetadata__ = {\"exports\":{\"HoverOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getHoverStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"hoverControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./hover.map","import{ControlType}from\"framer\";export function getPaddingStyle({padding=0,paddingPerSide=false,paddingTop=0,paddingRight=0,paddingBottom=0,paddingLeft=0}={}){if(typeof padding===\"string\"){return{padding};}if(paddingPerSide){return{paddingTop:paddingTop,paddingRight:paddingRight,paddingBottom:paddingBottom,paddingLeft:paddingLeft};}else{return{paddingTop:padding,paddingRight:padding,paddingBottom:padding,paddingLeft:padding};}}export const paddingControls={padding:{type:ControlType.Padding,defaultValue:\"10px\"}};\nexport const __FramerMetadata__ = {\"exports\":{\"paddingControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getPaddingStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./padding.map","import{ControlType}from\"framer\";export function getRadiusStyle({radius=0,radiusPerCorner=false,radiusTopLeft=0,radiusTopRight=0,radiusBottomRight=0,radiusBottomLeft=0}={}){if(typeof radius===\"string\"){return{borderRadius:radius};}const result={};if(radiusPerCorner){result.borderTopLeftRadius=radiusTopLeft;result.borderTopRightRadius=radiusTopRight;result.borderBottomRightRadius=radiusBottomRight;result.borderBottomLeftRadius=radiusBottomLeft;}else{result.borderTopLeftRadius=radius;result.borderTopRightRadius=radius;result.borderBottomRightRadius=radius;result.borderBottomLeftRadius=radius;}return result;}export const radiusControls={radius:{type:ControlType.BorderRadius,defaultValue:\"10px\"}};\nexport const __FramerMetadata__ = {\"exports\":{\"getRadiusStyle\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"radiusControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusOptions\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./radius.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,// @ts-ignore Internal function\nuseLocaleInfo,// @ts-ignore Internal function\nuseLocalesForCurrentRoute,withCSS}from\"framer\";import{useId,useState}from\"react\";import{getBorderStyle,borderControls}from\"https://framerusercontent.com/modules/cuKUFdzXlhvw8OVOBeAc/T08RxQJ4qrs7LLc8wx4E/border.js\";import{getFocusStyle,focusControls}from\"https://framerusercontent.com/modules/9muYaW1MvHoRQJ0P7dkP/V2GVvLqiMxXRSxszkCSa/focus.js\";import{getHoverStyle,hoverControls}from\"https://framerusercontent.com/modules/YfmtnpWjJrP37sQ18QUZ/9Y2P24U2SBIbf2fPVsOX/hover.js\";import{getPaddingStyle,paddingControls}from\"https://framerusercontent.com/modules/wjZLfSMaP1TvJDu5PCwr/XQ1GMXuIqYrEN1c0R6E5/padding.js\";import{getRadiusStyle,radiusControls}from\"https://framerusercontent.com/modules/N6MwtHbWoiZJNn1xpqxu/ZEWmVGYDUhL44tluQO5y/radius.js\";const className=\"framer-locale-picker\";function addPixel(value){if(typeof value===\"number\"){return`${value}px`;}return value;}var IconType;(function(IconType){IconType[\"Default\"]=\"default\";IconType[\"Custom\"]=\"custom\";})(IconType||(IconType={}));function Icon({type,color,image,size}){if(type===\"custom\"&&image){return /*#__PURE__*/_jsx(\"img\",{...image,width:size,height:size});}return /*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",width:size,height:size,fill:color,children:/*#__PURE__*/_jsx(\"path\",{d:\"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm87.63,96H175.8c-1.41-28.46-10.27-55.47-25.12-77A88.2,88.2,0,0,1,215.63,120ZM128,215.89c-18.73-20.27-30.09-49-31.77-79.89h63.54C158.09,166.87,146.73,195.62,128,215.89ZM96.23,120c1.68-30.87,13-59.62,31.77-79.89,18.73,20.27,30.09,49,31.77,79.89Zm9.09-77C90.47,64.53,81.61,91.54,80.2,120H40.37A88.2,88.2,0,0,1,105.32,43ZM40.37,136H80.2c1.41,28.46,10.27,55.47,25.12,77A88.2,88.2,0,0,1,40.37,136Zm110.31,77c14.85-21.56,23.71-48.57,25.12-77h39.83A88.2,88.2,0,0,1,150.68,213Z\"})});}var CaretType;(function(CaretType){CaretType[\"Default\"]=\"default\";CaretType[\"Custom\"]=\"custom\";})(CaretType||(CaretType={}));function Caret({type,color,image,size}){if(type===\"custom\"&&image){return /*#__PURE__*/_jsx(\"img\",{...image,width:size,height:size});}return /*#__PURE__*/_jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 12 12\",width:size,height:size,children:/*#__PURE__*/_jsx(\"path\",{d:\"M 2 4.5 L 6 8.5 L 10 4.5\",fill:\"none\",stroke:color,strokeWidth:1.5,strokeLinecap:\"round\",strokeLinejoin:\"round\"})});}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n * @framerIntrinsicWidth 120\n * @framerIntrinsicHeight 34\n */const LocaleSelector=withCSS(({font,fillColor,textColor,icon,caret,options:{title,gap,border,hover,focus},style,...props})=>{const id=useId();const{activeLocale,locales,setLocale}=useLocaleInfo();const localesForCurrentRoute=useLocalesForCurrentRoute();const activeLocaleId=activeLocale?.id??\"default\";const[lastActiveLocaleId,setLastActiveLocaleId]=useState(activeLocaleId);// The useLocaleInfo hook updates the activeLocale variable inside\n// a startTransition to load the translations with Suspense. To make\n// the component feel responsive we update our own state without Suspense.\nconst[selectedLocaleId,setSelectedLocaleId]=useState(activeLocaleId);const selectedLocale=locales.find(locale=>locale.id===selectedLocaleId);// The active locale was updated. Ensure we update our internal state as well.\nif(lastActiveLocaleId!==activeLocaleId){setLastActiveLocaleId(activeLocaleId);if(selectedLocaleId!==activeLocaleId){setSelectedLocaleId(activeLocaleId);}}function handleChange(event){const localeId=event.target.value;setSelectedLocaleId(localeId);const locale=locales.find(locale=>locale.id===localeId);setLocale(locale);}return /*#__PURE__*/_jsxs(\"div\",{className:className,style:style,children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:id,children:\"Select Language\"}),/*#__PURE__*/_jsx(\"select\",{id:id,value:selectedLocaleId,onChange:handleChange,// If a navigation occurs from switching locales\n// the browser can attempt to autofill the select to the last value\n// when you use browser back navigation. We don't want that.\nautoComplete:\"off\",children:localesForCurrentRoute.map(locale=>/*#__PURE__*/_jsx(\"option\",{value:locale.id,children:locale.name},locale.id))}),/*#__PURE__*/_jsxs(\"div\",{className:\"input\",style:{...font,\"--framer-background-color\":fillColor,\"--framer-color\":textColor,...getPaddingStyle(props),...getRadiusStyle(props),...getBorderStyle(border),...getHoverStyle(hover),...getFocusStyle(focus),gap},children:[icon&&/*#__PURE__*/_jsx(\"div\",{className:\"icon\",children:/*#__PURE__*/_jsx(Icon,{...icon})}),title&&/*#__PURE__*/_jsx(\"div\",{className:\"title\",children:selectedLocale?.name??\"English\"}),caret&&/*#__PURE__*/_jsx(\"div\",{className:\"caret\",children:/*#__PURE__*/_jsx(Caret,{...caret})})]})]});},[`\n            .${className} {\n                position: relative;\n            }\n        `,`\n            .${className} label {\n                position: absolute;\n                width: 1px;\n                height: 1px;\n                margin: -1px;\n                overflow: hidden;\n                white-space: nowrap;\n                clip: rect(0 0 0 0);\n                clip-path: inset(50%);\n            }\n        `,`\n            .${className} select {\n                appearance: none;\n                position: absolute;\n                opacity: 0;\n                top: 0;\n                right: 0;\n                bottom: 0;\n                left: 0;\n                cursor: inherit;\n                width: 100%;\n            }\n        `,`\n            .${className} .input {\n                display: flex;\n                justify-content: center;\n                align-items: center;\n                height: 100%;\n                pointer-events: none;\n                overflow: hidden;\n                background-color: var(--framer-background-color);\n                color: var(--framer-color);\n                border-color: var(--framer-border-color);\n            }\n        `,`\n            .${className} select:focus-visible + .input  {\n                outline: var(--framer-focus-outline, none);\n                outline-offset: var(--framer-focus-outline-offset);\n            }\n        `,`\n            .${className}:hover .input {\n                background-color: var(--framer-hover-background-color, var(--framer-background-color));\n                color: var(--framer-hover-color, var(--framer-color));\n                border-color: var(--framer-hover-border-color, var(--framer-border-color));\n            }\n        `,`\n            .${className} .title {\n                flex: 1 1 auto;\n                white-space: nowrap;\n                text-overflow: ellipsis;\n                overflow: hidden;\n            }\n        `,`\n            .${className} .icon, .${className} .caret {\n                display: flex;\n                align-items: center;\n            }\n        `],\"framer-library-LocalePicker\");LocaleSelector.displayName=\"Locale Selector\";addPropertyControls(LocaleSelector,{font:{// @ts-ignore\ntype:ControlType.Font,controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:14,lineHeight:\"1.5em\"}},fillColor:{type:ControlType.Color,title:\"Fill\",optional:true,defaultValue:\"#eee\"},textColor:{type:ControlType.Color,title:\"Text\",defaultValue:\"#000\"},...paddingControls,...radiusControls,icon:{type:ControlType.Object,buttonTitle:\"Size, Color\",optional:true,controls:{type:{type:ControlType.Enum,title:\"Icon\",options:Object.values(IconType),optionTitles:[\"Default\",\"Custom\"],displaySegmentedControl:true,defaultValue:\"default\"},color:{type:ControlType.Color,defaultValue:\"#000\",hidden:props=>props.type!==\"default\"},image:{type:ControlType.ResponsiveImage,title:\"File\",hidden:props=>props.type!==\"custom\"},size:{type:ControlType.Number,displayStepper:true,defaultValue:18}}},caret:{type:ControlType.Object,buttonTitle:\"Size, Color\",optional:true,controls:{type:{type:ControlType.Enum,title:\"Icon\",options:Object.values(CaretType),optionTitles:[\"Default\",\"Custom\"],displaySegmentedControl:true,defaultValue:\"default\"},color:{type:ControlType.Color,defaultValue:\"#999\",hidden:props=>props.type!==\"default\"},image:{type:ControlType.ResponsiveImage,title:\"File\",hidden:props=>props.type!==\"custom\"},size:{type:ControlType.Number,displayStepper:true,defaultValue:12}},defaultValue:{type:\"default\"}},options:{type:ControlType.Object,title:\"Options\",buttonTitle:\"Border, Hover\",controls:{title:{type:ControlType.Boolean,defaultValue:true},gap:{type:ControlType.Number,displayStepper:true,defaultValue:5},border:{type:ControlType.Object,buttonTitle:\"Color, Width\",optional:true,controls:borderControls},hover:{type:ControlType.Object,buttonTitle:\"Fill, Border\",optional:true,controls:hoverControls},focus:{type:ControlType.Object,buttonTitle:\"Color, Width\",controls:focusControls}}}});export default LocaleSelector;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LocaleSelector\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"34\",\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"* @framerIntrinsicWidth 120\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LocaleSelector.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{motion}from\"framer-motion\";export function SearchIcon(props){return /*#__PURE__*/ _jsx(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",width:props.width,height:props.height,style:{...props.style,color:props.color},children:/*#__PURE__*/ _jsx(\"path\",{d:\"M232.49,215.51,185,168a92.12,92.12,0,1,0-17,17l47.53,47.54a12,12,0,0,0,17-17ZM44,112a68,68,0,1,1,68,68A68.07,68.07,0,0,1,44,112Z\",fill:\"currentColor\"})});}export function ClearIcon(props){return /*#__PURE__*/ _jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 256 256\",...props,children:[/*#__PURE__*/ _jsx(\"rect\",{width:\"256\",height:\"256\",fill:\"none\"}),/*#__PURE__*/ _jsx(\"path\",{d:\"M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm37.66,130.34a8,8,0,0,1-11.32,11.32L128,139.31l-26.34,26.35a8,8,0,0,1-11.32-11.32L116.69,128,90.34,101.66a8,8,0,0,1,11.32-11.32L128,116.69l26.34-26.35a8,8,0,0,1,11.32,11.32L139.31,128Z\",fill:\"currentColor\"})]});}export function SpinnerIcon(props){const borderWidth=3;return /*#__PURE__*/ _jsxs(\"div\",{style:{position:\"relative\",...props.style},children:[/*#__PURE__*/ _jsx(motion.div,{animate:{rotate:360},transition:{ease:\"linear\",duration:1,repeat:Infinity},style:{borderRadius:100,backgroundImage:`conic-gradient(from 270deg, transparent 0%, ${props.color} 100%)`,width:\"100%\",height:\"100%\"}}),/*#__PURE__*/ _jsx(\"div\",{style:{backgroundColor:props.backgroundColor,borderRadius:100,position:\"absolute\",top:borderWidth,left:borderWidth,bottom:borderWidth,right:borderWidth}})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ClearIcon\":{\"type\":\"reactComponent\",\"name\":\"ClearIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SpinnerIcon\":{\"type\":\"reactComponent\",\"name\":\"SpinnerIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchIcon\":{\"type\":\"reactComponent\",\"name\":\"SearchIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Icons.map","export function Storage(name) {\n    this.ready = new Promise((resolve, reject)=>{\n        var request = window.indexedDB.open(location.origin);\n        request.onupgradeneeded = (e)=>{\n            this.db = e.target[\"result\"];\n            this.db.createObjectStore(\"store\");\n        };\n        request.onsuccess = (e)=>{\n            this.db = e.target[\"result\"];\n            resolve();\n        };\n        request.onerror = (e)=>{\n            this.db = e.target[\"result\"];\n            reject(e);\n        };\n    });\n}\nStorage.prototype.get = function(key) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().get(key);\n            request.onsuccess = (e)=>resolve(e.target.result)\n            ;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.getStore = function() {\n    return this.db.transaction([\n        \"store\"\n    ], \"readwrite\").objectStore(\"store\");\n};\nStorage.prototype.set = function(key, value) {\n    return this.ready.then(()=>{\n        return new Promise((resolve, reject)=>{\n            var request = this.getStore().put(value, key);\n            request.onsuccess = resolve;\n            request.onerror = reject;\n        });\n    });\n};\nStorage.prototype.delete = function(key, value) {\n    window.indexedDB.deleteDatabase(location.origin);\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"Storage\":{\"type\":\"function\"}}}","// @ts-ignore\nimport{Storage}from\"https://framerusercontent.com/modules/3Xi2AslpcDRhfyCVPmx3/d0Oobr5BHnVqZJQyMdGn/storage.js\";export const hashCode=s=>s.split(\"\").reduce((a,b)=>{a=(a<<5)-a+b.charCodeAt(0);return a&a;},0);export function corsProxy(url){return`https://cors-anywhere.herokuapp.com/${url}`;}export async function cachedResponse(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{var req=new XMLHttpRequest;req.open(\"GET\",url,true);req.responseType=\"blob\";return new Promise((resolve,reject)=>{req.onload=async function(){if(this.status===200){await cache.set(url,this.response);resolve(this.response);}else{reject(new Error(`Response status ${this.status} ${this.statusText}`));}};req.onerror=function(error){reject(error);};req.send();});}}export async function setCachedData(url,dataToCache,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.set(cacheKey,dataToCache);}export async function checkForCachedData(url,cache=new Storage(\"cache\")){const cacheKey=url;const data=await cache.get(cacheKey);if(data){return data;}else{return null;}}\nexport const __FramerMetadata__ = {\"exports\":{\"hashCode\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkForCachedData\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"corsProxy\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cachedResponse\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cache.map","/*\n * cache\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/m2nL4qHNbqX9QCxsHsGL/b9aplVZjN51x28yfNK16/cache.js\"\n","import{checkForCachedData,setCachedData}from\"https://framer.com/m/cache-YMiL.js@b9aplVZjN51x28yfNK16\";const VERSION=1;const defaultLocaleId=\"default\";export function isDefaultLocaleId(localeId){return!localeId||localeId===\"default\";}const INDEX_KEY=\"searchIndexCache\";function getIndexKey(localeId){if(isDefaultLocaleId(localeId))return INDEX_KEY;return`${INDEX_KEY}-${localeId}`;}const METADATA_KEY=\"searchCacheMetadata\";function getMetadataKey(localeId){if(isDefaultLocaleId(localeId))return METADATA_KEY;return`${METADATA_KEY}-${localeId}`;}export async function getCachedIndex(localeId,indexHash){// A check here for metadata can be added later if we need to\n// migrate or expire the index. Though most likely, any version change\n// should result in deleting the cache and starting again.\nconst metadataKey=getMetadataKey(localeId);const indexKey=getIndexKey(localeId);const[metadata,cachedIndex]=await Promise.all([checkForCachedData(metadataKey),checkForCachedData(indexKey)]);if(cachedIndex){return{status:indexHash&&metadata?.indexHash===indexHash?\"fresh\":\"stale\",searchIndex:cachedIndex,indexHash:metadata?.indexHash};}return{status:\"miss\"};}export function setCachedIndex(localeId,index,indexHash){const indexKey=getIndexKey(localeId);setCachedData(indexKey,index);const metadata={version:VERSION,timestamp:Date.now(),indexHash};const metadataKey=getMetadataKey(localeId);setCachedData(metadataKey,metadata);}\nexport const __FramerMetadata__ = {\"exports\":{\"isDefaultLocaleId\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"setCachedIndex\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cachedIndex.map","// Fake example data used for when the search component is in preview mode.\n// Note that the `url` value is used as a key in React, so it needs to be unique.\nexport const fakeResults={\"/\":{version:1,title:\"Example Search Result\",description:\"Description of search result.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/\",codeblock:[]},\"/example-1\":{version:1,title:\"Publish your Site to Search\",description:\"Try Site Search to instantly search your Framer site content.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/1/\",codeblock:[]},\"/example-2\":{version:1,title:\"Customise your Site Search\",description:\"Personalize everything from corner radius, to icon weight.\",keywords:\"\",h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],p:[],url:\"/example-url/2/\",codeblock:[]}};\nexport const __FramerMetadata__ = {\"exports\":{\"fakeResults\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fakeResults.map","// This file is based on the Levenshtein algorithm. Originally from Koen but maybe he\n// got it from somewhere else.\nconst peq=new Uint32Array(65536);const myers_32=(a,b)=>{const n=a.length;const m=b.length;const lst=1<<n-1;let pv=-1;let mv=0;let sc=n;let i=n;while(i--){peq[a.charCodeAt(i)]|=1<<i;}for(i=0;i<m;i++){let eq=peq[b.charCodeAt(i)];const xv=eq|mv;eq|=(eq&pv)+pv^pv;mv|=~(eq|pv);pv&=eq;if(mv&lst){sc++;}if(pv&lst){sc--;}mv=mv<<1|1;pv=pv<<1|~(xv|mv);mv&=xv;}i=n;while(i--){peq[a.charCodeAt(i)]=0;}return sc;};const myers_x=(b,a)=>{const n=a.length;const m=b.length;const mhc=[];const phc=[];const hsize=Math.ceil(n/32);const vsize=Math.ceil(m/32);for(let i=0;i<hsize;i++){phc[i]=-1;mhc[i]=0;}let j=0;for(;j<vsize-1;j++){let mv=0;let pv=-1;const start=j*32;const vlen=Math.min(32,m)+start;for(let k=start;k<vlen;k++){peq[b.charCodeAt(k)]|=1<<k;}for(let i1=0;i1<n;i1++){const eq=peq[a.charCodeAt(i1)];const pb=phc[i1/32|0]>>>i1&1;const mb=mhc[i1/32|0]>>>i1&1;const xv=eq|mv;const xh=((eq|mb)&pv)+pv^pv|eq|mb;let ph=mv|~(xh|pv);let mh=pv&xh;if(ph>>>31^pb){phc[i1/32|0]^=1<<i1;}if(mh>>>31^mb){mhc[i1/32|0]^=1<<i1;}ph=ph<<1|pb;mh=mh<<1|mb;pv=mh|~(xv|ph);mv=ph&xv;}for(let k1=start;k1<vlen;k1++){peq[b.charCodeAt(k1)]=0;}}let mv1=0;let pv1=-1;const start1=j*32;const vlen1=Math.min(32,m-start1)+start1;for(let k2=start1;k2<vlen1;k2++){peq[b.charCodeAt(k2)]|=1<<k2;}let score=m;for(let i2=0;i2<n;i2++){const eq1=peq[a.charCodeAt(i2)];const pb1=phc[i2/32|0]>>>i2&1;const mb1=mhc[i2/32|0]>>>i2&1;const xv1=eq1|mv1;const xh1=((eq1|mb1)&pv1)+pv1^pv1|eq1|mb1;let ph1=mv1|~(xh1|pv1);let mh1=pv1&xh1;score+=ph1>>>m-1&1;score-=mh1>>>m-1&1;if(ph1>>>31^pb1){phc[i2/32|0]^=1<<i2;}if(mh1>>>31^mb1){mhc[i2/32|0]^=1<<i2;}ph1=ph1<<1|pb1;mh1=mh1<<1|mb1;pv1=mh1|~(xv1|ph1);mv1=ph1&xv1;}for(let k3=start1;k3<vlen1;k3++){peq[b.charCodeAt(k3)]=0;}return score;};const distance=(a,b)=>{if(a.length<b.length){const tmp=b;b=a;a=tmp;}if(b.length===0){return a.length;}if(a.length<=32){return myers_32(a,b);}return myers_x(a,b);};const closest=(str,arr)=>{let min_distance=Infinity;let min_index=0;for(let i=0;i<arr.length;i++){const dist=distance(str,arr[i]);if(dist<min_distance){min_distance=dist;min_index=i;}}return arr[min_index];};export{closest,distance};\nexport const __FramerMetadata__ = {\"exports\":{\"closest\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"distance\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fuzzySearch.map","export const localStorageDebugFlag=(()=>{try{return typeof window!==\"undefined\"&&window.localStorage.__framerDebugSearch===\"true\";}catch(e){// localStorage not available\n}})();const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]\\d*|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}export function clampText(text,maxLength){const textLength=text.length;if(textLength<=maxLength){return text;}const slicedText=text.slice(0,maxLength);if(textLength>maxLength){return slicedText+\"…\";}return slicedText;}export function isEmptyObject(object){return Object.keys(object).length===0;}export function createLogger(showOutput){function log(...data){console.log(Date.now(),...data);}function time(label){console.time(label);}function timeEnd(label){console.timeEnd(label);}function noop(){}if(!showOutput){return{log:noop,time:noop,timeEnd:noop};}return{log,time,timeEnd};}export const DEFAULT_FONT_FAMILY=`\"Inter\", system-ui, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;export function getFontFamily(theme){if(theme.inputFont?.fontFamily)return theme.inputFont.fontFamily;if(theme.titleFont?.fontFamily)return theme.titleFont.fontFamily;if(theme.subtitleFont?.fontFamily)return theme.subtitleFont.fontFamily;return DEFAULT_FONT_FAMILY;}export function animationKeyFromLayout(layout){return`${layout}Animation`;}export const safeDocument=typeof document!==\"undefined\"?document:null;export const safeWindow=typeof window!==\"undefined\"?window:null;const metaTagSelector='meta[name=\"framer-search-index\"]';export function getMetaTagContent(){const metaTag=safeDocument?.querySelector(metaTagSelector);if(!metaTag)return undefined;const metaTagContent=metaTag.getAttribute(\"content\");return metaTagContent;}export const checkIfOverLimit=()=>{return getMetaTagContent()===\"limit-reached\";};export function stripLocaleSlugFromPath(url,localeSlug){if(!localeSlug)return url;const localeSlugWithSlash=`/${localeSlug}`;if(url.startsWith(localeSlugWithSlash)){return url.slice(localeSlugWithSlash.length);}}/**\n * @param isHighPriority If true and `scheduler.yield` is not available, the function will either use `postTask` or if also not available, return a resolved promise.\n */export function yieldToMain(isHighPriority){if(\"scheduler\"in window){// see https://github.com/WICG/scheduling-apis/blob/main/explainers/yield-and-continuation.md\n// \"user-blocking\" is the highest priority and creates a paint opportunity.\n// \"user-visible\" is the default, creates a paint opportunity, but has more potential to be delayed (by \"user-blocking\" tasks).\nconst options={priority:isHighPriority?\"user-blocking\":\"user-visible\"};if(\"yield\"in scheduler)return scheduler.yield(options);if(\"postTask\"in scheduler)return scheduler.postTask(()=>{},options);}if(isHighPriority){// `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 do not guarantee a paint opportunity as trade-off.\nreturn Promise.resolve();}return new Promise(resolve=>{setTimeout(resolve,0);});}\nexport const __FramerMetadata__ = {\"exports\":{\"safeWindow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"stripLocaleSlugFromPath\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"safeDocument\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localStorageDebugFlag\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"createLogger\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"animationKeyFromLayout\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clampText\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"yieldToMain\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getMetaTagContent\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"checkIfOverLimit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getFontFamily\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isEmptyObject\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DEFAULT_FONT_FAMILY\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js\";import{getCachedIndex,setCachedIndex,isDefaultLocaleId}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);function isValidUrl(url){try{new URL(url);return true;}catch(_error){return false;}}const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}// If a cached index exists, use the cached version until the latest one from the network loads.\nconst cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status!==\"miss\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using cached index\");if(cacheResult.status===\"fresh\")return;}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);// Happy case.\nif(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Unexpected error.\n// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{log(\"No fallback, using cache\");}return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);// It's safe to cache the fallback because if we're here, current cache is empty or stale.\nsetCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","export var Browser;(function(Browser){var isTouch=Browser.isTouch=()=>\"ontouchstart\"in window||navigator.maxTouchPoints>0;var isChrome=Browser.isChrome=()=>navigator.userAgent.toLowerCase().includes(\"chrome/\");var isWebKit=Browser.isWebKit=()=>navigator.userAgent.toLowerCase().includes(\"applewebkit/\");var isSafari=Browser.isSafari=()=>isWebKit()&&!isChrome();var isSafariDesktop=Browser.isSafariDesktop=()=>isSafari()&&!isTouch();var isWindows=Browser.isWindows=()=>/Win/.test(navigator.platform);var isMacOS=Browser.isMacOS=()=>/Mac/.test(navigator.platform);})(Browser||(Browser={}));\nexport const __FramerMetadata__ = {\"exports\":{\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./browser.map","// From: @framerjs/fresco/src/components/utils/useCallbackOnMouseMove.ts\nimport{useRef,useCallback}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";/**\n * Webkit fires mousemove events if the pointer's coordination changes relative\n * to its container (e.g. if the container scrolls), or when a modifier key is\n * pressed, mousemove would fire even if the cursor did not actually move.\n * This helper compares the cursor position between mouse events, and fire the\n * callback only when its position changes.\n */ export const useCallbackOnMouseMove=(callback,mousePositionRef)=>{const prevPositionRef=useRef(null);return useCallback(event=>{if(!Browser.isSafari())return callback(event);const ref=mousePositionRef?mousePositionRef:prevPositionRef;const{clientX,clientY}=event;const prevCursorPosition=ref.current;ref.current={x:clientX,y:clientY};// Ignore mouse moves unless we have a position. Else it might be an\n// element that appears behind the mouse without the mouse moving.\nif(!prevCursorPosition){return;}if(prevCursorPosition.x!==clientX||prevCursorPosition.y!==clientY){return callback(event);}},[mousePositionRef,callback]);};\nexport const __FramerMetadata__ = {\"exports\":{\"useCallbackOnMouseMove\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Point\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useCallbackOnMouseMove.map","// Safari does not support `element.scrollIntoView({ block: \"nearest\" })`, so this\n// is a workaround for that.\nexport function scrollIntoView(targetElement,scrollElement,/** Additional spacing to add from the top or bottom of the scroll element viewport. */ {offsetTop,offsetBottom}){const targetElementBounds=targetElement.getBoundingClientRect();const scrollElementBounds=scrollElement.getBoundingClientRect();if(targetElementBounds.top<scrollElementBounds.top){const difference=scrollElementBounds.top-targetElementBounds.top;scrollElement.scrollTop=scrollElement.scrollTop-difference-offsetTop;}else if(targetElementBounds.bottom>scrollElementBounds.bottom){const topAligned=scrollElementBounds.top-targetElementBounds.top;const minOffset=scrollElement.scrollTop-topAligned-offsetTop;const bottomAligned=targetElementBounds.bottom-scrollElementBounds.bottom;const offset=scrollElement.scrollTop+bottomAligned+offsetBottom;scrollElement.scrollTop=Math.min(minOffset,offset);}}\nexport const __FramerMetadata__ = {\"exports\":{\"scrollIntoView\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./scrollIntoView.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/IOZYtsQMauhTmjY894DM/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/wgITiHCOZBBo33pin0wW/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale. If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/G59GwobMNJqwSjtPO6Pv/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/bsLTiXYjkHoD2XaMjabu/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{setStatus(\"success\");log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale. If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{setStatus(\"success\");log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/fpvHBWGoGQcWezUopJLS/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// @ts-ignore\nimport{useLocaleInfo}from\"framer\";import{clamp}from\"framer-motion\";import{useEffect,useState,useTransition}from\"react\";import{SearchResultTitleType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/1GynhDlRW7uuXFYW1RXb/SearchModal.js\";import{getCachedIndex,isDefaultLocaleId,setCachedIndex}from\"https://framerusercontent.com/modules/uU1mtMKXsrVAg8N5hW7w/v7gDLwKJgQ5vAsFHxY4H/cachedIndex.js\";import{fakeResults}from\"https://framerusercontent.com/modules/K9JZRwJcE6slDAf8rUmh/mJ54py1Ecnn1RoC4N1m4/fakeResults.js\";import{distance}from\"https://framerusercontent.com/modules/TwRgbWuhHeB95MPifel4/YW8Hlm59FG3PajbrVsaR/fuzzySearch.js\";import{createLogger,localStorageDebugFlag,safeDocument,safeWindow,stripLocaleSlugFromPath,yieldToMain}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";const{log,time,timeEnd}=createLogger(localStorageDebugFlag);const splitWordsRegex=(()=>{try{// Regex lookbehind is used to ignore ampersands when splitting\n// words. For example \"H&M\" will not be split and is considered as\n// one word, but \"H & M\" will be split.\n// However, some browsers (like Safari iOS 15) don't support\n// lookbehind and will crash. When it's not supported, fallback to\n// a safer regex that always splits ampersands.\nconst regex=RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+(?<!\\\\p{L}&)(?!&\\\\p{L})\",\"u\");\"\".split(regex);return regex;}catch{log(\"Falling back to regex without lookbehind\");return RegExp(\"[\\\\s.,;!?\\\\p{P}\\\\p{Z}]+\",\"u\");}})();function splitWords(text){return text.split(splitWordsRegex);}function getUniqueWords(str){const words=splitWords(str).filter(word=>word.trim()&&word.length>0);return new Set(words);}const normalizeRegex=/[\\u0300-\\u036f]/g;/**\n * Replace accented characters with equivilant non-accented versions and\n * make everything lowercase.\n */function getNormalizedString(text){if(Array.isArray(text)){return text.map(getNormalizedString);}return text.normalize(\"NFD\")// From: https://stackoverflow.com/a/37511463\n.replace(normalizeRegex,\"\").toLowerCase();}const normalizedItemCache=new WeakMap;function getNormalizedItemFromCache(item){const cached=normalizedItemCache.get(item);if(cached)return cached;const normalizedItem=getNormalizedItem(item);normalizedItemCache.set(item,normalizedItem);return normalizedItem;}function getNormalizedItem(item){const normalizedItem={};for(const key in item){if(item.hasOwnProperty(key)){const value=item[key];if(typeof value===\"string\"){normalizedItem[key]=getNormalizedString(value);continue;}if(Array.isArray(value)){normalizedItem[key]=getNormalizedString(value);continue;}normalizedItem[key]=value;}}return normalizedItem;}function getMatchRange(currentRange,start,end){const result={...currentRange};if(start<result.start){result.start=start;}if(end>result.end){result.end=end;}return result;}/**\n * Score index item based on the contents of it's fields such as title, description, headings etc.\n *\n * Note that this does not normalize the item or query. Normalization is expected to happen\n * before passing the data into this.\n */function getScoreForSearchIndexItem(item,query,words,fullQuery){let score=0;const match={title:{start:Infinity,end:0},description:{start:Infinity,end:0}};const urlWords=getUniqueWords(item.url);// Match query based on words in the URL so that random strings inside\n// other strings are not matched.\nif(urlWords.has(query)){score+=10;}// Really boost single word queries that match single word URLs.\nif(words.size===1&&urlWords.size===1&&urlWords.values().next().value===query){score+=score*5;}// Score shorter URLs higher so `/pricing` is before `/lala/pricing`.\nif(score>0){const splitLength=item.url.split(\"/\").length;score+=clamp(10-splitLength,0,splitLength);}const titleWords=getUniqueWords(item.title);// Prefer full word matches in the title.\nif(titleWords.has(query)){score+=10;}const titleIndex=item.title.indexOf(query);if(titleIndex!==-1){score+=10;// TODO: Matches are currently not used, but they can be used in the\n// future to add text highlighting.\nmatch.title=getMatchRange(match.title,titleIndex,titleIndex+query.length);}// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(item.title,fullQuery)<=2){score+=score*10;}// Fuzzy match full words in the title.\nfor(const titleWord of titleWords){const distanceScore=distance(query,titleWord);// Small distance score helps with small typos.\nif(distanceScore<=2){score+=10;}}const headings=[...item.h1,...item.h2,...item.h3,...item.h4,...item.h5,...item.h6];for(const heading of headings){const headingWords=getUniqueWords(heading);// If the full query is close to being the heading, score this highly as\n// the user is most likely looking for that exact title.\nif(distance(heading,fullQuery)<=2){score+=score*10;}// Bias headings that start with the query as this helps when\n// you know the title you are searching for.\nif(heading.startsWith(query)){score+=10;}if(headingWords.has(query)){score+=10;}if(heading.includes(query)){score+=1;}// Fuzzy match full words in headings.\nfor(const headingWord of headingWords){const distanceScore=distance(query,headingWord);if(distanceScore<=2){score+=1;}}}const descriptionIndex=item.description.indexOf(query);if(descriptionIndex!==-1){score+=10;match.description=getMatchRange(match.description,descriptionIndex,descriptionIndex+query.length);}for(const p of item.p){if(p.includes(query)){score+=.5;}}for(const codeblock of item.codeblock){// If the full query is close to being the codeblock, score this highly as\n// the user is most likely looking for that exact code.\nif(distance(codeblock,fullQuery)<=2){score*=10;}if(codeblock.includes(fullQuery)){score+=10;}if(codeblock.includes(query)){score+=.5;}}return{score,match};}function getSearchIndexItemScore(item,normalizedQuery){const normalizedItem=getNormalizedItemFromCache(item);const queryWords=getUniqueWords(normalizedQuery);let total=0;for(const queryWord of queryWords){const{score}=getScoreForSearchIndexItem(normalizedItem,queryWord,queryWords,normalizedQuery);total+=score;}return total;}function useRawSearch(index,query,settings){const[results,setResults]=useState(null);const[,startTransition]=useTransition();useEffect(()=>{const abortController=new AbortController;executeRawSearch(index,query,settings,abortController.signal).then(res=>{if(!abortController.signal.aborted){startTransition(()=>{setResults(res);});}}).catch(err=>{if(err.name!==\"AbortError\"){console.error(\"Search failed:\",err);}});return()=>{abortController.abort();};},[index,query]);return{results:results??[]};}const QUANTUM=32// ms, 2*16ms (2 frames on 60 hz)\n;async function executeRawSearch(index,query,settings,signal){const path=safeWindow?.location.pathname;time(\"query\");const normalizedQuery=getNormalizedString(query);const results=[];const items=Object.values(index);let deadline=performance.now()+QUANTUM;async function yieldToMainIfNecessary(){if(performance.now()>=deadline){await yieldToMain();deadline=performance.now()+QUANTUM;}}for(let i=0;i<items.length;++i){if(performance.now()>=deadline){await yieldToMainIfNecessary();deadline=performance.now()+QUANTUM;}if(signal?.aborted)return[];const item=items[i];const score=getSearchIndexItemScore(item,normalizedQuery);if(score>(settings.minimumScore||0)&&(!path||item.url!==path)){const heading=item.h1.length&&item.h1[0];const title=settings?.titleType===SearchResultTitleType.Title?item.title:heading?heading:item.title;// Convert index item to result item.\nresults.push({url:item.url,title,description:item.description,body:[...item.p,item.codeblock].join(\" \"),score});}}await yieldToMainIfNecessary();if(signal?.aborted)return[];const sorted=results.sort((itemA,itemB)=>itemB.score-itemA.score);timeEnd(\"query\");await yieldToMainIfNecessary();if(signal?.aborted)return[];return results.slice(0,20);}function getIndexedScopedToUrl(index,rawUrlScope,localeSlug){const scopedIndex={};const baseScopeUrlHasVariable=rawUrlScope.includes(\":\");const urlUpToPathVariable=rawUrlScope.split(\":\")[0];const urlScope=urlUpToPathVariable.length>1?urlUpToPathVariable:\"\";for(const url in index){const strippedURL=stripLocaleSlugFromPath(url,localeSlug);if(!strippedURL.startsWith(urlScope)){continue;}if(baseScopeUrlHasVariable&&url.length<=urlScope.length){continue;}scopedIndex[url]=index[url];}return scopedIndex;}export function useSearch(query,settings){const[searchIndex,_setSearchIndex]=useState({});const[status,setStatus]=useState(\"loading\");const{results}=useRawSearch(searchIndex,query,settings);const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;// Seperate setter function so that the URL scope is always applied\n// to indexes loaded from either the cache or network.\nfunction setSearchIndex(index,options={ignoreScope:false}){let scopedIndex=index;if(settings.urlScope&&!options.ignoreScope){scopedIndex=getIndexedScopedToUrl(index,settings.urlScope,activeLocale?.slug);log(\"Using URL scope\",settings.urlScope);}_setSearchIndex(scopedIndex);}useEffect(()=>{async function loadSearchIndex(){setStatus(\"loading\");const baseUrl=getBaseUrl(\"framer-search-index\");if(!baseUrl){setStatus(\"no-meta-tag-found\");setSearchIndex(fakeResults,{ignoreScope:true});log(\"No meta tag found\");return;}const cacheResult=await getCachedIndex(localeId,baseUrl);if(cacheResult.status===\"fresh\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"success\");log(\"Using fresh cached index\");return;}if(cacheResult.status===\"stale\"){setSearchIndex(cacheResult.searchIndex);setStatus(\"loading-with-cache\");log(\"Using stale cached index while loading a fresh one\");}const searchIndexUrl=getSearchIndexUrl(baseUrl,localeId);const response=await fetch(searchIndexUrl);if(response.ok){const downloadedIndex=await response.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,baseUrl);setStatus(\"success\");log(\"Using downloaded index\");return;}// Our \"sites\" CDN currently returns 403s for missing files.\nconst isNotFound=response.status===403||response.status===404;if(!isNotFound){throw new Error(response.statusText);}// Index is likely still being generated.\nlog(\"Index not found\");const fallbackBaseUrl=getBaseUrl(\"framer-search-index-fallback\");if(!fallbackBaseUrl){if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"No fallback, no cache\");}else{setStatus(\"success\");log(\"No fallback, using cache\");}return;}// If we're here, cache is missing or stale.\n// If it's stale but it's our fallback index, we can use it.\nif(cacheResult.status===\"stale\"&&cacheResult.indexHash===fallbackBaseUrl){setStatus(\"success\");log(\"Using cached fallback index\");return;}const fallbackSearchIndexUrl=getSearchIndexUrl(fallbackBaseUrl,localeId);const fallbackResponse=await fetch(fallbackSearchIndexUrl);if(fallbackResponse.ok){const downloadedIndex=await fallbackResponse.json();setSearchIndex(downloadedIndex);setCachedIndex(localeId,downloadedIndex,fallbackBaseUrl);setStatus(\"success\");log(\"Using downloaded fallback index\");return;}if(cacheResult.status===\"miss\"){setStatus(\"pending-index-generation\");log(\"Fallback failed, no cache\");}else{setStatus(\"success\");log(\"Fallback failed, using cache\");}}loadSearchIndex().catch(error=>{// TODO: Check for error type here. If it's a network error,\n// we could do a few retries.\nsetStatus(\"error\");log(\"Failed to load search index\",error);});},[localeId]);log({status,results});return{results,status};}function getBaseUrl(name){return safeDocument?.querySelector(`meta[name=\"${name}\"]`)?.getAttribute(\"content\");}function getSearchIndexUrl(baseURL,localeId){if(isDefaultLocaleId(localeId))return baseURL;return baseURL.replace(\".json\",`-${localeId}.json`);}\nexport const __FramerMetadata__ = {\"exports\":{\"SearchIndex\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useSearch\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useSearch.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useSearch}from\"https://framerusercontent.com/modules/MyBp84Z0p9nUcMimVMnY/1vZ2fdkLJI4IprrVTHqR/useSearch.js\";import React,{useEffect,useState,useMemo,forwardRef,useRef,useDeferredValue,useLayoutEffect,useCallback,useImperativeHandle}from\"react\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";import{motion,clamp,useAnimate}from\"framer-motion\";import{SearchIcon,ClearIcon,SpinnerIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{clampText,getFontFamily,localStorageDebugFlag,animationKeyFromLayout,stripLocaleSlugFromPath}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{useCallbackOnMouseMove}from\"https://framerusercontent.com/modules/Gzef0nFihI9m9vZG45th/lIUxbZcreiDm2GzUkt3y/useCallbackOnMouseMove.js\";import{scrollIntoView}from\"https://framerusercontent.com/modules/eAnjm75CdfYT1Zz4BIaz/7KDSfnnyD1T3Ap75L4m8/scrollIntoView.js\";import{useLocaleInfo,// @ts-expect-error Internal API\nuseRouter,// @ts-expect-error Internal API\ninferInitialRouteFromPath}from\"framer\";const MAX_DESCRIPTION_LENGTH=120;const MODAL_MAX_HEIGHT=496;const VERTICAL_SPACING_MULTIPLIER=.6;function ClearButton({theme,type,onClick,text}){const shouldDisplayIcon=type===\"icon\";const iconOrText=shouldDisplayIcon?/*#__PURE__*/_jsx(ClearIcon,{style:{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize}}):text;return /*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,fontSize:theme&&theme.titleFont&&theme.titleFont.fontSize?theme.titleFont.fontSize:15},children:/*#__PURE__*/_jsx(\"button\",{className:\"__framer-search-clear-button\",onClick:onClick,style:{fontFamily:\"inherit\",border:\"none\",background:\"none\",cursor:\"pointer\",display:\"flex\",textTransform:\"uppercase\",color:theme.inputIconColor,fontSize:\"0.75em\",padding:0},children:iconOrText})});}function Divider({theme,type}){const styles={background:theme.foregroundColor,height:1,flexShrink:0,opacity:.05};if(type===\"contained\"&&theme){styles.marginLeft=theme.horizontalSpacing;styles.marginRight=theme.horizontalSpacing;}return /*#__PURE__*/_jsx(\"div\",{style:styles});}export const Input=/*#__PURE__*/forwardRef(function Input(props,ref){const{value=\"\",status,autofocus,theme,placeholder,iconType,clearButtonType,onChange}=props;const[inputValue,setInputValue]=useState(value);const[isFocused,setIsFocused]=useState(false);const inputRef=useRef();useImperativeHandle(ref,()=>inputRef.current);React.useLayoutEffect(()=>{// Runs on unmount, fixes a bug in Safari that scrolls to the bottom\n// of the page when the input unmounts.\nreturn()=>{const inputElement=inputRef.current;if(!inputElement||inputElement!==document.activeElement)return;inputElement.blur();};},[]);const handleInputClick=()=>{if(inputRef.current){inputRef.current.focus();}};const handleClearClick=()=>{setInputValue(\"\");};useEffect(()=>{onChange(inputValue);},[inputValue]);const hasInputText=inputValue.length>0;const showClearButton=inputValue.length>0&&clearButtonType&&clearButtonType!==\"none\";const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const searchIcon=iconType===\"custom\"&&theme.inputIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon alongside the Site Search input\",src:theme.inputIconImage.src,width:theme.inputIconSize,height:theme.inputIconSize,decoding:\"async\"}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.inputIconColor,width:theme.inputIconSize,height:theme.inputIconSize});return /*#__PURE__*/_jsxs(\"div\",{role:\"search\",style:{...inputContainerStyle,fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,gap:12,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,touchAction:\"none\"},onClick:handleInputClick,children:[/*#__PURE__*/_jsx(\"div\",{style:{flexShrink:0,display:\"flex\"},children:status===\"loading\"&&inputValue?/*#__PURE__*/_jsx(SpinnerIcon,{color:theme.inputIconColor,backgroundColor:theme.backgroundColor,style:{height:theme&&theme.inputIconSize,width:theme&&theme.inputIconSize}}):searchIcon}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,spellCheck:false,autoFocus:autofocus,style:{...inputStyle,WebkitTapHighlightColor:\"rgba(0,0,0,0)\",color:theme.foregroundColor,lineHeight:\"2em\",verticalAlign:\"baseline\",...theme.titleFont,...theme.inputFont,fontSize:theme.inputFontSize,// @ts-ignore\n\"--framer-search-placeholder-color\":theme.placeholderColor},onFocus:()=>{const scrollOffset=document.documentElement.scrollTop;document.documentElement.scrollTop=scrollOffset;},placeholder:placeholder,value:inputValue,onChange:()=>setInputValue(inputRef.current.value)}),showClearButton&&/*#__PURE__*/_jsx(ClearButton,{theme:theme,type:props.clearButtonType,text:props.clearButtonText,onClick:handleClearClick})]});});const inputContainerStyle={display:\"inline-flex\",alignItems:\"center\",flexShrink:0};const inputStyle={outline:\"none\",border:\"none\",background:\"transparent\",fontWeight:500,height:\"2em\",padding:0,width:\"100%\"};export const ResultRow=/*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ResultRow(props,ref){const{index,result,prevMousePositionRef,type=\"contained\",subtitleType=\"path\",selected=false,theme,localeSlug,style,onMouseMove,onPointerDown,onNavigateTo}=props;const{url,title,score}=result;const urlPath=useMemo(()=>{return stripLocaleSlugFromPath(url,localeSlug);},[url,localeSlug]);const handleMouseMove=useCallbackOnMouseMove(event=>onMouseMove(event,index),prevMousePositionRef);const isContained=type===\"contained\";const borderRadius=isContained?clamp(0,Infinity,theme.borderRadius-theme.spacing):0;const subtitleText=subtitleType===\"path\"?urlPath:clampText(result.description,MAX_DESCRIPTION_LENGTH);const handleClick=event=>{event.preventDefault();onNavigateTo(result.url);};const focusTrap=event=>{event.preventDefault();};return /*#__PURE__*/_jsx(\"a\",{ref:ref,style:{textDecoration:\"none\"},href:result.url,onClick:handleClick,onMouseMove:handleMouseMove,onMouseDown:focusTrap,onPointerDown:event=>onPointerDown(event,index),children:/*#__PURE__*/_jsxs(\"li\",{style:{...resultContainer,...style,paddingTop:isContained?12:16,paddingBottom:isContained?12:16,color:theme.foregroundColor,position:\"relative\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing},children:[/*#__PURE__*/_jsx(\"div\",{style:{backgroundColor:theme.foregroundColor,position:\"absolute\",opacity:selected?.06:0,borderRadius,left:theme&&isContained?theme.spacing:0,right:theme&&isContained?theme.spacing:0,top:0,bottom:0}}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",gap:4},children:[/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,...theme.titleFont,lineHeight:\"1.4em\"},children:title}),/*#__PURE__*/_jsxs(\"p\",{style:{margin:0,color:theme.subtitleColor,...theme.subtitleFont,whiteSpace:\"nowrap\",overflow:\"hidden\",textOverflow:\"ellipsis\",lineHeight:\"1.4em\"},children:[localStorageDebugFlag?score:\"\",\" \",subtitleText]})]})]},result.url)});}));/**\n * Flexible gap used inside a flexbox layout to push down the quick menu\n * by 20% of the screen height, but also allow it to collapse to zero if\n * there is not enough vertical room.\n */function QuickMenuSpacer({onClick}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",flexBasis:\"20vh\"},onClick:onClick});}const layoutContainerStyle={display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"flex-start\",gap:15,overflow:\"visible\"};function LayoutContainer({layoutType,theme,onKeyDown,onDismiss,children,modalOptions}){const layoutStyles=getLayoutBaseStyles(layoutType,theme);const style={...layoutContainerStyle,...layoutStyles,willChange:\"transform\",marginTop:layoutType===\"FixedTop\"?theme.offsetTop:0,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\"};const innerStyle={...layoutContainerStyle,...layoutStyles,height:layoutType===\"Sidebar\"?\"100%\":\"auto\",maxHeight:layoutType===\"QuickMenu\"?\"100%\":\"none\",gap:layoutType===\"Sidebar\"?0:theme.gapBetweenStatusAndSearch,backgroundColor:layoutType===\"Sidebar\"?theme.backgroundColor:\"transparent\",justifyContent:layoutType===\"Sidebar\"?\"flex-end\":\"flex-start\",flexDirection:layoutType===\"Sidebar\"?\"column-reverse\":\"column\",originX:.5,originY:.5};function getContainerAnimation(){switch(layoutType){case\"FixedTop\":{const key=animationKeyFromLayout(\"FixedTop\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{y:-10,opacity:.2,transition:{duration:Browser.isTouch()?0:.15}};}break;}case\"QuickMenu\":{const key=animationKeyFromLayout(\"QuickMenu\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{scale:.95,opacity:0,y:0,x:0,rotate:0,transition:{type:\"spring\",stiffness:600,damping:40}};}break;}case\"Sidebar\":{const key=animationKeyFromLayout(\"Sidebar\");const prop=modalOptions?modalOptions[key]:undefined;if(prop){return prop;}else{return{x:-10,opacity:0,transition:{duration:.15}};}break;}}}const containerAnimation=getContainerAnimation();return /*#__PURE__*/_jsxs(\"div\",{style:style,onKeyDown:onKeyDown,onClick:event=>event.stopPropagation(),children:[layoutType===\"QuickMenu\"&&/*#__PURE__*/_jsx(QuickMenuSpacer,{onClick:onDismiss}),/*#__PURE__*/_jsx(motion.div,{initial:containerAnimation,animate:{opacity:1,scale:1,x:0,y:0,rotate:0},transition:containerAnimation?containerAnimation.transition:undefined,exit:{opacity:0,transition:{duration:0}},style:innerStyle,children:children})]});}function ModalContainer({layoutType,theme,children,heightIsStatic,heightTransition,heightDeps}){const style={// This `willChange` is required to avoid weird rendering issues where\n// parts of the search window won't redraw, which we observed in Safari 16.4.\nwillChange:\"transform\",backgroundColor:theme.backgroundColor,color:theme.foregroundColor,borderRadius:layoutType===\"QuickMenu\"?theme.borderRadius:0,width:\"100%\",display:\"flex\",flexDirection:\"column\",overflow:\"hidden\",boxShadow:layoutType!==\"Sidebar\"?theme.shadow:undefined,maxHeight:layoutType===\"QuickMenu\"?`min(${MODAL_MAX_HEIGHT}px, calc(100vh - 30px))`:undefined};// Opt-in Height Animations for the Search Quick Actions menu.\n// These are disabled by default, but can be enabled via props.\nconst[scope,animate]=useAnimate();useLayoutEffect(()=>{if(layoutType!==\"QuickMenu\"||heightIsStatic)return;const prevHeight=scope.current.offsetHeight;scope.current.style.height=\"auto\";const height=scope.current.offsetHeight;scope.current.style.height=prevHeight+\"px\";animate(scope.current,{height:[prevHeight,height]},heightTransition);},heightDeps);return /*#__PURE__*/_jsx(\"div\",{ref:scope,role:\"dialog\",className:layoutType===\"FixedTop\"?\"__framer-max-height-80dvh\":undefined,style:style,children:children});}const ScrollView=/*#__PURE__*/React.forwardRef(function ScrollView({theme,children},ref){const isTouch=Browser.isTouch();const[canScroll,setCanScroll]=React.useState(true);React.useEffect(()=>{if(!isTouch)return;const element=ref.current;if(!element)return;setCanScroll(element.scrollHeight>element.clientHeight);});return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{width:`calc(100% + ${theme.scrollBarWidth}px)`,overflowY:\"scroll\",overflowX:\"hidden\",overscrollBehavior:\"contain\",touchAction:canScroll?undefined:\"none\",// Make the list appear slightly under the divider\n// so that the divider is still visible when the first\n// item is selected.\nmarginTop:-1},children:children});});const statusStyle={backgroundColor:\"#B5B5B5\",color:\"#FFF\",boxShadow:\"0px 20px 40px 0px rgba(0, 0, 0, 0.25)\",fontFamily:\"inherit\",textAlign:\"center\",fontSize:13,padding:\"8px 0\"};function StatusMessage({status,layoutType,theme}){const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);const style={...statusStyle,userSelect:\"none\",fontFamily:getFontFamily(theme),paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,fontWeight:500,lineHeight:`calc(${theme.inputFontSize} * 2)`,paddingTop:verticalSpacing,paddingBottom:verticalSpacing,...theme.titleFont,zIndex:theme.zIndex+1,maxWidth:layoutType===\"FixedTop\"?\"none\":theme.width,width:layoutType===\"FixedTop\"?`calc(100% - ${verticalSpacing*2}px`:\"100%\",boxShadow:layoutType!==\"Sidebar\"&&statusStyle.boxShadow,borderRadius:layoutType!==\"Sidebar\"&&theme.borderRadius};// Show less text on fixed text to look nicer on mobile\nconst previewInfoText=layoutType===\"FixedTop\"?\"Preview Mode\":\"Preview Mode. Publish your Site to Search.\";if(status===\"no-meta-tag-found\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:previewInfoText});}if(status===\"pending-index-generation\"){return /*#__PURE__*/_jsx(\"div\",{style:style,children:\"Site is being indexed\"});}return null;}const resultTitle={textOverflow:\"ellipsis\",maxWidth:\"100%\",overflow:\"hidden\",fontWeight:500,whiteSpace:\"nowrap\",flex:1,margin:0};const resultContainer={padding:\"16px 20px\",listStyle:\"none\",fontWeight:500};const sidebarStyles={left:0,width:500};const fixedTopStyles={top:0,width:\"100%\"};const quickMenuStyles={width:500};function getLayoutBaseStyles(layoutOption,theme){switch(layoutOption){case\"Sidebar\":return{...sidebarStyles,width:theme.width};case\"FixedTop\":return fixedTopStyles;case\"QuickMenu\":return{...quickMenuStyles,width:theme.width};}}export var SearchInputClearButtonType;(function(SearchInputClearButtonType){SearchInputClearButtonType[\"Icon\"]=\"icon\";SearchInputClearButtonType[\"Text\"]=\"text\";SearchInputClearButtonType[\"None\"]=\"none\";})(SearchInputClearButtonType||(SearchInputClearButtonType={}));export var SearchInputDividerType;(function(SearchInputDividerType){SearchInputDividerType[\"None\"]=\"none\";SearchInputDividerType[\"FullWidth\"]=\"fullWidth\";SearchInputDividerType[\"Contained\"]=\"contained\";})(SearchInputDividerType||(SearchInputDividerType={}));export var SearchResultTitleType;(function(SearchResultTitleType){SearchResultTitleType[\"H1\"]=\"h1\";SearchResultTitleType[\"Title\"]=\"title\";})(SearchResultTitleType||(SearchResultTitleType={}));export var SearchResultSubtitleType;(function(SearchResultSubtitleType){SearchResultSubtitleType[\"Description\"]=\"description\";SearchResultSubtitleType[\"Path\"]=\"path\";})(SearchResultSubtitleType||(SearchResultSubtitleType={}));export var SearchResultItemType;(function(SearchResultItemType){SearchResultItemType[\"FullWidth\"]=\"fullWidth\";SearchResultItemType[\"Contained\"]=\"contained\";})(SearchResultItemType||(SearchResultItemType={}));export var SearchLayoutType;(function(SearchLayoutType){SearchLayoutType[\"Sidebar\"]=\"Sidebar\";SearchLayoutType[\"FixedTop\"]=\"FixedTop\";SearchLayoutType[\"QuickMenu\"]=\"QuickMenu\";})(SearchLayoutType||(SearchLayoutType={}));export var SearchEntryType;(function(SearchEntryType){SearchEntryType[\"Icon\"]=\"icon\";SearchEntryType[\"Text\"]=\"text\";})(SearchEntryType||(SearchEntryType={}));export var SearchIconType;(function(SearchIconType){SearchIconType[\"Default\"]=\"default\";SearchIconType[\"Custom\"]=\"custom\";})(SearchIconType||(SearchIconType={}));/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export function SearchModal(props){const{layoutType,theme,urlScope,inputOptions,backdropOptions,modalOptions,resultOptions,onDismiss}=props;const{activeLocale}=useLocaleInfo();const localeId=activeLocale?.id;const localeSlug=activeLocale?.slug;const input=useRef();const selectedResultRow=useRef();const scrollView=useRef();const[selected,setSelected]=useState({index:0,scroll:true});const prevMousePositionRef=useRef(null);const[isKeyboardNavigationDisabled,setIsKeyboardNavigationDisabled]=useState(Browser.isTouch);const[query,setQuery]=useState(\"\");const deferredQuery=useDeferredValue(query);const{results,status}=useSearch(deferredQuery,{minimumScore:0,urlScope,titleType:resultOptions.titleType});const selectedResult=results[selected.index];const verticalSpacing=Math.floor(theme?theme.horizontalSpacing*VERTICAL_SPACING_MULTIPLIER:0);useEffect(()=>{// Reset the selection to the top if the query changes.\nsetSelected({index:0,scroll:true});},[deferredQuery]);const handleResultRowPointerDown=useCallback((event,index)=>{if(event.pointerType!==\"touch\")return;setIsKeyboardNavigationDisabled(true);setSelected({index,scroll:false});},[]);const handleResultRowMouseMove=useCallback((event,index)=>{setSelected(previousSelected=>{if(previousSelected.index===index){return previousSelected;}return{index,scroll:false};});},[]);const router=useRouter();const navigateTo=useCallback(async url=>{if(status===\"no-meta-tag-found\"){return;}try{// Ideally, we would directly expose `routeId` in the search index so that\n// we don't need to infer it from the URL.\nconst{routeId,pathVariables}=inferInitialRouteFromPath(router.routes,url);const route=router.getRoute?.(routeId);onDismiss();await route?.page?.preload?.();router.navigate?.(routeId,null,pathVariables,false);}catch(error){window.location.href=url;}},[status]);const handleKeyDown=event=>{const maxIndex=results.length-1;switch(event.code){case\"ArrowUp\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index-1),scroll:true}));break;case\"ArrowDown\":event.preventDefault();if(isKeyboardNavigationDisabled){setIsKeyboardNavigationDisabled(false);break;}setSelected(previousSelected=>({index:clamp(0,maxIndex,previousSelected.index+1),scroll:true}));break;case\"Escape\":break;case\"Enter\":if(selectedResult){navigateTo(selectedResult.url);}break;default:event.stopPropagation();}};const showNoResults=results.length===0&&deferredQuery.length>1&&status!==\"loading\";const showDivider=Boolean((deferredQuery.length>0&&results.length>0||showNoResults)&&status!==\"loading\"&&props.inputOptions&&props.inputOptions.dividerType!==\"none\");const isItemContained=Boolean(props.resultOptions&&props.resultOptions.itemType===\"contained\");const spacing=isItemContained?theme.spacing:10;const listPaddingTop=showDivider&&isItemContained?spacing+theme.gapBetweenResults*2:0;useEffect(()=>{if(!selected.scroll)return;const element=selectedResultRow.current;if(!element)return;scrollIntoView(element,scrollView.current,{offsetTop:showDivider&&isItemContained?listPaddingTop:0,offsetBottom:isItemContained?spacing:0});// `showDivider` and `isItemContained` are not dependencies because\n// they will be the latest values when `selected` changes. And including\n// them will cause unnecessary scrolling into view.\n},[selected]);return /*#__PURE__*/_jsxs(LayoutContainer,{layoutType:layoutType,modalOptions:modalOptions,theme:theme,onKeyDown:handleKeyDown,onDismiss:onDismiss,children:[/*#__PURE__*/_jsxs(ModalContainer,{layoutType:layoutType,theme:theme,heightIsStatic:modalOptions.heightIsStatic,heightTransition:modalOptions.heightTransition,heightDeps:[results.length,showNoResults],children:[/*#__PURE__*/_jsx(Input,{autofocus:true,ref:input,onChange:setQuery,value:query,theme:theme,status:status,iconType:inputOptions.iconOptions.iconType,placeholder:inputOptions.placeholderOptions.placeholderText,clearButtonType:inputOptions?inputOptions.clearButtonType:undefined,clearButtonText:inputOptions.clearButtonText}),showDivider&&/*#__PURE__*/_jsx(Divider,{theme:theme,type:inputOptions.dividerType}),/*#__PURE__*/_jsx(ScrollView,{ref:scrollView,theme:theme,children:/*#__PURE__*/_jsxs(\"ul\",{\"aria-live\":\"polite\",style:{display:\"flex\",flexDirection:\"column\",width:`calc(100% - ${theme.scrollBarWidth}px)`,padding:0,paddingTop:listPaddingTop,paddingBottom:results.length&&isItemContained?spacing:0,gap:theme.gapBetweenResults,margin:0},children:[results.map((result,index)=>{const isSelected=index===selected.index;return /*#__PURE__*/_jsx(ResultRow,{ref:isSelected?selectedResultRow:null,index:index,result:result,prevMousePositionRef:prevMousePositionRef,selected:!isKeyboardNavigationDisabled&&isSelected,type:props.resultOptions.itemType,subtitleType:props.resultOptions.subtitleOptions.subtitleType,theme:theme,localeSlug:localeSlug,onMouseMove:handleResultRowMouseMove,onPointerDown:handleResultRowPointerDown,onNavigateTo:navigateTo},result.url);}),showNoResults&&/*#__PURE__*/_jsx(\"li\",{style:{paddingTop:verticalSpacing-listPaddingTop,paddingBottom:verticalSpacing,lineHeight:\"2em\",paddingLeft:theme&&theme.horizontalSpacing,paddingRight:theme&&theme.horizontalSpacing,height:\"Sidebar\"?\"100%\":\"auto\"},children:/*#__PURE__*/_jsx(\"h3\",{style:{...resultTitle,textAlign:\"center\",lineHeight:`calc(${theme.inputFontSize} * 2)`,color:theme.subtitleColor,...theme.titleFont},children:\"No results\"})})]})})]}),/*#__PURE__*/_jsx(StatusMessage,{status:status,layoutType:layoutType,theme:theme})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"ResultRow\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultTitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultItemType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchLayoutType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputDividerType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchTheme\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchResultSubtitleType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchModal\":{\"type\":\"reactComponent\",\"name\":\"SearchModal\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"SearchIconType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Input\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchEntryType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SearchInputClearButtonType\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{useEffect,useState}from\"react\";function getViewportSize(){if(typeof window===\"undefined\"){return{width:0,height:0};}return{width:window.innerWidth,height:window.innerHeight};}export function useViewportSizeState(getState){const[state,setState]=useState(()=>getState(getViewportSize()));useEffect(()=>{const handleWindowResize=()=>setState(getState(getViewportSize()));window.addEventListener(\"resize\",handleWindowResize);return()=>{window.removeEventListener(\"resize\",handleWindowResize);};},[]);return state;}\nexport const __FramerMetadata__ = {\"exports\":{\"useViewportSizeState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useViewportSizeState.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{createPortal}from\"react-dom\";import{useRef,useState,useEffect,forwardRef}from\"react\";import{AnimatePresence,motion}from\"framer-motion\";import{SearchIcon}from\"https://framerusercontent.com/modules/LV9trClbmNwd5PVj9l8y/L4rFqMGNzGSwRZpGTGF3/Icons.js\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{SearchModal,SearchResultItemType,SearchResultTitleType,SearchResultSubtitleType,SearchInputDividerType,SearchInputClearButtonType,SearchLayoutType,SearchIconType}from\"https://framerusercontent.com/modules/tV9haTHllpHHc9Fjue2H/lCNMpf6DznmmCJRndYjM/SearchModal.js\";import{useViewportSizeState}from\"https://framerusercontent.com/modules/hqEf5wXaAewP8VPuaZ98/5A0QGVeEr2cwheQpIuEG/useViewportSizeState.js\";import{titleCase,DEFAULT_FONT_FAMILY,isEmptyObject,animationKeyFromLayout,checkIfOverLimit}from\"https://framerusercontent.com/modules/MWsEnYfRnoOQq31DN4ql/fxR5MNtgeSOU8Mj4iY9n/utils.js\";import{Browser}from\"https://framerusercontent.com/modules/PJVBcBLmDteTEAZh3J9Z/keXJyjyE9VnzUcDMayjg/browser.js\";var EntryPointOptions;// SITE SEARCH\n// By Anthony and Hunter\n(function(EntryPointOptions){EntryPointOptions[\"icon\"]=\"Icon\";EntryPointOptions[\"input\"]=\"Input\";})(EntryPointOptions||(EntryPointOptions={}));function buildShadow(shadowProperty,fallback=\"none\"){if(!shadowProperty)return fallback;const{x,y,blur,color,spread}=shadowProperty;return`${x}px ${y}px ${blur}px ${spread}px ${color}`;}const Overlay=/*#__PURE__*/forwardRef(function Overlay(props,ref){const{layoutType,theme,onDismiss}=props;useEffect(()=>{const handleKeyDown=event=>{if(event.code===\"Escape\"){event.stopPropagation();onDismiss();}};const handlePointerDown=event=>{if(event.pointerType!==\"touch\")return;const isWithinSearchHeader=Boolean(event.target instanceof Element&&event.target.closest(\"[role=search]\"));if(isWithinSearchHeader)return;if(document.activeElement instanceof HTMLInputElement){document.activeElement.blur();}};// Event listener added to window so that pressing escape key to dimiss\n// can be invoked from anywhere on the page.\nwindow.addEventListener(\"keydown\",handleKeyDown);window.addEventListener(\"pointerdown\",handlePointerDown,{capture:true});// Disable page scrolling when overlay is shown.\ndocument.body.classList.add(bodyOverflowHidden);return()=>{window.removeEventListener(\"keydown\",handleKeyDown);window.removeEventListener(\"pointerdown\",handlePointerDown,{capture:true});document.body.classList.remove(bodyOverflowHidden);};},[]);return /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(\"div\",{ref:ref,className:\"__framer-search-modal-container\",role:\"presentation\",style:{...backdropStyles,zIndex:props.backdropOptions.zIndex,justifyContent:layoutType===SearchLayoutType.Sidebar?\"flex-start\":\"center\"},onClick:onDismiss,children:[/*#__PURE__*/_jsx(motion.div,{role:\"presentation\",initial:{opacity:0},animate:{opacity:1},exit:{opacity:0,transition:{duration:0}},transition:theme.overlayTransition,style:{top:0,left:0,right:0,bottom:0,width:\"100%\",height:\"100%\",boxSizing:\"border-box\",position:\"absolute\",touchAction:\"none\",backgroundColor:props.backdropOptions.backgroundColor}}),/*#__PURE__*/_jsx(SearchModal,{urlScope:props.urlScope,layoutType:layoutType,inputOptions:props.inputOptions,resultOptions:props.resultOptions,modalOptions:props.modalOptions,backdropOptions:props.backdropOptions,theme:props.theme,onDismiss:onDismiss})]}),document.body);});const backdropStyles={width:\"100%\",boxSizing:\"border-box\",willChange:\"transform\",position:\"fixed\",display:\"flex\",alignItems:\"flex-start\",top:0,left:0,right:0,bottom:0};const containerStyle={height:\"100%\",display:\"flex\",borderRadius:10,cursor:\"inherit\",overflow:\"hidden\"};const bodyOverflowHidden=\"__framer-overflow-hidden\";/**\n *\n * SEARCH\n * By Anthony and Hunter\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 40\n * @framerIntrinsicHeight 40\n */const EntryPoint=withCSS(function EntryPoint(props){const overlay=useRef(null);const[isOpen,setIsOpen]=useState(false);const[isOverLimit,setIsOverLimit]=useState(false);const[isSafariTouchDevice,setIsSafariTouchDevice]=useState(false);const[isOnCanvas]=useState(()=>RenderTarget.current()===RenderTarget.canvas);useEffect(()=>{setIsOverLimit(checkIfOverLimit());setIsSafariTouchDevice(Browser.isSafari()&&Browser.isTouch());},[]);const baseInputFontSize=props.inputOptions?.inputFont?.fontSize?props.inputOptions.inputFont.fontSize:\"16px\";// The font size is set to a minimum of `16px` on Safari with touch screens\n// because otherwise Safari will zoom in slightly if the type size is smaller.\nconst inputFontSize=isSafariTouchDevice?`max(16px, ${baseInputFontSize})`:baseInputFontSize;const layoutType=useViewportSizeState(size=>{if(size.width<props.modalOptions.width+10){return SearchLayoutType.FixedTop;}// @ts-ignore – Fallback\nreturn props.modalOptions.layoutType||props.layoutType;});const theme={subtitleColor:props.resultOptions.subtitleOptions.subtitleColor,backgroundColor:props.modalOptions.backgroundColor,foregroundColor:props.resultOptions.titleColor,placeholderColor:props.inputOptions.placeholderOptions.placeholderColor,titleFont:props.resultOptions?.titleFont&&!isEmptyObject(props.resultOptions.titleFont)?props.resultOptions.titleFont:{fontSize:14,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},subtitleFont:props.resultOptions.subtitleOptions?.subtitleFont&&!isEmptyObject(props.resultOptions.subtitleOptions.subtitleFont)?props.resultOptions.subtitleOptions.subtitleFont:{fontSize:12,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},inputFont:props.inputOptions?.inputFont&&!isEmptyObject(props.inputOptions.inputFont)?props.inputOptions.inputFont:{fontSize:16,fontFamily:DEFAULT_FONT_FAMILY,fontWeight:500},// Keep separate so we can more easily override\ninputFontSize:inputFontSize,width:props.modalOptions.width,offsetTop:props.modalOptions.top,borderRadius:props.modalOptions.borderRadius,shadow:buildShadow(props.modalOptions.shadow),entryIconColor:props.iconColor,entryIconSize:props.iconSize,entryIconImage:props.iconImage,inputIconSize:props.inputOptions.iconOptions.iconSize,inputIconColor:props.inputOptions.iconOptions.iconColor,inputIconImage:props.inputOptions.iconOptions.iconImage,gapBetweenStatusAndSearch:16,gapBetweenResults:1,scrollBarWidth:20,margin:10,spacing:8,zIndex:props.backdropOptions.zIndex,horizontalSpacing:20,overlayTransition:props.backdropOptions.transition};const handleClick=event=>{// Both need to keep `autofocus` working on the search input.\nevent.preventDefault();event.stopPropagation();if(isOverLimit)return;setIsOpen(true);};return /*#__PURE__*/_jsxs(\"div\",{style:{...containerStyle,...props.style,pointerEvents:isOverLimit?\"none\":\"auto\",opacity:isOverLimit?.4:1},children:[/*#__PURE__*/_jsx(\"button\",{\"aria-label\":\"Search Icon\",style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",background:\"none\",cursor:\"inherit\",color:\"inherit\",border:\"none\",borderRadius:10,padding:0},onClick:handleClick,children:props.iconType===SearchIconType.Custom&&theme.entryIconImage?/*#__PURE__*/_jsx(\"img\",{alt:\"icon entry point for Site Search\",src:theme.entryIconImage.src,width:theme.entryIconSize,height:theme.entryIconSize}):/*#__PURE__*/_jsx(SearchIcon,{color:theme.entryIconColor,width:theme.entryIconSize,height:theme.entryIconSize})}),/*#__PURE__*/_jsx(AnimatePresence,{children:isOpen&&!isOnCanvas&&/*#__PURE__*/_jsx(Overlay,{ref:overlay,layoutType:layoutType,urlScope:props.urlScope,inputOptions:props.inputOptions,resultOptions:props.resultOptions,backdropOptions:props.backdropOptions,modalOptions:props.modalOptions,theme:theme,onDismiss:()=>setIsOpen(false)})})]});},[// Prevent scrolling on iOS Safari when Input is focused.\n// From: https://gist.github.com/kiding/72721a0553fa93198ae2bb6eefaa3299\n`\n        @keyframes __framer-blink-input {\n            0% { opacity: 0; }\n            100% { opacity: 1; }\n        }\n\n        .__framer-search-modal-container input:focus {\n            animation: __framer-blink-input 0.01s;\n        }\n        `,// Allow styling of input placeholder\n`\n         .__framer-search-modal-container input::placeholder, \n         .__framer-search-modal-container input::-webkit-input-placeholder { \n            color: var(--framer-search-placeholder-color, #999999);\n            opacity: 1;\n        }\n        `,// Allow fallback to 100vh when dvh unit is not supported.\n`\n        .__framer-search-modal-container {\n            height: 100vh;\n            height: 100dvh;\n        }\n        .__framer-search-modal-container .__framer-max-height-80dvh {\n            max-height: 80vh;\n            max-height: 80dvh;\n        }\n        `,`\n        body.${bodyOverflowHidden} {\n            overflow: hidden;\n        }`,// Increase hit target\n`\n        button.__framer-search-clear-button {\n            position: relative;\n        }\n        button.__framer-search-clear-button::after {\n            content: \"\";\n            position: absolute;\n            top: -10px;\n            right: -10px;\n            bottom: -10px;\n            left: -10px;\n        }`],\"framer-lib-search\");export default EntryPoint;addPropertyControls(EntryPoint,{urlScope:{title:\"Scope\",// @ts-ignore - Internal\ntype:ControlType.PageScope},// entryType: {\n//     title: \"Type\",\n//     type: ControlType.Enum,\n//     options: Object.values(SearchEntryType),\n//     optionTitles: Object.values(SearchEntryType).map(titleCase),\n//     displaySegmentedControl: true,\n// },\niconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\",hidden:props=>props.iconType===SearchIconType.Custom},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:props=>props.iconType===SearchIconType.Default},iconSize:{title:\"Size\",type:ControlType.Number,displayStepper:true,defaultValue:24},inputOptions:{title:\"Input\",type:ControlType.Object,buttonTitle:\"Icon, Styles\",controls:{iconOptions:{title:\"Icon\",type:ControlType.Object,buttonTitle:\"Color, Size\",controls:{iconType:{title:\"Icon\",type:ControlType.Enum,options:Object.values(SearchIconType),optionTitles:Object.values(SearchIconType).map(titleCase),displaySegmentedControl:true},iconColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.45)\",hidden:({iconType})=>{return iconType===SearchIconType.Custom;}},iconImage:{title:\"File\",type:ControlType.ResponsiveImage,allowedFileTypes:[\"jpg\",\"png\",\"svg\"],hidden:({iconType})=>iconType===SearchIconType.Default},iconSize:{title:\"Icon Size\",type:ControlType.Number,displayStepper:true,defaultValue:18,min:0,max:100}}},inputFont:{title:\"Font\",// @ts-ignore – Internal\ntype:ControlType.Font,displayFontSize:true},textColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\"},placeholderOptions:{title:\"Placeholder\",type:ControlType.Object,buttonTitle:\"Color, Text\",controls:{placeholderText:{title:\"Text\",type:ControlType.String,defaultValue:\"Search...\"},placeholderColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.4)\"}}},dividerType:{title:\"Divider\",type:ControlType.Enum,options:Object.values(SearchInputDividerType),optionTitles:Object.keys(SearchInputDividerType).map(titleCase),defaultValue:SearchInputDividerType.FullWidth},clearButtonType:{title:\"Clear Type\",type:ControlType.Enum,options:Object.values(SearchInputClearButtonType),optionTitles:Object.keys(SearchInputClearButtonType).map(titleCase),defaultValue:SearchInputClearButtonType.Icon},clearButtonText:{title:\"Clear Text\",type:ControlType.String,defaultValue:\"Clear\",hidden:props=>props.clearButtonType!==SearchInputClearButtonType.Text}}},modalOptions:{title:\"Modal\",buttonTitle:\"Layout, Width\",type:ControlType.Object,controls:{layoutType:{title:\"Layout\",type:ControlType.Enum,options:Object.keys(SearchLayoutType),optionTitles:Object.values(SearchLayoutType).map(titleCase),defaultValue:SearchLayoutType.QuickMenu},width:{title:\"Width\",type:ControlType.Number,defaultValue:500,min:200,max:1e3,displayStepper:true,step:5,hidden:props=>props.layoutType===SearchLayoutType.FixedTop},top:{title:\"Top\",type:ControlType.Number,defaultValue:0,min:0,max:1e3,displayStepper:true,hidden:props=>props.layoutType!==SearchLayoutType.FixedTop},heightIsStatic:{title:\"Height\",type:ControlType.Boolean,enabledTitle:\"Instant\",disabledTitle:\"Animate\",hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu},heightTransition:{title:\"Type\",type:ControlType.Transition,defaultValue:{type:\"spring\",stiffness:800,damping:60},hidden:({heightIsStatic,layoutType})=>layoutType!==SearchLayoutType.QuickMenu||heightIsStatic},borderRadius:{title:\"Radius\",type:ControlType.Number,defaultValue:16,displayStepper:true,min:0,hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu},shadow:{buttonTitle:\"Options\",type:ControlType.Object,defaultValue:{x:0,y:20,blur:40,spread:0,color:\"rgba(0,0,0,0.2)\"},controls:{color:{type:ControlType.Color,defaultValue:\"rgba(0,0,0,0.2)\"},x:{type:ControlType.Number,defaultValue:0},y:{type:ControlType.Number,defaultValue:20},blur:{type:ControlType.Number,defaultValue:40},spread:{type:ControlType.Number,defaultValue:0}}},backgroundColor:{title:\"Background\",type:ControlType.Color,defaultValue:\"#FFF\"},[animationKeyFromLayout(SearchLayoutType.QuickMenu)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",hidden:({layoutType})=>layoutType!==SearchLayoutType.QuickMenu,optional:true,buttonTitle:\"Options\",controls:{opacity:{type:ControlType.Number,defaultValue:.5,step:.1,min:0,max:1},scale:{type:ControlType.Number,defaultValue:.75,step:.1,min:0,max:2},// rotate: {\n//     type: ControlType.Number,\n//     defaultValue: 0,\n//     min: -360,\n//     max: 360,\n// },\nx:{type:ControlType.Number,defaultValue:0,min:-500,max:500},y:{type:ControlType.Number,defaultValue:0,min:-500,max:500},transition:{type:ControlType.Transition}}},[animationKeyFromLayout(SearchLayoutType.FixedTop)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",buttonTitle:\"Options\",hidden:({layoutType})=>layoutType!==SearchLayoutType.FixedTop,optional:true,controls:{opacity:{type:ControlType.Number,defaultValue:.8,step:.1,min:0,max:1},y:{type:ControlType.Number,defaultValue:0,min:-100,max:100},transition:{type:ControlType.Transition}}},[animationKeyFromLayout(SearchLayoutType.Sidebar)]:{title:\"Animation\",type:ControlType.Object,icon:\"effect\",buttonTitle:\"Options\",hidden:({layoutType})=>layoutType!==SearchLayoutType.Sidebar,optional:true,controls:{opacity:{type:ControlType.Number,defaultValue:.8,step:.1,min:0,max:1},x:{type:ControlType.Number,defaultValue:0,min:-1e3,max:1e3},transition:{type:ControlType.Transition}}}}},resultOptions:{title:\"Results\",buttonTitle:\"Fonts, Style\",type:ControlType.Object,defaultValue:{},// description:\n//     \"Learn more about how to use Site Search [here](https://framer.com/learn/site-search)\",\ncontrols:{itemType:{title:\"Style\",type:ControlType.Enum,options:Object.values(SearchResultItemType),optionTitles:Object.keys(SearchResultItemType).map(titleCase),defaultValue:SearchResultItemType.FullWidth},titleFont:{title:\"Title\",// @ts-ignore - Internal\ntype:ControlType.Font,defaultValue:{fontSize:15},displayFontSize:true},titleColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"#333\"},titleType:{title:\"Content\",type:ControlType.Enum,options:Object.values(SearchResultTitleType),optionTitles:Object.keys(SearchResultTitleType).map(titleCase),defaultValue:SearchResultTitleType.H1,displaySegmentedControl:true},subtitleOptions:{type:ControlType.Object,title:\"Subtitle\",buttonTitle:\"Font, Content\",controls:{subtitleFont:{title:\"Font\",// @ts-ignore - Internal\ntype:ControlType.Font,defaultValue:{fontSize:13},displayFontSize:true},subtitleColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.4)\"},subtitleType:{title:\"Content\",type:ControlType.Enum,options:Object.values(SearchResultSubtitleType),optionTitles:Object.keys(SearchResultSubtitleType).map(titleCase),defaultValue:SearchResultSubtitleType.Path}}}}},backdropOptions:{title:\"Backdrop\",type:ControlType.Object,buttonTitle:\"Color, Z Index\",controls:{backgroundColor:{title:\"Color\",type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.8)\"},zIndex:{title:\"Z Index\",type:ControlType.Number,defaultValue:10,displayStepper:true,min:0,max:10},transition:{type:ControlType.Transition}}}});EntryPoint.displayName=\"Search\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"EntryPoint\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"40\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"40\"}},\"ResponsiveImage\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Shadow\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EntryPointProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"WindowAnimation\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (85eaff3)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 6 6\" fill=\"transparent\" height=\"6px\" id=\"X_xKm442_\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(5 8)\" width=\"6px\"/><path d=\"M 0 9 L 6 3 L 8 0\" fill=\"transparent\" height=\"9px\" id=\"EqZp0hezc\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(4 5)\" width=\"8px\"/><path d=\"M 0 0 L 12 0\" fill=\"transparent\" height=\"1px\" id=\"jJRBDea_y\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(2 5)\" width=\"12px\"/><path d=\"M 0 0 L 1 0\" fill=\"transparent\" height=\"1px\" id=\"EViSb8saR\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(7 2)\" width=\"1px\"/><path d=\"M 10 10 L 5 0 L 0 10\" fill=\"transparent\" height=\"10px\" id=\"NPZZS8XY9\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(12 12)\" width=\"10px\"/><path d=\"M 0 0 L 6 0\" fill=\"transparent\" height=\"1px\" id=\"IVUifdBjt\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(14 18)\" width=\"6px\"/></svg>';const getProps=({color,height,id,width,width1,...props})=>{return{...props,JEeZYcamG:width1??props.JEeZYcamG??2,P_DcoRcrY:color??props.P_DcoRcrY??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,P_DcoRcrY,JEeZYcamG,...restProps}=getProps(props);const href=useSVGTemplate(\"2154650109\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-ZZeJd\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m973uw\":P_DcoRcrY,\"--js9iwy\":JEeZYcamG,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-ZZeJd { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"P_DcoRcrY\":\"color\",\"JEeZYcamG\":\"width1\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Languages\",\"color\":{\"type\":\"variable\",\"value\":\"1m973uw\"},\"set\":{\"localId\":\"vectorSet/ZsiCCGPvG\",\"id\":\"ZsiCCGPvG\",\"moduleId\":\"Y7SpbVH16cWqMhj75z1M\"}}\n */const Icon=withCSS(Component,css,\"framer-ZZeJd\");Icon.displayName=\"Languages\";export default Icon;addPropertyControls(Icon,{P_DcoRcrY:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},JEeZYcamG:{defaultValue:2,displayStepper:true,hidden:false,max:16,min:1,title:\"Width\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVector\":\"{\\\"name\\\":\\\"Languages\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1m973uw\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/ZsiCCGPvG\\\",\\\"id\\\":\\\"ZsiCCGPvG\\\",\\\"moduleId\\\":\\\"Y7SpbVH16cWqMhj75z1M\\\"}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"P_DcoRcrY\\\":\\\"color\\\",\\\"JEeZYcamG\\\":\\\"width1\\\"}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (85eaff3)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 16 0\" fill=\"transparent\" height=\"1px\" id=\"YnobPTYMb\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(4 5)\" width=\"16px\"/><path d=\"M 0 0 L 16 0\" fill=\"transparent\" height=\"1px\" id=\"Cb0Gao21R\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(4 12)\" width=\"16px\"/><path d=\"M 0 0 L 16 0\" fill=\"transparent\" height=\"1px\" id=\"oPtuyu4df\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(4 19)\" width=\"16px\"/></svg>';const getProps=({color,height,id,width,width1,...props})=>{return{...props,JEeZYcamG:width1??props.JEeZYcamG??2,P_DcoRcrY:color??props.P_DcoRcrY??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,P_DcoRcrY,JEeZYcamG,...restProps}=getProps(props);const href=useSVGTemplate(\"3467097230\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-grV1P\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m973uw\":P_DcoRcrY,\"--js9iwy\":JEeZYcamG,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-grV1P { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"P_DcoRcrY\":\"color\",\"JEeZYcamG\":\"width1\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Menu\",\"color\":{\"type\":\"variable\",\"value\":\"1m973uw\"},\"set\":{\"localId\":\"vectorSet/ZsiCCGPvG\",\"id\":\"ZsiCCGPvG\",\"moduleId\":\"Y7SpbVH16cWqMhj75z1M\"}}\n */const Icon=withCSS(Component,css,\"framer-grV1P\");Icon.displayName=\"Menu\";export default Icon;addPropertyControls(Icon,{P_DcoRcrY:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},JEeZYcamG:{defaultValue:2,displayStepper:true,hidden:false,max:16,min:1,title:\"Width\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerVector\":\"{\\\"name\\\":\\\"Menu\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1m973uw\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/ZsiCCGPvG\\\",\\\"id\\\":\\\"ZsiCCGPvG\\\",\\\"moduleId\\\":\\\"Y7SpbVH16cWqMhj75z1M\\\"}}\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"P_DcoRcrY\\\":\\\"color\\\",\\\"JEeZYcamG\\\":\\\"width1\\\"}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (85eaff3)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 12 0 L 0 12\" fill=\"transparent\" height=\"12px\" id=\"qMvRy61Gj\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(6 6)\" width=\"12px\"/><path d=\"M 0 0 L 12 12\" fill=\"transparent\" height=\"12px\" id=\"YX0AMSC6b\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--js9iwy, 2)\" stroke=\"var(--1m973uw, rgb(0,0,0))\" transform=\"translate(6 6)\" width=\"12px\"/></svg>';const getProps=({color,height,id,width,width1,...props})=>{return{...props,JEeZYcamG:width1??props.JEeZYcamG??2,P_DcoRcrY:color??props.P_DcoRcrY??\"rgb(0, 0, 0)\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,P_DcoRcrY,JEeZYcamG,...restProps}=getProps(props);const href=useSVGTemplate(\"2710857035\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-RiU4T\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m973uw\":P_DcoRcrY,\"--js9iwy\":JEeZYcamG,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-RiU4T { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"P_DcoRcrY\":\"color\",\"JEeZYcamG\":\"width1\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"X\",\"color\":{\"type\":\"variable\",\"value\":\"1m973uw\"},\"set\":{\"localId\":\"vectorSet/ZsiCCGPvG\",\"id\":\"ZsiCCGPvG\",\"moduleId\":\"Y7SpbVH16cWqMhj75z1M\"}}\n */const Icon=withCSS(Component,css,\"framer-RiU4T\");Icon.displayName=\"X\";export default Icon;addPropertyControls(Icon,{P_DcoRcrY:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},JEeZYcamG:{defaultValue:2,displayStepper:true,hidden:false,max:16,min:1,title:\"Width\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"X\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"1m973uw\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/ZsiCCGPvG\\\",\\\"id\\\":\\\"ZsiCCGPvG\\\",\\\"moduleId\\\":\\\"Y7SpbVH16cWqMhj75z1M\\\"}}\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"P_DcoRcrY\\\":\\\"color\\\",\\\"JEeZYcamG\\\":\\\"width1\\\"}\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f8e97a5)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;IBM Plex Sans Arabic-700\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"IBM Plex Sans Arabic\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"IBM Plex Sans Arabic\",url:\"https://fonts.gstatic.com/s/ibmplexsansarabic/v15/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-dCWVsVJKxTs.woff2\",weight:\"700\"}]}];export const css=[\".framer-b3dEK .framer-styles-preset-j7tnpz:not(.rich-text-wrapper), .framer-b3dEK .framer-styles-preset-j7tnpz.rich-text-wrapper p { --framer-font-family: \\\"IBM Plex Sans Arabic\\\", \\\"IBM Plex Sans Arabic Placeholder\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-d2422516-cb02-4bf7-a97c-2754e97003bd); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }\"];export const className=\"framer-b3dEK\";\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 (f8e97a5)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-ZXlTy .framer-styles-preset-12xi2lo:not(.rich-text-wrapper), .framer-ZXlTy .framer-styles-preset-12xi2lo.rich-text-wrapper a { --framer-link-current-text-color: var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402); --framer-link-hover-text-color: var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402); --framer-link-text-color: var(--token-d2422516-cb02-4bf7-a97c-2754e97003bd); --framer-link-text-decoration: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: color; transition-timing-function: cubic-bezier(0.44, 0, 0.56, 1); }\"];export const className=\"framer-ZXlTy\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (f8e97a5)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-MuAlT .framer-styles-preset-16qdqol:not(.rich-text-wrapper), .framer-MuAlT .framer-styles-preset-16qdqol.rich-text-wrapper a { --framer-link-current-text-color: #ffffff; --framer-link-hover-text-color: #ffffff; --framer-link-text-color: rgba(255, 255, 255, 0.8); --framer-link-text-decoration: none; transition-delay: 0s; transition-duration: 0.2s; transition-property: color; transition-timing-function: cubic-bezier(0.44, 0, 0.56, 1); }\"];export const className=\"framer-MuAlT\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (dd23e71)\nimport{LazyValue}from\"framer\";const valuesByLocaleId={WG1EVHeRq:new LazyValue(()=>import(\"./AlxkIlchD-0.js\"))};export default function getLocalizedValue(key,locale){while(locale){const values=valuesByLocaleId[locale.id];if(values&&values.status===\"fulfilled\"){const value=values.read()[key];if(value)return value;}locale=locale.fallback;}}function preload(locale){const promises=[];while(locale){const values=valuesByLocaleId[locale.id];if(values){const promise=values.preload();if(promise)promises.push(promise);}locale=locale.fallback;}if(promises.length>0)return Promise.all(promises);}export function usePreloadLocalizedValues(locale){const preloadPromise=preload(locale);if(preloadPromise)throw preloadPromise;}\nexport const __FramerMetadata__ = {\"exports\":{\"usePreloadLocalizedValues\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (dd23e71)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image as Image1,Instance,Link,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import LocaleSelector from\"https://framerusercontent.com/modules/57FhkldN9P7x88MqAEaR/7Wx3r3ii8MhSQ44Rlwa5/LocaleSelector.js\";import Search from\"https://framerusercontent.com/modules/6wAE2eMb2Tl3zrU7u4UL/mKj6QS2p4Cgdaa0WrZKY/Search.js\";import Languages from\"https://framerusercontent.com/modules/DmZTdEl4I3oDparTcKOt/VHoYCWW4B2az5EkpBmIt/N1r1EO_A2.js\";import Menu from\"https://framerusercontent.com/modules/nW28P7k6zS9mddbwEi9t/eJZbsb780olVJmyBoSe8/Vsaktx242.js\";import X from\"https://framerusercontent.com/modules/s9ICNln7If6dbx787s8J/bsSFrd6i3uQgWvg7HD50/gpufTpA3b.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/AfyNm1xigwdLPO5SsnAp/DMbeYEzsAwQuHWEpWpYW/GzFnHlDY6.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/t7hzlAvsQnPVzv44tUf3/fB2KV8Wt5bjmRjvFhRPP/HXR1UZYll.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/139uxDlhiVksXdt6XqOy/PUiEnk6Lz6QGD2pVCNac/oJiY0ntEU.js\";import getLocalizedValue,{usePreloadLocalizedValues}from\"https://framerusercontent.com/modules/oP8siEjd6wvU5GS97mpF/NlOybKkPXyUORvjT2wSB/AlxkIlchD.js\";const SearchFonts=getFonts(Search);const LanguagesFonts=getFonts(Languages);const LocaleSelectorFonts=getFonts(LocaleSelector);const cycleOrder=[\"RPQx2G_kv\",\"eyYmXKOe9\",\"cuU6V4x6F\",\"Mnp6CpyUe\",\"dDvDXOckn\",\"OGaqv8rPg\"];const serializationHash=\"framer-93QuZ\";const variantClassNames={cuU6V4x6F:\"framer-v-1bqzl4q\",dDvDXOckn:\"framer-v-twdw54\",eyYmXKOe9:\"framer-v-kc5mqz\",Mnp6CpyUe:\"framer-v-bw9nct\",OGaqv8rPg:\"framer-v-145y0ww\",RPQx2G_kv:\"framer-v-cvhs79\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={\"On Dark\":\"RPQx2G_kv\",\"On Light\":\"eyYmXKOe9\",\"Phone Dark Open\":\"dDvDXOckn\",\"Phone Dark\":\"cuU6V4x6F\",\"Phone Light Open\":\"OGaqv8rPg\",\"Phone Light\":\"Mnp6CpyUe\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"RPQx2G_kv\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,contentLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"RPQx2G_kv\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);usePreloadLocalizedValues(activeLocale);const isDisplayed=()=>{if([\"cuU6V4x6F\",\"Mnp6CpyUe\",\"dDvDXOckn\",\"OGaqv8rPg\"].includes(baseVariant))return true;return false;};const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap8ifpf5=activeVariantCallback(async(...args)=>{setVariant(\"dDvDXOckn\");});const onTap18gde6x=activeVariantCallback(async(...args)=>{setVariant(\"OGaqv8rPg\");});const onTapx29ujy=activeVariantCallback(async(...args)=>{setVariant(\"cuU6V4x6F\");});const onTap1xngaoz=activeVariantCallback(async(...args)=>{setVariant(\"Mnp6CpyUe\");});return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.nav,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-cvhs79\",className,classNames),\"data-framer-name\":\"On Dark\",layoutDependency:layoutDependency,layoutId:\"RPQx2G_kv\",ref:refBinding,style:{backgroundColor:\"rgba(0, 0, 0, 0)\",...style},variants:{cuU6V4x6F:{backgroundColor:\"rgba(0, 0, 0, 0)\"},dDvDXOckn:{backgroundColor:\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"},eyYmXKOe9:{backgroundColor:\"rgb(255, 255, 255)\"},Mnp6CpyUe:{backgroundColor:\"rgb(255, 255, 255)\"},OGaqv8rPg:{backgroundColor:\"rgb(255, 255, 255)\"}},...addPropertyOverrides({cuU6V4x6F:{\"data-framer-name\":\"Phone Dark\"},dDvDXOckn:{\"data-framer-name\":\"Phone Dark Open\"},eyYmXKOe9:{\"data-framer-name\":\"On Light\"},Mnp6CpyUe:{\"data-framer-name\":\"Phone Light\"},OGaqv8rPg:{\"data-framer-name\":\"Phone Light Open\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-7a8gwv\",\"data-framer-name\":\"Top Bar\",layoutDependency:layoutDependency,layoutId:\"zLDHwJZzB\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"AvR9pQhbC\",scopeId:\"AlxkIlchD\",children:/*#__PURE__*/_jsx(Image1,{as:\"a\",background:{alt:getLocalizedValue(\"v0\",contentLocale)??\"جمعية الاستدامة المؤسسية\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+28+((componentViewport?.height||104)-104)/2),pixelHeight:156,pixelWidth:396,sizes:\"122px\",src:\"https://framerusercontent.com/images/CdkRJNfO3rI54prcGR29B8YsI.svg?width=396&height=156\"},className:\"framer-1n6337a framer-13acaza\",\"data-framer-name\":\"Logo\",layoutDependency:layoutDependency,layoutId:\"AvR9pQhbC\",...addPropertyOverrides({cuU6V4x6F:{background:{alt:getLocalizedValue(\"v0\",contentLocale)??\"جمعية الاستدامة المؤسسية\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+20),pixelHeight:156,pixelWidth:396,sizes:\"122px\",src:\"https://framerusercontent.com/images/CdkRJNfO3rI54prcGR29B8YsI.svg?width=396&height=156\"}},dDvDXOckn:{background:{alt:getLocalizedValue(\"v0\",contentLocale)??\"جمعية الاستدامة المؤسسية\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+20),pixelHeight:156,pixelWidth:396,sizes:\"122px\",src:\"https://framerusercontent.com/images/CdkRJNfO3rI54prcGR29B8YsI.svg?width=396&height=156\"}},eyYmXKOe9:{background:{alt:getLocalizedValue(\"v0\",contentLocale)??\"جمعية الاستدامة المؤسسية\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+28+((componentViewport?.height||104)-104)/2),pixelHeight:156,pixelWidth:396,sizes:\"122px\",src:\"https://framerusercontent.com/images/kxsCGfaEYGAV3KDypcE4KDjUMY.svg?width=396&height=156\"}},Mnp6CpyUe:{background:{alt:getLocalizedValue(\"v0\",contentLocale)??\"جمعية الاستدامة المؤسسية\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+20),pixelHeight:156,pixelWidth:396,sizes:\"122px\",src:\"https://framerusercontent.com/images/kxsCGfaEYGAV3KDypcE4KDjUMY.svg?width=396&height=156\"}},OGaqv8rPg:{background:{alt:getLocalizedValue(\"v0\",contentLocale)??\"جمعية الاستدامة المؤسسية\",fit:\"fill\",loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+20),pixelHeight:156,pixelWidth:396,sizes:\"122px\",src:\"https://framerusercontent.com/images/kxsCGfaEYGAV3KDypcE4KDjUMY.svg?width=396&height=156\"}}},baseVariant,gestureVariant)})}),isDisplayed()&&/*#__PURE__*/_jsx(motion.div,{\"aria-label\":\"القائمة\",className:\"framer-tuhamz\",\"data-framer-name\":\"Menu Button\",layoutDependency:layoutDependency,layoutId:\"HhxyC7776\",...addPropertyOverrides({cuU6V4x6F:{\"data-highlight\":true,onTap:onTap8ifpf5},dDvDXOckn:{\"data-highlight\":true,onTap:onTapx29ujy},Mnp6CpyUe:{\"data-highlight\":true,onTap:onTap18gde6x},OGaqv8rPg:{\"data-highlight\":true,onTap:onTap1xngaoz}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(Instance,{animated:true,className:\"framer-s3zipf\",Component:Menu,layoutDependency:layoutDependency,layoutId:\"ViX0Dwy6k\",style:{\"--1m973uw\":\"rgb(255, 255, 255)\",\"--js9iwy\":2},variants:{Mnp6CpyUe:{\"--1m973uw\":\"var(--token-d2422516-cb02-4bf7-a97c-2754e97003bd)\"},OGaqv8rPg:{\"--1m973uw\":\"var(--token-d2422516-cb02-4bf7-a97c-2754e97003bd)\"}},...addPropertyOverrides({dDvDXOckn:{Component:X},OGaqv8rPg:{Component:X}},baseVariant,gestureVariant)})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-x9nu24\",\"data-framer-name\":\"Menu\",layoutDependency:layoutDependency,layoutId:\"Q4rtwKcbJ\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-aiurzs\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"um00W60ws\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:getLocalizedValue(\"v1\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"sPJ0d1az7\"},motionChild:true,nodeId:\"FxJySehML\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-16qdqol\",\"data-styles-preset\":\"oJiY0ntEU\",children:\"عن الجمعية\"})})})}),className:\"framer-dcil5v\",\"data-framer-name\":\"about\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"FxJySehML\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({eyYmXKOe9:{children:getLocalizedValue(\"v2\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"sPJ0d1az7\"},motionChild:true,nodeId:\"FxJySehML\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"عن الجمعية\"})})})})},Mnp6CpyUe:{children:getLocalizedValue(\"v2\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"sPJ0d1az7\"},motionChild:true,nodeId:\"FxJySehML\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"عن الجمعية\"})})})})},OGaqv8rPg:{children:getLocalizedValue(\"v2\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"sPJ0d1az7\"},motionChild:true,nodeId:\"FxJySehML\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"عن الجمعية\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:getLocalizedValue(\"v3\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Mrmeu9Ytz\"},motionChild:true,nodeId:\"IFIn7YbEu\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-16qdqol\",\"data-styles-preset\":\"oJiY0ntEU\",children:\"برامجنا\"})})})}),className:\"framer-1n13syp\",\"data-framer-name\":\"programs\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"IFIn7YbEu\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({eyYmXKOe9:{children:getLocalizedValue(\"v4\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Mrmeu9Ytz\"},motionChild:true,nodeId:\"IFIn7YbEu\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"برامجنا\"})})})})},Mnp6CpyUe:{children:getLocalizedValue(\"v4\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Mrmeu9Ytz\"},motionChild:true,nodeId:\"IFIn7YbEu\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"برامجنا\"})})})})},OGaqv8rPg:{children:getLocalizedValue(\"v4\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Mrmeu9Ytz\"},motionChild:true,nodeId:\"IFIn7YbEu\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"برامجنا\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:getLocalizedValue(\"v5\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"JyRIhPJXG\"},motionChild:true,nodeId:\"x15lVQ905\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-16qdqol\",\"data-styles-preset\":\"oJiY0ntEU\",children:\"المركز الإعلامي\"})})})}),className:\"framer-mhlivp\",\"data-framer-name\":\"media\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"x15lVQ905\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({eyYmXKOe9:{children:getLocalizedValue(\"v6\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"JyRIhPJXG\"},motionChild:true,nodeId:\"x15lVQ905\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"المركز الإعلامي\"})})})})},Mnp6CpyUe:{children:getLocalizedValue(\"v6\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"JyRIhPJXG\"},motionChild:true,nodeId:\"x15lVQ905\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"المركز الإعلامي\"})})})})},OGaqv8rPg:{children:getLocalizedValue(\"v6\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"JyRIhPJXG\"},motionChild:true,nodeId:\"x15lVQ905\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"المركز الإعلامي\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:getLocalizedValue(\"v7\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"cPyRR9zfi\"},motionChild:true,nodeId:\"IU1o00wul\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-16qdqol\",\"data-styles-preset\":\"oJiY0ntEU\",children:\"العضوية\"})})})}),className:\"framer-8l4l91\",\"data-framer-name\":\"membership\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"IU1o00wul\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({eyYmXKOe9:{children:getLocalizedValue(\"v8\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"cPyRR9zfi\"},motionChild:true,nodeId:\"IU1o00wul\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"العضوية\"})})})})},Mnp6CpyUe:{children:getLocalizedValue(\"v8\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"cPyRR9zfi\"},motionChild:true,nodeId:\"IU1o00wul\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"العضوية\"})})})})},OGaqv8rPg:{children:getLocalizedValue(\"v8\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"cPyRR9zfi\"},motionChild:true,nodeId:\"IU1o00wul\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"العضوية\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:getLocalizedValue(\"v9\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Ba8nf24k9\"},motionChild:true,nodeId:\"Wcg0kX4th\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-16qdqol\",\"data-styles-preset\":\"oJiY0ntEU\",children:\"الشركاء والرعاة\"})})})}),className:\"framer-1ah7nfp\",\"data-framer-name\":\"partners\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Wcg0kX4th\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({eyYmXKOe9:{children:getLocalizedValue(\"v10\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Ba8nf24k9\"},motionChild:true,nodeId:\"Wcg0kX4th\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"الشركاء والرعاة\"})})})})},Mnp6CpyUe:{children:getLocalizedValue(\"v10\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Ba8nf24k9\"},motionChild:true,nodeId:\"Wcg0kX4th\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"الشركاء والرعاة\"})})})})},OGaqv8rPg:{children:getLocalizedValue(\"v10\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Ba8nf24k9\"},motionChild:true,nodeId:\"Wcg0kX4th\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"الشركاء والرعاة\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:getLocalizedValue(\"v11\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"dzxat7DWr\"},motionChild:true,nodeId:\"GuQbhHHOq\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-16qdqol\",\"data-styles-preset\":\"oJiY0ntEU\",children:\"تواصل معنا\"})})})}),className:\"framer-1n8n8rm\",\"data-framer-name\":\"contact\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"GuQbhHHOq\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({eyYmXKOe9:{children:getLocalizedValue(\"v12\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"dzxat7DWr\"},motionChild:true,nodeId:\"GuQbhHHOq\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"تواصل معنا\"})})})})},Mnp6CpyUe:{children:getLocalizedValue(\"v12\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"dzxat7DWr\"},motionChild:true,nodeId:\"GuQbhHHOq\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"تواصل معنا\"})})})})},OGaqv8rPg:{children:getLocalizedValue(\"v12\",contentLocale)??/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-j7tnpz\",\"data-styles-preset\":\"GzFnHlDY6\",dir:\"auto\",style:{\"--framer-text-alignment\":\"start\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"dzxat7DWr\"},motionChild:true,nodeId:\"GuQbhHHOq\",openInNewTab:false,relValues:[],scopeId:\"AlxkIlchD\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-12xi2lo\",\"data-styles-preset\":\"HXR1UZYll\",children:\"تواصل معنا\"})})})})}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-sqr4vn-container\",\"data-framer-name\":\"Search\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"mjx3jqqJ3-container\",name:\"Search\",nodeId:\"mjx3jqqJ3\",rendersWithMotion:true,scopeId:\"AlxkIlchD\",children:/*#__PURE__*/_jsx(Search,{backdropOptions:{backgroundColor:\"rgba(0, 0, 0, 0.8)\",transition:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"},zIndex:10},height:\"100%\",iconColor:\"rgb(255, 255, 255)\",iconSize:20,iconType:\"default\",id:\"mjx3jqqJ3\",inputOptions:{clearButtonText:\"Clear\",clearButtonType:\"icon\",dividerType:\"fullWidth\",iconOptions:{iconColor:\"rgba(0, 0, 0, 0.45)\",iconSize:18,iconType:\"default\"},inputFont:{},placeholderOptions:{placeholderColor:\"rgba(0, 0, 0, 0.4)\",placeholderText:\"Search...\"},textColor:\"rgb(51, 51, 51)\"},layoutId:\"mjx3jqqJ3\",modalOptions:{backgroundColor:\"rgb(255, 255, 255)\",borderRadius:16,heightIsStatic:true,heightTransition:{damping:60,delay:0,mass:1,stiffness:800,type:\"spring\"},layoutType:\"QuickMenu\",shadow:{blur:40,color:\"rgba(0, 0, 0, 0.2)\",spread:0,x:0,y:20},top:0,width:500},name:\"Search\",resultOptions:{itemType:\"fullWidth\",subtitleOptions:{subtitleColor:\"rgba(0, 0, 0, 0.4)\",subtitleFont:{},subtitleType:\"path\"},titleColor:\"rgb(51, 51, 51)\",titleFont:{},titleType:\"h1\"},style:{height:\"100%\",width:\"100%\"},width:\"100%\",...addPropertyOverrides({eyYmXKOe9:{iconColor:\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"},Mnp6CpyUe:{iconColor:\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"},OGaqv8rPg:{iconColor:\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-w4ox43\",\"data-border\":true,\"data-framer-name\":\"Language\",layoutDependency:layoutDependency,layoutId:\"BPS8W6hz1\",style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(255, 255, 255, 0.35)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",borderBottomLeftRadius:6,borderBottomRightRadius:6,borderTopLeftRadius:6,borderTopRightRadius:6},variants:{eyYmXKOe9:{\"--border-color\":\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"},Mnp6CpyUe:{\"--border-color\":\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"},OGaqv8rPg:{\"--border-color\":\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"}},children:[/*#__PURE__*/_jsx(Languages,{animated:true,className:\"framer-11x0x95\",layoutDependency:layoutDependency,layoutId:\"Um4Ph_Nv8\",style:{\"--1m973uw\":\"rgb(255, 255, 255)\",\"--js9iwy\":2},variants:{eyYmXKOe9:{\"--1m973uw\":\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"},Mnp6CpyUe:{\"--1m973uw\":\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"},OGaqv8rPg:{\"--1m973uw\":\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"}}}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1d2nedb-container\",\"data-framer-name\":\"Locale Selector\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"MYmIMC7S_-container\",name:\"Locale Selector\",nodeId:\"MYmIMC7S_\",rendersWithMotion:true,scopeId:\"AlxkIlchD\",children:/*#__PURE__*/_jsx(LocaleSelector,{caret:{color:\"rgb(153, 153, 153)\",size:12,type:\"default\"},fillColor:\"rgba(0, 0, 0, 0)\",font:{fontFamily:'\"IBM Plex Sans Arabic\", \"IBM Plex Sans Arabic Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:700,letterSpacing:\"0em\",lineHeight:\"1.5em\"},height:\"100%\",id:\"MYmIMC7S_\",layoutId:\"MYmIMC7S_\",name:\"Locale Selector\",options:{focus:{color:\"rgb(0, 153, 255)\",offset:0,style:\"solid\",width:1},gap:5,title:true},padding:\"0px\",radius:\"0px\",textColor:\"rgb(255, 255, 255)\",width:\"100%\",...addPropertyOverrides({eyYmXKOe9:{textColor:\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"},Mnp6CpyUe:{textColor:\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"},OGaqv8rPg:{textColor:\"var(--token-46b436f5-aa9e-41d0-98d6-323c749d8402)\"}},baseVariant,gestureVariant)})})})]})]})]})})})});});const css=[\".framer-93QuZ.framer-13acaza, .framer-93QuZ .framer-13acaza { display: block; }\",\".framer-93QuZ.framer-cvhs79 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: var(--overflow-clip-fallback, clip); padding: 28px 40px 28px 40px; position: relative; width: 1200px; }\",\".framer-93QuZ .framer-7a8gwv { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; padding: 0px; position: relative; width: min-content; }\",\".framer-93QuZ .framer-1n6337a { flex: none; height: 48px; position: relative; text-decoration: none; width: 122px; }\",\".framer-93QuZ .framer-tuhamz { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: 40px; justify-content: center; padding: 0px; position: relative; width: 40px; }\",\".framer-93QuZ .framer-s3zipf { flex: none; height: auto; position: relative; width: 26px; }\",\".framer-93QuZ .framer-x9nu24 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: center; padding: 0px; position: relative; width: min-content; }\",\".framer-93QuZ .framer-aiurzs { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 36px; height: min-content; justify-content: center; padding: 0px; position: relative; width: min-content; }\",\".framer-93QuZ .framer-dcil5v, .framer-93QuZ .framer-1n13syp, .framer-93QuZ .framer-mhlivp, .framer-93QuZ .framer-8l4l91, .framer-93QuZ .framer-1ah7nfp, .framer-93QuZ .framer-1n8n8rm { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-93QuZ .framer-sqr4vn-container { flex: none; height: 24px; position: relative; width: 24px; }\",\".framer-93QuZ .framer-w4ox43 { align-content: center; align-items: center; cursor: pointer; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 8px; height: min-content; justify-content: center; padding: 6px 14px 6px 14px; position: relative; width: min-content; }\",\".framer-93QuZ .framer-11x0x95 { flex: none; height: auto; position: relative; width: 16px; }\",\".framer-93QuZ .framer-1d2nedb-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-93QuZ.framer-v-1bqzl4q.framer-cvhs79, .framer-93QuZ.framer-v-bw9nct.framer-cvhs79 { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 0px; height: 88px; justify-content: flex-start; padding: 20px 20px 0px 20px; width: 390px; }\",\".framer-93QuZ.framer-v-1bqzl4q .framer-7a8gwv, .framer-93QuZ.framer-v-bw9nct .framer-7a8gwv, .framer-93QuZ.framer-v-twdw54 .framer-7a8gwv, .framer-93QuZ.framer-v-145y0ww .framer-7a8gwv { width: 100%; }\",\".framer-93QuZ.framer-v-1bqzl4q .framer-x9nu24, .framer-93QuZ.framer-v-bw9nct .framer-x9nu24, .framer-93QuZ.framer-v-twdw54 .framer-x9nu24, .framer-93QuZ.framer-v-145y0ww .framer-x9nu24 { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 24px; padding: 28px 0px 32px 0px; width: 100%; }\",\".framer-93QuZ.framer-v-1bqzl4q .framer-aiurzs, .framer-93QuZ.framer-v-bw9nct .framer-aiurzs, .framer-93QuZ.framer-v-twdw54 .framer-aiurzs, .framer-93QuZ.framer-v-145y0ww .framer-aiurzs { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 20px; width: 100%; }\",\".framer-93QuZ.framer-v-twdw54.framer-cvhs79, .framer-93QuZ.framer-v-145y0ww.framer-cvhs79 { align-content: flex-start; align-items: flex-start; flex-direction: column; gap: 0px; justify-content: flex-start; padding: 20px 20px 0px 20px; width: 390px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,'.framer-93QuZ[data-border=\"true\"]::after, .framer-93QuZ [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 104\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"eyYmXKOe9\":{\"layout\":[\"fixed\",\"auto\"]},\"cuU6V4x6F\":{\"layout\":[\"fixed\",\"fixed\"]},\"Mnp6CpyUe\":{\"layout\":[\"fixed\",\"fixed\"]},\"dDvDXOckn\":{\"layout\":[\"fixed\",\"auto\"]},\"OGaqv8rPg\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerAlxkIlchD=withCSS(Component,css,\"framer-93QuZ\");export default FramerAlxkIlchD;FramerAlxkIlchD.displayName=\"Navigation\";FramerAlxkIlchD.defaultProps={height:104,width:1200};addPropertyControls(FramerAlxkIlchD,{variant:{options:[\"RPQx2G_kv\",\"eyYmXKOe9\",\"cuU6V4x6F\",\"Mnp6CpyUe\",\"dDvDXOckn\",\"OGaqv8rPg\"],optionTitles:[\"On Dark\",\"On Light\",\"Phone Dark\",\"Phone Light\",\"Phone Dark Open\",\"Phone Light Open\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerAlxkIlchD,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"},{cssFamilyName:\"IBM Plex Sans Arabic\",source:\"google\",style:\"normal\",uiFamilyName:\"IBM Plex Sans Arabic\",url:\"https://fonts.gstatic.com/s/ibmplexsansarabic/v15/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-dCWVsVJKxTs.woff2\",weight:\"700\"}]},...SearchFonts,...LanguagesFonts,...LocaleSelectorFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerAlxkIlchD\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"104\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"eyYmXKOe9\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"cuU6V4x6F\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Mnp6CpyUe\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"dDvDXOckn\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"OGaqv8rPg\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AlxkIlchD.map","// Generated by Framer (bb8870d)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;IBM Plex Sans Arabic-regular\",\"GF;IBM Plex Sans Arabic-700\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"IBM Plex Sans Arabic\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"IBM Plex Sans Arabic\",url:\"https://fonts.gstatic.com/s/ibmplexsansarabic/v15/Qw3CZRtWPQCuHme67tEYUIx3Kh0PHR9N6bs_1vSbfdlA.woff2\",weight:\"400\"},{cssFamilyName:\"IBM Plex Sans Arabic\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"IBM Plex Sans Arabic\",url:\"https://fonts.gstatic.com/s/ibmplexsansarabic/v15/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-dCWVsVJKxTs.woff2\",weight:\"700\"}]}];export const css=[\".framer-0sWlf .framer-styles-preset-95qnn5:not(.rich-text-wrapper), .framer-0sWlf .framer-styles-preset-95qnn5.rich-text-wrapper p { --framer-font-family: \\\"IBM Plex Sans Arabic\\\", \\\"IBM Plex Sans Arabic Placeholder\\\", sans-serif; --framer-font-family-bold: \\\"IBM Plex Sans Arabic\\\", \\\"IBM Plex Sans Arabic Placeholder\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on; --framer-font-size: 18px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-font-weight-bold: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.7em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: var(--token-98f1fa18-98d1-46a2-b66f-071b01926c11); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }\"];export const className=\"framer-0sWlf\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (bb8870d)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;IBM Plex Sans Arabic-700\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"IBM Plex Sans Arabic\",openType:true,source:\"google\",style:\"normal\",uiFamilyName:\"IBM Plex Sans Arabic\",url:\"https://fonts.gstatic.com/s/ibmplexsansarabic/v15/Qw3NZRtWPQCuHme67tEYUIx3Kh0PHR9N6YOG-dCWVsVJKxTs.woff2\",weight:\"700\"}]}];export const css=[\".framer-qAqaY .framer-styles-preset-13svugf:not(.rich-text-wrapper), .framer-qAqaY .framer-styles-preset-13svugf.rich-text-wrapper h2 { --framer-font-family: \\\"IBM Plex Sans Arabic\\\", \\\"IBM Plex Sans Arabic Placeholder\\\", sans-serif; --framer-font-open-type-features: 'blwf' on, 'cv03' on, 'cv04' on, 'cv09' on, 'cv11' on; --framer-font-size: 44px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 700; --framer-letter-spacing: 0em; --framer-line-height: 1.2em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: var(--token-d2422516-cb02-4bf7-a97c-2754e97003bd); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }\"];export const className=\"framer-qAqaY\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"A,+jBAAqC,SAAgByJ,GAAe,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,aAAaC,EAAE,CAAC,EAAE,SAASC,EAAE,EAAE,WAAWC,EAAE,EAAE,YAAYC,EAAE,EAAE,UAAUC,EAAE,EAAE,MAAMC,EAAE,QAAQ,CAAC,EAAE,CAAC,IAAIC,EAAE,CAAC,EAAE,OAAO,GAAG,EAAE,yBAAyB,EAAE,EAAE,YAAYD,EAAEL,GAAG,EAAE,eAAeC,EAAE,EAAE,iBAAiBC,EAAE,EAAE,kBAAkBC,EAAE,EAAE,gBAAgBC,IAAI,EAAE,eAAe,EAAE,EAAE,iBAAiB,EAAE,EAAE,kBAAkB,EAAE,EAAE,gBAAgB,IAAI,EAAE,OAAO,OAAOE,CAAE,C,2CAAc,GAAe,CAAC,MAAM,CAAC,KAAKhK,EAAE,MAAM,aAAa,MAAM,EAAE,MAAM,CAAC,KAAKA,EAAE,YAAY,UAAU,eAAe,aAAa,CAAC,QAAQ,gBAAgB,EAAE,UAAU,CAAC,WAAW,aAAa,cAAc,WAAW,EAAE,YAAY,CAAC,IAAI,IAAI,IAAI,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,KAAKA,EAAE,KAAK,QAAQ,CAAC,QAAQ,SAAS,SAAS,QAAQ,EAAE,aAAa,CAAC,QAAQ,SAAS,SAAS,QAAQ,EAAE,aAAa,OAAO,CAAC,C,OCA/yB,SAAgBmK,GAAc,CAAC,QAAM,QAAM,QAAM,UAAQ,CAAC,EAAE,CAAC,IAAMC,EAAO,CAAC,EAAmI,OAA9HC,IAAO,EAAO,0BAA0B,GAAGC,EAAM,KAAKC,EAAM,GAAGF,IAAQ,EAAO,iCAAiC,GAAGG,EAAO,KAAYJ,CAAO,C,2CAAc,GAAc,CAAC,MAAM,CAAC,KAAKhB,EAAY,MAAM,aAAa,MAAM,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,eAAe,GAAK,aAAa,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,KAAKA,EAAY,KAAK,QAAQ,CAAC,QAAQ,SAAS,SAAS,QAAQ,EAAE,aAAa,CAAC,QAAQ,SAAS,SAAS,QAAQ,EAAE,aAAa,OAAO,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,eAAe,EAAI,CAAC,C,OCA3jB,SAAgBuB,GAAc,CAAC,YAAU,YAAU,eAAa,CAAC,EAAE,CAAC,MAAM,CAAC,kCAAkCC,EAAU,uBAAuBC,EAAU,8BAA8BC,CAAW,CAAE,C,2CAAc,GAAc,CAAC,UAAU,CAAC,KAAK1B,EAAY,MAAM,MAAM,OAAO,SAAS,EAAI,EAAE,UAAU,CAAC,KAAKA,EAAY,MAAM,MAAM,OAAO,SAAS,EAAI,EAAE,YAAY,CAAC,KAAKA,EAAY,MAAM,MAAM,SAAS,SAAS,EAAI,CAAC,C,OCA7Z,SAAgB6B,GAAgB,CAAC,UAAQ,EAAE,iBAAe,GAAM,aAAW,EAAE,eAAa,EAAE,gBAAc,EAAE,cAAY,GAAG,CAAC,EAAE,CAAqL,OAAjL,OAAOC,GAAU,SAAgB,CAAC,SAAO,EAAMC,EAAsB,CAAY,aAAwB,eAA2B,gBAA0B,aAAW,EAAc,CAAC,WAAWD,EAAQ,aAAaA,EAAQ,cAAcA,EAAQ,YAAYA,CAAO,CAAG,C,2CAAc,GAAgB,CAAC,QAAQ,CAAC,KAAK9B,EAAY,QAAQ,aAAa,MAAM,CAAC,C,OCAne,SAAgBkC,GAAe,CAAC,SAAO,EAAE,kBAAgB,GAAM,gBAAc,EAAE,iBAAe,EAAE,oBAAkB,EAAE,mBAAiB,GAAG,CAAC,EAAE,CAAC,GAAG,OAAOC,GAAS,SAAU,MAAM,CAAC,aAAaA,CAAM,EAAG,IAAMnB,EAAO,CAAC,EAAiW,OAA5VoB,GAAiB,EAAO,oBAAoBC,EAAc,EAAO,qBAAqBC,EAAe,EAAO,wBAAwBC,EAAkB,EAAO,uBAAuBC,IAAuB,EAAO,oBAAoBL,EAAO,EAAO,qBAAqBA,EAAO,EAAO,wBAAwBA,EAAO,EAAO,uBAAuBA,GAAenB,CAAO,C,2CAAc,GAAe,CAAC,OAAO,CAAC,KAAKhB,EAAY,aAAa,aAAa,MAAM,CAAC,C,OCEiS,SAASnJ,GAAK,CAAC,OAAK,QAAM,QAAM,QAAM,CAA+F,OAA3F+L,IAAO,UAAUC,EAA2B,gBAAK,MAAM,CAAC,GAAGA,EAAM,MAAMC,EAAK,OAAOA,CAAI,CAAC,EAAuB,gBAAK,MAAM,CAAC,MAAM,6BAA6B,QAAQ,cAAc,MAAMA,EAAK,OAAOA,EAAK,KAAK7B,EAAM,SAAsB,gBAAK,OAAO,CAAC,EAAE,+gBAA+gB,CAAC,CAAC,CAAC,CAAE,CAA8H,SAAS8B,GAAM,CAAC,OAAK,QAAM,QAAM,QAAM,CAA+F,OAA3FH,IAAO,UAAUC,EAA2B,gBAAK,MAAM,CAAC,GAAGA,EAAM,MAAMC,EAAK,OAAOA,CAAI,CAAC,EAAuB,gBAAK,MAAM,CAAC,MAAM,6BAA6B,QAAQ,YAAY,MAAMA,EAAK,OAAOA,EAAK,SAAsB,gBAAK,OAAO,CAAC,EAAE,2BAA2B,KAAK,OAAO,OAAO7B,EAAM,YAAY,IAAI,cAAc,QAAQ,eAAe,OAAO,CAAC,CAAC,CAAC,CAAE,C,oFAApjDnK,EAAU,wBAA4H,SAAS,EAAS,CAAC,EAASuM,QAAW,UAAU,EAASC,OAAU,QAAS,EAAA,CAAG,AAAWL,KAAS,CAAC,CAAE,GAA20B,SAAS,EAAU,CAAC,EAAUI,QAAW,UAAU,EAAUC,OAAU,QAAS,EAAA,CAAG,AAAYJ,KAAU,CAAC,CAAE,EAMx4D,GAAepE,GAAS,CAAC,OAAK,YAAU,YAAU,OAAK,QAAM,QAAQ,CAAC,QAAM,MAAI,SAAO,QAAM,SAAO,QAAM,GAAGyE,KAAS,CAAC,IAAMC,EAAGzM,EAAM,EAAO,CAAC,eAAa,UAAQ,aAAWyI,GAAc,EAAQiE,EAAuBvD,GAA0B,EAAQwD,EAAeC,GAAc,IAAI,UAAe,CAACC,EAAmBC,GAAuB7M,EAAS0M,CAAc,EAGnX,CAACI,EAAiBC,GAAqB/M,EAAS0M,CAAc,EAAQM,EAAeC,EAAQ,KAAK,GAAQC,EAAO,KAAKJ,CAAgB,EACxIF,IAAqBF,IAAgBG,EAAsBH,CAAc,EAAKI,IAAmBJ,GAAgBK,EAAoBL,CAAc,GAAI,SAASS,EAAa,EAAM,CAAC,IAAMC,EAASC,EAAM,OAAO,MAAMN,EAAoBK,CAAQ,EAAE,IAAMF,EAAOD,EAAQ,KAAK,GAAQC,EAAO,KAAKE,CAAQ,EAAEE,EAAUJ,CAAM,CAAE,CAAC,MAAoB,gBAAM,MAAM,CAAC,UAAUpN,EAAgB,QAAM,SAAS,CAAc,gBAAK,QAAQ,CAAC,QAAQ0M,EAAG,SAAS,iBAAiB,CAAC,EAAe,gBAAK,SAAS,CAAI,KAAG,MAAMM,EAAiB,SAASK,EAGlhB,aAAa,MAAM,SAASV,EAAuB,IAAI,GAAqB,gBAAK,SAAS,CAAC,MAAMS,EAAO,GAAG,SAASA,EAAO,IAAI,EAAEA,EAAO,EAAE,CAAC,CAAC,CAAC,EAAe,gBAAM,MAAM,CAAC,UAAU,QAAQ,MAAM,CAAC,GAAGK,EAAK,4BAA4B/C,EAAU,iBAAiBC,EAAU,GAAGI,GAAgB0B,CAAK,EAAE,GAAGrB,GAAeqB,CAAK,EAAE,GAAGlD,GAAemE,CAAM,EAAE,GAAGjD,GAAckD,CAAK,EAAE,GAAG1D,GAAc2D,CAAK,EAAE,KAAG,EAAE,SAAS,CAACC,GAAmB,gBAAK,MAAM,CAAC,UAAU,OAAO,SAAsB,gBAAK9N,GAAK,CAAC,GAAG8N,CAAI,CAAC,CAAC,CAAC,EAAEC,GAAoB,gBAAK,MAAM,CAAC,UAAU,QAAQ,SAASZ,GAAgB,MAAM,SAAS,CAAC,EAAEa,GAAoB,gBAAK,MAAM,CAAC,UAAU,QAAQ,SAAsB,gBAAK9B,GAAM,CAAC,GAAG8B,CAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC;eAC5qB/N,EAAU;;;UAGf;eACKA,EAAU;;;;;;;;;;UAUf;eACKA,EAAU;;;;;;;;;;;UAWf;eACKA,EAAU;;;;;;;;;;;UAWf;eACKA,EAAU;;;;UAIf;eACKA,EAAU;;;;;UAKf;eACKA,EAAU;;;;;;UAMf;eACKA,EAAU,WAAWA,EAAU;;;;SAIrC,EAAE,6BAA6B,EAAE,GAAe,YAAY,kBAAkBgJ,GAAoBqD,GAAe,CAAC,KAAK,CAChI,KAAKnD,EAAY,KAAK,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,WAAW,OAAO,CAAC,EAAE,UAAU,CAAC,KAAKA,EAAY,MAAM,MAAM,OAAO,SAAS,GAAK,aAAa,MAAM,EAAE,UAAU,CAAC,KAAKA,EAAY,MAAM,MAAM,OAAO,aAAa,MAAM,EAAE,GAAGgC,GAAgB,GAAGS,GAAe,KAAK,CAAC,KAAKzC,EAAY,OAAO,YAAY,cAAc,SAAS,GAAK,SAAS,CAAC,KAAK,CAAC,KAAKA,EAAY,KAAK,MAAM,OAAO,QAAQ,OAAO,OAAOiD,EAAQ,EAAE,aAAa,CAAC,UAAU,QAAQ,EAAE,wBAAwB,GAAK,aAAa,SAAS,EAAE,MAAM,CAAC,KAAKjD,EAAY,MAAM,aAAa,OAAO,OAAO,GAAOuD,EAAM,OAAO,SAAS,EAAE,MAAM,CAAC,KAAKvD,EAAY,gBAAgB,MAAM,OAAO,OAAO,GAAOuD,EAAM,OAAO,QAAQ,EAAE,KAAK,CAAC,KAAKvD,EAAY,OAAO,eAAe,GAAK,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,YAAY,cAAc,SAAS,GAAK,SAAS,CAAC,KAAK,CAAC,KAAKA,EAAY,KAAK,MAAM,OAAO,QAAQ,OAAO,OAAOkD,EAAS,EAAE,aAAa,CAAC,UAAU,QAAQ,EAAE,wBAAwB,GAAK,aAAa,SAAS,EAAE,MAAM,CAAC,KAAKlD,EAAY,MAAM,aAAa,OAAO,OAAO,GAAOuD,EAAM,OAAO,SAAS,EAAE,MAAM,CAAC,KAAKvD,EAAY,gBAAgB,MAAM,OAAO,OAAO,GAAOuD,EAAM,OAAO,QAAQ,EAAE,KAAK,CAAC,KAAKvD,EAAY,OAAO,eAAe,GAAK,aAAa,EAAE,CAAC,EAAE,aAAa,CAAC,KAAK,SAAS,CAAC,EAAE,QAAQ,CAAC,KAAKA,EAAY,OAAO,MAAM,UAAU,YAAY,gBAAgB,SAAS,CAAC,MAAM,CAAC,KAAKA,EAAY,QAAQ,aAAa,EAAI,EAAE,IAAI,CAAC,KAAKA,EAAY,OAAO,eAAe,GAAK,aAAa,CAAC,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,YAAY,eAAe,SAAS,GAAK,SAASa,EAAc,EAAE,MAAM,CAAC,KAAKb,EAAY,OAAO,YAAY,eAAe,SAAS,GAAK,SAAS2B,EAAa,EAAE,MAAM,CAAC,KAAK3B,EAAY,OAAO,YAAY,eAAe,SAASqB,EAAa,CAAC,CAAC,CAAC,CAAC,C,OC9ErqD,SAAgByD,GAAW,EAAM,CAAC,MAAqB,gBAAK,MAAM,CAAC,MAAM,6BAA6B,QAAQ,cAAc,MAAMvB,EAAM,MAAM,OAAOA,EAAM,OAAO,MAAM,CAAC,GAAGA,EAAM,MAAM,MAAMA,EAAM,KAAK,EAAE,SAAuB,gBAAK,OAAO,CAAC,EAAE,mIAAmI,KAAK,cAAc,CAAC,CAAC,CAAC,CAAE,CAAC,SAAgBwB,GAAU,EAAM,CAAC,MAAqB,gBAAM,MAAM,CAAC,MAAM,6BAA6B,QAAQ,cAAc,GAAGxB,EAAM,SAAS,CAAe,gBAAK,OAAO,CAAC,MAAM,MAAM,OAAO,MAAM,KAAK,MAAM,CAAC,EAAgB,gBAAK,OAAO,CAAC,EAAE,oPAAoP,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,SAAgByB,GAAY,EAAM,CAAqB,MAAqB,gBAAM,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,GAAGzB,EAAM,KAAK,EAAE,SAAS,CAAe,gBAAK7E,EAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,GAAG,EAAE,WAAW,CAAC,KAAK,SAAS,SAAS,EAAE,OAAO,GAAQ,EAAE,MAAM,CAAC,aAAa,IAAI,gBAAgB,+CAA+C6E,EAAM,MAAM,QAAQ,MAAM,OAAO,OAAO,MAAM,CAAC,CAAC,EAAgB,gBAAK,MAAM,CAAC,MAAM,CAAC,gBAAgBA,EAAM,gBAAgB,aAAa,IAAI,SAAS,WAAW,IAAI,EAAY,KAAK,EAAY,OAAO,EAAY,MAAM,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,C,4CCA7hD,SAAgB2B,EAAQ,EAAM,CAC1B,KAAK,MAAQ,IAAI,SAAS,EAAS,IAAS,CACxC,IAAIC,EAAUhH,EAAO,UAAU,KAAK,SAAS,MAAM,EACnD,EAAQ,gBAAmB,GAAI,CAC3B,KAAK,GAAK,EAAE,OAAOiH,OACnB,KAAK,GAAG,kBAAkB,OAAO,CACrC,EACA,EAAQ,UAAa,GAAI,CACrB,KAAK,GAAK7H,EAAE,OAAO6H,OACnBC,EAAQ,CACZ,EACA,EAAQ,QAAW,GAAI,CACnB,KAAK,GAAK,EAAE,OAAOD,OACnBE,EAAO,CAAC,CACZ,CACJ,CAAC,CACL,C,oCACA,EAAQ,UAAU,IAAM,SAAS,EAAK,CAClC,OAAO,KAAK,MAAM,SACP,IAAI,SAAS,EAAS,IAAS,CAClC,IAAIH,EAAU,KAAK,SAAS,CAAC,CAAC,IAAIK,CAAG,EACrC,EAAQ,UAAa,GAAIH,EAAQ,EAAE,OAAO,MAAM,EAEhD,EAAQ,QAAUC,CACtB,CAAC,CACJ,CACL,EACA,EAAQ,UAAU,SAAW,UAAW,CACpC,OAAO,KAAK,GAAG,YAAY,CACvB,OACJ,EAAG,WAAW,CAAC,CAAC,YAAY,OAAO,CACvC,EACA,EAAQ,UAAU,IAAM,SAAS,EAAK,EAAO,CACzC,OAAO,KAAK,MAAM,SACP,IAAI,SAAS,EAAS,IAAS,CAClC,IAAIH,EAAU,KAAK,SAAS,CAAC,CAAC,IAAIM,EAAOD,CAAG,EAC5C,EAAQ,UAAYH,EACpB,EAAQ,QAAUC,CACtB,CAAC,CACJ,CACL,EACA,EAAQ,UAAU,OAAS,SAAS,EAAK,EAAO,CAC5CnH,EAAO,UAAU,eAAe,SAAS,MAAM,CACnD,C,OC1CoyB,eAAsBuH,GAAc,EAAI,EAAY,EAAM,IAAIR,EAAQ,OAAO,EAAE,CAAC,IAAMS,EAASC,EAAe,MAAMC,EAAM,IAAIF,EAASG,CAAW,CAAE,CAAC,eAAsBC,GAAmB,EAAI,EAAM,IAAIb,EAAQ,OAAO,EAAE,CAAC,IAAMS,EAASC,EAAoE,OAAxB,MAAvBC,EAAM,IAAIF,CAAQ,GAAoC,IAAM,C,sFED58B,SAAgBO,GAAkB,EAAS,CAAC,MAAM,CAAC9B,GAAUA,IAAW,SAAU,CAAoC,SAAS+B,GAAY,EAAS,CAAiD,OAA7CD,GAAkB9B,CAAQ,EAASgC,GAAgB,GAAGA,GAAU,GAAGhC,GAAW,CAA0C,SAASiC,GAAe,EAAS,CAAoD,OAAhDH,GAAkB9B,CAAQ,EAASkC,GAAmB,GAAGA,GAAa,GAAGlC,GAAW,CAAC,eAAsBmC,GAAe,EAAS,EAAU,CAGxlB,IAAMC,EAAYH,GAAejC,CAAQ,EAAQqC,EAASN,GAAY/B,CAAQ,EAAO,CAACsC,EAASC,GAAa,MAAM,QAAQ,IAAI,CAACZ,GAAmBS,CAAW,EAAET,GAAmBU,CAAQ,CAAC,CAAC,EAAmJ,OAA9IE,EAAmB,CAAC,OAAOC,GAAWF,GAAU,YAAYE,EAAU,QAAQ,QAAQ,YAAYD,EAAY,UAAUD,GAAU,SAAS,EAAS,CAAC,OAAO,MAAM,CAAE,CAAC,SAAgBG,GAAe,EAAS,EAAM,EAAU,CAAsCnB,GAAtBS,GAAY/B,CAAwB,EAAS0C,CAAK,EAAE,IAAMJ,EAAS,CAAC,QAAQK,GAAQ,UAAU,KAAK,IAAI,EAAE,WAAS,EAA6CrB,GAAzBW,GAAejC,CAAwB,EAAYsC,CAAQ,CAAE,C,kDAHrgB,GAAQ,EAA2H,GAAU,mBAA0I,GAAa,qB,8CCEnY,GAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,wBAAwB,YAAY,gCAAgC,SAAS,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,gBAAgB,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,8BAA8B,YAAY,gEAAgE,SAAS,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,kBAAkB,UAAU,CAAC,CAAC,EAAE,aAAa,CAAC,QAAQ,EAAE,MAAM,6BAA6B,YAAY,6DAA6D,SAAS,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,kBAAkB,UAAU,CAAC,CAAC,CAAC,C,qDCAjoB,kBAAI,IAAI,YAAY,KAAK,EAAQ,IAAU,EAAE,IAAI,CAAC,IAAM,EAAEc,EAAE,OAAaC,EAAE7G,EAAE,OAAa8G,EAAI,GAAG,EAAE,EAAMC,EAAG,GAAOC,EAAG,EAAMC,EAAG,EAAMpH,EAAE,EAAE,KAAM,KAAK,EAAI+G,EAAE,WAAW/G,CAAC,IAAI,GAAGA,EAAG,IAAI,EAAE,EAAEA,EAAEgH,EAAE,IAAI,CAAC,IAAIK,EAAGX,EAAIvG,EAAE,WAAWH,CAAC,GAASsH,EAAGD,EAAGF,EAAG,IAAKE,EAAGH,GAAIA,EAAGA,EAAG,GAAI,EAAEG,EAAGH,GAAI,GAAIG,EAAMF,EAAGF,GAAK,IAASC,EAAGD,GAAK,IAAM,EAAGE,GAAI,EAAE,EAAE,EAAGD,GAAI,EAAE,EAAEI,EAAGH,GAAI,GAAIG,CAAG,CAAK,IAAJ,EAAE,EAAQ,KAAK,EAAIP,EAAE,WAAW/G,CAAC,GAAG,EAAG,OAAOoH,CAAG,EAAQ,IAAS,EAAE,IAAI,CAAC,IAAM,EAAEL,EAAE,OAAaC,EAAE7G,EAAE,OAAaoH,EAAI,CAAC,EAAQC,EAAI,CAAC,EAAQC,EAAM,KAAK,KAAK,EAAE,EAAE,EAAQC,EAAM,KAAK,KAAKV,EAAE,EAAE,EAAE,IAAI,IAAIhH,EAAE,EAAEA,EAAEyH,EAAM,IAAK,EAAIzH,GAAG,GAAG,EAAIA,GAAG,EAAG,IAAI2H,EAAE,EAAE,KAAKA,EAAED,EAAM,EAAE,IAAI,CAAC,IAAIP,EAAG,EAAMD,EAAG,GAASU,EAAMD,EAAE,GAASE,EAAK,KAAK,IAAI,GAAGb,CAAC,EAAEY,EAAM,IAAI,IAAIE,EAAEF,EAAME,EAAED,EAAK,IAAK,EAAI1H,EAAE,WAAW2H,CAAC,IAAI,GAAGA,EAAG,IAAI,IAAIC,EAAG,EAAEA,EAAG,EAAE,IAAK,CAAC,IAAMV,EAAGX,EAAIK,EAAE,WAAWgB,CAAE,GAASC,EAAGR,EAAIO,EAAG,GAAG,KAAKA,EAAG,EAAQE,EAAGV,EAAIQ,EAAG,GAAG,KAAKA,EAAG,EAAQT,EAAGD,EAAGF,EAASe,IAAKb,EAAGY,GAAIf,GAAIA,EAAGA,EAAGG,EAAGY,EAAOE,EAAGhB,EAAG,EAAEe,EAAGhB,GAAQkB,EAAGlB,EAAGgB,EAAMC,IAAK,GAAGH,IAAI,EAAID,EAAG,GAAG,IAAI,GAAGA,GAAOK,IAAK,GAAGH,IAAI,EAAIF,EAAG,GAAG,IAAI,GAAGA,GAAI,EAAGI,GAAI,EAAEH,EAAG,EAAGI,GAAI,EAAEH,EAAG,EAAGG,EAAG,EAAEd,EAAGa,GAAI,EAAGA,EAAGb,CAAG,CAAC,IAAI,IAAIe,EAAGT,EAAMS,EAAGR,EAAK,IAAM,EAAI1H,EAAE,WAAWkI,CAAE,GAAG,CAAG,CAAC,IAAIC,EAAI,EAAMC,EAAI,GAASC,EAAOb,EAAE,GAASc,EAAM,KAAK,IAAI,GAAGzB,EAAEwB,CAAM,EAAEA,EAAO,IAAI,IAAIE,EAAGF,EAAOE,EAAGD,EAAM,IAAM,EAAItI,EAAE,WAAWuI,CAAE,IAAI,GAAGA,EAAI,IAAIC,EAAM3B,EAAE,IAAI,IAAI4B,EAAG,EAAEA,EAAG,EAAE,IAAK,CAAC,IAAMC,EAAInC,EAAIK,EAAE,WAAW6B,CAAE,GAASE,EAAItB,EAAIoB,EAAG,GAAG,KAAKA,EAAG,EAAQG,EAAIxB,EAAIqB,EAAG,GAAG,KAAKA,EAAG,EAAQI,EAAIH,EAAIP,EAAUW,IAAMJ,EAAIE,GAAKR,GAAKA,EAAIA,EAAIM,EAAIE,EAAQG,EAAIZ,EAAI,EAAEW,EAAIV,GAASY,EAAIZ,EAAIU,EAAI,GAAOC,IAAMlC,EAAE,EAAE,EAAE,GAAOmC,IAAMnC,EAAE,EAAE,EAAKkC,IAAM,GAAGJ,IAAK,EAAIF,EAAG,GAAG,IAAI,GAAGA,GAAOO,IAAM,GAAGJ,IAAK,EAAIH,EAAG,GAAG,IAAI,GAAGA,GAAI,EAAIM,GAAK,EAAEJ,EAAI,EAAIK,GAAK,EAAEJ,EAAI,EAAII,EAAI,EAAEH,EAAIE,GAAK,EAAIA,EAAIF,CAAI,CAAC,IAAI,IAAII,EAAGZ,EAAOY,EAAGX,EAAM,IAAM,EAAItI,EAAE,WAAWiJ,CAAE,GAAG,EAAG,OAAOT,CAAM,EAAQ,GAAU,EAAE,IAAI,CAAC,GAAG5B,EAAE,OAAO5G,EAAE,OAAO,CAAC,IAAMkJ,EAAIlJ,EAAE,EAAE4G,EAAE,EAAEsC,CAAI,CAA0E,OAAtElJ,EAAE,SAAS,EAAU4G,EAAE,OAAWA,EAAE,QAAQ,GAAWJ,GAASI,EAAE5G,CAAC,EAAUyG,GAAQG,EAAE5G,CAAC,CAAE,C,OCD3xD,SAASmJ,GAAsB,EAAM,CAAC,OAAOtE,EAAM,OAAO,CAAC,CAAC,CAAC,YAAY,EAAEA,EAAM,MAAM,CAAC,CAAE,CAAC,SAAgBuE,EAAU,EAAM,CAA2C,OAA7BvE,EAAM,MAAMwE,EAAW,GAAG,CAAC,EAAA,CAAgB,IAAIF,EAAqB,CAAC,CAAC,KAAK,GAAG,CAAE,CAAC,SAAgBG,GAAU,EAAK,EAAU,CAAC,IAAMC,EAAWC,EAAK,OAAO,GAAGD,GAAYE,EAAW,OAAOD,EAAM,IAAME,EAAWF,EAAK,MAAM,EAAEC,CAAS,EAAkD,OAA7CF,EAAWE,EAAkBC,EAAW,IAAYA,CAAW,CAAC,SAAgBC,GAAc,EAAO,CAAC,OAAO,OAAO,KAAKC,CAAM,CAAC,CAAC,SAAS,CAAE,CAAC,SAAgBC,GAAa,EAAW,CAAC,SAASC,EAAI,GAAGC,EAAK,CAAC,QAAQ,IAAI,KAAK,IAAI,EAAE,GAAGA,CAAI,CAAE,CAAC,SAASC,EAAK,EAAM,CAAC,QAAQ,KAAKC,CAAK,CAAE,CAAC,SAASC,EAAQ,EAAM,CAAC,QAAQ,QAAQD,CAAK,CAAE,CAAC,SAASE,GAAM,CAAC,CAA0D,OAArDC,EAA2D,CAAC,MAAI,OAAK,SAAO,EAA1D,CAAC,IAAID,EAAK,KAAKA,EAAK,QAAQA,CAAI,CAA4B,CAAmK,SAAgBE,GAAc,EAAM,CAA0M,OAAtMC,EAAM,WAAW,WAAkBA,EAAM,UAAU,WAAcA,EAAM,WAAW,WAAkBA,EAAM,UAAU,WAAcA,EAAM,cAAc,WAAkBA,EAAM,aAAa,WAAkBC,EAAoB,CAAC,SAAgBC,EAAuB,EAAO,CAAC,MAAM,GAAGC,EAAO,UAAW,CAAgM,SAAgBC,IAAmB,CAAC,IAAMC,EAAQC,IAAc,cAAcC,EAAe,EAAE,GAAIF,EAA8E,OAAhCA,EAAQ,aAAa,SAA+B,CAAE,CAAmF,SAAgBG,GAAwB,EAAI,EAAW,CAAC,GAAG,CAACC,EAAW,OAAO/F,EAAI,IAAMgG,EAAoB,IAAID,IAAa,GAAG/F,EAAI,WAAWgG,CAAmB,EAAG,OAAOhG,EAAI,MAAMgG,EAAoB,MAAM,CAAG,CAErgE,SAAgBC,GAAY,EAAe,CAAC,GAAG,cAAc1N,EAAO,CAGvE,IAAM2N,EAAQ,CAAC,SAASC,EAAe,gBAAgB,cAAc,EAAE,GAAG,UAAU,UAAU,OAAO,UAAU,MAAMD,CAAO,EAAE,GAAG,aAAa,UAAU,OAAO,UAAU,aAAa,CAAC,EAAEA,CAAO,CAAE,CAExK,OAF4KC,EAE/L,QAAQ,QAAQ,EAAU,IAAI,QAAQ,GAAS,CAAC,WAAW1G,EAAQ,CAAC,CAAE,CAAC,CAAE,C,2DARnE,QAA2B,CAAC,GAAG,CAAC,OAAclH,IAAS,QAAaA,EAAO,aAAa,sBAAsB,MAAO,MAAS,CAC3I,CAAC,EAAA,CAAG,EAAQ,GAAY,8CAA01B,GAAoB,iIAAme,GAAa,OAAO,SAAW,IAAY,SAAS,KAAkB,GAAkBA,IAAS,OAAmB,KAAPA,EAAkB,GAAgB,mCAAwP,OAA6BmN,GAAkB,IAAI,e,8ECAt9B,CAAA,IAAAc,GAAI,KAAAC,GAAK,QAAAC,IAAS7B,GAAauB,EAAqB,OAAiH,CAAC,GAAG,CAMt/B,IAAMS,EAAM,OAAO,iDAAiD,GAAG,EAAkB,MAAhB,GAAG,MAAMA,CAAK,EAASA,CAAM,MAAM,CAAiD,OAAhDL,GAAI,0CAA0C,EAAS,OAAO,0BAA0B,GAAG,CAAE,CAAC,EAAA,CAAG,C,gDCP1L,SAAS,EAAQ,CAAC,IAAIQ,EAAQ,EAAQ,YAAY,iBAAiBzO,GAAQjB,EAAU,eAAe,EAAM2P,EAAS,EAAQ,aAAa3P,EAAU,UAAU,YAAY,CAAC,CAAC,SAAS,SAAS,EAAM4P,EAAS,EAAQ,aAAa5P,EAAU,UAAU,YAAY,CAAC,CAAC,SAAS,cAAc,EAAM6P,EAAS,EAAQ,aAAaD,EAAS,GAAG,CAACD,EAAS,EAAsB,EAAQ,oBAAoBE,EAAS,GAAG,CAACH,EAAQ,EAAgB,EAAQ,cAAc,MAAM,KAAK1P,EAAU,QAAQ,EAAc,EAAQ,YAAY,MAAM,KAAKA,EAAU,QAAQ,CAAE,EAAA,CAAG,AAAUwP,IAAQ,CAAC,CAAE,C,sDCOzjB,IAAwB,EAAS,IAAmB,CAAC,IAAMQ,EAAgBhW,EAAO,IAAI,EAAE,OAAOC,EAAY,GAAO,CAAC,GAAG,CAACuV,EAAQ,SAAS,EAAE,OAAOS,EAAS9I,CAAK,EAAE,IAAM+I,EAAIC,GAAkCH,EAAqB,CAAC,UAAQ,WAAS7I,EAAYiJ,EAAmBF,EAAI,QAExS,GAFgT,EAAI,QAAQ,CAAC,EAAEG,EAAQ,EAAEC,CAAO,EAE5UF,IAA+BA,EAAmB,IAAIC,GAASD,EAAmB,IAAIE,GAAS,OAAOL,EAAS9I,CAAK,CAAG,EAAE,CAACgJ,EAAiBF,CAAQ,CAAC,CAAE,C,OCP1J,SAAgBM,GAAe,EAAc,EAAsG,CAAC,YAAU,gBAAc,CAAC,IAAMC,EAAoBC,EAAc,sBAAsB,EAAQC,EAAoBC,EAAc,sBAAsB,EAAE,GAAGH,EAAoB,IAAIE,EAAoB,IAAI,CAAC,IAAME,EAAWF,EAAoB,IAAIF,EAAoB,IAAI,EAAc,UAAUG,EAAc,UAAUC,EAAWC,CAAU,MAAM,GAAGL,EAAoB,OAAOE,EAAoB,OAAO,CAAC,IAAMI,EAAWJ,EAAoB,IAAIF,EAAoB,IAAUO,EAAUJ,EAAc,UAAUG,EAAWD,EAAgBG,EAAcR,EAAoB,OAAOE,EAAoB,OAAaxM,EAAOyM,EAAc,UAAUK,EAAcC,EAAa,EAAc,UAAU,KAAK,IAAIF,EAAU7M,CAAM,CAAE,CAAC,C,8ICe+D,SAAS,EAA2B,CAAC,EAA2ByN,KAAQ,OAAO,EAA2BC,KAAQ,OAAO,EAA2BC,KAAQ,MAAO,EAAA,CAAG3X,AAA6BiX,KAA2B,CAAC,CAAE,GAAqC,SAAS,EAAuB,CAAC,EAAuBU,KAAQ,OAAO,EAAuBC,UAAa,YAAY,EAAuBC,UAAa,WAAY,EAAA,CAAG5X,AAAyBiX,KAAuB,CAAC,CAAE,GAAoC,SAAS,EAAsB,CAAC,EAAsBY,GAAM,KAAK,EAAsBC,MAAS,OAAQ,EAAA,CAAG7X,AAAwBiX,KAAsB,CAAC,CAAE,GAAuC,SAAS,EAAyB,CAAC,EAAyBa,YAAe,cAAc,EAAyBC,KAAQ,MAAO,EAAA,CAAG9X,AAA2BiX,KAAyB,CAAC,CAAE,GAAmC,SAAS,EAAqB,CAAC,EAAqBQ,UAAa,YAAY,EAAqBC,UAAa,WAAY,EAAA,CAAGzX,AAAuBiX,KAAqB,CAAC,CAAE,GAA+B,SAAS,EAAiB,CAAC,EAAiBa,QAAW,UAAU,EAAiBC,SAAY,WAAW,EAAiBC,UAAa,WAAY,EAAA,CAAG/X,AAAmBiX,KAAiB,CAAC,CAAE,GAA8B,SAAS,EAAgB,CAAC,EAAgBG,KAAQ,OAAO,EAAgBC,KAAQ,MAAO,EAAA,CAAGpX,AAAkBiX,KAAgB,CAAC,CAAE,GAA6B,SAAS,EAAe,CAAC,EAAetL,QAAW,UAAU,EAAeC,OAAU,QAAS,EAAA,CAAG3L,AAAiBiX,KAAe,CAAC,CAAE,C,8EChBtsD,CAAA,IAAAa,GAAI,KAAAC,GAAK,QAAAC,IAASlF,GAAauB,EAAqB,OAA6B,CAAC,GAAG,CAMl6B,IAAMS,EAAM,OAAO,iDAAiD,GAAG,EAAkB,MAAhB,GAAG,MAAMA,CAAK,EAASA,CAAM,MAAM,CAAiD,OAAhDgD,GAAI,0CAA0C,EAAS,OAAO,0BAA0B,GAAG,CAAE,CAAC,EAAA,CAAG,C,8GCUotB,SAAS,EAA2B,CAAC,EAA2BZ,KAAQ,OAAO,EAA2BC,KAAQ,OAAO,EAA2BC,KAAQ,MAAO,EAAA,CAAGlX,AAA6BgY,KAA2B,CAAC,CAAE,GAAqC,SAAS,EAAuB,CAAC,EAAuBd,KAAQ,OAAO,EAAuBC,UAAa,YAAY,EAAuBC,UAAa,WAAY,EAAA,CAAGnX,AAAyBgY,KAAuB,CAAC,CAAE,GAAoC,SAAS,EAAsB,CAAC,EAAsBZ,GAAM,KAAK,EAAsBC,MAAS,OAAQ,EAAA,CAAGpX,AAAwBgY,KAAsB,CAAC,CAAE,GAAuC,SAAS,EAAyB,CAAC,EAAyBX,YAAe,cAAc,EAAyBC,KAAQ,MAAO,EAAA,CAAGrX,AAA2BgY,KAAyB,CAAC,CAAE,GAAmC,SAAS,EAAqB,CAAC,EAAqBhB,UAAa,YAAY,EAAqBC,UAAa,WAAY,EAAA,CAAGhX,AAAuBgY,KAAqB,CAAC,CAAE,GAA+B,SAAS,EAAiB,CAAC,EAAiBX,QAAW,UAAU,EAAiBC,SAAY,WAAW,EAAiBC,UAAa,WAAY,EAAA,CAAGtX,AAAmBgY,KAAiB,CAAC,CAAE,GAA8B,SAAS,EAAgB,CAAC,EAAgBrB,KAAQ,OAAO,EAAgBC,KAAQ,MAAO,EAAA,CAAG3W,AAAkBgY,KAAgB,CAAC,CAAE,GAA6B,SAAS,EAAe,CAAC,EAAe9M,QAAW,UAAU,EAAeC,OAAU,QAAS,EAAA,CAAGlL,AAAiBgY,KAAe,CAAC,CAAE,C,8EChBtsD,CAAA,IAAAE,GAAI,KAAAC,GAAK,QAAAC,IAAS/F,GAAauB,EAAqB,OAA6B,CAAC,GAAG,CAMl6B,IAAMS,EAAM,OAAO,iDAAiD,GAAG,EAAkB,MAAhB,GAAG,MAAMA,CAAK,EAASA,CAAM,MAAM,CAAiD,OAAhD6D,GAAI,0CAA0C,EAAS,OAAO,0BAA0B,GAAG,CAAE,CAAC,EAAA,CAAG,C,8GCUotB,SAAS,EAA2B,CAAC,EAA2BzB,KAAQ,OAAO,EAA2BC,KAAQ,OAAO,EAA2BC,KAAQ,MAAO,EAAA,CAAGzW,AAA6BoY,KAA2B,CAAC,CAAE,GAAqC,SAAS,EAAuB,CAAC,EAAuB3B,KAAQ,OAAO,EAAuBC,UAAa,YAAY,EAAuBC,UAAa,WAAY,EAAA,CAAG1W,AAAyBoY,KAAuB,CAAC,CAAE,GAAoC,SAAS,EAAsB,CAAC,EAAsBzB,GAAM,KAAK,EAAsBC,MAAS,OAAQ,EAAA,CAAG3W,AAAwBoY,KAAsB,CAAC,CAAE,GAAuC,SAAS,EAAyB,CAAC,EAAyBxB,YAAe,cAAc,EAAyBC,KAAQ,MAAO,EAAA,CAAG5W,AAA2BoY,KAAyB,CAAC,CAAE,GAAmC,SAAS,EAAqB,CAAC,EAAqB7B,UAAa,YAAY,EAAqBC,UAAa,WAAY,EAAA,CAAGvW,AAAuBoY,KAAqB,CAAC,CAAE,GAA+B,SAAS,EAAiB,CAAC,EAAiBxB,QAAW,UAAU,EAAiBC,SAAY,WAAW,EAAiBC,UAAa,WAAY,EAAA,CAAG7W,AAAmBoY,KAAiB,CAAC,CAAE,GAA8B,SAAS,EAAgB,CAAC,EAAgBlC,KAAQ,OAAO,EAAgBC,KAAQ,MAAO,EAAA,CAAGlW,AAAkBoY,KAAgB,CAAC,CAAE,GAA6B,SAAS,EAAe,CAAC,EAAe3N,QAAW,UAAU,EAAeC,OAAU,QAAS,EAAA,CAAGzK,AAAiBoY,KAAe,CAAC,CAAE,C,OCVn0E,SAASE,GAAW,EAAK,CAAC,OAAO/G,EAAK,MAAMgH,EAAe,CAAE,CAAC,SAASC,GAAe,EAAI,CAAC,IAAMC,EAAMH,GAAWI,CAAG,CAAC,CAAC,OAAO,GAAMC,EAAK,KAAK,GAAGA,EAAK,OAAO,CAAC,EAAE,OAAO,IAAI,IAAIF,CAAK,CAAE,CAGnY,SAASG,GAAoB,EAAK,CAA+D,OAA3D,MAAM,QAAQrH,CAAI,EAAUA,EAAK,IAAIqH,EAAmB,EAAUrH,EAAK,UAAU,KAAK,CAAC,CAC/H,QAAQsH,GAAe,EAAE,CAAC,CAAC,YAAY,CAAE,CAAuC,SAASC,GAA2B,EAAK,CAAC,IAAMC,EAAOC,GAAoB,IAAIC,CAAI,EAAE,GAAGF,EAAO,OAAOA,EAAO,IAAMG,EAAeC,GAAkBF,CAAI,EAA+C,OAA7CD,GAAoB,IAAIC,EAAKC,CAAc,EAASA,CAAe,CAAC,SAASC,GAAkB,EAAK,CAAC,IAAMD,EAAe,CAAC,EAAE,IAAI,IAAMvM,KAAOsM,EAAM,GAAGA,EAAK,eAAetM,CAAG,EAAE,CAAC,IAAMC,EAAMqM,EAAKtM,GAA0F,GAAlF,OAAOC,GAAQ,UAAsE,MAAM,QAAQA,CAAK,EAAE,CAAC,EAAeD,GAAKiM,GAAoBhM,CAAK,EAAE,QAAS,CAAC,EAAeD,GAAKC,CAAM,CAAE,OAAOsM,CAAe,CAAC,SAASE,GAAc,EAAa,EAAM,EAAI,CAAC,IAAMjR,EAAO,CAAC,GAAGkR,CAAY,EAAgF,OAA3E7J,EAAMrH,EAAO,QAAO,EAAO,MAAMqH,GAAU8J,EAAInR,EAAO,MAAK,EAAO,IAAImR,GAAYnR,CAAO,CAKnzB,SAASoR,GAA2B,EAAK,EAAM,EAAM,EAAU,CAAC,IAAIhJ,EAAM,EAAQiJ,EAAM,CAAC,MAAM,CAAC,MAAM,IAAS,IAAI,CAAC,EAAE,YAAY,CAAC,MAAM,IAAS,IAAI,CAAC,CAAC,EAAQC,EAASjB,GAAeS,EAAK,GAAG,EAInM,GAFGQ,EAAS,IAAIC,CAAK,IAAG,GAAO,IAC5BjB,EAAM,OAAO,GAAGgB,EAAS,OAAO,GAAGA,EAAS,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQC,IAAO,GAAOnJ,EAAM,GACxFA,EAAM,EAAE,CAAC,IAAMoJ,EAAYV,EAAK,IAAI,MAAM,GAAG,CAAC,CAAC,OAAO,GAAOzT,EAAM,GAAGmU,EAAY,EAAEA,CAAW,CAAE,CAAC,IAAMC,EAAWpB,GAAeS,EAAK,KAAK,EAC5IW,EAAW,IAAIF,CAAK,IAAG,GAAO,IAAI,IAAMG,EAAWZ,EAAK,MAAM,QAAQS,CAAK,EAAKG,IAAa,KAAI,GAAO,GAE3G,EAAM,MAAMT,GAAcI,EAAM,MAAMK,EAAWA,EAAWH,EAAM,MAAM,GAErEjL,EAASwK,EAAK,MAAMa,CAAS,GAAG,IAAG,GAAOvJ,EAAM,IACnD,IAAI,IAAMwJ,KAAaH,EAAgCnL,EAASiL,EAAMK,CACvD,GAAG,IAAG,GAAO,IAAK,IAAMC,EAAS,CAAC,GAAGf,EAAK,GAAG,GAAGA,EAAK,GAAG,GAAGA,EAAK,GAAG,GAAGA,EAAK,GAAG,GAAGA,EAAK,GAAG,GAAGA,EAAK,EAAE,EAAE,IAAI,IAAMgB,KAAWD,EAAS,CAAC,IAAME,EAAa1B,GAAeyB,CAAO,EAEzLxL,EAASwL,EAAQH,CAAS,GAAG,IAAG,GAAOvJ,EAAM,IAE7C0J,EAAQ,WAAWP,CAAK,IAAG,GAAO,IAAOQ,EAAa,IAAIR,CAAK,IAAG,GAAO,IAAOO,EAAQ,SAASP,CAAK,IAAG,GAAO,GACnH,IAAI,IAAMS,KAAeD,EAAkCzL,EAASiL,EAAMS,CAA4B,GAAG,IAAG,GAAO,EAAI,CAAC,IAAMC,EAAiBnB,EAAK,YAAY,QAAQS,CAAK,EAAKU,IAAmB,KAAI,GAAO,GAAG,EAAM,YAAYhB,GAAcI,EAAM,YAAYY,EAAiBA,EAAiBV,EAAM,MAAM,GAAG,IAAI,IAAM3U,KAAKkU,EAAK,EAAMlU,EAAE,SAAS2U,CAAK,IAAG,GAAO,IAAK,IAAI,IAAMW,KAAapB,EAAK,UAExYxK,EAAS4L,EAAUP,CAAS,GAAG,IAAG,GAAO,IAAOO,EAAU,SAASP,CAAS,IAAG,GAAO,IAAOO,EAAU,SAASX,CAAK,IAAG,GAAO,IAAK,MAAM,CAAC,QAAM,OAAK,CAAE,CAAC,SAASY,GAAwB,EAAK,EAAgB,CAAC,IAAMpB,EAAeJ,GAA2BG,CAAI,EAAQsB,EAAW/B,GAAegC,CAAe,EAAMC,EAAM,EAAE,IAAI,IAAMC,KAAaH,EAAW,CAAC,GAAK,CAAC,SAAOhB,GAA2BL,EAAewB,EAAUH,EAAWC,CAAe,EAAE,GAAOjK,CAAM,CAAC,OAAOkK,CAAM,CAAC,SAASE,GAAa,EAAM,EAAM,EAAS,CAAC,GAAK,CAACC,EAAQC,GAAY5a,EAAS,IAAI,EAAO,EAAE6a,GAAiB5a,EAAc,EAA0V,OAAxViF,MAAc,CAAC,IAAM4V,EAAgB,IAAI,gBAAyP,OAAzOC,GAAiB/M,EAAMyL,EAAMuB,EAASF,EAAgB,MAAM,CAAC,CAAC,KAAK,GAAK,CAAKA,EAAgB,OAAO,SAASD,MAAoB,CAACD,EAAWK,CAAG,CAAE,CAAC,CAAG,CAAC,CAAC,CAAC,MAAM,GAAK,CAAIC,EAAI,OAAO,cAAc,QAAQ,MAAM,iBAAiBA,CAAG,CAAG,CAAC,MAAY,CAACJ,EAAgB,MAAM,CAAE,CAAE,EAAE,CAAC9M,EAAMyL,CAAK,CAAC,EAAQ,CAAC,QAAQkB,GAAS,CAAC,CAAC,CAAE,CACl9B,eAAeI,GAAiB,EAAM,EAAM,EAAS,EAAO,CAAC,IAAMI,EAAKhI,IAAY,SAAS,SAASrB,GAAK,OAAO,EAAE,IAAMyI,EAAgB5B,GAAoBc,CAAK,EAAQkB,EAAQ,CAAC,EAAQS,EAAM,OAAO,OAAOpN,CAAK,EAAMqN,EAAS,YAAY,IAAI,EAAEC,GAAQ,eAAeC,GAAwB,CAAI,YAAY,IAAI,GAAGF,IAAU,MAAMtI,GAAY,EAAE,EAAS,YAAY,IAAI,EAAEuI,GAAS,CAAC,IAAI,IAAI3T,EAAE,EAAEA,EAAEyT,EAAM,OAAO,EAAEzT,EAAE,CAAoG,GAAhG,YAAY,IAAI,GAAG0T,IAAU,MAAME,EAAuB,EAAE,EAAS,YAAY,IAAI,EAAED,IAAYE,GAAQ,QAAQ,MAAM,CAAC,EAAE,IAAMxC,EAAKoC,EAAMzT,GAAS2I,EAAM+J,GAAwBrB,EAAKuB,CAAe,EAAE,GAAGjK,GAAO0K,EAAS,cAAc,KAAK,CAACG,GAAMnC,EAAK,MAAMmC,GAAM,CAAC,IAAMnB,EAAQhB,EAAK,GAAG,QAAQA,EAAK,GAAG,GAASlN,EAAMkP,GAAU,YAAY9a,GAAsB,MAAM8Y,EAAK,MAAMgB,GAAgBhB,EAAK,MACnzB2B,EAAQ,KAAK,CAAC,IAAI3B,EAAK,IAAI,QAAM,YAAYA,EAAK,YAAY,KAAK,CAAC,GAAGA,EAAK,EAAEA,EAAK,SAAS,CAAC,CAAC,KAAK,GAAG,EAAE,OAAK,CAAC,CAAE,CAAC,CAA0M,OAAzM,MAAMuC,EAAuB,EAAKC,GAAQ,UAA8Bb,EAAQ,MAAM,EAAM,IAAQc,EAAM,MAAMC,EAAM,KAAK,EAAE1J,GAAQ,OAAO,EAAE,MAAMuJ,EAAuB,EAAKC,GAAQ,SAAc,CAAC,EAASb,EAAQ,MAAM,EAAE,EAAE,CAAE,CAAC,SAASgB,GAAsB,EAAM,EAAY,EAAW,CAAC,IAAMC,EAAY,CAAC,EAAQC,EAAwBC,EAAY,SAAS,GAAG,EAAQC,EAAoBD,EAAY,MAAM,GAAG,CAAC,CAAC,GAASE,EAASD,EAAoB,OAAO,EAAEA,EAAoB,GAAG,IAAI,IAAMjP,KAAOkB,EAAyB4E,GAAwB9F,EAAI+F,CAA0B,CAAC,CAAC,WAAWmJ,CAAQ,IAAgBH,GAAyB/O,EAAI,QAAQkP,EAAS,SAAkB,EAAYlP,GAAKkB,EAAMlB,KAAM,OAAO8O,CAAY,CAAC,SAAgBK,GAAU,EAAM,EAAS,CAAC,GAAK,CAACC,EAAYC,GAAiBnc,EAAS,CAAC,CAAC,EAAO,CAACoc,EAAOC,GAAWrc,EAAS,SAAS,EAAO,CAAC,WAAS0a,GAAawB,EAAYzC,EAAMuB,CAAQ,EAAO,CAAC,gBAActU,GAAc,EAAQ4E,EAAST,GAAc,GAE7kC,SAASyR,EAAe,EAAM,EAAQ,CAAC,YAAY,EAAK,EAAE,CAAC,IAAIV,EAAY5N,EAASgN,EAAS,UAAU,CAAChI,EAAQ,cAAa,EAAY2I,GAAsB3N,EAAMgN,EAAS,SAASnQ,GAAc,IAAI,EAAE+G,EAAI,kBAAkBoJ,EAAS,QAAQ,GAAGmB,EAAgBP,CAAW,CAAE,CAM/K,OANgL1W,MAAc,CAAC,eAAeqX,GAAiB,CAACF,EAAU,SAAS,EAAE,IAAMG,EAAQC,GAAW,qBAAqB,EAAE,GAAG,CAACD,EAAQ,CAACH,EAAU,mBAAmB,EAAEC,EAAenO,GAAY,CAAC,YAAY,EAAI,CAAC,EAAEyD,EAAI,mBAAmB,EAAE,MAAO,CAAC,IAAM8K,EAAY,MAAMjP,GAAenC,EAASkR,CAAO,EAAE,GAAGE,EAAY,SAAS,QAAQ,CAACJ,EAAeI,EAAY,WAAW,EAAEL,EAAU,SAAS,EAAEzK,EAAI,0BAA0B,EAAE,MAAO,CAAI8K,EAAY,SAAS,UAASJ,EAAeI,EAAY,WAAW,EAAEL,EAAU,oBAAoB,EAAEzK,EAAI,oDAAoD,GAAG,IAAM+K,EAAeC,GAAkBJ,EAAQlR,CAAQ,EAAQuR,EAAS,MAAM,MAAMF,CAAc,EAAE,GAAGE,EAAS,GAAG,CAAC,IAAMC,EAAgB,MAAMD,EAAS,KAAK,EAAEP,EAAeQ,CAAe,EAAE/O,GAAezC,EAASwR,EAAgBN,CAAO,EAAEH,EAAU,SAAS,EAAEzK,EAAI,wBAAwB,EAAE,MAAO,CACplC,GAA7CiL,EAAS,SAAS,KAAKA,EAAS,SAAS,IAAoB,MAAU,MAAMA,EAAS,UAAU,EACjHjL,EAAI,iBAAiB,EAAE,IAAMmL,EAAgBN,GAAW,8BAA8B,EAAE,GAAG,CAACM,EAAgB,CAAIL,EAAY,SAAS,QAAQL,EAAU,0BAA0B,EAAEzK,EAAI,uBAAuB,IAAQyK,EAAU,SAAS,EAAEzK,EAAI,0BAA0B,GAAG,MAAO,CAEnR,GAAG8K,EAAY,SAAS,SAASA,EAAY,YAAYK,EAAgB,CAACV,EAAU,SAAS,EAAEzK,EAAI,6BAA6B,EAAE,MAAO,CAAC,IAAMoL,EAAuBJ,GAAkBG,EAAgBzR,CAAQ,EAAQ2R,EAAiB,MAAM,MAAMD,CAAsB,EAAE,GAAGC,EAAiB,GAAG,CAAC,IAAMH,EAAgB,MAAMG,EAAiB,KAAK,EAAEX,EAAeQ,CAAe,EAAE/O,GAAezC,EAASwR,EAAgBC,CAAe,EAAEV,EAAU,SAAS,EAAEzK,EAAI,iCAAiC,CAAS,MAAI8K,EAAY,SAAS,QAAQL,EAAU,0BAA0B,EAAEzK,EAAI,2BAA2B,IAAQyK,EAAU,SAAS,EAAEzK,EAAI,8BAA8B,EAAG,CAAC2K,EAAgB,CAAC,CAAC,MAAM,GAAO,CAE9rBF,EAAU,OAAO,EAAEzK,EAAI,8BAA8BsL,CAAK,CAAE,CAAC,CAAE,EAAE,CAAC5R,CAAQ,CAAC,EAAEsG,EAAI,CAAC,SAAO,SAAO,CAAC,EAAQ,CAAC,UAAQ,QAAM,CAAE,CAAC,SAAS6K,GAAW,EAAK,CAAC,OAAO/J,IAAc,cAAc,cAAcyK,EAAK,GAAG,CAAC,EAAE,aAAa,SAAS,CAAE,CAAC,SAASP,GAAkB,EAAQ,EAAS,CAA+C,OAA3CxP,GAAkB9B,CAAQ,EAAS8R,EAAeA,EAAQ,QAAQ,QAAQ,IAAI9R,EAAS,MAAM,CAAE,C,4FA3Cod,2BAAkBqG,GAAauB,EAAqB,EAAQ,QAAqB,CAAC,GAAG,CAMl6B,IAAMS,EAAM,OAAO,iDAAiD,GAAG,EAAkB,MAAhB,GAAG,MAAMA,CAAK,EAASA,CAAM,MAAM,CAAiD,OAAhD/B,EAAI,0CAA0C,EAAS,OAAO,0BAA0B,GAAG,CAAE,CAAC,EAAA,CAAG,EAA+L,GAAe,mBAI3W,mBAAoB,IAAI,QAuBi5B,GAAQ,E,OChC11B,SAAS0L,GAAY,CAAC,QAAM,OAAK,UAAQ,QAAM,CAAuC,IAAMC,EAApBzT,IAAO,OAAuD,gBAAKmC,GAAU,CAAC,MAAM,CAAC,MAAMmG,EAAM,eAAe,MAAMA,EAAM,cAAc,OAAOA,EAAM,aAAa,CAAC,CAAC,EAAEd,EAAK,MAAoB,gBAAK,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAASc,GAAOA,EAAM,WAAWA,EAAM,UAAU,SAASA,EAAM,UAAU,SAAS,EAAE,EAAE,SAAsB,gBAAK,SAAS,CAAC,UAAU,+BAAuC,UAAQ,MAAM,CAAC,WAAW,UAAU,OAAO,OAAO,WAAW,OAAO,OAAO,UAAU,QAAQ,OAAO,cAAc,YAAY,MAAMA,EAAM,eAAe,SAAS,SAAS,QAAQ,CAAC,EAAE,SAASmL,CAAU,CAAC,CAAC,CAAC,CAAE,CAAC,SAASC,GAAQ,CAAC,QAAM,QAAM,CAAC,IAAMC,EAAO,CAAC,WAAWrL,EAAM,gBAAgB,OAAO,EAAE,WAAW,EAAE,QAAQ,GAAG,EAAsH,OAAjHtI,IAAO,aAAasI,IAAO,EAAO,WAAWA,EAAM,kBAAkB,EAAO,YAAYA,EAAM,mBAAuC,gBAAK,MAAM,CAAC,MAAMqL,CAAM,CAAC,CAAE,CAO9jC,SAASC,GAAgB,CAAC,WAAS,CAAC,MAAoB,gBAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,UAAU,MAAM,EAAU,SAAO,CAAC,CAAE,CAA8I,SAASC,GAAgB,CAAC,aAAW,QAAM,YAAU,YAAU,WAAS,gBAAc,CAAC,IAAMC,EAAaC,GAAoBC,EAAW1L,CAAK,EAAQ/J,EAAM,CAAC,GAAG0V,GAAqB,GAAGH,EAAa,WAAW,YAAY,UAAUE,IAAa,WAAW1L,EAAM,UAAU,EAAE,OAAO0L,IAAa,UAAU,OAAO,OAAO,UAAUA,IAAa,YAAY,OAAO,OAAO,eAAeA,IAAa,UAAU,WAAW,aAAa,cAAcA,IAAa,UAAU,iBAAiB,QAAQ,EAAQE,EAAW,CAAC,GAAGD,GAAqB,GAAGH,EAAa,OAAOE,IAAa,UAAU,OAAO,OAAO,UAAUA,IAAa,YAAY,OAAO,OAAO,IAAIA,IAAa,UAAU,EAAE1L,EAAM,0BAA0B,gBAAgB0L,IAAa,UAAU1L,EAAM,gBAAgB,cAAc,eAAe0L,IAAa,UAAU,WAAW,aAAa,cAAcA,IAAa,UAAU,iBAAiB,SAAS,QAAQ,GAAG,QAAQ,EAAE,EAAE,SAASG,GAAuB,CAAC,OAAOH,EAAP,CAAmB,IAAI,WAAW,CAAC,IAAMpR,EAAI4F,EAAuB,UAAU,EAAiF,OAApE4L,EAAaA,EAAaxR,GAAK,IAAA,KAA2C,CAAC,EAAE,IAAI,QAAQ,GAAG,WAAW,CAAC,SAASkH,EAAQ,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAS,CAAC,IAAI,YAAY,CAAC,IAAMlH,EAAI4F,EAAuB,WAAW,EAAiF,OAApE4L,EAAaA,EAAaxR,GAAK,IAAA,KAA2C,CAAC,MAAM,IAAI,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,EAAE,CAAC,CAAS,CAAC,IAAI,UAAU,CAAC,IAAMA,EAAI4F,EAAuB,SAAS,EAAiF,OAApE4L,EAAaA,EAAaxR,GAAK,IAAA,KAA2C,CAAC,EAAE,IAAI,QAAQ,EAAE,WAAW,CAAC,SAAS,GAAG,CAAC,CAAS,CAAC,CAAC,CAAC,IAAMyR,EAAmBF,EAAsB,EAAE,MAAoB,gBAAM,MAAM,CAAO,QAAgB,YAAU,QAAQ,GAAO1S,EAAM,gBAAgB,EAAE,SAAS,CAACuS,IAAa,aAA0B,gBAAKJ,GAAgB,CAAC,QAAQU,CAAS,CAAC,EAAe,gBAAKxY,EAAO,IAAI,CAAC,QAAQuY,EAAmB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,WAAWA,EAAmBA,EAAmB,WAAW,IAAA,GAAU,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,MAAMH,EAAoB,UAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,SAASK,GAAe,CAAC,aAAW,QAAM,WAAS,iBAAe,mBAAiB,cAAY,CAAC,IAAMhW,EAAM,CAEr9E,WAAW,YAAY,gBAAgB+J,EAAM,gBAAgB,MAAMA,EAAM,gBAAgB,aAAa0L,IAAa,YAAY1L,EAAM,aAAa,EAAE,MAAM,OAAO,QAAQ,OAAO,cAAc,SAAS,SAAS,SAAS,UAAU0L,IAAa,UAAuB,IAAA,GAAb1L,EAAM,OAAiB,UAAU0L,IAAa,YAAY,OAAOQ,GAAiB,yBAAyB,IAAA,EAAS,EAEzW,CAACC,EAAMC,GAASlZ,EAAW,EAA8T,OAA5TtB,MAAoB,CAAC,GAAG8Z,IAAa,aAAaW,EAAe,OAAO,IAAMC,EAAWH,EAAM,QAAQ,aAAa,EAAM,QAAQ,MAAM,OAAO,OAAO,IAAMI,EAAOJ,EAAM,QAAQ,aAAa,EAAM,QAAQ,MAAM,OAAOG,EAAW,KAAKF,EAAQD,EAAM,QAAQ,CAAC,OAAO,CAACG,EAAWC,CAAM,CAAC,EAAEC,CAAgB,CAAE,EAAEC,CAAU,EAAsB,gBAAK,MAAM,CAAC,IAAIN,EAAM,KAAK,SAAS,UAAUT,IAAa,WAAW,4BAA4B,IAAA,GAAgB,QAAe,UAAQ,CAAC,CAAE,CAGxS,SAASgB,GAAc,CAAC,SAAO,aAAW,SAAO,CAAC,IAAMC,EAAgB,KAAK,MAAM3M,EAAMA,EAAM,kBAAkB4M,GAA4B,CAAC,EAAQ3W,EAAM,CAAC,GAAG4W,GAAY,WAAW,OAAO,WAAW9M,GAAcC,CAAK,EAAE,YAAYA,GAAOA,EAAM,kBAAkB,aAAaA,GAAOA,EAAM,kBAAkB,WAAW,IAAI,WAAW,QAAQA,EAAM,cAAc,OAAO,WAAW2M,EAAgB,cAAcA,EAAgB,GAAG3M,EAAM,UAAU,OAAOA,EAAM,OAAO,EAAE,SAAS0L,IAAa,WAAW,OAAO1L,EAAM,MAAM,MAAM0L,IAAa,WAAW,eAAeiB,EAAgB,EAAE,IAAI,OAAO,UAAUjB,IAAa,WAAWmB,GAAY,UAAU,aAAanB,IAAa,WAAW1L,EAAM,YAAY,EAC5kB,OAA9NgK,IAAS,oBAAyC,gBAAK,MAAM,CAAO,QAAM,SAAjK0B,IAAa,WAAW,eAAe,4CAAkJ,CAAC,EAAM1B,IAAS,2BAAgD,gBAAK,MAAM,CAAO,QAAM,SAAS,uBAAuB,CAAC,EAAU,IAAK,CAAiU,SAASyB,GAAoB,EAAa,EAAM,CAAC,OAAOqB,EAAP,CAAqB,IAAI,UAAU,MAAM,CAAC,GAAGC,GAAc,MAAM/M,EAAM,KAAK,EAAE,IAAI,WAAW,OAAOgN,GAAe,IAAI,YAAY,MAAM,CAAC,GAAGC,GAAgB,MAAMjN,EAAM,KAAK,CAAE,CAAC,CAGv3B,SAAgBkN,GAAY,EAAM,CAAC,GAAK,CAAC,aAAW,QAAM,WAAS,eAAa,kBAAgB,eAAa,gBAAc,aAAW7U,EAAW,CAAC,gBAAc/D,GAAc,EAAiBmE,GAAc,GAAG,IAAMgI,EAAWhI,GAAc,KAAW0U,EAAMpf,EAAO,EAAQqf,EAAkBrf,EAAO,EAAQsf,EAAWtf,EAAO,EAAO,CAACuf,EAASC,GAAavf,EAAS,CAAC,MAAM,EAAE,OAAO,EAAI,CAAC,EAAQwf,EAAqBzf,EAAO,IAAI,EAAO,CAAC0f,EAA6BC,GAAiC1f,EAASwT,EAAQ,OAAO,EAAO,CAAC6F,GAAMsG,GAAU3f,EAAS,EAAE,EAAQ4f,EAAc3f,EAAiBoZ,EAAK,EAAO,CAAC,UAAQ,UAAQwC,GAAU+D,EAAc,CAAC,aAAa,EAAE,WAAS,UAAUC,EAAc,SAAS,CAAC,EAAQC,EAAevF,EAAQ+E,EAAS,OAAaX,EAAgB,KAAK,MAAM3M,EAAMA,EAAM,kBAAkB4M,GAA4B,CAAC,EAAE9Z,MAAc,CAC51Bya,EAAY,CAAC,MAAM,EAAE,OAAO,EAAI,CAAC,CAAE,EAAE,CAACK,CAAa,CAAC,EAAE,IAAMG,EAA2B7f,GAAa,EAAM,IAAQ,CAAIiL,EAAM,cAAc,UAAeuU,EAAgC,EAAI,EAAEH,EAAY,CAAC,QAAM,OAAO,EAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAQS,GAAyB9f,GAAa,EAAM,IAAQ,CAACqf,EAAY,GAAsBU,EAAiB,QAAQrS,EAAcqS,EAAwB,CAAC,QAAM,OAAO,EAAK,CAAG,CAAE,EAAE,CAAC,CAAC,EAAQC,GAAOxa,GAAU,EAAQya,EAAWjgB,EAAY,KAAM,IAAK,CAAC,GAAG8b,IAAS,oBAA6B,GAAG,CAE/gB,GAAK,CAAC,UAAQ,iBAAe5V,GAA0B8Z,GAAO,OAAOxT,CAAG,EAAQ0T,EAAMF,GAAO,WAAWG,CAAO,EAAErC,EAAU,EAAE,MAAMoC,GAAO,MAAM,UAAU,EAAEF,GAAO,WAAWG,EAAQ,KAAKC,EAAc,EAAK,CAAE,MAAa,CAAC,EAAO,SAAS,KAAK5T,CAAI,CAAC,EAAE,CAACsP,CAAM,CAAC,EAAQuE,GAAc,GAAO,CAAC,IAAMC,EAASjG,EAAQ,OAAO,EAAE,OAAOpP,EAAM,KAAb,CAAmB,IAAI,UAAiC,GAAvBA,EAAM,eAAe,EAAKsU,EAA6B,CAACC,EAAgC,EAAK,EAAE,KAAM,CAACH,EAAY,IAAmB,CAAC,MAAMpa,EAAM,EAAEqb,EAASP,EAAiB,MAAM,CAAC,EAAE,OAAO,EAAI,EAAE,EAAE,MAAM,IAAI,YAAmC,GAAvB9U,EAAM,eAAe,EAAKsU,EAA6B,CAACC,EAAgC,EAAK,EAAE,KAAM,CAACH,EAAY,IAAmB,CAAC,MAAMpa,EAAM,EAAEqb,EAASP,EAAiB,MAAM,CAAC,EAAE,OAAO,EAAI,EAAE,EAAE,MAAM,IAAI,SAAS,MAAM,IAAI,QAAWH,GAAgBK,EAAWL,EAAe,GAAG,EAAG,MAAM,QAAQ3U,EAAM,gBAAgB,CAAE,CAAC,EAAQsV,EAAclG,EAAQ,SAAS,GAAGqF,EAAc,OAAO,GAAG5D,IAAS,UAAgB0E,EAAY,IAASd,EAAc,OAAO,GAAGrF,EAAQ,OAAO,GAAGkG,IAAgBzE,IAAS,WAAW3R,EAAM,cAAcA,EAAM,aAAa,cAAc,QAAcsW,GAAgB,GAAQtW,EAAM,eAAeA,EAAM,cAAc,WAAW,aAAmBuW,GAAQD,GAAgB3O,EAAM,QAAQ,GAAS6O,GAAeH,GAAaC,GAAgBC,GAAQ5O,EAAM,kBAAkB,EAAE,EAGj1C,OAHm1ClN,MAAc,CAAC,GAAG,CAACwa,EAAS,OAAO,OAAO,IAAMwB,EAAQ1B,EAAkB,QAAY0B,GAAevM,GAAeuM,EAAQzB,EAAW,QAAQ,CAAC,UAAUqB,GAAaC,GAAgBE,GAAe,EAAE,aAAaF,GAAgBC,GAAQ,CAAC,CAAC,CAGhlD,EAAE,CAACtB,CAAQ,CAAC,EAAsB,gBAAM/B,GAAgB,CAAY,aAAwB,eAAmB,QAAM,UAAUgD,GAAwB,YAAU,SAAS,CAAc,gBAAMtC,GAAe,CAAY,aAAiB,QAAM,eAAeH,EAAa,eAAe,iBAAiBA,EAAa,iBAAiB,WAAW,CAACvD,EAAQ,OAAOkG,CAAa,EAAE,SAAS,CAAc,gBAAKM,GAAM,CAAC,UAAU,GAAK,IAAI5B,EAAM,SAASQ,EAAS,MAAMtG,GAAY,QAAa,SAAO,SAAS2H,EAAa,YAAY,SAAS,YAAYA,EAAa,mBAAmB,gBAAgB,gBAAgBA,EAAaA,EAAa,gBAAgB,IAAA,GAAU,gBAAgBA,EAAa,eAAe,CAAC,EAAEN,GAA0B,gBAAKtD,GAAQ,CAAO,QAAM,KAAK4D,EAAa,WAAW,CAAC,EAAe,gBAAKC,GAAW,CAAC,IAAI5B,EAAiB,QAAM,SAAsB,gBAAM,KAAK,CAAC,YAAY,SAAS,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,MAAM,eAAerN,EAAM,eAAe,KAAK,QAAQ,EAAE,WAAW6O,GAAe,cAActG,EAAQ,QAAQoG,GAAgBC,GAAQ,EAAE,IAAI5O,EAAM,kBAAkB,OAAO,CAAC,EAAE,SAAS,CAACuI,EAAQ,KAAK,EAAO,IAAQ,CAAC,IAAM2G,EAAWtT,IAAQ0R,EAAS,MAAM,MAAoB,gBAAK6B,GAAU,CAAC,IAAID,EAAW9B,EAAkB,KAAW,QAAa,SAA4B,uBAAqB,SAAS,CAACK,GAA8ByB,EAAW,KAAK7W,EAAM,cAAc,SAAS,aAAaA,EAAM,cAAc,gBAAgB,aAAmB,QAAiB,aAAW,YAAY2V,GAAyB,cAAcD,EAA2B,aAAaI,CAAU,EAAErY,EAAO,GAAG,CAAE,CAAC,EAAE2Y,GAA4B,gBAAK,KAAK,CAAC,MAAM,CAAC,WAAW9B,EAAgBkC,GAAe,cAAclC,EAAgB,WAAW,MAAM,YAAY3M,GAAOA,EAAM,kBAAkB,aAAaA,GAAOA,EAAM,kBAAkB,OAAiB,MAAa,EAAE,SAAsB,gBAAK,KAAK,CAAC,MAAM,CAAC,GAAGoP,GAAY,UAAU,SAAS,WAAW,QAAQpP,EAAM,cAAc,OAAO,MAAMA,EAAM,cAAc,GAAGA,EAAM,SAAS,EAAE,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAK0M,GAAc,CAAQ,SAAkB,aAAiB,OAAK,CAAC,CAAC,CAAC,CAAC,CAAE,C,sJAxB3lE,GAAuB,IAAU,GAAiB,IAAU,GAA4B,GAA08B,GAAmB,gBAAW,SAAe,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,GAAG,SAAO,YAAU,QAAM,cAAY,WAAS,kBAAgB,YAAUrU,EAAW,CAAC6X,EAAWC,GAAeniB,EAASuM,CAAK,EAAO,CAAC6V,EAAUC,GAAcriB,EAAS,EAAK,EAAQsiB,EAASviB,EAAO,EAAEkE,EAAoBiQ,MAAQoO,EAAS,OAAO,EAAEje,EAAM,wBAEl4C,CAAC,IAAMke,EAAaD,EAAS,QAAYC,GAAcA,IAAe,SAAS,eAAqBA,EAAa,KAAK,CAAE,EAAI,CAAC,CAAC,EAAE,IAAMC,MAAqB,CAAIF,EAAS,SAASA,EAAS,QAAQ,MAAM,CAAG,EAAQG,MAAqB,CAACN,EAAc,EAAE,CAAE,EAAErd,MAAc,CAAC4d,EAASR,CAAU,CAAE,EAAE,CAACA,CAAU,CAAC,EAAqBA,EAAW,OAAS,IAAMS,EAAgBT,EAAW,OAAO,GAAGU,GAAiBA,IAAkB,OAAajE,EAAgB,KAAK,MAAM3M,EAAMA,EAAM,kBAAkB4M,GAA4B,CAAC,EAAQiE,EAAWC,IAAW,UAAU9Q,EAAM,eAA4B,gBAAK,MAAM,CAAC,IAAI,uCAAuC,IAAIA,EAAM,eAAe,IAAI,MAAMA,EAAM,cAAc,OAAOA,EAAM,cAAc,SAAS,OAAO,CAAC,EAAe,gBAAKpG,GAAW,CAAC,MAAMoG,EAAM,eAAe,MAAMA,EAAM,cAAc,OAAOA,EAAM,aAAa,CAAC,EAAE,MAAoB,gBAAM,MAAM,CAAC,KAAK,SAAS,MAAM,CAAC,GAAGsP,GAAoB,WAAWvP,GAAcC,CAAK,EAAE,YAAYA,GAAOA,EAAM,kBAAkB,aAAaA,GAAOA,EAAM,kBAAkB,IAAI,GAAG,WAAW2M,EAAgB,cAAcA,EAAgB,YAAY,MAAM,EAAE,QAAQ6D,EAAiB,SAAS,CAAc,gBAAK,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,MAAM,EAAE,SAASxG,IAAS,WAAWkG,EAAwB,gBAAKpW,GAAY,CAAC,MAAMkG,EAAM,eAAe,gBAAgBA,EAAM,gBAAgB,MAAM,CAAC,OAAOA,GAAOA,EAAM,cAAc,MAAMA,GAAOA,EAAM,aAAa,CAAC,CAAC,EAAE6Q,CAAU,CAAC,EAAe,gBAAK,QAAQ,CAAC,IAAIP,EAAS,WAAW,GAAM,UAAUS,EAAU,MAAM,CAAC,GAAGxB,GAAW,wBAAwB,gBAAgB,MAAMvP,EAAM,gBAAgB,WAAW,MAAM,cAAc,WAAW,GAAGA,EAAM,UAAU,GAAGA,EAAM,UAAU,SAASA,EAAM,cACxsD,oCAAoCA,EAAM,gBAAgB,EAAE,YAAY,CAAC,IAAMgR,EAAa,SAAS,gBAAgB,UAAU,SAAS,gBAAgB,UAAUA,CAAa,EAAc,cAAY,MAAMd,EAAW,aAAaC,EAAcG,EAAS,QAAQ,KAAK,CAAC,CAAC,EAAEK,GAA8B,gBAAKzF,GAAY,CAAO,QAAM,KAAK7S,EAAM,gBAAgB,KAAKA,EAAM,gBAAgB,QAAQoY,CAAgB,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQ,GAAoB,CAAC,QAAQ,cAAc,WAAW,SAAS,WAAW,CAAC,EAAQ,GAAW,CAAC,QAAQ,OAAO,OAAO,OAAO,WAAW,cAAc,WAAW,IAAI,OAAO,MAAM,QAAQ,EAAE,MAAM,MAAM,EAAe,GAAuB,gBAAM,KAAkB,gBAAM,WAAW,SAAmB,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,SAAO,uBAAqB,OAAK,YAAY,eAAa,OAAO,WAAS,GAAM,QAAM,aAAW,QAAM,cAAY,gBAAc,gBAAcpY,EAAW,CAAC,MAAI,QAAM,SAAOvC,EAAamb,EAAQ9iB,MAAoBqS,GAAwB9F,EAAI+F,CAAU,EAAI,CAAC/F,EAAI+F,CAAU,CAAC,EAAQyQ,EAAgBpP,GAAuB,GAAOqP,EAAYhY,EAAMyC,CAAK,EAAE4R,CAAoB,EAAQ4D,EAAY1Z,IAAO,YAAkB2Z,EAAaD,EAAYje,EAAM,EAAE,IAAS6M,EAAM,aAAaA,EAAM,OAAO,EAAE,EAAQsR,EAAaC,IAAe,OAAON,EAAQjS,GAAUlJ,EAAO,YAAYuZ,EAAsB,EAA+H,MAAoB,gBAAK,IAAI,CAAK,MAAI,MAAM,CAAC,eAAe,MAAM,EAAE,KAAKvZ,EAAO,IAAI,QAA/L,GAAO,CAACqD,EAAM,eAAe,EAAEqY,EAAa1b,EAAO,GAAG,CAAE,EAA2J,YAAYob,EAAgB,YAArK,GAAO,CAAC/X,EAAM,eAAe,CAAE,EAA4J,cAAc,GAAOsY,EAActY,EAAMyC,CAAK,EAAE,SAAsB,gBAAM,KAAK,CAAC,MAAM,CAAC,GAAG4T,GAAgB,GAAGvZ,EAAM,WAAWmb,EAAY,GAAG,GAAG,cAAcA,EAAY,GAAG,GAAG,MAAMpR,EAAM,gBAAgB,SAAS,WAAW,YAAYA,GAAOA,EAAM,kBAAkB,aAAaA,GAAOA,EAAM,iBAAiB,EAAE,SAAS,CAAc,gBAAK,MAAM,CAAC,MAAM,CAAC,gBAAgBA,EAAM,gBAAgB,SAAS,WAAW,QAAQsN,EAAS,IAAI,EAAE,eAAa,KAAKtN,GAAOoR,EAAYpR,EAAM,QAAQ,EAAE,MAAMA,GAAOoR,EAAYpR,EAAM,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,EAAe,gBAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,SAAS,SAAS,IAAI,CAAC,EAAE,SAAS,CAAc,gBAAK,KAAK,CAAC,MAAM,CAAC,GAAGoP,GAAY,GAAGpP,EAAM,UAAU,WAAW,OAAO,EAAE,SAAStG,CAAK,CAAC,EAAe,gBAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAMsG,EAAM,cAAc,GAAGA,EAAM,aAAa,WAAW,SAAS,SAAS,SAAS,aAAa,WAAW,WAAW,OAAO,EAAE,SAAS,CAACc,GAAsB5C,EAAM,GAAG,IAAIoT,CAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAExb,EAAO,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,EAI77E,GAAqB,CAAC,QAAQ,OAAO,cAAc,SAAS,WAAW,SAAS,eAAe,aAAa,IAAI,GAAG,SAAS,SAAS,EAI0P,GAAwB,gBAAM,WAAW,SAAoB,CAAC,QAAM,YAAU,EAAI,CAAC,IAAM4L,EAAQF,EAAQ,QAAQ,EAAO,CAACkQ,EAAUC,GAAcvjB,EAAM,SAAS,EAAI,EAAkJ,OAAhJiE,EAAM,cAAc,CAAC,GAAG,CAACqP,EAAQ,OAAO,IAAMoN,EAAQ5M,EAAI,QAAY4M,GAAe6C,EAAa7C,EAAQ,aAAaA,EAAQ,YAAY,CAAE,CAAC,EAAsB,gBAAK,MAAM,CAAK,MAAI,MAAM,CAAC,MAAM,eAAe9O,EAAM,eAAe,KAAK,UAAU,SAAS,UAAU,SAAS,mBAAmB,UAAU,YAAY0R,EAAU,IAAA,GAAU,OAG5/B,UAAU,EAAE,EAAW,UAAQ,CAAC,CAAE,CAAC,EAAQ,GAAY,CAAC,gBAAgB,UAAU,MAAM,OAAO,UAAU,wCAAwC,WAAW,UAAU,UAAU,SAAS,SAAS,GAAG,QAAQ,OAAO,EAC0I,GAAY,CAAC,aAAa,WAAW,SAAS,OAAO,SAAS,SAAS,WAAW,IAAI,WAAW,SAAS,KAAK,EAAE,OAAO,CAAC,EAAQ,GAAgB,CAAC,QAAQ,YAAY,UAAU,OAAO,WAAW,GAAG,EAAQ,GAAc,CAAC,KAAK,EAAE,MAAM,GAAG,EAAQ,GAAe,CAAC,IAAI,EAAE,MAAM,MAAM,EAAQ,GAAgB,CAAC,MAAM,GAAG,GAA4Q,SAAS,EAA2B,CAAC,EAA2B/N,KAAQ,OAAO,EAA2BC,KAAQ,OAAO,EAA2BC,KAAQ,MAAO,EAAA,CAAG,AAA6B4L,KAA2B,CAAC,CAAE,GAAqC,SAAS,EAAuB,CAAC,EAAuB5L,KAAQ,OAAO,EAAuBC,UAAa,YAAY,EAAuBC,UAAa,WAAY,EAAA,CAAG,AAAyB2L,KAAuB,CAAC,CAAE,GAAoC,SAAS,EAAsB,CAAC,EAAsB1L,GAAM,KAAK,EAAsBC,MAAS,OAAQ,EAAA,CAAG,AAAwB0L,KAAsB,CAAC,CAAE,GAAuC,SAAS,EAAyB,CAAC,EAAyBzL,YAAe,cAAc,EAAyBC,KAAQ,MAAO,EAAA,CAAG,AAA2ByL,KAAyB,CAAC,CAAE,GAAmC,SAAS,EAAqB,CAAC,EAAqB9L,UAAa,YAAY,EAAqBC,UAAa,WAAY,EAAA,CAAG,AAAuB8L,KAAqB,CAAC,CAAE,GAA+B,SAAS,EAAiB,CAAC,EAAiBzL,QAAW,UAAU,EAAiBC,SAAY,WAAW,EAAiBC,UAAa,WAAY,EAAA,CAAG,AAAmBwL,IAAiB,CAAC,CAAE,GAA8B,SAAS,EAAgB,CAAC,EAAgBnM,KAAQ,OAAO,EAAgBC,KAAQ,MAAO,EAAA,CAAG,AAAkBmM,KAAgB,CAAC,CAAE,GAA6B,SAAS,EAAe,CAAC,EAAe5X,QAAW,UAAU,EAAeC,OAAU,QAAS,EAAA,CAAG,AAAiB4X,IAAe,CAAC,CAAE,C,OCjB7+E,SAAS4B,IAAiB,CAA2D,OAAhD3e,IAAS,OAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,EAAS,CAAC,MAAMA,EAAO,WAAW,OAAOA,EAAO,WAAW,CAAE,CAAC,SAAgB4e,GAAqB,EAAS,CAAC,GAAK,CAACC,EAAMC,GAAU1jB,MAAa2jB,EAASJ,GAAgB,CAAC,CAAC,EAAoN,OAAlN9e,MAAc,CAAC,IAAMmf,MAAuBF,EAASC,EAASJ,GAAgB,CAAC,CAAC,EAAuD,OAArD3e,EAAO,iBAAiB,SAASgf,CAAkB,MAAY,CAAChf,EAAO,oBAAoB,SAASgf,CAAkB,CAAE,CAAE,EAAE,CAAC,CAAC,EAASH,CAAM,C,8CCErX,SAASK,GAAY,EAAe,EAAS,OAAO,CAAC,GAAG,CAACC,EAAe,OAAOC,EAAS,GAAK,CAAC,IAAE,IAAE,OAAK,QAAM,UAAQD,EAAe,MAAM,GAAGvgB,EAAE,KAAKygB,EAAE,KAAKC,EAAK,KAAKC,EAAO,KAAKzc,GAAQ,C,qGAAvU,SAAS,EAAkB,CAAC,EAAkBid,KAAQ,OAAO,EAAkBC,MAAS,OAAQ,EAAA,CAAG,AAAoBR,KAAkB,CAAC,CAAE,EAAkM,GAAqB,gBAAW,SAAiB,EAAM,EAAI,CAAC,GAAK,CAAC,aAAW,QAAM,aAAWpa,EAGxL,OAH8LvF,MAAc,CAAC,IAAMyb,EAAc,GAAO,CAAIpV,EAAM,OAAO,WAAUA,EAAM,gBAAgB,EAAE6S,EAAU,EAAG,EAAQkH,EAAkB,GAAO,CAAI/Z,EAAM,cAAc,UAAkDA,EAAM,kBAAkB,SAASA,EAAM,OAAO,QAAQ,eAAe,GAAqC,SAAS,yBAAyB,kBAAkB,SAAS,cAAc,KAAK,EAAG,EAGrxB,OADhDlG,EAAO,iBAAiB,UAAUsb,CAAa,EAAEtb,EAAO,iBAAiB,cAAcigB,EAAkB,CAAC,QAAQ,EAAI,CAAC,EACvH,SAAS,KAAK,UAAU,IAAIL,EAAkB,MAAY,CAAC5f,EAAO,oBAAoB,UAAUsb,CAAa,EAAEtb,EAAO,oBAAoB,cAAcigB,EAAkB,CAAC,QAAQ,EAAI,CAAC,EAAE,SAAS,KAAK,UAAU,OAAOL,EAAkB,CAAE,CAAE,EAAE,CAAC,CAAC,EAAsB,gBAA0B,gBAAM,MAAM,CAAK,MAAI,UAAU,kCAAkC,KAAK,eAAe,MAAM,CAAC,GAAGF,GAAe,OAAOta,EAAM,gBAAgB,OAAO,eAAeqT,IAAaoE,EAAiB,QAAQ,aAAa,QAAQ,EAAE,QAAQ9D,EAAU,SAAS,CAAc,gBAAKxY,EAAO,IAAI,CAAC,KAAK,eAAe,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,WAAWwM,EAAM,kBAAkB,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,OAAO,OAAO,OAAO,UAAU,aAAa,SAAS,WAAW,YAAY,OAAO,gBAAgB3H,EAAM,gBAAgB,eAAe,CAAC,CAAC,EAAe,gBAAK6U,GAAY,CAAC,SAAS7U,EAAM,SAAoB,aAAW,aAAaA,EAAM,aAAa,cAAcA,EAAM,cAAc,aAAaA,EAAM,aAAa,gBAAgBA,EAAM,gBAAgB,MAAMA,EAAM,MAAgB,WAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,IAAI,CAAE,CAAC,EAAQ,GAAe,CAAC,MAAM,OAAO,UAAU,aAAa,WAAW,YAAY,SAAS,QAAQ,QAAQ,OAAO,WAAW,aAAa,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAQ,GAAe,CAAC,OAAO,OAAO,QAAQ,OAAO,aAAa,GAAG,OAAO,UAAU,SAAS,QAAQ,EAAQ,GAAmB,2BAY36C,GAAWzE,EAAQ,SAAoB,EAAM,CAAC,IAAMuf,EAAQ7kB,EAAO,IAAI,EAAO,CAAC8kB,EAAOC,GAAW9kB,EAAS,EAAK,EAAO,CAAC+kB,EAAYC,GAAgBhlB,EAAS,EAAK,EAAO,CAACilB,EAAoBC,GAAwBllB,EAAS,EAAK,EAAO,CAACmlB,GAAYnlB,MAAawF,GAAa,QAAQ,IAAIA,GAAa,MAAM,EAAEjB,MAAc,CAACygB,EAAevS,GAAiB,CAAC,EAAEyS,EAAuBjS,EAAQ,SAAS,GAAGA,EAAQ,QAAQ,CAAC,CAAE,EAAE,CAAC,CAAC,EAAE,IAAMmS,EAAkBtb,EAAM,cAAc,WAAW,SAASA,EAAM,aAAa,UAAU,SAAS,OAEjhBub,EAAcJ,EAAoB,aAAaG,EAAkB,GAAGA,EAAwBjI,EAAWmG,GAAqB,GAAUja,EAAK,MAAMS,EAAM,aAAa,MAAM,GAAWyX,EAAiB,SACrMzX,EAAM,aAAa,YAAYA,EAAM,UAAY,EAAQ2H,EAAM,CAAC,cAAc3H,EAAM,cAAc,gBAAgB,cAAc,gBAAgBA,EAAM,aAAa,gBAAgB,gBAAgBA,EAAM,cAAc,WAAW,iBAAiBA,EAAM,aAAa,mBAAmB,iBAAiB,UAAUA,EAAM,eAAe,WAAW,CAACgH,GAAchH,EAAM,cAAc,SAAS,EAAEA,EAAM,cAAc,UAAU,CAAC,SAAS,GAAG,WAAW4H,GAAoB,WAAW,GAAG,EAAE,aAAa5H,EAAM,cAAc,iBAAiB,cAAc,CAACgH,GAAchH,EAAM,cAAc,gBAAgB,YAAY,EAAEA,EAAM,cAAc,gBAAgB,aAAa,CAAC,SAAS,GAAG,WAAW4H,GAAoB,WAAW,GAAG,EAAE,UAAU5H,EAAM,cAAc,WAAW,CAACgH,GAAchH,EAAM,aAAa,SAAS,EAAEA,EAAM,aAAa,UAAU,CAAC,SAAS,GAAG,WAAW4H,GAAoB,WAAW,GAAG,EACh3B,gBAAc,MAAM5H,EAAM,aAAa,MAAM,UAAUA,EAAM,aAAa,IAAI,aAAaA,EAAM,aAAa,aAAa,OAAO8Z,GAAY9Z,EAAM,aAAa,MAAM,EAAE,eAAeA,EAAM,UAAU,cAAcA,EAAM,SAAS,eAAeA,EAAM,UAAU,cAAcA,EAAM,aAAa,YAAY,SAAS,eAAeA,EAAM,aAAa,YAAY,UAAU,eAAeA,EAAM,aAAa,YAAY,UAAU,0BAA0B,GAAG,kBAAkB,EAAE,eAAe,GAAG,OAAO,GAAG,QAAQ,EAAE,OAAOA,EAAM,gBAAgB,OAAO,kBAAkB,GAAG,kBAAkBA,EAAM,gBAAgB,UAAU,EAAQwb,EAAY,GAAO,CACrpB1a,EAAM,eAAe,EAAEA,EAAM,gBAAgB,EAAK,IAAmBka,EAAU,EAAI,CAAE,EAAE,MAAoB,gBAAM,MAAM,CAAC,MAAM,CAAC,GAAGT,GAAe,GAAGva,EAAM,MAAM,cAAcib,EAAY,OAAO,OAAO,QAAQA,EAAY,GAAG,CAAC,EAAE,SAAS,CAAc,gBAAK,SAAS,CAAC,aAAa,cAAc,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,WAAW,OAAO,OAAO,UAAU,MAAM,UAAU,OAAO,OAAO,aAAa,GAAG,QAAQ,CAAC,EAAE,QAAQO,EAAY,SAASxb,EAAM,WAAW2X,EAAe,QAAQhQ,EAAM,eAA4B,gBAAK,MAAM,CAAC,IAAI,mCAAmC,IAAIA,EAAM,eAAe,IAAI,MAAMA,EAAM,cAAc,OAAOA,EAAM,aAAa,CAAC,EAAe,gBAAKpG,GAAW,CAAC,MAAMoG,EAAM,eAAe,MAAMA,EAAM,cAAc,OAAOA,EAAM,aAAa,CAAC,CAAC,CAAC,EAAe,gBAAK3M,EAAgB,CAAC,SAAS+f,GAAQ,CAACM,GAAyB,gBAAKhB,GAAQ,CAAC,IAAIS,EAAmB,aAAW,SAAS9a,EAAM,SAAS,aAAaA,EAAM,aAAa,cAAcA,EAAM,cAAc,gBAAgBA,EAAM,gBAAgB,aAAaA,EAAM,aAAmB,QAAM,cAAcgb,EAAU,EAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,CAE9oC;;;;;;;;;UAUA;;;;;;UAOA;;;;;;;;;UASU;eACKR,GAAmB;;WAGlC;;;;;;;;;;;UAWU,EAAE,mBAAmB,EAA4Bje,GAAoBke,GAAW,CAAC,SAAS,CAAC,MAAM,QAC3G,KAAKhe,EAAY,SAAS,EAO1B,SAAS,CAAC,MAAM,OAAO,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAOkb,CAAc,EAAE,aAAa,OAAO,OAAOA,CAAc,CAAC,CAAC,IAAIlR,CAAS,EAAE,wBAAwB,EAAI,EAAE,UAAU,CAAC,MAAM,QAAQ,KAAKhK,EAAY,MAAM,aAAa,OAAO,OAAO,GAAOuD,EAAM,WAAW2X,EAAe,MAAM,EAAE,UAAU,CAAC,MAAM,OAAO,KAAKlb,EAAY,gBAAgB,iBAAiB,CAAC,MAAM,MAAM,KAAK,EAAE,OAAO,GAAOuD,EAAM,WAAW2X,EAAe,OAAO,EAAE,SAAS,CAAC,MAAM,OAAO,KAAKlb,EAAY,OAAO,eAAe,GAAK,aAAa,EAAE,EAAE,aAAa,CAAC,MAAM,QAAQ,KAAKA,EAAY,OAAO,YAAY,eAAe,SAAS,CAAC,YAAY,CAAC,MAAM,OAAO,KAAKA,EAAY,OAAO,YAAY,cAAc,SAAS,CAAC,SAAS,CAAC,MAAM,OAAO,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAOkb,CAAc,EAAE,aAAa,OAAO,OAAOA,CAAc,CAAC,CAAC,IAAIlR,CAAS,EAAE,wBAAwB,EAAI,EAAE,UAAU,CAAC,MAAM,QAAQ,KAAKhK,EAAY,MAAM,aAAa,sBAAsB,QAAQ,CAAC,cAAoBgc,IAAWd,EAAe,MAAQ,EAAE,UAAU,CAAC,MAAM,OAAO,KAAKlb,EAAY,gBAAgB,iBAAiB,CAAC,MAAM,MAAM,KAAK,EAAE,QAAQ,CAAC,cAAYgc,IAAWd,EAAe,OAAO,EAAE,SAAS,CAAC,MAAM,YAAY,KAAKlb,EAAY,OAAO,eAAe,GAAK,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,OAC5wC,KAAKA,EAAY,KAAK,gBAAgB,EAAI,EAAE,UAAU,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,MAAM,EAAE,mBAAmB,CAAC,MAAM,cAAc,KAAKA,EAAY,OAAO,YAAY,cAAc,SAAS,CAAC,gBAAgB,CAAC,MAAM,OAAO,KAAKA,EAAY,OAAO,aAAa,WAAW,EAAE,iBAAiB,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,iBAAiB,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,UAAU,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAO4a,EAAsB,EAAE,aAAa,OAAO,KAAKA,EAAsB,CAAC,CAAC,IAAI5Q,CAAS,EAAE,aAAa4Q,GAAuB,SAAS,EAAE,gBAAgB,CAAC,MAAM,aAAa,KAAK5a,EAAY,KAAK,QAAQ,OAAO,OAAO2a,EAA0B,EAAE,aAAa,OAAO,KAAKA,EAA0B,CAAC,CAAC,IAAI3Q,CAAS,EAAE,aAAa2Q,GAA2B,IAAI,EAAE,gBAAgB,CAAC,MAAM,aAAa,KAAK3a,EAAY,OAAO,aAAa,QAAQ,OAAO,GAAOuD,EAAM,kBAAkBoX,GAA2B,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,MAAM,QAAQ,YAAY,gBAAgB,KAAK3a,EAAY,OAAO,SAAS,CAAC,WAAW,CAAC,MAAM,SAAS,KAAKA,EAAY,KAAK,QAAQ,OAAO,KAAKgb,CAAgB,EAAE,aAAa,OAAO,OAAOA,CAAgB,CAAC,CAAC,IAAIhR,CAAS,EAAE,aAAagR,EAAiB,SAAS,EAAE,MAAM,CAAC,MAAM,QAAQ,KAAKhb,EAAY,OAAO,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,eAAe,GAAK,KAAK,EAAE,OAAO,GAAOuD,EAAM,aAAayX,EAAiB,QAAQ,EAAE,IAAI,CAAC,MAAM,MAAM,KAAKhb,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,eAAe,GAAK,OAAO,GAAOuD,EAAM,aAAayX,EAAiB,QAAQ,EAAE,eAAe,CAAC,MAAM,SAAS,KAAKhb,EAAY,QAAQ,aAAa,UAAU,cAAc,UAAU,QAAQ,CAAC,gBAAc4W,IAAaoE,EAAiB,SAAS,EAAE,iBAAiB,CAAC,MAAM,OAAO,KAAKhb,EAAY,WAAW,aAAa,CAAC,KAAK,SAAS,UAAU,IAAI,QAAQ,EAAE,EAAE,QAAQ,CAAC,iBAAe,gBAAc4W,IAAaoE,EAAiB,WAAWzD,CAAc,EAAE,aAAa,CAAC,MAAM,SAAS,KAAKvX,EAAY,OAAO,aAAa,GAAG,eAAe,GAAK,IAAI,EAAE,QAAQ,CAAC,gBAAc4W,IAAaoE,EAAiB,SAAS,EAAE,OAAO,CAAC,YAAY,UAAU,KAAKhb,EAAY,OAAO,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,GAAG,OAAO,EAAE,MAAM,iBAAiB,EAAE,SAAS,CAAC,MAAM,CAAC,KAAKA,EAAY,MAAM,aAAa,iBAAiB,EAAE,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,CAAC,EAAE,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,EAAE,KAAK,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,MAAM,aAAa,KAAKA,EAAY,MAAM,aAAa,MAAM,GAAGoL,EAAuB4P,EAAiB,SAAS,GAAG,CAAC,MAAM,YAAY,KAAKhb,EAAY,OAAO,KAAK,SAAS,QAAQ,CAAC,gBAAc4W,IAAaoE,EAAiB,UAAU,SAAS,GAAK,YAAY,UAAU,SAAS,CAAC,QAAQ,CAAC,KAAKhb,EAAY,OAAO,aAAa,GAAG,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,aAAa,IAAI,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,EAMx1F,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,WAAW,CAAC,KAAKA,EAAY,UAAU,CAAC,CAAC,GAAGoL,EAAuB4P,EAAiB,QAAQ,GAAG,CAAC,MAAM,YAAY,KAAKhb,EAAY,OAAO,KAAK,SAAS,YAAY,UAAU,QAAQ,CAAC,gBAAc4W,IAAaoE,EAAiB,SAAS,SAAS,GAAK,SAAS,CAAC,QAAQ,CAAC,KAAKhb,EAAY,OAAO,aAAa,GAAG,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,WAAW,CAAC,KAAKA,EAAY,UAAU,CAAC,CAAC,GAAGoL,EAAuB4P,EAAiB,OAAO,GAAG,CAAC,MAAM,YAAY,KAAKhb,EAAY,OAAO,KAAK,SAAS,YAAY,UAAU,QAAQ,CAAC,gBAAc4W,IAAaoE,EAAiB,QAAQ,SAAS,GAAK,SAAS,CAAC,QAAQ,CAAC,KAAKhb,EAAY,OAAO,aAAa,GAAG,KAAK,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,WAAW,CAAC,KAAKA,EAAY,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,UAAU,YAAY,eAAe,KAAKA,EAAY,OAAO,aAAa,CAAC,EAE/gC,SAAS,CAAC,SAAS,CAAC,MAAM,QAAQ,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAO+a,EAAoB,EAAE,aAAa,OAAO,KAAKA,EAAoB,CAAC,CAAC,IAAI/Q,CAAS,EAAE,aAAa+Q,GAAqB,SAAS,EAAE,UAAU,CAAC,MAAM,QAChO,KAAK/a,EAAY,KAAK,aAAa,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAI,EAAE,WAAW,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,MAAM,EAAE,UAAU,CAAC,MAAM,UAAU,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAO6a,EAAqB,EAAE,aAAa,OAAO,KAAKA,EAAqB,CAAC,CAAC,IAAI7Q,CAAS,EAAE,aAAa6Q,GAAsB,GAAG,wBAAwB,EAAI,EAAE,gBAAgB,CAAC,KAAK7a,EAAY,OAAO,MAAM,WAAW,YAAY,gBAAgB,SAAS,CAAC,aAAa,CAAC,MAAM,OACle,KAAKA,EAAY,KAAK,aAAa,CAAC,SAAS,EAAE,EAAE,gBAAgB,EAAI,EAAE,cAAc,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,oBAAoB,EAAE,aAAa,CAAC,MAAM,UAAU,KAAKA,EAAY,KAAK,QAAQ,OAAO,OAAO8a,EAAwB,EAAE,aAAa,OAAO,KAAKA,EAAwB,CAAC,CAAC,IAAI9Q,CAAS,EAAE,aAAa8Q,GAAyB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,MAAM,WAAW,KAAK9a,EAAY,OAAO,YAAY,iBAAiB,SAAS,CAAC,gBAAgB,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,oBAAoB,EAAE,OAAO,CAAC,MAAM,UAAU,KAAKA,EAAY,OAAO,aAAa,GAAG,eAAe,GAAK,IAAI,EAAE,IAAI,EAAE,EAAE,WAAW,CAAC,KAAKA,EAAY,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAW,YAAY,Q,4ECnFphBtG,GAAK,0BAAgCC,GAAkB,gBAAW,SAAS,EAAM,EAAI,CAAC,MAAoB,gBAAK,MAAM,CAAC,GAAG4J,EAAU,MAAI,SAASA,EAAM,QAAQ,CAAC,CAAE,CAAC,EAAQ3J,GAAU8E,EAAO,OAAO/E,EAAI,EAAQE,GAAiB,iBAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAG2lB,GAAMjc,EAAM,OAAOkc,EAAsB,gBAAK7lB,GAAU,CAAC,GAAG4lB,EAAc,WAAa,MAAa,UAAQ,CAAC,EAAe,gBAAK,MAAM,CAAC,GAAGA,EAAS,MAAa,UAAQ,CAAC,CAAE,CAAC,EAAQ1lB,GAAI,wjDAA8jDC,IAAU,CAAC,QAAM,SAAO,KAAG,QAAM,SAAO,GAAGwJ,MAAgB,CAAC,GAAGA,EAAM,UAAUmc,GAAQnc,EAAM,WAAW,EAAE,UAAUtC,GAAOsC,EAAM,WAAW,cAAc,GASp2EvJ,GAAK8E,EATg4E7E,kBAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,GAAG0lB,GAAW5lB,GAASwJ,CAAK,EAAQqc,EAAKzf,GAAe,aAAarG,EAAG,EAAE,MAAoB,gBAAKD,GAAI,CAAC,GAAG8lB,EAAU,UAAU9f,GAAG,eAAeggB,CAAS,EAAW,WAAa,MAAI,KAAK,eAAe,MAAM,CAAC,YAAYC,EAAU,WAAWC,EAAU,GAAG5e,CAAK,EAAE,QAAQ,YAAY,SAAsB,gBAAK,MAAM,CAAM,MAAI,CAAC,CAAC,CAAC,CAAE,CAS1xF,EAAE,CATsyF,iCAAiCzH,GAAK,2CAA2CA,GAAK,iBAS13F,EAAE,cAAc,EAAE,GAAK,YAAY,YAAgCoG,GAAoB9F,GAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,QAAQ,KAAKgG,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,GAAK,OAAO,GAAM,IAAI,GAAG,IAAI,EAAE,MAAM,QAAQ,KAAKA,EAAY,MAAM,CAAC,CAAC,C,4ECTxI9F,GAAK,0BAAgCC,GAAkB,gBAAW,SAAS,EAAM,EAAI,CAAC,MAAoB,gBAAK,MAAM,CAAC,GAAGoJ,EAAU,MAAI,SAASA,EAAM,QAAQ,CAAC,CAAE,CAAC,EAAQnJ,GAAUsE,EAAO,OAAOvE,EAAI,EAAQE,GAAiB,iBAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAGmlB,GAAMjc,EAAM,OAAOkc,EAAsB,gBAAKrlB,GAAU,CAAC,GAAGolB,EAAc,WAAa,MAAa,UAAQ,CAAC,EAAe,gBAAK,MAAM,CAAC,GAAGA,EAAS,MAAa,UAAQ,CAAC,CAAE,CAAC,EAAQllB,GAAI,60BAAm1BC,IAAU,CAAC,QAAM,SAAO,KAAG,QAAM,SAAO,GAAGgJ,MAAgB,CAAC,GAAGA,EAAM,UAAUmc,GAAQnc,EAAM,WAAW,EAAE,UAAUtC,GAAOsC,EAAM,WAAW,cAAc,GASznD/I,GAAKsE,EATqpDrE,kBAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,GAAGklB,GAAWplB,GAASgJ,CAAK,EAAQqc,EAAKzf,GAAe,aAAa7F,EAAG,EAAE,MAAoB,gBAAKD,GAAI,CAAC,GAAGslB,EAAU,UAAU9f,GAAG,eAAeggB,CAAS,EAAW,WAAa,MAAI,KAAK,eAAe,MAAM,CAAC,YAAYC,EAAU,WAAWC,EAAU,GAAG5e,CAAK,EAAE,QAAQ,YAAY,SAAsB,gBAAK,MAAM,CAAM,MAAI,CAAC,CAAC,CAAC,CAAE,CAS/iE,EAAE,CAT2jE,iCAAiCjH,GAAK,2CAA2CA,GAAK,iBAS/oE,EAAE,cAAc,EAAE,GAAK,YAAY,OAA2B4F,GAAoBtF,GAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,QAAQ,KAAKwF,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,GAAK,OAAO,GAAM,IAAI,GAAG,IAAI,EAAE,MAAM,QAAQ,KAAKA,EAAY,MAAM,CAAC,CAAC,C,4ECTnI,GAAK,0BAAgC,GAAkB,gBAAW,SAAS,EAAM,EAAI,CAAC,MAAoB,gBAAK,MAAM,CAAC,GAAGuD,EAAU,MAAI,SAASA,EAAM,QAAQ,CAAC,CAAE,CAAC,EAAQ,GAAU7E,EAAO,OAAO+hB,EAAI,EAAQ,GAAiB,iBAAY,EAAM,IAAM,CAAC,GAAK,CAAC,WAAS,WAAS,WAAS,GAAGjB,GAAMjc,EAAM,OAAOkc,EAAsB,gBAAKiB,GAAU,CAAC,GAAGlB,EAAc,WAAa,MAAa,UAAQ,CAAC,EAAe,gBAAK,MAAM,CAAC,GAAGA,EAAS,MAAa,UAAQ,CAAC,CAAE,CAAC,EAAQ,GAAI,ylBAA+lB9kB,IAAU,CAAC,QAAM,SAAO,KAAG,QAAM,SAAO,GAAG6I,MAAgB,CAAC,GAAGA,EAAM,UAAUmc,GAAQnc,EAAM,WAAW,EAAE,UAAUtC,GAAOsC,EAAM,WAAW,cAAc,GASr4C,GAAKzE,EATi6CnE,kBAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,GAAGglB,GAAWjlB,GAAS6I,CAAK,EAAQqc,EAAKzf,GAAe,aAAaygB,EAAG,EAAE,MAAoB,gBAAKD,GAAI,CAAC,GAAGhB,EAAU,UAAU9f,GAAG,eAAeggB,CAAS,EAAW,WAAa,MAAI,KAAK,eAAe,MAAM,CAAC,YAAYC,EAAU,WAAWC,EAAU,GAAG5e,CAAK,EAAE,QAAQ,YAAY,SAAsB,gBAAK,MAAM,CAAM,MAAI,CAAC,CAAC,CAAC,CAAE,CAS3zD,EAAE,CATu0D,iCAAiCqf,GAAK,2CAA2CA,GAAK,iBAS35D,EAAE,cAAc,EAAE,GAAK,YAAY,IAAwB1gB,GAAoBghB,GAAK,CAAC,UAAU,CAAC,aAAa,eAAe,OAAO,GAAM,MAAM,QAAQ,KAAK9gB,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,EAAE,eAAe,GAAK,OAAO,GAAM,IAAI,GAAG,IAAI,EAAE,MAAM,QAAQ,KAAKA,EAAY,MAAM,CAAC,CAAC,C,wDCTlShB,EAAU,UAAU,CAAC,6BAA6B,CAAC,EAAepE,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,uBAAuB,SAAS,GAAK,OAAO,SAAS,MAAM,SAAS,aAAa,uBAAuB,IAAI,2GAA2G,OAAO,KAAK,CAAC,CAAC,CAAC,EAAeC,GAAI,CAAC,qwBAAywB,EAAeC,GAAU,c,wDCA/oCkE,EAAU,UAAU,CAAC,CAAC,EAAejE,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAeC,GAAI,CAAC,6iBAA6iB,EAAeC,GAAU,c,wDCAnqB+D,EAAU,UAAU,CAAC,CAAC,EAAe9D,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAeC,GAAI,CAAC,gcAAgc,EAAeC,GAAU,c,OCAre,SAAwBwmB,EAAkB,EAAI,EAAO,CAAC,KAAM1d,GAAO,CAAC,IAAM2d,EAAOC,GAAiB5d,EAAO,IAAI,GAAG2d,GAAQA,EAAO,SAAS,YAAY,CAAC,IAAMpc,EAAMoc,EAAO,KAAK,CAAC,CAACrc,GAAK,GAAGC,EAAM,OAAOA,CAAM,CAAC,EAAOvB,EAAO,QAAS,CAAC,CAAC,SAAS6d,GAAQ,EAAO,CAAC,IAAMC,EAAS,CAAC,EAAE,KAAM9d,GAAO,CAAC,IAAM2d,EAAOC,GAAiB5d,EAAO,IAAI,GAAG2d,EAAO,CAAC,IAAMI,EAAQJ,EAAO,QAAQ,EAAKI,GAAQD,EAAS,KAAKC,CAAO,CAAE,CAAC,EAAO/d,EAAO,QAAS,CAAC,GAAG8d,EAAS,OAAO,EAAE,OAAO,QAAQ,IAAIA,CAAQ,CAAE,CAAC,SAAgBE,GAA0B,EAAO,CAAC,IAAMC,EAAeJ,GAAQ7d,CAAM,EAAE,GAAGie,EAAe,MAAMA,CAAe,C,2CAAvqB,GAAiB,CAAC,UAAU,IAAIziB,OAAc,OAAO,6BAAmB,CAAC,C,OCAs3D,SAAS2iB,EAAqB,EAAU,GAAGC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAuF,OAArFD,GAAU,QAAQ,GAASE,GAAS,OAAO,OAAOD,EAAcE,EAAUD,EAAQ,CAAC,EAASD,CAAc,C,8IAArnB,GAAYniB,GAAS/E,EAAM,EAAQ,GAAe+E,GAAS9E,EAAS,EAAQ,GAAoB8E,GAAS+C,EAAc,EAAQ,GAAW,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAQ,GAAkB,eAAqB,GAAkB,CAAC,UAAU,mBAAmB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,iBAAiB,EAA+L,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQ,IAAY,CAAC,QAAM,cAAY,CAAC,IAAMugB,EAAOnoB,EAAiBiD,EAAmB,EAAQmlB,EAAWle,GAAOie,EAAO,WAAiBE,EAAapoB,OAAmB,CAAC,GAAGkoB,EAAO,YAAU,GAAG,CAAC,KAAK,UAAUC,CAAU,CAAC,CAAC,EAAE,MAAoB,gBAAKnlB,GAAoB,SAAS,CAAC,MAAMolB,EAAsB,UAAQ,CAAC,CAAE,EAAQ,GAAwB,CAAC,UAAU,YAAY,WAAW,YAAY,kBAAkB,YAAY,aAAa,YAAY,mBAAmB,YAAY,cAAc,WAAW,EAAQ,GAASllB,EAAO,OAAOjD,CAAc,EAAQ,IAAU,CAAC,SAAO,KAAG,QAAM,GAAG8H,MAAgB,CAAC,GAAGA,EAAM,QAAQ2f,GAAwB3f,EAAM,UAAUA,EAAM,SAAS,WAAW,GAAU,IAAwB,EAAM,IAAeA,EAAM,iBAAwB+e,EAAS,KAAK,GAAG,EAAE/e,EAAM,iBAAwB+e,EAAS,KAAK,GAAG,EAAU,GAAuB,gBAAiB,SAAS,EAAM,EAAI,CAAC,IAAMuB,EAAYnoB,EAAO,IAAI,EAAQooB,EAAW1W,GAAKyW,EAAkBE,EAAgBpoB,EAAY,EAAO,CAAC,eAAa,gBAAc,aAAW6D,GAAc,EAAQwkB,EAAkBjkB,GAAqB,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,GAAG4f,GAAWyD,GAAS7f,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,kBAAgB,aAAW,aAAUnE,GAAgB,CAAC,cAAW,eAAe,YAAY,IAAI0kB,EAAW,UAAQ,oBAAiB,CAAC,EAAQG,EAAiBZ,GAAuB9f,EAAM+e,EAAQ,EAA0G4B,EAAkBrkB,GAAGijB,GAAhGlnB,GAAsBC,GAAuBC,EAA6F,EAAEomB,GAA0Bve,CAAY,EAAE,IAAMwgB,OAAiB,EAAG,CAAC,YAAY,YAAY,YAAY,WAAW,CAAC,CAAC,SAASC,CAAW,EAAkC,CAAC,wBAAsB,SAAO3kB,GAAyB2kB,CAAW,EAAQC,EAAYC,EAAsB,MAAM,GAAGC,IAAO,CAACC,EAAW,WAAW,CAAE,CAAC,EAAQC,GAAaH,EAAsB,MAAM,GAAGC,IAAO,CAACC,EAAW,WAAW,CAAE,CAAC,EAAQE,GAAYJ,EAAsB,MAAM,GAAGC,IAAO,CAACC,EAAW,WAAW,CAAE,CAAC,EAAQG,GAAaL,EAAsB,MAAM,GAAGC,IAAO,CAACC,EAAW,WAAW,CAAE,CAAC,EAAE,MAAoB,gBAAKlmB,EAAY,CAAC,GAAGsmB,GAAUb,EAAgB,SAAsB,gBAAKZ,GAAS,CAAC,QAAQb,GAAS,QAAQ,GAAM,SAAsB,gBAAKW,GAAW,CAAC,MAAMD,GAAY,SAAsB,gBAAMtkB,EAAO,IAAI,CAAC,GAAGihB,EAAU,GAAGkF,EAAgB,UAAUhlB,GAAGqkB,EAAkB,gBAAgBrE,EAAUiF,CAAU,EAAE,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,IAAIhB,EAAW,MAAM,CAAC,gBAAgB,mBAAmB,GAAG3iB,CAAK,EAAE,SAAS,CAAC,UAAU,CAAC,gBAAgB,kBAAkB,EAAE,UAAU,CAAC,gBAAgB,mDAAmD,EAAE,UAAU,CAAC,gBAAgB,oBAAoB,EAAE,UAAU,CAAC,gBAAgB,oBAAoB,EAAE,UAAU,CAAC,gBAAgB,oBAAoB,CAAC,EAAE,GAAGkhB,EAAqB,CAAC,UAAU,CAAC,mBAAmB,YAAY,EAAE,UAAU,CAAC,mBAAmB,iBAAiB,EAAE,UAAU,CAAC,mBAAmB,UAAU,EAAE,UAAU,CAAC,mBAAmB,aAAa,EAAE,UAAU,CAAC,mBAAmB,kBAAkB,CAAC,EAAE+B,EAAYW,CAAc,EAAE,SAAS,CAAc,gBAAMrmB,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,SAAS,CAAc,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,gBAAKxD,GAAO,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI6lB,EAAkB,KAAKoD,CAAa,GAAG,2BAA2B,IAAI,OAAO,QAAQ3lB,GAA2B2kB,GAAmB,GAAG,GAAG,KAAKA,GAAmB,QAAQ,KAAK,KAAK,CAAC,EAAE,YAAY,IAAI,WAAW,IAAI,MAAM,QAAQ,IAAI,yFAAyF,EAAE,UAAU,gCAAgC,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,GAAG3B,EAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAIT,EAAkB,KAAKoD,CAAa,GAAG,2BAA2B,IAAI,OAAO,QAAQ3lB,GAA2B2kB,GAAmB,GAAG,GAAG,EAAE,EAAE,YAAY,IAAI,WAAW,IAAI,MAAM,QAAQ,IAAI,yFAAyF,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,IAAIpC,EAAkB,KAAKoD,CAAa,GAAG,2BAA2B,IAAI,OAAO,QAAQ3lB,GAA2B2kB,GAAmB,GAAG,GAAG,EAAE,EAAE,YAAY,IAAI,WAAW,IAAI,MAAM,QAAQ,IAAI,yFAAyF,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,IAAIpC,EAAkB,KAAKoD,CAAa,GAAG,2BAA2B,IAAI,OAAO,QAAQ3lB,GAA2B2kB,GAAmB,GAAG,GAAG,KAAKA,GAAmB,QAAQ,KAAK,KAAK,CAAC,EAAE,YAAY,IAAI,WAAW,IAAI,MAAM,QAAQ,IAAI,0FAA0F,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,IAAIpC,EAAkB,KAAKoD,CAAa,GAAG,2BAA2B,IAAI,OAAO,QAAQ3lB,GAA2B2kB,GAAmB,GAAG,GAAG,EAAE,EAAE,YAAY,IAAI,WAAW,IAAI,MAAM,QAAQ,IAAI,0FAA0F,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,IAAIpC,EAAkB,KAAKoD,CAAa,GAAG,2BAA2B,IAAI,OAAO,QAAQ3lB,GAA2B2kB,GAAmB,GAAG,GAAG,EAAE,EAAE,YAAY,IAAI,WAAW,IAAI,MAAM,QAAQ,IAAI,0FAA0F,CAAC,CAAC,EAAEI,EAAYW,CAAc,CAAC,CAAC,CAAC,CAAC,EAAEZ,GAAY,GAAgB,gBAAKzlB,EAAO,IAAI,CAAC,aAAa,UAAU,UAAU,gBAAgB,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,GAAG2jB,EAAqB,CAAC,UAAU,CAAC,iBAAiB,GAAK,MAAMgC,CAAW,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAMK,EAAW,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAMD,EAAY,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAME,EAAY,CAAC,EAAEP,EAAYW,CAAc,EAAE,SAAsB,gBAAKplB,GAAS,CAAC,SAAS,GAAK,UAAU,gBAAgB,UAAU3D,GAAsB,mBAAiB,SAAS,YAAY,MAAM,CAAC,YAAY,qBAAqB,WAAW,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,YAAY,mDAAmD,EAAE,UAAU,CAAC,YAAY,mDAAmD,CAAC,EAAE,GAAGqmB,EAAqB,CAAC,UAAU,CAAC,UAAUpmB,EAAC,EAAE,UAAU,CAAC,UAAUA,EAAC,CAAC,EAAEmoB,EAAYW,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAMrmB,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,SAAS,CAAc,gBAAMA,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,SAAS,CAAc,gBAAKS,EAAS,CAAC,sBAAsB,GAAK,SAASyiB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,QAAQ,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAG2jB,EAAqB,CAAC,UAAU,CAAC,SAAST,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE0lB,EAAYW,CAAc,CAAC,CAAC,EAAe,gBAAK5lB,EAAS,CAAC,sBAAsB,GAAK,SAASyiB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,WAAW,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAG2jB,EAAqB,CAAC,UAAU,CAAC,SAAST,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE0lB,EAAYW,CAAc,CAAC,CAAC,EAAe,gBAAK5lB,EAAS,CAAC,sBAAsB,GAAK,SAASyiB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,QAAQ,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAG2jB,EAAqB,CAAC,UAAU,CAAC,SAAST,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE0lB,EAAYW,CAAc,CAAC,CAAC,EAAe,gBAAK5lB,EAAS,CAAC,sBAAsB,GAAK,SAASyiB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,aAAa,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAG2jB,EAAqB,CAAC,UAAU,CAAC,SAAST,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE0lB,EAAYW,CAAc,CAAC,CAAC,EAAe,gBAAK5lB,EAAS,CAAC,sBAAsB,GAAK,SAASyiB,EAAkB,KAAKoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,WAAW,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAG2jB,EAAqB,CAAC,UAAU,CAAC,SAAST,EAAkB,MAAMoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,MAAMoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,MAAMoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE0lB,EAAYW,CAAc,CAAC,CAAC,EAAe,gBAAK5lB,EAAS,CAAC,sBAAsB,GAAK,SAASyiB,EAAkB,MAAMoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,UAAU,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAG2jB,EAAqB,CAAC,UAAU,CAAC,SAAST,EAAkB,MAAMoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,MAAMoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAASkjB,EAAkB,MAAMoD,CAAa,GAAgB,gBAAKvpB,EAAe,CAAC,SAAsB,gBAAKiD,EAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,EAAE,SAAsB,gBAAKa,EAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,gBAAKb,EAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE0lB,EAAYW,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAKnlB,GAA0B,CAAC,SAAsB,gBAAKf,EAA8B,CAAC,UAAU,0BAA0B,mBAAmB,SAAS,iBAAiB,GAAK,iBAAiB,GAAsB,mBAAiB,SAAS,sBAAsB,KAAK,SAAS,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,gBAAKxD,GAAO,CAAC,gBAAgB,CAAC,gBAAgB,qBAAqB,WAAW,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,OAAO,UAAU,qBAAqB,SAAS,GAAG,SAAS,UAAU,GAAG,YAAY,aAAa,CAAC,gBAAgB,QAAQ,gBAAgB,OAAO,YAAY,YAAY,YAAY,CAAC,UAAU,sBAAsB,SAAS,GAAG,SAAS,SAAS,EAAE,UAAU,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,qBAAqB,gBAAgB,WAAW,EAAE,UAAU,iBAAiB,EAAE,SAAS,YAAY,aAAa,CAAC,gBAAgB,qBAAqB,aAAa,GAAG,eAAe,GAAK,iBAAiB,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAE,WAAW,YAAY,OAAO,CAAC,KAAK,GAAG,MAAM,qBAAqB,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,KAAK,SAAS,cAAc,CAAC,SAAS,YAAY,gBAAgB,CAAC,cAAc,qBAAqB,aAAa,CAAC,EAAE,aAAa,MAAM,EAAE,WAAW,kBAAkB,UAAU,CAAC,EAAE,UAAU,IAAI,EAAE,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,MAAM,OAAO,GAAGgnB,EAAqB,CAAC,UAAU,CAAC,UAAU,mDAAmD,EAAE,UAAU,CAAC,UAAU,mDAAmD,EAAE,UAAU,CAAC,UAAU,mDAAmD,CAAC,EAAE+B,EAAYW,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,gBAAMrmB,EAAO,IAAI,CAAC,UAAU,gBAAgB,cAAc,GAAK,mBAAmB,WAA4B,mBAAiB,SAAS,YAAY,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,4BAA4B,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,MAAM,uBAAuB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,iBAAiB,mDAAmD,EAAE,UAAU,CAAC,iBAAiB,mDAAmD,EAAE,UAAU,CAAC,iBAAiB,mDAAmD,CAAC,EAAE,SAAS,CAAc,gBAAKpD,GAAU,CAAC,SAAS,GAAK,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,MAAM,CAAC,YAAY,qBAAqB,WAAW,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,YAAY,mDAAmD,EAAE,UAAU,CAAC,YAAY,mDAAmD,EAAE,UAAU,CAAC,YAAY,mDAAmD,CAAC,CAAC,CAAC,EAAe,gBAAKsE,GAA0B,CAAC,SAAsB,gBAAKf,EAA8B,CAAC,UAAU,2BAA2B,mBAAmB,kBAAkB,iBAAiB,GAAK,iBAAiB,GAAsB,mBAAiB,SAAS,sBAAsB,KAAK,kBAAkB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,gBAAKsE,GAAe,CAAC,MAAM,CAAC,MAAM,qBAAqB,KAAK,GAAG,KAAK,SAAS,EAAE,UAAU,mBAAmB,KAAK,CAAC,WAAW,yEAAyE,SAAS,OAAO,UAAU,SAAS,WAAW,IAAI,cAAc,MAAM,WAAW,OAAO,EAAE,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,KAAK,kBAAkB,QAAQ,CAAC,MAAM,CAAC,MAAM,mBAAmB,OAAO,EAAE,MAAM,QAAQ,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,EAAI,EAAE,QAAQ,MAAM,OAAO,MAAM,UAAU,qBAAqB,MAAM,OAAO,GAAGkf,EAAqB,CAAC,UAAU,CAAC,UAAU,mDAAmD,EAAE,UAAU,CAAC,UAAU,mDAAmD,EAAE,UAAU,CAAC,UAAU,mDAAmD,CAAC,EAAE+B,EAAYW,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQ7oB,GAAI,CAAC,kFAAkF,0SAA0S,6PAA6P,uHAAuH,mQAAmQ,8FAA8F,iQAAiQ,iQAAiQ,yQAAyQ,wGAAwG,+RAA+R,+FAA+F,yGAAyG,4QAA4Q,4MAA4M,+TAA+T,mSAAmS,8PAA8P,GAAGC,GAAgB,GAAGC,GAAiB,GAAGC,GAAiB,sdAAsd,EAUx1/B,GAAgByC,EAAQwkB,GAAUpnB,GAAI,cAAc,EAAiC,GAAgB,YAAY,aAAa,GAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,EAAE4D,GAAoB0jB,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,UAAU,WAAW,aAAa,cAAc,kBAAkB,kBAAkB,EAAE,MAAM,UAAU,KAAKxjB,EAAY,IAAI,CAAC,CAAC,EAAEd,GAASskB,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,uBAAuB,OAAO,SAAS,MAAM,SAAS,aAAa,uBAAuB,IAAI,2GAA2G,OAAO,KAAK,CAAC,CAAC,EAAE,GAAGd,GAAY,GAAGC,GAAe,GAAGC,GAAoB,GAAGjkB,EAAwBrC,EAAiB,EAAE,GAAGqC,EAAwBpC,EAAkB,EAAE,GAAGoC,EAAwBnC,EAAkB,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,C,wDCVhrFwC,EAAU,UAAU,CAAC,kCAAkC,6BAA6B,CAAC,EAAevC,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,uBAAuB,SAAS,GAAK,OAAO,SAAS,MAAM,SAAS,aAAa,uBAAuB,IAAI,uGAAuG,OAAO,KAAK,EAAE,CAAC,cAAc,uBAAuB,SAAS,GAAK,OAAO,SAAS,MAAM,SAAS,aAAa,uBAAuB,IAAI,2GAA2G,OAAO,KAAK,CAAC,CAAC,CAAC,EAAeC,GAAI,CAAC,06BAAk7B,EAAeC,GAAU,c,wDCA1kDqC,EAAU,UAAU,CAAC,6BAA6B,CAAC,EAAe,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,uBAAuB,SAAS,GAAK,OAAO,SAAS,MAAM,SAAS,aAAa,uBAAuB,IAAI,2GAA2G,OAAO,KAAK,CAAC,CAAC,CAAC,EAAe,GAAI,CAAC,wwBAA4wB,EAAe,GAAU,c"}