{"version":3,"file":"InteractiveASCII_Prod.cQb8XIsW.mjs","names":["variationAxes","fonts","css","className","variationAxes","fonts","css","className","variationAxes","fonts","css","className","React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","sharedStyle.className","sharedStyle1.className","className","RichText","sharedStyle.css","sharedStyle1.css","sharedStyle.fonts","sharedStyle1.fonts","useState","useMemo","useState","useRef","useMemo"],"sources":["https:/framerusercontent.com/modules/UWTdbO8QyBRZXVgez4Me/K8vmxPTFzXgQ9apXYdSN/JDyypIjWz.js","https:/framerusercontent.com/modules/7CrX9EznCLNfBf9HOj9G/hUQqCbvcE0BgBlXL6GiU/NbDFs5rgP.js","https:/framerusercontent.com/modules/Wjcw0P98SkJIS5Xc4RRR/w0XgvQadpbCodnuqY2wn/Bo2HZoBjr.js","https:/framerusercontent.com/modules/RL2zCAfoOQuJENk2SXzB/507hR5RocJOhHRIkp49Y/zp59s7qXk.js","https:/framerusercontent.com/modules/jrygkCepmo4TnqTHKGMj/HsAOQBzUMf6oGUfwKVib/Kc_VruPtK.js","https:/framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/vhK3G0ntf62fqS2tFDno/useColors.js","https:/framerusercontent.com/modules/quIQjXeusVKZRk3V2tVC/5hoALzyXyTieiXjYdtoX/InteractiveASCII_Prod.js"],"sourcesContent":["// Generated by Framer (c54c588)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Google Sans Flex-variable-regular\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNTc1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNTc1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNTc1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\"]);const variationAxes=[{defaultValue:18,maxValue:144,minValue:6,name:\"Optical Size\",tag:\"opsz\"},{defaultValue:100,maxValue:151,minValue:25,name:\"Width\",tag:\"wdth\"},{defaultValue:400,maxValue:1e3,minValue:1,name:\"Weight\",tag:\"wght\"},{defaultValue:0,maxValue:100,minValue:0,name:\"Grade\",tag:\"GRAD\"},{defaultValue:0,maxValue:100,minValue:0,name:\"Roundness\",tag:\"ROND\"},{defaultValue:0,maxValue:0,minValue:-10,name:\"Slant\",tag:\"slnt\"}];export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Google Sans Flex Variable\",source:\"google\",style:\"normal\",uiFamilyName:\"Google Sans Flex\",url:\"https://fonts.gstatic.com/s/googlesansflex/v21/t5t7IQcYNIWbFgDgAAzZ34auoVyXip6sfhcat2c.woff2\",variationAxes,weight:\"400\"}]}];export const css=['.framer-TMA2e .framer-styles-preset-c7r8r4:not(.rich-text-wrapper), .framer-TMA2e .framer-styles-preset-c7r8r4.rich-text-wrapper h6 { --framer-font-family: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-bold: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-italic: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: normal; --framer-font-style-italic: normal; --framer-font-variation-axes: \"opsz\" 18, \"wdth\" 100, \"wght\" 575, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-bold: \"opsz\" 18, \"wdth\" 100, \"wght\" 575, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-bold-italic: \"opsz\" 18, \"wdth\" 100, \"wght\" 575, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-italic: \"opsz\" 18, \"wdth\" 100, \"wght\" 575, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-weight: 400; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 400; --framer-letter-spacing: 0.01em; --framer-line-height: 1.6em; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: var(--token-6e6e337d-28cc-44d1-a0da-bb7b5b6c59e1, #000000); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-TMA2e\";\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 (e56d21e)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Google Sans Flex-variable-regular\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNDI1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNDI1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNDI1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\"]);const variationAxes=[{defaultValue:18,maxValue:144,minValue:6,name:\"Optical Size\",tag:\"opsz\"},{defaultValue:100,maxValue:151,minValue:25,name:\"Width\",tag:\"wdth\"},{defaultValue:400,maxValue:1e3,minValue:1,name:\"Weight\",tag:\"wght\"},{defaultValue:0,maxValue:100,minValue:0,name:\"Grade\",tag:\"GRAD\"},{defaultValue:0,maxValue:100,minValue:0,name:\"Roundness\",tag:\"ROND\"},{defaultValue:0,maxValue:0,minValue:-10,name:\"Slant\",tag:\"slnt\"}];export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Google Sans Flex Variable\",source:\"google\",style:\"normal\",uiFamilyName:\"Google Sans Flex\",url:\"https://fonts.gstatic.com/s/googlesansflex/v21/t5t7IQcYNIWbFgDgAAzZ34auoVyXip6sfhcat2c.woff2\",variationAxes,weight:\"400\"}]}];export const css=['.framer-S7HQf .framer-styles-preset-1i4fe7d:not(.rich-text-wrapper), .framer-S7HQf .framer-styles-preset-1i4fe7d.rich-text-wrapper p { --framer-font-family: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-bold: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-italic: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: normal; --framer-font-style-italic: normal; --framer-font-variation-axes: \"opsz\" 18, \"wdth\" 100, \"wght\" 425, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-bold: \"opsz\" 18, \"wdth\" 100, \"wght\" 425, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-bold-italic: \"opsz\" 18, \"wdth\" 100, \"wght\" 425, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-italic: \"opsz\" 18, \"wdth\" 100, \"wght\" 425, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-weight: 400; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 400; --framer-letter-spacing: 0.01em; --framer-line-height: 1.6em; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-6e6e337d-28cc-44d1-a0da-bb7b5b6c59e1, #000000); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-S7HQf\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e56d21e)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Google Sans Flex-variable-regular\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNTI1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNTI1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNTI1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\"]);const variationAxes=[{defaultValue:18,maxValue:144,minValue:6,name:\"Optical Size\",tag:\"opsz\"},{defaultValue:100,maxValue:151,minValue:25,name:\"Width\",tag:\"wdth\"},{defaultValue:400,maxValue:1e3,minValue:1,name:\"Weight\",tag:\"wght\"},{defaultValue:0,maxValue:100,minValue:0,name:\"Grade\",tag:\"GRAD\"},{defaultValue:0,maxValue:100,minValue:0,name:\"Roundness\",tag:\"ROND\"},{defaultValue:0,maxValue:0,minValue:-10,name:\"Slant\",tag:\"slnt\"}];export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Google Sans Flex Variable\",source:\"google\",style:\"normal\",uiFamilyName:\"Google Sans Flex\",url:\"https://fonts.gstatic.com/s/googlesansflex/v21/t5t7IQcYNIWbFgDgAAzZ34auoVyXip6sfhcat2c.woff2\",variationAxes,weight:\"400\"}]}];export const css=['.framer-N2odv .framer-styles-preset-ccv9s9:not(.rich-text-wrapper), .framer-N2odv .framer-styles-preset-ccv9s9.rich-text-wrapper p { --framer-font-family: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-bold: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-italic: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: normal; --framer-font-style-italic: normal; --framer-font-variation-axes: \"opsz\" 18, \"wdth\" 100, \"wght\" 525, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-bold: \"opsz\" 18, \"wdth\" 100, \"wght\" 525, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-bold-italic: \"opsz\" 18, \"wdth\" 100, \"wght\" 525, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-italic: \"opsz\" 18, \"wdth\" 100, \"wght\" 525, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-weight: 400; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 400; --framer-letter-spacing: 0.01em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-6e6e337d-28cc-44d1-a0da-bb7b5b6c59e1, #000000); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-N2odv\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (e56d21e)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Google Sans Flex-variable-regular\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNjI1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNjI1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\",\"GF;Google Sans Flex-variable-regularVF=Im9wc3oiIDE4LCAid2R0aCIgMTAwLCAid2dodCIgNjI1LCAiR1JBRCIgMCwgIlJPTkQiIDAsICJzbG50IiAw\"]);const variationAxes=[{defaultValue:18,maxValue:144,minValue:6,name:\"Optical Size\",tag:\"opsz\"},{defaultValue:100,maxValue:151,minValue:25,name:\"Width\",tag:\"wdth\"},{defaultValue:400,maxValue:1e3,minValue:1,name:\"Weight\",tag:\"wght\"},{defaultValue:0,maxValue:100,minValue:0,name:\"Grade\",tag:\"GRAD\"},{defaultValue:0,maxValue:100,minValue:0,name:\"Roundness\",tag:\"ROND\"},{defaultValue:0,maxValue:0,minValue:-10,name:\"Slant\",tag:\"slnt\"}];export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Google Sans Flex Variable\",source:\"google\",style:\"normal\",uiFamilyName:\"Google Sans Flex\",url:\"https://fonts.gstatic.com/s/googlesansflex/v21/t5t7IQcYNIWbFgDgAAzZ34auoVyXip6sfhcat2c.woff2\",variationAxes,weight:\"400\"}]}];export const css=['.framer-GCX4H .framer-styles-preset-1ro81ui:not(.rich-text-wrapper), .framer-GCX4H .framer-styles-preset-1ro81ui.rich-text-wrapper p { --framer-font-family: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-bold: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-bold-italic: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-family-italic: \"Google Sans Flex Variable\", \"Google Sans Flex Variable Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: normal; --framer-font-style-italic: normal; --framer-font-variation-axes: \"opsz\" 18, \"wdth\" 100, \"wght\" 625, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-bold: \"opsz\" 18, \"wdth\" 100, \"wght\" 625, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-bold-italic: \"opsz\" 18, \"wdth\" 100, \"wght\" 625, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-variation-axes-italic: \"opsz\" 18, \"wdth\" 100, \"wght\" 625, \"GRAD\" 0, \"ROND\" 0, \"slnt\" 0; --framer-font-weight: 400; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 400; --framer-letter-spacing: -0.02em; --framer-line-height: 1.4em; --framer-paragraph-spacing: 20px; --framer-text-alignment: center; --framer-text-color: var(--token-6e6e337d-28cc-44d1-a0da-bb7b5b6c59e1, #000000); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-GCX4H\";\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 (4ded5ed)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,Link,patchBorderRadiusScaleCorrector,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/Wjcw0P98SkJIS5Xc4RRR/w0XgvQadpbCodnuqY2wn/Bo2HZoBjr.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/RL2zCAfoOQuJENk2SXzB/507hR5RocJOhHRIkp49Y/zp59s7qXk.js\";const enabledGestures={FoS6XZPxY:{hover:true},kWnN_xkUt:{hover:true},UCzWgVJt3:{hover:true}};const cycleOrder=[\"kWnN_xkUt\",\"FoS6XZPxY\",\"UCzWgVJt3\"];const serializationHash=\"framer-pS2R3\";const variantClassNames={FoS6XZPxY:\"framer-v-3ewdrp\",kWnN_xkUt:\"framer-v-fbgx0u\",UCzWgVJt3:\"framer-v-1ut5x8\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const S6PqTgm2A=undefined;const JvqpmmvGw=undefined;const vA9NXfDIM=undefined;const patchBorderRadiusScaleCorrector1=patchBorderRadiusScaleCorrector();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={Primary:\"kWnN_xkUt\",Secondary:\"FoS6XZPxY\",Tint:\"UCzWgVJt3\"};const Variants=motion.create(React.Fragment);const getProps=({click,height,id,link,title,width,...props})=>{return{...props,JvqpmmvGw:link??props.JvqpmmvGw,S6PqTgm2A:click??props.S6PqTgm2A,vA9NXfDIM:title??props.vA9NXfDIM??\"Button\",variant:humanReadableVariantMap[props.variant]??props.variant??\"kWnN_xkUt\"};};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,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,JvqpmmvGw,vA9NXfDIM,S6PqTgm2A,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"kWnN_xkUt\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapggn054=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(S6PqTgm2A){const res=await S6PqTgm2A(...args);if(res===false)return false;}});const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:JvqpmmvGw,motionChild:true,nodeId:\"kWnN_xkUt\",openInNewTab:false,scopeId:\"Kc_VruPtK\",smoothScroll:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-fbgx0u\",className,classNames)} framer-1oo1od2`,\"data-framer-name\":\"Primary\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"kWnN_xkUt\",onTap:onTapggn054,ref:refBinding,style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",\"--corner-shape-fallback\":.796,backgroundColor:\"var(--token-285ef153-d569-42f5-b925-84d6d4b8fa63, rgb(0, 0, 0))\",borderBottomLeftRadius:\"calc(18px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",borderBottomRightRadius:\"calc(18px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",borderTopLeftRadius:\"calc(18px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",borderTopRightRadius:\"calc(18px*var(--one-if-corner-shape-supported,var(--corner-shape-fallback,1)))\",cornerShape:\"superellipse(1.4)\",...style},variants:{\"FoS6XZPxY-hover\":{backgroundColor:\"var(--token-71d4309d-2a6d-4aaa-bb59-7fc6ce2d6262, rgba(0, 0, 0, 0.1))\"},\"kWnN_xkUt-hover\":{\"--border-bottom-width\":\"0px\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-8a48a509-d30c-45be-ab76-ca7d93a6ff7a, rgb(51, 51, 51))\"},\"UCzWgVJt3-hover\":{backgroundColor:\"var(--token-74f0a186-517f-42e6-9594-419eaad265e0, rgb(52, 85, 250))\"},FoS6XZPxY:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-c501e0d1-c10e-4ef2-baa7-db83ded46808, rgba(0, 0, 0, 0.1))\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"var(--token-fe732e94-f30f-4945-91af-015cdcf1f937, rgba(0, 0, 0, 0.05))\"},UCzWgVJt3:{\"--border-bottom-width\":\"0px\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-top-width\":\"0px\",backgroundColor:\"var(--token-2035a202-617c-4af0-aa75-ad99be73f16c, rgb(52, 85, 250))\"}},...addPropertyOverrides({\"FoS6XZPxY-hover\":{\"data-framer-name\":undefined},\"kWnN_xkUt-hover\":{\"data-framer-name\":undefined},\"UCzWgVJt3-hover\":{\"data-framer-name\":undefined},FoS6XZPxY:{\"data-border\":true,\"data-framer-name\":\"Secondary\"},UCzWgVJt3:{\"data-framer-name\":\"Tint\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1ro81ui\",\"data-styles-preset\":\"zp59s7qXk\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-358f9ea8-35a8-474d-aea3-3d32a4090f35, rgb(255, 255, 255)))\"},children:\"Button\"})}),className:\"framer-v0hfab\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"cJcLIVu7u\",style:{\"--extracted-r6o4lv\":\"var(--token-358f9ea8-35a8-474d-aea3-3d32a4090f35, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:vA9NXfDIM,variants:{FoS6XZPxY:{\"--extracted-r6o4lv\":\"var(--token-6e6e337d-28cc-44d1-a0da-bb7b5b6c59e1, rgb(0, 0, 0))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({FoS6XZPxY:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-ccv9s9\",\"data-styles-preset\":\"Bo2HZoBjr\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-6e6e337d-28cc-44d1-a0da-bb7b5b6c59e1, rgb(0, 0, 0)))\"},children:\"Button\"})})}},baseVariant,gestureVariant)})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-pS2R3.framer-1oo1od2, .framer-pS2R3 .framer-1oo1od2 { display: block; }\",\".framer-pS2R3.framer-fbgx0u { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: var(--overflow-clip-fallback, clip); padding: 6px 10px 6px 10px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-override, transform); }\",\".framer-pS2R3 .framer-v0hfab { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",...sharedStyle.css,...sharedStyle1.css,'.framer-pS2R3[data-border=\"true\"]::after, .framer-pS2R3 [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 31\n * @framerIntrinsicWidth 64\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"FoS6XZPxY\":{\"layout\":[\"auto\",\"auto\"]},\"UCzWgVJt3\":{\"layout\":[\"auto\",\"auto\"]},\"R_Uk981sv\":{\"layout\":[\"auto\",\"auto\"]},\"uea3Qsks3\":{\"layout\":[\"auto\",\"auto\"]},\"AVetOIbrY\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"JvqpmmvGw\":\"link\",\"vA9NXfDIM\":\"title\",\"S6PqTgm2A\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerKc_VruPtK=withCSS(Component,css,\"framer-pS2R3\");export default FramerKc_VruPtK;FramerKc_VruPtK.displayName=\"Button\";FramerKc_VruPtK.defaultProps={height:31,width:64};addPropertyControls(FramerKc_VruPtK,{variant:{options:[\"kWnN_xkUt\",\"FoS6XZPxY\",\"UCzWgVJt3\"],optionTitles:[\"Primary\",\"Secondary\",\"Tint\"],title:\"Variant\",type:ControlType.Enum},JvqpmmvGw:{title:\"Link\",type:ControlType.Link},vA9NXfDIM:{defaultValue:\"Button\",displayTextArea:false,title:\"Title\",type:ControlType.String},onvA9NXfDIMChange:{changes:\"vA9NXfDIM\",type:ControlType.ChangeHandler},S6PqTgm2A:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FramerKc_VruPtK,[{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\"}]},...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerKc_VruPtK\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"FoS6XZPxY\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"UCzWgVJt3\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"R_Uk981sv\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"uea3Qsks3\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"AVetOIbrY\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"31\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"64\",\"framerComponentViewportWidth\":\"true\",\"framerVariables\":\"{\\\"JvqpmmvGw\\\":\\\"link\\\",\\\"vA9NXfDIM\\\":\\\"title\\\",\\\"S6PqTgm2A\\\":\\\"click\\\"}\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Kc_VruPtK.map","import{RenderTarget}from\"framer\";import{useEffect,useState,useMemo}from\"react\";const cssVariableRegex=/var\\s*\\(\\s*(--[\\w-]+)(?:\\s*,\\s*((?:[^)(]+|\\((?:[^)(]+|\\([^)(]*\\))*\\))*))?\\s*\\)/;export function useColors(...colors){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isOptimizing=typeof window===\"undefined\";const darkMode=useDarkMode();const[styleValues,setStyleValues]=useState(()=>extractStyleValues(colors.map(extractCSSVariableName)));useEffect(()=>{if(!isCanvas)return;const div=document.body.querySelector(\"main > div\");if(!div)return;const observer=new MutationObserver(()=>{setStyleValues(extractStyleValues(colors.map(extractCSSVariableName)));});observer.observe(div,{attributes:true,attributeFilter:[\"style\"]});return()=>observer.disconnect();},colors);const variableNames=useMemo(()=>colors.map(extractCSSVariableName),[colors]);if(isOptimizing){return colors.map(color=>extractDefaultValue(color));}let values=[];for(let i=0;i<colors.length;i++){const color=colors[i];// Return original value if not a string\nif(typeof color!==\"string\"){values.push(color);continue;}const variableName=variableNames[i];const colorValues=styleValues[variableName];if(variableName&&colorValues){values.push(darkMode?colorValues.dark||colorValues.light||color:colorValues.light||color);}else{values.push(color);}}return values;}////////////////////\nfunction extractStyleValues(variableNames){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const result={};let lightVars={};let darkVars={};if(isCanvas&&typeof document!==\"undefined\"){const div=document.body.querySelector(\"main > div\");if(div){const style=div.getAttribute(\"style\");if(style){const vars=parseVariables(style);lightVars=vars;darkVars=vars;}}}else{const{light,dark}=extractColorStyles();lightVars=parseVariables(light);darkVars=parseVariables(dark);}// Include all variables\nconst allVarNames=new Set([...Object.keys(lightVars),...Object.keys(darkVars)]);allVarNames.forEach(varName=>{result[varName]={light:lightVars[varName]||\"\",dark:darkVars[varName]||\"\"};});return result;}function extractColorStyles(){let lightSection=\"\";let darkSection=\"\";if(typeof document!==\"undefined\"){const styles=document.head.querySelectorAll(\"style[data-framer-css], style[data-framer-css-ssr], style[data-framer-css-ssr-minified]\");for(const style of styles){const rules=style.sheet?.cssRules;if(!rules)continue;const styleRules=[];for(const rule of rules){if(rule instanceof CSSStyleRule){styleRules.push([rule,false]);}else if(rule instanceof CSSMediaRule){if(rule.conditionText===\"(prefers-color-scheme: dark)\"){for(const subrule of rule.cssRules){if(subrule instanceof CSSStyleRule){styleRules.push([subrule,true]);}}}}}for(const[rule,isDarkMedia]of styleRules){const css=rule.cssText;const hasVars=css.includes(\"--token-\");if(!hasVars)continue;const isDark=isDarkMedia?rule.selectorText===\"body\":rule.selectorText==='body[data-framer-theme=\"dark\"]';const isLight=!isDarkMedia&&rule.selectorText===\"body\";if(!isDark&&!isLight)continue;if(isDark){if(!darkSection){darkSection=css.substring(css.indexOf(\"{\")+1,css.lastIndexOf(\"}\")).trim();}}else{if(!lightSection){lightSection=css.substring(css.indexOf(\"{\")+1,css.lastIndexOf(\"}\")).trim();}}if(darkSection&&lightSection)break;}if(darkSection&&lightSection)break;}}return{light:lightSection,dark:darkSection};}export function useDarkMode(){const isPreview=typeof window!==\"undefined\"&&window.location.origin.endsWith(\"framercanvas.com\");const[isDarkMode,setIsDarkMode]=useState(()=>{if(typeof window===\"undefined\"){return false;}else if(isPreview&&typeof document!==\"undefined\"){return document.body.getAttribute(\"data-framer-theme\")===\"dark\";}else{return window.matchMedia(\"(prefers-color-scheme: dark)\").matches;}});useEffect(()=>{if(isPreview){const observer=new MutationObserver(mutations=>{mutations.forEach(mutation=>{if(mutation.attributeName===\"data-framer-theme\"){const theme=document.body.getAttribute(\"data-framer-theme\");setIsDarkMode(theme===\"dark\");}});});observer.observe(document.body,{attributes:true,attributeFilter:[\"data-framer-theme\"]});return()=>observer.disconnect();}else{const mediaQuery=window.matchMedia(\"(prefers-color-scheme: dark)\");const handleChange=e=>{setIsDarkMode(e.matches);};// Update initial value\nif(mediaQuery.matches!==isDarkMode){setIsDarkMode(mediaQuery.matches);}mediaQuery.addListener(handleChange);return()=>mediaQuery.removeListener(handleChange);}},[isPreview]);return isDarkMode;}function extractCSSVariableName(cssString){if(!cssString||!cssString.startsWith(\"var(\")){return\"\";}const match=cssVariableRegex.exec(cssString);if(match){const variableName=match[1];return variableName||\"\";}return\"\";}function parseVariables(section){const vars={};if(!section)return vars;const declarations=section.split(\";\").filter(Boolean);declarations.forEach(declaration=>{const[name,value]=declaration.split(\":\").map(s=>s.trim());if(name&&value){vars[name]=value;}});return vars;}function extractDefaultValue(cssVar){// Check if the string starts with \"var(\"\nif(!cssVar||!cssVar.startsWith(\"var(\")){return cssVar// Return the original value if it doesn't start with \"var(\"\n;}// Remove \"var(\" from the beginning and \")\" from the end\nconst content=cssVar.slice(4,-1);// Split the content by comma\nconst parts=content.split(\",\");// If there's more than one part, the second part is the default value\nif(parts.length>1){// Trim any whitespace from the default value\nreturn parts.slice(1).join(\",\").trim();}// If there's no comma, return an empty string or null\nreturn\"\";}\nexport const __FramerMetadata__ = {\"exports\":{\"useDarkMode\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useColors\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useColors.map","function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,Color}from\"framer\";import{useEffect,useState,useRef,useMemo}from\"react\";import{useMotionValue,useSpring}from\"framer-motion\";import{useColors}from\"https://framerusercontent.com/modules/k76epLFsVsF4jlsF5pgg/vhK3G0ntf62fqS2tFDno/useColors.js\";const characterSets={detailed:\"$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\\\\|()1{}[]?-_+~<>i!lI;:,\\\"^`'.\",standard:\"@%#*+=-:.\",blocks:\"█▓▒░ \",binary:\"01\",hex:\"0123456789ABCDEF\"};const DEFAULT_IMAGE={src:\"https://framerusercontent.com/images/rMjuVOUhT39Hdz1kbwue16ZOySE.png\",srcSet:\"https://framerusercontent.com/images/rMjuVOUhT39Hdz1kbwue16ZOySE.png?scale-down-to=512 512w,https://framerusercontent.com/images/rMjuVOUhT39Hdz1kbwue16ZOySE.png 710w\"};const DEFAULT_FONT={fontFamily:'\"Fragment Mono\", monospace',fontSize:\"12px\",fontStyle:\"normal\",fontWeight:400,letterSpacing:\"0em\",lineHeight:\"1em\"};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n */export default function InteractiveASCII(props){const{cursor,backgroundColor,color,font,sizing,style,glow,staticEffect}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const image=props.image||DEFAULT_IMAGE;const sizeMode=style?.width&&style?.height?\"both\":style?.width?\"width\":style?.height?\"height\":\"none\";const isSolidColor=color.mode===\"color\";const ditheringMode=staticEffect?\"noise\":props.ditheringMode;const[text,setText]=useState(\"\");const canvasRef=useRef(null);const ctxRef=useRef(null);const maskCanvasRef=useRef(null);const maskCtxRef=useRef(null);const ref=useRef(null);const textRef=useRef(null);const glowRef=useRef(null);const staticIntervalRef=useRef(null);const{x:cursorX,y:cursorY,initialized:cursorInitialized,initializedRef:cursorInitializedRef}=useFollowCursor(cursor?.smoothing||0,textRef);const lastValuesRef=useRef({cursorX:0,cursorY:0,cursorInitialized,outputWidth:props.outputWidth,characterSet:props.characterSet,customCharacterSet:props.customCharacterSet,ditheringMode,invertColors:props.invertColors,whiteMode:props.whiteMode,blur:props.blur,brightness:props.brightness,contrast:props.contrast,cursorStyle:cursor?.style,cursorInvert:cursor?.invert,cursorWidth:cursor?.width,font});const[color1Value,color2Value]=useColors(isSolidColor?\"#FFF\":color.color1,isSolidColor?\"#FFF\":color.color2);const[color1Color,color2Color]=useMemo(()=>[new Color(color1Value),new Color(color2Value)],[color1Value,color2Value]);const colorInterpolatorRef=useRef(()=>createColorInterpolator(color.mode,color1Color,color2Color));const rngSeedRef=useRef(Math.random());const[img,setImg]=useState(null);const[cursorImg,setCursorImg]=useState(null);useEffect(()=>{if(image?.src){const img=new Image;img.crossOrigin=\"anonymous\";img.onload=()=>{setImg(img);};img.src=image.src;return()=>{img.onload=null;};}else{setImg(null);}},[image]);useEffect(()=>{if(cursor?.style===\"image\"&&cursor?.image?.src){const img=new Image;img.crossOrigin=\"anonymous\";img.onload=()=>{setCursorImg(img);};img.src=cursor.image.src;return()=>{img.onload=null;};}else{setCursorImg(null);}},[cursor?.style,cursor?.image]);useEffect(()=>{colorInterpolatorRef.current=createColorInterpolator(color.mode,color1Color,color2Color);},[color1Color,color2Color,color.mode]);useEffect(()=>{lastValuesRef.current={...lastValuesRef.current,outputWidth:props.outputWidth,characterSet:props.characterSet,customCharacterSet:props.customCharacterSet,ditheringMode,invertColors:props.invertColors,whiteMode:props.whiteMode,blur:props.blur,brightness:props.brightness,contrast:props.contrast,font,cursorStyle:cursor?.style,cursorInvert:cursor?.invert,cursorWidth:cursor?.width};},[props.outputWidth,props.characterSet,props.customCharacterSet,ditheringMode,props.invertColors,props.whiteMode,props.blur,props.brightness,props.contrast,font,cursor?.style,cursor?.invert,cursor?.width]);useEffect(()=>{// Initialize canvas and context\nif(!canvasRef.current){canvasRef.current=document.createElement(\"canvas\");ctxRef.current=canvasRef.current.getContext(\"2d\",{willReadFrequently:true});}if(!maskCanvasRef.current){maskCanvasRef.current=document.createElement(\"canvas\");maskCtxRef.current=maskCanvasRef.current.getContext(\"2d\",{willReadFrequently:true});}if(img&&ctxRef.current&&maskCtxRef.current){const loadImage=async()=>{try{const{ascii,grayValues}=generateASCII(img,lastValuesRef.current,canvasRef.current,ctxRef.current,cursorX,cursorY,cursorInitializedRef,textRef,cursorImg,rngSeedRef);setText(ascii);// Update the mask with gradient colors\nif(!isSolidColor){const{outputWidth:asciiWidth}=lastValuesRef.current;const asciiHeight=Math.round(img.height/img.width*asciiWidth*measureFontAspectRatio(font));maskCanvasRef.current.width=asciiWidth;maskCanvasRef.current.height=asciiHeight;const imageData=maskCtxRef.current.getImageData(0,0,asciiWidth,asciiHeight);const data=imageData.data;for(let i=0;i<grayValues.length;i++){const gray=grayValues[i];const point1=color.mode===\"gradient\"?color.color1Point/100:color.threshold/100;const point2=color.mode===\"gradient\"?color.color2Point/100:1;let percent;if(point1===point2){// If points are equal, pick color based on which side of the point the gray value falls\npercent=gray/255<point1?0:1;}else{percent=Math.min(Math.max(mapRange(gray/255,Math.min(point1,point2),Math.max(point1,point2),0,1),0),1);}let interpolatedColor=percent<=point1?color1Color:percent>=point2?color2Color:colorInterpolatorRef.current(percent);const{r,g,b,a}=Color.toRgb(interpolatedColor);const idx=i*4;data[idx]=isNaN(r)?0:r;data[idx+1]=isNaN(g)?0:g;data[idx+2]=isNaN(b)?0:b;data[idx+3]=typeof a===\"number\"?isNaN(a)?0:a*255:255;}maskCtxRef.current.putImageData(imageData,0,0);}}catch(error){console.error(\"Error generating ASCII:\",error);}};let needsUpdate=false;// Subscribe to motion value changes\nconst unsubscribeX=cursorX.on(\"change\",()=>{needsUpdate=true;});const unsubscribeY=cursorY.on(\"change\",()=>{needsUpdate=true;});// Set up interval to check for changes\nconst intervalId=setInterval(()=>{if(needsUpdate){const currentValues={...lastValuesRef.current,cursorInitialized:cursorInitializedRef.current,cursorX:cursorX.get(),cursorY:cursorY.get()};// Check if any values have changed\nconst hasChanged=Object.entries(currentValues).some(([key,value])=>lastValuesRef.current[key]!==value);if(hasChanged){loadImage();lastValuesRef.current=currentValues;}needsUpdate=false;}},24);// Set up static effect interval if enabled\nif(staticEffect&&staticEffect.interval>0&&!(isCanvas&&staticEffect.preview===false)){// Clear any existing interval\nif(staticIntervalRef.current){clearInterval(staticIntervalRef.current);}// Create new interval for static effect\nstaticIntervalRef.current=setInterval(()=>{rngSeedRef.current=Math.random();loadImage();},staticEffect.interval*1e3);}else if(staticIntervalRef.current){// Clear interval if static effect is disabled\nclearInterval(staticIntervalRef.current);staticIntervalRef.current=null;}// Initial load\nloadImage();return()=>{clearInterval(intervalId);if(staticIntervalRef.current){clearInterval(staticIntervalRef.current);staticIntervalRef.current=null;}unsubscribeX();unsubscribeY();};}return()=>{if(canvasRef.current){canvasRef.current.remove();}if(maskCanvasRef.current){maskCanvasRef.current.remove();}if(staticIntervalRef.current){clearInterval(staticIntervalRef.current);staticIntervalRef.current=null;}};},[img,props,cursorX,cursorY,cursorImg,staticEffect]);useEffect(()=>{// Scale text to fit container width\nif(ref.current&&textRef.current){const updateScale=()=>{const containerWidth=ref.current?.offsetWidth;const containerHeight=ref.current?.offsetHeight;const textWidth=textRef.current?.scrollWidth;const textHeight=textRef.current?.scrollHeight;if(textWidth&&textHeight){let scale=1;let width=style?.width||\"auto\";let height=style?.height||\"auto\";switch(sizeMode){case\"width\":scale=containerWidth/textWidth;height=style?.height||`${textHeight*scale}px`;break;case\"height\":scale=containerHeight/textHeight;width=style?.width||`${textWidth*scale}px`;break;case\"both\":const widthScale=containerWidth/textWidth;const heightScale=containerHeight/textHeight;scale=sizing===\"fit\"?Math.min(widthScale,heightScale):Math.max(widthScale,heightScale);break;case\"none\":scale=1;break;}const translate=sizeMode===\"none\"?\"\":`translate(-50%, -50%)`;const transform=`${translate} scale(${scale})`;textRef.current.style.transform=transform;if(glowRef.current){glowRef.current.style.transform=transform;}ref.current.style.width=width;ref.current.style.height=height;}};const resizeObserver=new ResizeObserver(updateScale);resizeObserver.observe(ref.current);resizeObserver.observe(textRef.current);// Initial scale\nupdateScale();return()=>{resizeObserver.disconnect();};}},[text,sizeMode,sizing]);const textStyle={width:\"fit-content\",height:\"fit-content\",color:color.mode===\"color\"?color.color:\"transparent\",userSelect:\"none\",whiteSpace:\"pre\",textAlign:\"center\",transformOrigin:\"center\",fontVariantNumeric:\"tabular-nums\",...sizeMode!==\"none\"?{position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\"}:{},...!isSolidColor?{backgroundImage:`url(${maskCanvasRef.current?.toDataURL()})`,backgroundRepeat:\"no-repeat\",backgroundSize:\"100% 100%\",imageRendering:\"pixelated\",backgroundClip:\"text\",WebkitBackgroundClip:\"text\"}:{},...font};return /*#__PURE__*/_jsxs(\"div\",{ref:ref,style:{position:\"relative\",overflow:\"hidden\",backgroundColor,borderRadius:props.radius,...style},children:[glow?.blur>0&&glow?.opacity>0&&/*#__PURE__*/_jsx(\"div\",{ref:glowRef,style:{position:\"absolute\",filter:`blur(${glow.blur}px)`,...textStyle,opacity:glow.opacity},\"aria-hidden\":\"true\",children:text}),/*#__PURE__*/_jsx(\"div\",{ref:textRef,style:{...textStyle},\"aria-label\":image?.alt,children:text})]});}InteractiveASCII.displayName=\"Interactive ASCII\";addPropertyControls(InteractiveASCII,{cursor:{type:ControlType.Object,icon:\"effect\",optional:true,defaultValue:{size:20,smoothing:0},controls:{style:{type:ControlType.Enum,defaultValue:\"gradient\",options:[\"gradient\",\"circle\",\"image\"],optionTitles:[\"Gradient\",\"Circle\",\"Image\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},image:{type:ControlType.ResponsiveImage,hidden:props=>props.style!==\"image\"},width:{type:ControlType.Number,defaultValue:20,min:1,max:500,step:1,description:\"Measured in characters\"},invert:{type:ControlType.Boolean,defaultValue:false},smoothing:{type:ControlType.Number,defaultValue:0,min:0,max:100,step:1}}},image:{type:ControlType.ResponsiveImage,__defaultAssetReference:\"data:framer/asset-reference,rMjuVOUhT39Hdz1kbwue16ZOySE.png?originalFilename=image.png&preferredSize=auto\"},sizing:{type:ControlType.Enum,defaultValue:\"fit\",options:[\"fit\",\"fill\"],optionTitles:[\"Fit\",\"Fill\"],displaySegmentedControl:true},font:{type:\"font\",defaultFontType:\"monospace\",displayTextAlignment:false,controls:\"extended\",defaultValue:{fontSize:12,lineHeight:1}},color:{type:ControlType.Object,controls:{mode:{type:ControlType.Enum,options:[\"color\",\"gradient\",\"glow\"],optionTitles:[\"Color\",\"Gradient\",\"Glow\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},color:{type:ControlType.Color,defaultValue:\"#fff\",hidden:props=>props.mode!==\"color\"},color1:{type:ControlType.Color,defaultValue:\"#fff\",title:\"Color 1\",hidden:props=>props.mode!==\"gradient\"&&props.mode!==\"glow\"},color1Point:{type:ControlType.Number,defaultValue:0,min:0,max:100,step:1,unit:\"%\",title:\"Position\",hidden:props=>props.mode!==\"gradient\"},color2:{type:ControlType.Color,defaultValue:\"#000\",title:\"Color 2\",hidden:props=>props.mode!==\"gradient\"&&props.mode!==\"glow\"},color2Point:{type:ControlType.Number,defaultValue:100,min:0,max:100,step:1,unit:\"%\",title:\"Position\",hidden:props=>props.mode!==\"gradient\"},threshold:{type:ControlType.Number,defaultValue:50,min:0,max:100,step:1,unit:\"%\",hidden:props=>props.mode!==\"glow\"}}},glow:{type:ControlType.Object,optional:true,icon:\"effect\",controls:{blur:{type:ControlType.Number,defaultValue:8,min:1,max:30,step:1},opacity:{type:ControlType.Number,defaultValue:1,min:0,max:1,step:.01}}},staticEffect:{type:ControlType.Object,optional:true,icon:\"effect\",title:\"Static\",controls:{preview:{type:ControlType.Boolean,defaultValue:true,description:\"Show effect in editor\"},interval:{type:ControlType.Number,defaultValue:.1,min:.05,max:1,step:.01,unit:\"s\",description:\"Makes the text change continuously like a static/noise effect\"}}},backgroundColor:{type:ControlType.Color,defaultValue:\"#000\",optional:true,title:\"Background\"},outputWidth:{type:ControlType.Number,defaultValue:100,min:20,max:500,step:1,title:\"Width\"},characterSet:{type:ControlType.Enum,defaultValue:\"detailed\",options:[\"detailed\",\"standard\",\"blocks\",\"binary\",\"hex\",\"custom\"],optionTitles:[`Detailed (${characterSets.detailed})`,`Standard (${characterSets.standard})`,`Blocks (${characterSets.blocks})`,`Binary (${characterSets.binary})`,`Hex (${characterSets.hex})`,\"Custom\"],title:\"Characters\"},customCharacterSet:{type:ControlType.String,defaultValue:\"@%#*+=-:.\",placeholder:\"Character set\",title:\"Custom\",hidden:props=>props.characterSet!==\"custom\"},ditheringMode:{type:ControlType.Enum,defaultValue:\"none\",options:[\"none\",\"floyd\",\"atkinson\",\"ordered\"],optionTitles:[\"None\",\"Floyd-Steinberg\",\"Atkinson\",\"Ordered\"],title:\"Dithering\",hidden:props=>!!props.staticEffect},invertColors:{type:ControlType.Boolean,defaultValue:false,title:\"Invert\"},whiteMode:{type:ControlType.Enum,defaultValue:\"ignore\",options:[\"keep\",\"ignore\"],optionTitles:[\"Keep\",\"Ignore\"],displaySegmentedControl:true,title:\"White\"},blur:{type:ControlType.Number,defaultValue:0,min:0,max:10,step:1,displayStepper:true},brightness:{type:ControlType.Number,defaultValue:0,min:-100,max:100},contrast:{type:ControlType.Number,defaultValue:0,min:-100,max:100},radius:{type:ControlType.BorderRadius,defaultValue:\"0px\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});// Helper Functions\n// Measure font aspect ratio by creating a temporary element\nfunction measureFontAspectRatio(font){font=font||DEFAULT_FONT;const temp=document.createElement(\"div\");temp.style.position=\"absolute\";temp.style.visibility=\"hidden\";temp.style.whiteSpace=\"nowrap\";temp.style.fontFamily=font.fontFamily;temp.style.fontWeight=font.fontWeight;temp.style.fontSize=font.fontSize;temp.style.lineHeight=font.lineHeight;temp.style.letterSpacing=font.letterSpacing;temp.textContent=\"W\";document.body.appendChild(temp);const width=temp.offsetWidth;const height=temp.offsetHeight;document.body.removeChild(temp);return width/height;}// Clamp a value between min and max.\nfunction clamp(value,min,max){return Math.max(min,Math.min(max,value));}// ASCII Art Generation Functions\n// Generate grayscale 0-255 values from an image.\nfunction generateGrayValues(img,props,canvas,ctx,cursorX,cursorY,cursorInitializedRef,containerRef,cursorImg){const{cursorStyle,cursorWidth,cursorInvert,outputWidth:asciiWidth,brightness,contrast:contrastValue,blur:blurValue,invertColors:invertEnabled,font}=props;const contrastFactor=259*(contrastValue+255)/(255*(259-contrastValue));const fontAspectRatio=measureFontAspectRatio(font);const asciiHeight=Math.round(img.height/img.width*asciiWidth*fontAspectRatio);canvas.width=asciiWidth;canvas.height=asciiHeight;ctx.filter=blurValue>0?`blur(${blurValue}px)`:\"none\";ctx.drawImage(img,0,0,asciiWidth,asciiHeight);if(cursorWidth&&cursorInitializedRef.current){// Map cursor coordinates from component space to ASCII grid space\nconst mappedX=cursorX.get()*asciiWidth;const mappedY=cursorY.get()*(asciiHeight/fontAspectRatio);ctx.save();ctx.scale(1,fontAspectRatio);switch(cursorStyle){case\"gradient\":{// Create a radial gradient for the cursor effect\nconst gradient=ctx.createRadialGradient(mappedX,mappedY,0,mappedX,mappedY,cursorWidth/2);if(cursorInvert){gradient.addColorStop(0,\"rgba(255, 255, 255, 1)\");gradient.addColorStop(1,\"rgba(255, 255, 255, 0)\");}else{gradient.addColorStop(0,\"rgba(0, 0, 0, 1)\");gradient.addColorStop(1,\"rgba(0, 0, 0, 0)\");}ctx.fillStyle=gradient;ctx.fillRect(0,0,asciiWidth,asciiHeight/fontAspectRatio);break;}case\"circle\":{ctx.fillStyle=cursorInvert?\"rgba(255, 255, 255, 1)\":\"rgba(0, 0, 0, 1)\";ctx.beginPath();ctx.arc(mappedX,mappedY,cursorWidth/2,0,Math.PI*2);ctx.fill();break;}case\"image\":{if(cursorImg){// Calculate the size of the cursor image in ASCII grid space\nconst cursorHeight=cursorImg.height/cursorImg.width*cursorWidth;// Draw the cursor image centered at the cursor position\nctx.save();if(cursorInvert){ctx.filter=\"invert(1)\";}ctx.drawImage(cursorImg,mappedX-cursorWidth/2,mappedY-cursorHeight/2,cursorWidth,cursorHeight);ctx.restore();}break;}}ctx.restore();}const imageData=ctx.getImageData(0,0,asciiWidth,asciiHeight);const data=imageData.data;const gray=[];for(let i=0;i<data.length;i+=4){let lum=.299*data[i]+.587*data[i+1]+.114*data[i+2];if(invertEnabled)lum=255-lum;let adjusted=clamp(contrastFactor*(lum-128)+128+brightness,0,255);gray.push(adjusted);}return{gray,asciiHeight};}// Generate standard ASCII art (non-DOG modes).\nfunction generateASCII(img,props,canvas,ctx,cursorX,cursorY,cursorInitializedRef,containerRef,cursorImg,rngSeedRef){const{outputWidth:asciiWidth,ditheringMode:ditherAlgorithm,characterSet:charset,customCharacterSet,whiteMode}=props;const ignoreWhite=whiteMode===\"ignore\";const gradient=charset===\"custom\"?customCharacterSet||\"0 \":characterSets[charset];const nLevels=gradient.length;const{gray:grayOriginal,asciiHeight}=generateGrayValues(img,props,canvas,ctx,cursorX,cursorY,cursorInitializedRef,containerRef,cursorImg);const gray=[...grayOriginal];let ascii=\"\";if(ditherAlgorithm!==\"none\"){if(ditherAlgorithm===\"floyd\"){// Floyd–Steinberg dithering\nfor(let y=0;y<asciiHeight;y++){let line=\"\";for(let x=0;x<asciiWidth;x++){const idx=y*asciiWidth+x;if(ignoreWhite&&grayOriginal[idx]===255){line+=\" \";continue;}let computedLevel=Math.round(gray[idx]/255*(nLevels-1));line+=gradient.charAt(computedLevel);const newPixel=computedLevel/(nLevels-1)*255;const error=gray[idx]-newPixel;if(x+1<asciiWidth){gray[idx+1]=clamp(gray[idx+1]+error*(7/16),0,255);}if(x-1>=0&&y+1<asciiHeight){gray[idx-1+asciiWidth]=clamp(gray[idx-1+asciiWidth]+error*(3/16),0,255);}if(y+1<asciiHeight){gray[idx+asciiWidth]=clamp(gray[idx+asciiWidth]+error*(5/16),0,255);}if(x+1<asciiWidth&&y+1<asciiHeight){gray[idx+asciiWidth+1]=clamp(gray[idx+asciiWidth+1]+error*(1/16),0,255);}}ascii+=line+\"\\n\";}}else if(ditherAlgorithm===\"atkinson\"){// Atkinson dithering\nfor(let y=0;y<asciiHeight;y++){let line=\"\";for(let x=0;x<asciiWidth;x++){const idx=y*asciiWidth+x;if(ignoreWhite&&grayOriginal[idx]===255){line+=\" \";continue;}let computedLevel=Math.round(gray[idx]/255*(nLevels-1));line+=gradient.charAt(computedLevel);const newPixel=computedLevel/(nLevels-1)*255;const error=gray[idx]-newPixel;const diffusion=error/8;if(x+1<asciiWidth){gray[idx+1]=clamp(gray[idx+1]+diffusion,0,255);}if(x+2<asciiWidth){gray[idx+2]=clamp(gray[idx+2]+diffusion,0,255);}if(y+1<asciiHeight){if(x-1>=0){gray[idx-1+asciiWidth]=clamp(gray[idx-1+asciiWidth]+diffusion,0,255);}gray[idx+asciiWidth]=clamp(gray[idx+asciiWidth]+diffusion,0,255);if(x+1<asciiWidth){gray[idx+asciiWidth+1]=clamp(gray[idx+asciiWidth+1]+diffusion,0,255);}}if(y+2<asciiHeight){gray[idx+2*asciiWidth]=clamp(gray[idx+2*asciiWidth]+diffusion,0,255);}}ascii+=line+\"\\n\";}}else if(ditherAlgorithm===\"noise\"){const rng=new SeededRandom(rngSeedRef.current);// Noise dithering\nfor(let y=0;y<asciiHeight;y++){let line=\"\";for(let x=0;x<asciiWidth;x++){const idx=y*asciiWidth+x;const randomValue=rng.next();if(ignoreWhite&&grayOriginal[idx]===255){line+=\" \";continue;}const noise=(randomValue-.4)*(255/nLevels);const noisyValue=clamp(gray[idx]+noise,0,255);let computedLevel=Math.round(noisyValue/255*(nLevels-1));line+=gradient.charAt(computedLevel);}ascii+=line+\"\\n\";}}else if(ditherAlgorithm===\"ordered\"){// Ordered dithering using a 4x4 Bayer matrix.\nconst bayer=[[0,8,2,10],[12,4,14,6],[3,11,1,9],[15,7,13,5]];const matrixSize=4;for(let y=0;y<asciiHeight;y++){let line=\"\";for(let x=0;x<asciiWidth;x++){const idx=y*asciiWidth+x;if(ignoreWhite&&grayOriginal[idx]===255){line+=\" \";continue;}const p=gray[idx]/255;const t=(bayer[y%matrixSize][x%matrixSize]+.5)/(matrixSize*matrixSize);let valueWithDither=p+t-.5;valueWithDither=Math.min(Math.max(valueWithDither,0),1);let computedLevel=Math.floor(valueWithDither*nLevels);if(computedLevel>=nLevels)computedLevel=nLevels-1;line+=gradient.charAt(computedLevel);}ascii+=line+\"\\n\";}}}else{// Simple mapping without dithering.\nfor(let y=0;y<asciiHeight;y++){let line=\"\";for(let x=0;x<asciiWidth;x++){const idx=y*asciiWidth+x;if(ignoreWhite&&grayOriginal[idx]===255){line+=\" \";continue;}const computedLevel=Math.round(gray[idx]/255*(nLevels-1));line+=gradient.charAt(computedLevel);}ascii+=line+\"\\n\";}}return{ascii,grayValues:gray};}function useFollowCursor(smoothing=0,containerRef){const movementTransition={damping:100,stiffness:mapRange(smoothing,0,100,2e3,50)};const hasSpring=smoothing!==0;const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const springX=useSpring(mouseX,movementTransition);const springY=useSpring(mouseY,movementTransition);const previousScrollXRef=useRef(0);const previousScrollYRef=useRef(0);const[initialized,setInitialized]=useState(false);const isInitializedRef=useRef(false);useEffect(()=>{const handleMouseMove=event=>{if(!containerRef.current)return;const rect=containerRef.current.getBoundingClientRect();const x=event.clientX-rect.left;const y=event.clientY-rect.top;// Convert to percentages, handling edge cases to prevent infinite values\nconst xPercent=rect.width===0?0:x/rect.width;const yPercent=rect.height===0?0:y/rect.height;mouseX.set(xPercent);mouseY.set(yPercent);if(!isInitializedRef.current){springX.jump(xPercent);springY.jump(yPercent);isInitializedRef.current=true;setInitialized(true);}};const handleScroll=()=>{if(!containerRef.current||!isInitializedRef.current)return;const rect=containerRef.current.getBoundingClientRect();const scrollX=window.scrollX||window.pageXOffset||document.documentElement.scrollLeft;const scrollY=window.scrollY||window.pageYOffset||document.documentElement.scrollTop;// Calculate scroll delta\nconst deltaX=scrollX-previousScrollXRef.current;const deltaY=scrollY-previousScrollYRef.current;// Update previous scroll positions\npreviousScrollXRef.current=scrollX;previousScrollYRef.current=scrollY;// Convert scroll delta to percentage, handling edge cases\nconst deltaXPercent=rect.width===0?0:deltaX/rect.width;const deltaYPercent=rect.height===0?0:deltaY/rect.height;// Update position using scroll delta percentages\nmouseX.set(mouseX.get()+deltaXPercent);mouseY.set(mouseY.get()+deltaYPercent);};window.addEventListener(\"mousemove\",handleMouseMove);window.addEventListener(\"scroll\",handleScroll);return()=>{window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"scroll\",handleScroll);};},[containerRef]);return{initialized,initializedRef:isInitializedRef,x:hasSpring?springX:mouseX,y:hasSpring?springY:mouseY};}function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}function createColorInterpolator(mode,color1,color2){if(mode===\"glow\"){return Color.interpolate(color2,new Color(color2.r,color2.g,color2.b,0));}return Color.interpolate(color1,color2);}class SeededRandom{next(){this.seed=this.seed*16807%2147483647;return(this.seed-1)/2147483646;}constructor(seed){_define_property(this,\"seed\",void 0);this.seed=seed%2147483647;if(this.seed<=0)this.seed+=2147483646;}}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"InteractiveASCII\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any\",\"framerSupportedLayoutWidth\":\"any\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerIntrinsicHeight\":\"400\",\"framerDisableUnlink\":\"*\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}