{"version":3,"file":"ThemeToggle.BPEJhSbT.mjs","names":["Cookies","useState","useRef","_Fragment","Image"],"sources":["https:/framerusercontent.com/modules/tWxPGoauEDGvb60hKQfR/P8RtFxHSB1jdYdF6Os86/ThemeToggle.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,Image}from\"framer\";import{motion}from\"framer-motion\";import{useState,useEffect,useRef}from\"react\";import Cookies from\"js-cookie\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";// Sun and moon icons from tabler-icons.io\nconst THEME_ATTRIBUTE=\"framestack-theme\";const COOKIE_NAME=\"framestack-theme\";const STYLE_ID=\"framestack-theme-toggle\";const SIGNAL_NAME=\"framestack-theme-changed\";const THEMES=[\"light\",\"dark\",\"deviceTheme\"];const useThemeStore=createStore(\"deviceTheme\");function extractBodySection(inputString){const searchStr=\"body{\";const startIndex=inputString.indexOf(searchStr);if(startIndex!==-1){const endIndex=inputString.indexOf(\"}\",startIndex+searchStr.length);if(endIndex!==-1){const bodySection=inputString.substring(startIndex+searchStr.length,endIndex);return bodySection;}}return null// Return null if \"body{\" or \"}\" is not found\n;}function makeBorderStyle(border){return border?{borderWidth:border.widthIsMixed?`${border.widthTop}px ${border.widthRight}px ${border.widthBottom}px ${border.widthLeft}px`:`${border.width}px`,borderStyle:border.style,borderColor:border.color}:[];}/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerDisableUnlink\n */export default function ThemeToggle(props){const{toggle,dropdown,dropdownOptions,icons,transition}=props;let isPreview=false;let initialTheme=props.defaultTheme;if(typeof document!==\"undefined\"){if(document.body.hasAttribute(\"data-framer-theme\")){if(initialTheme==\"deviceTheme\"){initialTheme=document.body.getAttribute(\"data-framer-theme\");}isPreview=true;}else if(document.body.hasAttribute(THEME_ATTRIBUTE)){initialTheme=document.body.getAttribute(THEME_ATTRIBUTE);}else if(props.saveTheme){const storedTheme=Cookies.get(COOKIE_NAME);if(THEMES.includes(storedTheme)){initialTheme=storedTheme;}}}let deviceTheme=\"light\";if(isPreview&&document.body.hasAttribute(\"data-framer-theme\")){deviceTheme=document.body.getAttribute(\"data-framer-theme\");}else if(typeof window!=\"undefined\"&&window?.matchMedia){deviceTheme=window.matchMedia(\"(prefers-color-scheme: dark)\").matches?\"dark\":\"light\";}const[theme,setTheme]=useThemeStore();const[activeTheme,setActiveTheme]=useState(initialTheme==\"deviceTheme\"?deviceTheme:initialTheme)// light or dark\n;const[originalPreviewTheme,setOriginalPreviewTheme]=useState(initialTheme);const themeRef=useRef(theme);const selectRef=useRef(null);function changeTheme(newTheme){let newActiveTheme=newTheme;if(newTheme==\"deviceTheme\"){if(isPreview){newActiveTheme=originalPreviewTheme;}else{newActiveTheme=deviceTheme;}}setTheme(newTheme);setActiveTheme(newActiveTheme);if(isPreview){document.body.setAttribute(\"data-framer-theme\",newActiveTheme);}document.body.setAttribute(THEME_ATTRIBUTE,newTheme);document.documentElement.setAttribute(THEME_ATTRIBUTE,newTheme);if(props.saveTheme){Cookies.set(COOKIE_NAME,newTheme,{expires:365})// Expires in 1 year\n;}window.dispatchEvent(new CustomEvent(SIGNAL_NAME));}function toggleTheme(){const newActiveTheme=activeTheme==\"light\"?\"dark\":\"light\";if(props.resetToDeviceTheme){changeTheme(newActiveTheme==deviceTheme?\"deviceTheme\":newActiveTheme);}else{changeTheme(newActiveTheme);}}function onSelectChange(){if(selectRef.current){changeTheme(THEMES[selectRef.current.selectedIndex]);}}const handleThemeChange=event=>{if(themeRef.current==\"deviceTheme\"){setActiveTheme(event.matches?\"dark\":\"light\");}};useEffect(()=>{themeRef.current=theme// Update the ref whenever the theme state changes\n;if(theme==\"deviceTheme\"){if(isPreview){setActiveTheme(originalPreviewTheme);}else{setActiveTheme(deviceTheme);}}else{setActiveTheme(theme);}},[theme]);useEffect(()=>{if(initialTheme!=theme){changeTheme(initialTheme);}// const themeAttr = document.body.getAttribute(THEME_ATTRIBUTE)\n// if (themeAttr) {\n//     changeTheme(themeAttr)\n// }\nconst mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");mediaQuery.addEventListener(\"change\",handleThemeChange);if(!isPreview){let generateStyle=true;// Check if <head> already has theme attribute\nconst headElement=document.querySelector(\"head\");if(headElement){if(headElement.querySelector(`style#${STYLE_ID}`)){generateStyle=false;}}// Generate <style> with color styles\nif(generateStyle){let style=document.querySelector(\"style[data-framer-css-ssr]\")??document.querySelector(\"style[data-framer-css-ssr-minified]\");if(style&&style?.textContent){const styleText=style.textContent;let darkLocation=styleText.indexOf(\"@media (prefers-color-scheme: dark){body{--token\");if(darkLocation===-1){darkLocation=styleText.indexOf(\"@media (prefers-color-scheme:dark){body{--token\");}if(darkLocation!==-1){var styleElement=document.createElement(\"style\");styleElement.id=STYLE_ID;styleElement.textContent=`body[${THEME_ATTRIBUTE}=\"light\"] {${extractBodySection(styleText)}} body[${THEME_ATTRIBUTE}=\"dark\"] {${extractBodySection(styleText.substring(darkLocation))}} ${props.setColorScheme?`html {color-scheme: light dark; } html[${THEME_ATTRIBUTE}=\"light\"] { color-scheme: light; } html[${THEME_ATTRIBUTE}=\"dark\"] { color-scheme: dark; } `:\"\"}`;document.head.appendChild(styleElement);}}}}return()=>mediaQuery.removeEventListener(\"change\",handleThemeChange);},[]);switch(props.componentStyle){case\"toggle\":const{height,padding,shadow}=toggle;return /*#__PURE__*/_jsxs(motion.div,{onClick:toggleTheme,style:{position:\"relative\",minHeight:height,minWidth:height*2-padding*2,backgroundColor:toggle.fill,padding:padding,borderRadius:toggle.radius,color:icons?.color,cursor:\"pointer\",...props.style},layout:false,whileHover:{color:icons?.hoverColor||icons?.color},initial:false,transition:transition,children:[props.border&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,boxSizing:\"border-box\",borderRadius:toggle.radius,...makeBorderStyle(props.border)}}),/*#__PURE__*/_jsx(motion.div,{style:{position:\"absolute\",height:height-padding*2,aspectRatio:1,[activeTheme==\"light\"?\"left\":\"right\"]:padding,backgroundColor:toggle.switch,borderRadius:toggle.radius-padding,boxShadow:shadow?`${shadow.x}px ${shadow.y}px ${shadow.blur}px ${shadow.spread}px ${shadow.color}`:\"none\",boxSizing:\"border-box\",...makeBorderStyle(toggle.switchBorder)},layout:true,initial:false,transition:transition,children:icons&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0},children:/*#__PURE__*/_jsx(Icon,{theme:activeTheme,style:{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\"},...icons})})})]});case\"dropdown\":const{showDeviceTheme}=dropdownOptions;const themeTitles={light:dropdownOptions.lightText,dark:dropdownOptions.darkText,deviceTheme:dropdownOptions.deviceThemeText};return /*#__PURE__*/_jsxs(motion.div,{style:{display:\"flex\",flexDirection:\"row\",gap:dropdown.gap,alignItems:\"center\",justifyContent:\"space-between\",backgroundColor:dropdown.fill,color:dropdown.fontColor,borderRadius:dropdown.radiusIsMixed?`${dropdown.radiusTopLeft}px ${dropdown.radiusTopRight}px ${dropdown.radiusBottomRight}px ${dropdown.radiusBottomLeft}px`:`${dropdown.radius}px`,padding:dropdown.paddingIsMixed?`${dropdown.paddingTopLeft}px ${dropdown.paddingTopRight}px ${dropdown.paddingBottomRight}px ${dropdown.paddingBottomLeft}px`:`${dropdown.padding}px`,userSelect:\"none\",boxSizing:\"border-box\",cursor:\"pointer\",\"--icon-color\":icons?.color,...makeBorderStyle(props.border),...dropdown.font,...props.style},whileHover:{color:dropdown.fontColorHover||dropdown.fontColor,\"--icon-color\":icons?.hoverColor||icons?.color},initial:false,transition:transition,children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"row\",alignItems:\"center\",gap:dropdown.gap,textWrap:props.style?.width==\"100%\"?\"wrap\":\"nowrap\"},children:[icons&&/*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},children:/*#__PURE__*/_jsx(Icon,{theme:activeTheme,...props.icons,style:{color:\"var(--icon-color)\"}})}),!showDeviceTheme&&theme==\"deviceTheme\"?themeTitles[deviceTheme]:themeTitles[theme]]}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\",color:dropdown.arrow},children:dropdown.arrow&&/*#__PURE__*/_jsx(Icon,{theme:\"arrow\",size:18})}),/*#__PURE__*/_jsxs(\"select\",{ref:selectRef,name:\"theme\",onChange:onSelectChange,style:{position:\"absolute\",inset:0,opacity:0},children:[/*#__PURE__*/_jsx(\"option\",{value:\"light\",selected:theme==\"light\"||!showDeviceTheme&&deviceTheme==\"light\",children:themeTitles.light}),/*#__PURE__*/_jsx(\"option\",{value:\"dark\",selected:theme==\"dark\"||!showDeviceTheme&&deviceTheme==\"dark\",children:themeTitles.dark}),showDeviceTheme&&/*#__PURE__*/_jsx(\"option\",{value:\"deviceTheme\",selected:theme==\"deviceTheme\",children:themeTitles.deviceTheme})]})]});case\"custom\":return /*#__PURE__*/_jsx(\"div\",{onClick:toggleTheme,children:activeTheme==\"light\"?props.customLight:props.customDark});}}ThemeToggle.displayName=\"Theme Toggle\";const borderControls={color:{type:ControlType.Color,defaultValue:\"#222\"},width:{type:ControlType.FusedNumber,defaultValue:1,toggleKey:\"widthIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"widthTop\",\"widthRight\",\"widthBottom\",\"widthLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},style:{type:ControlType.Enum,defaultValue:\"solid\",options:[\"solid\",\"dashed\",\"dotted\",\"double\"],optionTitles:[\"Solid\",\"Dashed\",\"Dotted\",\"Double\"]}};const toggleShadowDefault={color:\"rgba(0, 0, 0, 0.2)\",x:0,y:2,blur:4,spread:0};const iconsDefault={type:\"default\",color:\"#333333\",size:18,opacity:1};addPropertyControls(ThemeToggle,{defaultTheme:{type:ControlType.Enum,defaultValue:\"deviceTheme\",options:[\"deviceTheme\",\"light\",\"dark\"],optionTitles:[\"Device Theme\",\"Light\",\"Dark\"],title:\"Default\"},saveTheme:{type:ControlType.Boolean,defaultValue:true,title:\"Save Cookie\"},componentStyle:{type:ControlType.Enum,defaultValue:\"toggle\",options:[\"toggle\",\"dropdown\",\"custom\"],optionTitles:[\"Toggle\",\"Dropdown\",\"Custom\"],title:\"Style\"},toggle:{type:ControlType.Object,buttonTitle:\"Options\",icon:\"boolean\",controls:{height:{type:ControlType.Number,defaultValue:32,min:1,step:1},fill:{type:ControlType.Color,defaultValue:\"#EDEDED\",optional:true},switch:{type:ControlType.Color,defaultValue:\"#FFF\"},switchBorder:{type:ControlType.Object,optional:true,controls:borderControls},shadow:{type:ControlType.Object,defaultValue:toggleShadowDefault,optional:true,controls:{color:{type:ControlType.Color,defaultValue:toggleShadowDefault.color},x:{type:ControlType.Number,defaultValue:toggleShadowDefault.x,displayStepper:true},y:{type:ControlType.Number,defaultValue:toggleShadowDefault.y,displayStepper:true},blur:{type:ControlType.Number,defaultValue:toggleShadowDefault.blur,min:0,displayStepper:true},spread:{type:ControlType.Number,defaultValue:toggleShadowDefault.spread,displayStepper:true}}},padding:{type:ControlType.Number,defaultValue:4,min:0,step:1,displayStepper:true},radius:{type:ControlType.Number,defaultValue:16,min:0}},hidden:props=>props.componentStyle!==\"toggle\"},dropdown:{type:ControlType.Object,buttonTitle:\"Options\",controls:{fill:{type:ControlType.Color,defaultValue:\"#EDEDED\",optional:true},fontColor:{type:ControlType.Color,defaultValue:\"#000\"},fontColorHover:{type:ControlType.Color,optional:true,title:\"Hover Font Color\"},font:{type:\"font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:16,lineHeight:1}},arrow:{type:ControlType.Color,defaultValue:\"rgba(0, 0, 0, 0.5)\",optional:true},gap:{type:ControlType.Number,defaultValue:8,min:0,step:1},padding:{type:ControlType.FusedNumber,defaultValue:8,toggleKey:\"paddingIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"paddingTopLeft\",\"paddingTopRight\",\"paddingBottomRight\",\"paddingBottomLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},radius:{type:ControlType.FusedNumber,defaultValue:10,toggleKey:\"radiusIsMixed\",toggleTitles:[\"All\",\"Individual\"],valueKeys:[\"radiusTopLeft\",\"radiusTopRight\",\"radiusBottomRight\",\"radiusBottomLeft\"],valueLabels:[\"TL\",\"TR\",\"BR\",\"BL\"],min:0}},hidden:props=>props.componentStyle!==\"dropdown\"},dropdownOptions:{type:ControlType.Object,title:\"Options\",buttonTitle:\"Options\",// buttonTitle: \"Options\",\ncontrols:{showDeviceTheme:{type:ControlType.Boolean,defaultValue:true},deviceThemeText:{type:ControlType.String,defaultValue:\"Device Theme\",hidden:props=>!props.showDeviceTheme},lightText:{type:ControlType.String,defaultValue:\"Light\"},darkText:{type:ControlType.String,defaultValue:\"Dark\"}},hidden:props=>props.componentStyle!==\"dropdown\"},icons:{type:ControlType.Object,defaultValue:iconsDefault,optional:true,controls:{type:{type:ControlType.Enum,defaultValue:\"default\",options:[\"default\",\"svg\",\"image\"],optionTitles:[\"Default\",\"SVG\",\"Image\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},lightSvg:{type:ControlType.String,placeholder:\"<svg></svg>\",displayTextArea:true,title:\"Light SVG\",hidden:props=>props.type!=\"svg\"},darkSvg:{type:ControlType.String,placeholder:\"<svg></svg>\",displayTextArea:true,title:\"Dark SVG\",hidden:props=>props.type!=\"svg\"},lightImage:{type:ControlType.ResponsiveImage,title:\"Light\",hidden:props=>props.type!=\"image\"},darkImage:{type:ControlType.ResponsiveImage,title:\"Dark\",hidden:props=>props.type!=\"image\"},sizing:{type:ControlType.Enum,defaultValue:\"cover\",options:[\"fill\",\"fit\",\"stretch\"],optionTitles:[\"Fill\",\"Fit\",\"Stretch\"],hidden:props=>props.type!=\"image\"},color:{type:ControlType.Color,defaultValue:iconsDefault.color,hidden:props=>props.type!=\"default\"&&props.type!=\"svg\"},hoverColor:{type:ControlType.Color,optional:true,hidden:props=>props.type!=\"default\"&&props.type!=\"svg\"},size:{type:ControlType.Number,defaultValue:iconsDefault.size,min:1,step:1,displayStepper:true},opacity:{type:ControlType.Number,defaultValue:1,min:0,max:1,step:.01}},hidden:props=>props.componentStyle==\"custom\"},border:{type:ControlType.Object,optional:true,controls:borderControls,hidden:props=>props.componentStyle==\"custom\"},customLight:{type:ControlType.ComponentInstance,title:\"Light\",hidden:props=>props.componentStyle!==\"custom\"},customDark:{type:ControlType.ComponentInstance,title:\"Dark\",hidden:props=>props.componentStyle!==\"custom\"},resetToDeviceTheme:{type:ControlType.Boolean,defaultValue:true,// description:\n//     \"Uses the device theme when the toggle is switched to the current device theme.\",\nhidden:props=>props.componentStyle!==\"toggle\"},setColorScheme:{type:ControlType.Boolean,defaultValue:true,title:\"Theme Scroll Bars\"},transition:{type:ControlType.Transition,hidden:props=>props.type==\"custom\"}});function Icon(props){const{theme,type,size,lightSvg,darkSvg,lightImage,darkImage,sizing,opacity,style={}}=props;switch(type){case\"svg\":if(theme==\"light\"&&!lightSvg.length||theme==\"dark\"&&!darkSvg.length){return /*#__PURE__*/_jsx(\"div\",{});}return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"div\",{className:\"theme-toggle-icon\",style:{width:size,height:size,opacity,pointerEvents:\"none\",...style},dangerouslySetInnerHTML:{__html:(theme==\"light\"?lightSvg:darkSvg).replace(/width=\"(\\d+)\"/,`width=\"${size}\"`).replace(/height=\"(\\d+)\"/,`width=\"${size}\"`)}}),/*#__PURE__*/_jsx(\"style\",{children:`.theme-toggle-icon svg { display: block; }`})]});case\"image\":return /*#__PURE__*/_jsx(Image,{background:{fit:sizing,...theme==\"light\"?lightImage:darkImage},style:{opacity,width:size,height:size,...style}});case\"default\":return /*#__PURE__*/_jsxs(\"svg\",{xmlns:\"http://www.w3.org/2000/svg\",width:size,height:size,viewBox:\"0 0 24 24\",strokeWidth:\"2\",stroke:\"currentColor\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{opacity,...style},children:[/*#__PURE__*/_jsx(\"path\",{stroke:\"none\",d:\"M0 0h24v24H0z\",fill:\"none\"}),theme==\"light\"?[/*#__PURE__*/_jsx(\"path\",{d:\"M12 19a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z\",strokeWidth:\"0\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M18.313 16.91l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.218 -1.567l.102 .07z\",strokeWidth:\"0\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M7.007 16.993a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z\",strokeWidth:\"0\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M4 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z\",strokeWidth:\"0\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M21 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z\",strokeWidth:\"0\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M6.213 4.81l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.217 -1.567l.102 .07z\",strokeWidth:\"0\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M19.107 4.893a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z\",strokeWidth:\"0\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 2a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z\",strokeWidth:\"0\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 7a5 5 0 1 1 -4.995 5.217l-.005 -.217l.005 -.217a5 5 0 0 1 4.995 -4.783z\",strokeWidth:\"0\",fill:\"currentColor\"})]:theme==\"dark\"?/*#__PURE__*/_jsx(\"path\",{d:\"M12 1.992a10 10 0 1 0 9.236 13.838c.341 -.82 -.476 -1.644 -1.298 -1.31a6.5 6.5 0 0 1 -6.864 -10.787l.077 -.08c.551 -.63 .113 -1.653 -.758 -1.653h-.266l-.068 -.006l-.06 -.002z\",strokeWidth:\"0\",fill:\"currentColor\"}):// Arrow\n/*#__PURE__*/_jsx(\"path\",{d:\"M6 9l6 6l6 -6\"})]});}}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ThemeToggle\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ThemeToggle.map"],"mappings":"+UAC+P,SAAS,EAAmB,EAAY,CAAyB,IAAM,EAAW,EAAY,QAAQ,OAAS,EAAE,GAAG,IAAa,GAAG,CAAC,IAAM,EAAS,EAAY,QAAQ,IAAI,EAAW,CAAgB,EAAE,GAAG,IAAW,GAAkF,OAA5D,EAAY,UAAU,EAAW,EAAiB,CAA2B,CAAG,CAAC,OAAO,IACnkB,CAAC,SAAS,EAAgB,EAAO,CAAC,OAAO,EAAO,CAAC,YAAY,EAAO,aAAa,GAAG,EAAO,SAAS,KAAK,EAAO,WAAW,KAAK,EAAO,YAAY,KAAK,EAAO,UAAU,IAAI,GAAG,EAAO,MAAM,IAAI,YAAY,EAAO,MAAM,YAAY,EAAO,KAAK,EAAE,CAAC,CAAE,CAIrP,SAAwB,EAAY,EAAM,CAAC,GAAK,CAAC,SAAO,WAAS,kBAAgB,QAAM,cAAY,EAAU,EAAU,GAAU,EAAa,EAAM,aAAa,GAAG,OAAO,SAAW,QAAgB,SAAS,KAAK,aAAa,mBAAmB,EAAM,GAAc,gBAAe,EAAa,SAAS,KAAK,aAAa,mBAAmB,GAAG,EAAU,QAAW,GAAG,SAAS,KAAK,aAAa,CAAe,EAAG,EAAa,SAAS,KAAK,aAAa,CAAe,OAAQ,GAAG,EAAM,UAAU,CAAC,IAAM,EAAYA,EAAQ,IAAI,CAAW,EAAK,EAAO,SAAS,CAAW,IAAG,EAAa,EAAa,EAAE,IAAI,EAAY,QAAW,GAAW,SAAS,KAAK,aAAa,mBAAmB,EAAG,EAAY,SAAS,KAAK,aAAa,mBAAmB,EAAkB,IAAQ,QAAa,GAAQ,aAAY,EAAY,EAAO,WAAW,8BAA8B,CAAC,CAAC,QAAQ,OAAO,SAAS,GAAK,CAAC,EAAM,GAAU,EAAc,EAAO,CAAC,EAAY,GAAgBC,EAAS,GAAc,cAAc,EAAY,CAAY,EACz/B,CAAC,EAAqB,GAAyBA,EAAS,CAAY,EAAQ,EAASC,EAAO,CAAK,EAAQ,EAAUA,EAAO,IAAI,EAAE,SAAS,EAAY,EAAS,CAAC,IAAI,EAAe,EAAY,GAAU,gBAAe,AAAwD,EAArD,EAA0B,EAA0C,GAAc,EAAS,CAAQ,EAAE,EAAe,CAAc,EAAK,GAAW,SAAS,KAAK,aAAa,oBAAoB,CAAc,EAAG,SAAS,KAAK,aAAa,EAAgB,CAAQ,EAAE,SAAS,gBAAgB,aAAa,EAAgB,CAAQ,EAAK,EAAM,WAAW,EAAQ,IAAI,EAAY,EAAS,CAAC,QAAQ,GAAG,CAAC,EACvmB,EAAO,cAAc,IAAI,YAAY,CAAW,CAAC,CAAE,CAAC,SAAS,GAAa,CAAC,IAAM,EAAe,GAAa,QAAQ,OAAO,QAAW,EAAM,mBAAoB,EAAY,GAAgB,EAAY,cAAc,CAAc,EAAQ,EAAY,CAAc,CAAG,CAAC,SAAS,GAAgB,CAAI,EAAU,SAAS,EAAY,EAAO,EAAU,QAAQ,cAAc,CAAG,CAAC,IAAM,EAAkB,GAAO,CAAI,EAAS,SAAS,eAAe,EAAe,EAAM,QAAQ,OAAO,OAAO,CAAG,EAO6e,OAP3e,MAAc,CAAC,EAAS,QAAQ,EAChe,EAApC,GAAO,cAAkB,EAA0B,EAA2C,EAAmC,CAAK,CAAG,EAAE,CAAC,CAAK,CAAC,EAAE,MAAc,CAAI,GAAc,GAAO,EAAY,CAAY,EAIvN,IAAM,EAAW,EAAO,WAAW,8BAA8B,EAA0D,GAAxD,EAAW,iBAAiB,SAAS,CAAiB,EAAK,CAAC,EAAU,CAAC,IAAI,EAAc,GACtJ,EAAY,SAAS,cAAc,MAAM,EAC/C,GADoD,GAAgB,EAAY,cAAc,SAAS,GAAU,IAAG,EAAc,IAC/H,EAAc,CAAC,IAAI,EAAM,SAAS,cAAc,4BAA4B,GAAG,SAAS,cAAc,qCAAqC,EAAE,GAAG,GAAO,GAAO,YAAY,CAAC,IAAM,EAAU,EAAM,YAAgB,EAAa,EAAU,QAAQ,kDAAkD,EAA2G,GAAtG,IAAe,KAAI,EAAa,EAAU,QAAQ,iDAAiD,GAAM,IAAe,GAAG,CAAC,IAAI,EAAa,SAAS,cAAc,OAAO,EAAE,EAAa,GAAG,EAAS,EAAa,YAAY,QAAQ,EAAgB,aAAa,EAAmB,CAAS,EAAE,SAAS,EAAgB,YAAY,EAAmB,EAAU,UAAU,CAAY,CAAC,EAAE,IAAI,EAAM,eAAe,0CAA0C,EAAgB,0CAA0C,EAAgB,mCAAmC,KAAK,SAAS,KAAK,YAAY,CAAY,CAAE,CAAC,CAAC,CAAC,CAAC,UAAU,EAAW,oBAAoB,SAAS,CAAiB,CAAE,EAAE,CAAC,CAAC,EAAS,EAAM,eAAb,CAA6B,IAAI,SAAS,GAAK,CAAC,SAAO,UAAQ,UAAQ,EAAO,OAAoB,EAAM,EAAO,IAAI,CAAC,QAAQ,EAAY,MAAM,CAAC,SAAS,WAAW,UAAU,EAAO,SAAS,EAAO,EAAE,EAAQ,EAAE,gBAAgB,EAAO,KAAa,UAAQ,aAAa,EAAO,OAAO,MAAM,GAAO,MAAM,OAAO,UAAU,GAAG,EAAM,KAAK,EAAE,OAAO,GAAM,WAAW,CAAC,MAAM,GAAO,YAAY,GAAO,KAAK,EAAE,QAAQ,GAAiB,aAAW,SAAS,CAAC,EAAM,QAAqB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,UAAU,aAAa,aAAa,EAAO,OAAO,GAAG,EAAgB,EAAM,MAAM,CAAC,CAAC,CAAC,EAAe,EAAK,EAAO,IAAI,CAAC,MAAM,CAAC,SAAS,WAAW,OAAO,EAAO,EAAQ,EAAE,YAAY,GAAG,GAAa,QAAQ,OAAO,SAAS,EAAQ,gBAAgB,EAAO,OAAO,aAAa,EAAO,OAAO,EAAQ,UAAU,EAAO,GAAG,EAAO,EAAE,KAAK,EAAO,EAAE,KAAK,EAAO,KAAK,KAAK,EAAO,OAAO,KAAK,EAAO,QAAQ,OAAO,UAAU,aAAa,GAAG,EAAgB,EAAO,YAAY,CAAC,EAAE,OAAO,GAAK,QAAQ,GAAiB,aAAW,SAAS,GAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,WAAW,MAAM,CAAC,EAAE,SAAsB,EAAK,EAAK,CAAC,MAAM,EAAY,MAAM,CAAC,SAAS,WAAW,IAAI,MAAM,KAAK,MAAM,UAAU,uBAAuB,EAAE,GAAG,CAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,WAAW,GAAK,CAAC,mBAAiB,EAAsB,EAAY,CAAC,MAAM,EAAgB,UAAU,KAAK,EAAgB,SAAS,YAAY,EAAgB,eAAe,EAAE,OAAoB,EAAM,EAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,MAAM,IAAI,EAAS,IAAI,WAAW,SAAS,eAAe,gBAAgB,gBAAgB,EAAS,KAAK,MAAM,EAAS,UAAU,aAAa,EAAS,cAAc,GAAG,EAAS,cAAc,KAAK,EAAS,eAAe,KAAK,EAAS,kBAAkB,KAAK,EAAS,iBAAiB,IAAI,GAAG,EAAS,OAAO,IAAI,QAAQ,EAAS,eAAe,GAAG,EAAS,eAAe,KAAK,EAAS,gBAAgB,KAAK,EAAS,mBAAmB,KAAK,EAAS,kBAAkB,IAAI,GAAG,EAAS,QAAQ,IAAI,WAAW,OAAO,UAAU,aAAa,OAAO,UAAU,eAAe,GAAO,MAAM,GAAG,EAAgB,EAAM,MAAM,EAAE,GAAG,EAAS,KAAK,GAAG,EAAM,KAAK,EAAE,WAAW,CAAC,MAAM,EAAS,gBAAgB,EAAS,UAAU,eAAe,GAAO,YAAY,GAAO,KAAK,EAAE,QAAQ,GAAiB,aAAW,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,MAAM,WAAW,SAAS,IAAI,EAAS,IAAI,SAAS,EAAM,OAAO,OAAO,OAAO,OAAO,QAAQ,EAAE,SAAS,CAAC,GAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,UAAU,EAAE,SAAsB,EAAK,EAAK,CAAC,MAAM,EAAY,GAAG,EAAM,MAAM,MAAM,CAAC,MAAM,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAiB,GAAO,cAAc,EAAY,GAAa,EAAY,EAAM,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,WAAW,MAAM,EAAS,KAAK,EAAE,SAAS,EAAS,OAAoB,EAAK,EAAK,CAAC,MAAM,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAe,EAAM,SAAS,CAAC,IAAI,EAAU,KAAK,QAAQ,SAAS,EAAe,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAc,EAAK,SAAS,CAAC,MAAM,QAAQ,SAAS,GAAO,SAAS,CAAC,GAAiB,GAAa,QAAQ,SAAS,EAAY,KAAK,CAAC,EAAe,EAAK,SAAS,CAAC,MAAM,OAAO,SAAS,GAAO,QAAQ,CAAC,GAAiB,GAAa,OAAO,SAAS,EAAY,IAAI,CAAC,EAAE,GAA8B,EAAK,SAAS,CAAC,MAAM,cAAc,SAAS,GAAO,cAAc,SAAS,EAAY,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,SAAS,OAAoB,EAAK,MAAM,CAAC,QAAQ,EAAY,SAAS,GAAa,QAAQ,EAAM,YAAY,EAAM,UAAU,CAAC,CAAE,CAAC,CAGxtI,SAAS,EAAK,EAAM,CAAC,GAAK,CAAC,QAAM,OAAK,OAAK,WAAS,UAAQ,aAAW,YAAU,SAAO,UAAQ,QAAM,CAAC,GAAG,EAAM,OAAO,EAAP,CAAa,IAAI,MAA+G,OAAtG,GAAO,SAAS,CAAC,EAAS,QAAQ,GAAO,QAAQ,CAAC,EAAQ,OAA4B,EAAK,MAAM,CAAC,CAAC,EAAuB,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,UAAU,oBAAoB,MAAM,CAAC,MAAM,EAAK,OAAO,EAAK,UAAQ,cAAc,OAAO,GAAG,CAAK,EAAE,wBAAwB,CAAC,QAAQ,GAAO,QAAQ,EAAS,EAAA,CAAS,QAAQ,gBAAgB,UAAU,EAAK,EAAE,CAAC,CAAC,QAAQ,iBAAiB,UAAU,EAAK,EAAE,CAAC,CAAC,CAAC,EAAe,EAAK,QAAQ,CAAC,SAAS,4CAA4C,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,QAAQ,OAAoB,EAAKC,EAAM,CAAC,WAAW,CAAC,IAAI,EAAO,GAAG,GAAO,QAAQ,EAAW,CAAS,EAAE,MAAM,CAAC,UAAQ,MAAM,EAAK,OAAO,EAAK,GAAG,CAAK,CAAC,CAAC,EAAE,IAAI,UAAU,OAAoB,EAAM,MAAM,CAAC,MAAM,6BAA6B,MAAM,EAAK,OAAO,EAAK,QAAQ,YAAY,YAAY,IAAI,OAAO,eAAe,KAAK,OAAO,cAAc,QAAQ,eAAe,QAAQ,MAAM,CAAC,UAAQ,GAAG,CAAK,EAAE,SAAS,CAAc,EAAK,OAAO,CAAC,OAAO,OAAO,EAAE,gBAAgB,KAAK,MAAM,CAAC,EAAE,GAAO,QAAQ,CAAc,EAAK,OAAO,CAAC,EAAE,8FAA8F,YAAY,IAAI,KAAK,cAAc,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,2GAA2G,YAAY,IAAI,KAAK,cAAc,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,kHAAkH,YAAY,IAAI,KAAK,cAAc,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,gFAAgF,YAAY,IAAI,KAAK,cAAc,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,iFAAiF,YAAY,IAAI,KAAK,cAAc,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,yGAAyG,YAAY,IAAI,KAAK,cAAc,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,kHAAkH,YAAY,IAAI,KAAK,cAAc,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,6FAA6F,YAAY,IAAI,KAAK,cAAc,CAAC,EAAe,EAAK,OAAO,CAAC,EAAE,8EAA8E,YAAY,IAAI,KAAK,cAAc,CAAC,CAAC,EAAE,GAAO,OAAoB,EAAK,OAAO,CAAC,EAAE,iLAAiL,YAAY,IAAI,KAAK,cAAc,CAAC,EAC3/F,EAAK,OAAO,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,uCAnB4B,IAA0D,IAAkC,IAA6C,IAA+B,IAAqE,EACrT,EAAgB,mBAAyB,EAAY,mBAAyB,EAAS,0BAAgC,EAAY,2BAAiC,EAAO,CAAC,QAAQ,OAAO,aAAa,EAAQ,EAAc,EAAY,aAAa,EAc+qI,EAAY,YAAY,eAAqB,EAAe,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,aAAa,MAAM,EAAE,MAAM,CAAC,KAAK,EAAY,YAAY,aAAa,EAAE,UAAU,eAAe,aAAa,CAAC,MAAM,YAAY,EAAE,UAAU,CAAC,WAAW,aAAa,cAAc,WAAW,EAAE,YAAY,CAAC,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,KAAK,aAAa,QAAQ,QAAQ,CAAC,QAAQ,SAAS,SAAS,QAAQ,EAAE,aAAa,CAAC,QAAQ,SAAS,SAAS,QAAQ,CAAC,CAAC,EAAQ,EAAoB,CAAC,MAAM,qBAAqB,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,EAAQ,EAAa,CAAC,KAAK,UAAU,MAAM,UAAU,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAoB,EAAY,CAAC,aAAa,CAAC,KAAK,EAAY,KAAK,aAAa,cAAc,QAAQ,CAAC,cAAc,QAAQ,MAAM,EAAE,aAAa,CAAC,eAAe,QAAQ,MAAM,EAAE,MAAM,SAAS,EAAE,UAAU,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,MAAM,aAAa,EAAE,eAAe,CAAC,KAAK,EAAY,KAAK,aAAa,SAAS,QAAQ,CAAC,SAAS,WAAW,QAAQ,EAAE,aAAa,CAAC,SAAS,WAAW,QAAQ,EAAE,MAAM,OAAO,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,YAAY,UAAU,KAAK,UAAU,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAY,MAAM,aAAa,UAAU,SAAS,EAAI,EAAE,OAAO,CAAC,KAAK,EAAY,MAAM,aAAa,MAAM,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,SAAS,GAAK,SAAS,CAAc,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,aAAa,EAAoB,SAAS,GAAK,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,aAAa,EAAoB,KAAK,EAAE,EAAE,CAAC,KAAK,EAAY,OAAO,aAAa,EAAoB,EAAE,eAAe,EAAI,EAAE,EAAE,CAAC,KAAK,EAAY,OAAO,aAAa,EAAoB,EAAE,eAAe,EAAI,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,aAAa,EAAoB,KAAK,IAAI,EAAE,eAAe,EAAI,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,aAAa,EAAoB,OAAO,eAAe,EAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAI,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,IAAI,CAAC,CAAC,EAAE,OAAO,GAAO,EAAM,iBAAiB,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,YAAY,UAAU,SAAS,CAAC,KAAK,CAAC,KAAK,EAAY,MAAM,aAAa,UAAU,SAAS,EAAI,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,aAAa,MAAM,EAAE,eAAe,CAAC,KAAK,EAAY,MAAM,SAAS,GAAK,MAAM,kBAAkB,EAAE,KAAK,CAAC,KAAK,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,aAAa,qBAAqB,SAAS,EAAI,EAAE,IAAI,CAAC,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,EAAY,YAAY,aAAa,EAAE,UAAU,iBAAiB,aAAa,CAAC,MAAM,YAAY,EAAE,UAAU,CAAC,iBAAiB,kBAAkB,qBAAqB,mBAAmB,EAAE,YAAY,CAAC,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,EAAY,YAAY,aAAa,GAAG,UAAU,gBAAgB,aAAa,CAAC,MAAM,YAAY,EAAE,UAAU,CAAC,gBAAgB,iBAAiB,oBAAoB,kBAAkB,EAAE,YAAY,CAAC,KAAK,KAAK,KAAK,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,GAAO,EAAM,iBAAiB,UAAU,EAAE,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,YAAY,UACpiP,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAY,QAAQ,aAAa,EAAI,EAAE,gBAAgB,CAAC,KAAK,EAAY,OAAO,aAAa,eAAe,OAAO,GAAO,CAAC,EAAM,eAAe,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,aAAa,OAAO,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,aAAa,MAAM,CAAC,EAAE,OAAO,GAAO,EAAM,iBAAiB,UAAU,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,aAAa,EAAa,SAAS,GAAK,SAAS,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,aAAa,UAAU,QAAQ,CAAC,UAAU,MAAM,OAAO,EAAE,aAAa,CAAC,UAAU,MAAM,OAAO,EAAE,wBAAwB,GAAK,0BAA0B,UAAU,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,YAAY,cAAc,gBAAgB,GAAK,MAAM,YAAY,OAAO,GAAO,EAAM,MAAM,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,YAAY,cAAc,gBAAgB,GAAK,MAAM,WAAW,OAAO,GAAO,EAAM,MAAM,KAAK,EAAE,WAAW,CAAC,KAAK,EAAY,gBAAgB,MAAM,QAAQ,OAAO,GAAO,EAAM,MAAM,OAAO,EAAE,UAAU,CAAC,KAAK,EAAY,gBAAgB,MAAM,OAAO,OAAO,GAAO,EAAM,MAAM,OAAO,EAAE,OAAO,CAAC,KAAK,EAAY,KAAK,aAAa,QAAQ,QAAQ,CAAC,OAAO,MAAM,SAAS,EAAE,aAAa,CAAC,OAAO,MAAM,SAAS,EAAE,OAAO,GAAO,EAAM,MAAM,OAAO,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,aAAa,EAAa,MAAM,OAAO,GAAO,EAAM,MAAM,WAAW,EAAM,MAAM,KAAK,EAAE,WAAW,CAAC,KAAK,EAAY,MAAM,SAAS,GAAK,OAAO,GAAO,EAAM,MAAM,WAAW,EAAM,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,aAAa,EAAa,KAAK,IAAI,EAAE,KAAK,EAAE,eAAe,EAAI,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,OAAO,GAAO,EAAM,gBAAgB,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,SAAS,GAAK,SAAS,EAAe,OAAO,GAAO,EAAM,gBAAgB,QAAQ,EAAE,YAAY,CAAC,KAAK,EAAY,kBAAkB,MAAM,QAAQ,OAAO,GAAO,EAAM,iBAAiB,QAAQ,EAAE,WAAW,CAAC,KAAK,EAAY,kBAAkB,MAAM,OAAO,OAAO,GAAO,EAAM,iBAAiB,QAAQ,EAAE,mBAAmB,CAAC,KAAK,EAAY,QAAQ,aAAa,GAE1/D,OAAO,GAAO,EAAM,iBAAiB,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,MAAM,mBAAmB,EAAE,WAAW,CAAC,KAAK,EAAY,WAAW,OAAO,GAAO,EAAM,MAAM,QAAQ,CAAC,CAAC"}