{"version":3,"file":"Custom_context_menu.CCF8J7mL.mjs","names":["useRef","useCallback","useState","useRef"],"sources":["https:/framerusercontent.com/modules/YFSgBM4Fq6ii6x92SoUe/SXYSSf1Y51vQevYP78fW/Clicking.js","https:/framerusercontent.com/modules/mbC81CskHJyiBqfvQldK/I6XXyW7caMwyjS8KODGY/Custom_context_menu.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef,useCallback}from\"react\";export default function AudioComponent(props){const pressedKeys=useRef(new Set);const audioCache=useRef(new Map);const isComponentMounted=useRef(true);// Preload and cache audio files\nconst preloadAudio=useCallback(soundUrl=>{if(!soundUrl||audioCache.current.has(soundUrl))return null;try{const audio=new Audio;audio.preload=\"auto\";audio.src=soundUrl;// Handle loading errors gracefully\naudio.addEventListener(\"error\",()=>{console.warn(`Failed to load audio: ${soundUrl}`);audioCache.current.delete(soundUrl);});audio.addEventListener(\"canplaythrough\",()=>{if(isComponentMounted.current){audioCache.current.set(soundUrl,audio);}});return audio;}catch(error){console.warn(`Error creating audio for: ${soundUrl}`,error);return null;}},[]);// Optimized sound playing with caching and pooling\nconst playSound=useCallback((soundUrl,volume)=>{if(!soundUrl||!isComponentMounted.current)return;const normalizedVolume=Math.max(0,Math.min(100,volume||0))/100;try{let audio=audioCache.current.get(soundUrl);if(!audio){// Fallback: create audio on demand if not cached\naudio=new Audio(soundUrl);audio.volume=normalizedVolume;audio.play().catch(()=>{});return;}// Clone the cached audio for concurrent playback\nconst audioClone=audio.cloneNode();audioClone.volume=normalizedVolume;// Clean up after playback\nconst cleanup=()=>{audioClone.removeEventListener(\"ended\",cleanup);audioClone.removeEventListener(\"error\",cleanup);audioClone.src=\"\";audioClone.load();};audioClone.addEventListener(\"ended\",cleanup);audioClone.addEventListener(\"error\",cleanup);audioClone.play().catch(()=>cleanup());}catch(error){console.warn(`Error playing sound: ${soundUrl}`,error);}},[]);// Memoized event handlers to prevent unnecessary re-creation\nconst handleKeyDown=useCallback(e=>{// Ignore modifier keys and repeated key events\nif(e.repeat||[\"Control\",\"Alt\",\"Shift\",\"Meta\",\"Tab\"].includes(e.key)){return;}if(!pressedKeys.current.has(e.key)){pressedKeys.current.add(e.key);playSound(props.keySound,props.keyVolume);}},[props.keySound,props.keyVolume,playSound]);const handleKeyUp=useCallback(e=>{pressedKeys.current.delete(e.key);},[]);const handleClick=useCallback(e=>{// Avoid playing sound for programmatic clicks or if target is an input\nif(e.isTrusted&&![\"INPUT\",\"TEXTAREA\"].includes(e.target.tagName)){playSound(props.clickSound,props.clickVolume);}},[props.clickSound,props.clickVolume,playSound]);// Preload audio files when props change\nuseEffect(()=>{if(props.clickSound)preloadAudio(props.clickSound);if(props.keySound)preloadAudio(props.keySound);},[props.clickSound,props.keySound,preloadAudio]);// Event listener management\nuseEffect(()=>{const eventOptions={passive:true};document.addEventListener(\"keydown\",handleKeyDown,eventOptions);document.addEventListener(\"keyup\",handleKeyUp,eventOptions);document.addEventListener(\"click\",handleClick,eventOptions);return()=>{document.removeEventListener(\"keydown\",handleKeyDown);document.removeEventListener(\"keyup\",handleKeyUp);document.removeEventListener(\"click\",handleClick);};},[handleKeyDown,handleKeyUp,handleClick]);// Cleanup on unmount\nuseEffect(()=>{return()=>{isComponentMounted.current=false;// Clear pressed keys\npressedKeys.current.clear();// Clean up cached audio objects\naudioCache.current.forEach(audio=>{try{audio.pause();audio.src=\"\";audio.load();}catch(error){// Ignore cleanup errors\n}});audioCache.current.clear();};},[]);// Return a minimal visible element for Framer\nreturn /*#__PURE__*/_jsx(\"div\",{style:{width:50,height:20,backgroundColor:\"#e8f4f8\",border:\"1px solid #0099ff\",borderRadius:4,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:10,color:\"#0066cc\",userSelect:\"none\",fontWeight:\"bold\"},children:\"🔊 AUDIO\"});}addPropertyControls(AudioComponent,{clickSound:{type:ControlType.File,title:\"Mouse Click Sound\",description:\"Audio file that plays on mouse clicks\",allowedFileTypes:[\"mp3\",\"wav\",\"ogg\",\"m4a\"]},clickVolume:{type:ControlType.Number,title:\"Click Volume\",description:\"Volume level for mouse click sounds (0-100)\",min:0,max:100,step:5,unit:\"%\",defaultValue:70},keySound:{type:ControlType.File,title:\"Keyboard Sound\",description:\"Audio file that plays on key presses\",allowedFileTypes:[\"mp3\",\"wav\",\"ogg\",\"m4a\"]},keyVolume:{type:ControlType.Number,title:\"Key Volume\",description:\"Volume level for keyboard sounds (0-100)\",min:0,max:100,step:5,unit:\"%\",defaultValue:70}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AudioComponent\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Clicking.map","// Custom Context Menu with smart positioning to avoid clipping\n// Compact version with adjustable sizing controls\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useState,useRef,useEffect,startTransition}from\"react\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";const defaultMenuItems=[{label:\"Back\",action:\"back\"},{label:\"Reload\",action:\"reload\",shortcut:\"Ctrl+R\"},{label:\"Copy\",action:\"copy\",shortcut:\"Ctrl+C\"},{label:\"Paste\",action:\"paste\",shortcut:\"Ctrl+V\"},{label:\"Inspect Element\",action:\"inspect\",shortcut:\"F12\"}];/**\n * Custom Context Menu with smart edge detection\n *\n * @framerIntrinsicWidth 120\n * @framerIntrinsicHeight 40\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export default function ContextMenu(props){const{menuItems=defaultMenuItems,background=\"#1a1a1a\",textColor=\"#e0e0e0\",highlightColor=\"#3a3a3a\",borderColor=\"#333\",shadowColor=\"rgba(0, 0, 0, 0.8)\",shadowX=0,shadowY=12,shadowBlur=24,font,menuWidth=140,itemPadding=8,menuPadding=6,borderRadius=8,buttonRadius=6,itemSpacing=4,style}=props;const[visible,setVisible]=useState(false);const[pos,setPos]=useState({x:0,y:0});const[hovered,setHovered]=useState(-1);const menuRef=useRef(null);const isStatic=useIsStaticRenderer();useEffect(()=>{if(isStatic)return;function handleContextMenu(e){e.preventDefault();// Calculate menu position to avoid clipping\nlet x=e.clientX;let y=e.clientY;const fullMenuWidth=menuWidth+itemSpacing*2;const itemHeight=itemPadding*2+(font?.fontSize||13)+4;const menuHeight=menuItems.length*itemHeight+menuPadding*2;const padding=8;if(typeof window!==\"undefined\"){const vw=window.innerWidth;const vh=window.innerHeight;// If not enough space to the right, show menu to the left of cursor\nif(x+fullMenuWidth>vw-padding){x=Math.max(padding,x-fullMenuWidth);}// If not enough space to the left, clamp to padding\nif(x<padding){x=padding;}// If not enough space below, show menu above cursor\nif(y+menuHeight>vh-padding){y=Math.max(padding,y-menuHeight);}// If not enough space above, clamp to padding\nif(y<padding){y=padding;}}startTransition(()=>{setVisible(true);setPos({x,y});});}function handleClick(){startTransition(()=>setVisible(false));}function handleScroll(){startTransition(()=>setVisible(false));}if(typeof window!==\"undefined\"){window.addEventListener(\"contextmenu\",handleContextMenu);window.addEventListener(\"click\",handleClick);window.addEventListener(\"scroll\",handleScroll,true);return()=>{window.removeEventListener(\"contextmenu\",handleContextMenu);window.removeEventListener(\"click\",handleClick);window.removeEventListener(\"scroll\",handleScroll,true);};}},[isStatic,menuItems.length,menuWidth,itemPadding,menuPadding,itemSpacing,font?.fontSize]);useEffect(()=>{if(!visible)return;function handleEsc(e){if(e.key===\"Escape\")startTransition(()=>setVisible(false));}window.addEventListener(\"keydown\",handleEsc);return()=>window.removeEventListener(\"keydown\",handleEsc);},[visible]);function handleAction(action){if(typeof window===\"undefined\")return;switch(action){case\"back\":window.history.back();break;case\"reload\":window.location.reload();break;case\"copy\":if(window.getSelection){const text=window.getSelection()?.toString()||document.title;navigator.clipboard.writeText(text);}break;case\"paste\":alert(\"Paste is not supported by browsers for security reasons.\");break;case\"inspect\":alert(\"Open DevTools with F12 or Ctrl+Shift+I\");break;default:break;}startTransition(()=>setVisible(false));}if(isStatic||RenderTarget.current()===RenderTarget.thumbnail)return /*#__PURE__*/_jsx(\"div\",{style:{minWidth:5,minHeight:5,width:props?.style?.width||120,height:props?.style?.height||40,background:background,borderRadius:borderRadius,border:`1px solid ${borderColor}`,boxShadow:`${shadowX}px ${shadowY}px ${shadowBlur}px ${shadowColor}`,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",color:textColor,fontSize:font?.fontSize||13,fontFamily:font?.fontFamily},children:/*#__PURE__*/_jsx(\"span\",{children:\"Context Menu\"})});return /*#__PURE__*/_jsxs(\"div\",{style:{...style,minWidth:5,minHeight:5,width:\"100%\",height:\"100%\",position:\"relative\"},children:[visible&&/*#__PURE__*/_jsx(\"div\",{ref:menuRef,style:{position:\"fixed\",top:pos.y,left:pos.x,minWidth:menuWidth,background,borderRadius:borderRadius,boxShadow:`${shadowX}px ${shadowY}px ${shadowBlur}px ${shadowColor}, 0 0 0 1px rgba(255, 255, 255, 0.1)`,border:`1px solid ${borderColor}`,padding:`${menuPadding}px 0`,zIndex:9999,backdropFilter:\"blur(8px)\",fontFamily:font?.fontFamily,animation:\"contextMenuFadeIn 0.15s cubic-bezier(0.16, 1, 0.3, 1)\"},tabIndex:-1,role:\"menu\",\"aria-label\":\"Context Menu\",children:menuItems.map((item,i)=>{// Add separators before Copy and Inspect Element\nconst needsSeparator=i>0&&item.action===\"copy\"&&menuItems[i-1].action!==\"paste\"||i>0&&item.action===\"inspect\"&&menuItems[i-1].action!==\"copy\"&&menuItems[i-1].action!==\"paste\";return /*#__PURE__*/_jsxs(\"div\",{children:[needsSeparator&&/*#__PURE__*/_jsx(\"div\",{style:{borderTop:`1px solid ${borderColor}`,margin:`${menuPadding}px ${itemSpacing*2}px`}}),/*#__PURE__*/_jsxs(\"button\",{style:{width:`calc(100% - ${itemSpacing*2}px)`,background:hovered===i?highlightColor:\"transparent\",color:hovered===i?\"#ffffff\":textColor,border:\"none\",outline:\"none\",textAlign:\"left\",padding:`${itemPadding}px ${itemPadding+4}px`,fontSize:font?.fontSize||13,fontWeight:500,cursor:\"pointer\",transition:\"all 0.12s ease\",display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",margin:`0 ${itemSpacing}px`,borderRadius:buttonRadius,fontFamily:font?.fontFamily},onMouseEnter:()=>setHovered(i),onMouseLeave:()=>setHovered(-1),onClick:()=>handleAction(item.action),role:\"menuitem\",children:[/*#__PURE__*/_jsx(\"span\",{children:item.label}),item.shortcut&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:(font?.fontSize||13)-2,marginLeft:12,color:hovered===i?\"#a0a0a0\":\"#808080\",fontFamily:\"monospace\"},children:item.shortcut})]})]},`${item.label}-${i}`);})}),/*#__PURE__*/_jsx(\"style\",{children:`\n                @keyframes contextMenuFadeIn {\n                    from {\n                        opacity: 0;\n                        transform: scale(0.92) translateY(-4px);\n                    }\n                    to {\n                        opacity: 1;\n                        transform: scale(1) translateY(0);\n                    }\n                }\n            `})]});}addPropertyControls(ContextMenu,{menuItems:{type:ControlType.Array,title:\"Menu Items\",control:{type:ControlType.Object,controls:{label:{type:ControlType.String,defaultValue:\"Copy\"},action:{type:ControlType.Enum,options:[\"back\",\"reload\",\"copy\",\"paste\",\"inspect\"],optionTitles:[\"Back\",\"Reload\",\"Copy\",\"Paste\",\"Inspect Element\"],defaultValue:\"copy\"},shortcut:{type:ControlType.String,defaultValue:\"\",optional:true}}},defaultValue:defaultMenuItems,maxCount:8},background:{type:ControlType.Color,title:\"Background\",defaultValue:\"#1a1a1a\"},textColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#e0e0e0\"},highlightColor:{type:ControlType.Color,title:\"Highlight\",defaultValue:\"#3a3a3a\"},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#333\"},shadowColor:{type:ControlType.Color,title:\"Shadow Color\",defaultValue:\"rgba(0, 0, 0, 0.8)\"},shadowX:{type:ControlType.Number,title:\"Shadow X\",defaultValue:0,min:-50,max:50,step:1},shadowY:{type:ControlType.Number,title:\"Shadow Y\",defaultValue:12,min:-50,max:50,step:1},shadowBlur:{type:ControlType.Number,title:\"Shadow Blur\",defaultValue:24,min:0,max:100,step:1},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",defaultFontType:\"sans-serif\",defaultValue:{fontSize:13,fontWeight:500}},menuWidth:{type:ControlType.Number,title:\"Menu Width\",defaultValue:140,min:100,max:300,step:10,displayStepper:true},itemPadding:{type:ControlType.Number,title:\"Item Padding\",defaultValue:8,min:4,max:20,step:1,displayStepper:true},menuPadding:{type:ControlType.Number,title:\"Menu Padding\",defaultValue:6,min:0,max:20,step:2,displayStepper:true},borderRadius:{type:ControlType.Number,title:\"Menu Radius\",defaultValue:8,min:0,max:20,step:1,displayStepper:true},buttonRadius:{type:ControlType.Number,title:\"Button Radius\",defaultValue:6,min:0,max:16,step:1,displayStepper:true},itemSpacing:{type:ControlType.Number,title:\"Item Spacing\",defaultValue:4,min:0,max:12,step:1,displayStepper:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ContextMenu\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"120\",\"framerIntrinsicHeight\":\"40\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Custom_context_menu.map"],"mappings":"4OAA+I,SAAwB,EAAe,EAAM,CAAC,IAAM,EAAYA,EAAO,IAAI,IAAI,CAAO,EAAWA,EAAO,IAAI,IAAI,CAAO,EAAmBA,EAAO,GAAK,CAC/R,EAAaC,EAAY,GAAU,CAAC,GAAG,CAAC,GAAU,EAAW,QAAQ,IAAI,EAAS,CAAC,OAAO,KAAK,GAAG,CAAC,IAAM,EAAM,IAAI,MAC2H,MADrH,GAAM,QAAQ,OAAO,EAAM,IAAI,EAC9J,EAAM,iBAAiB,YAAY,CAAC,QAAQ,KAAK,yBAAyB,IAAW,CAAC,EAAW,QAAQ,OAAO,EAAS,EAAG,CAAC,EAAM,iBAAiB,qBAAqB,CAAI,EAAmB,SAAS,EAAW,QAAQ,IAAI,EAAS,EAAM,EAAI,CAAQ,QAAa,EAAM,CAA6D,OAA5D,QAAQ,KAAK,6BAA6B,IAAW,EAAM,CAAQ,OAAQ,EAAE,CAAC,CACvV,EAAUA,GAAa,EAAS,IAAS,CAAC,GAAG,CAAC,GAAU,CAAC,EAAmB,QAAQ,OAAO,IAAM,EAAiB,KAAK,IAAI,EAAE,KAAK,IAAI,IAAI,GAAQ,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,EAAM,EAAW,QAAQ,IAAI,EAAS,CAAC,GAAG,CAAC,EAAM,CACzN,EAAM,IAAI,MAAM,EAAS,CAAC,EAAM,OAAO,EAAiB,EAAM,MAAM,CAAC,UAAU,GAAG,CAAC,OACnF,IAAM,EAAW,EAAM,WAAW,CAAC,EAAW,OAAO,EACrD,IAAM,MAAY,CAAC,EAAW,oBAAoB,QAAQ,EAAQ,CAAC,EAAW,oBAAoB,QAAQ,EAAQ,CAAC,EAAW,IAAI,GAAG,EAAW,MAAM,EAAG,EAAW,iBAAiB,QAAQ,EAAQ,CAAC,EAAW,iBAAiB,QAAQ,EAAQ,CAAC,EAAW,MAAM,CAAC,UAAU,GAAS,CAAC,OAAQ,EAAM,CAAC,QAAQ,KAAK,wBAAwB,IAAW,EAAM,GAAI,EAAE,CAAC,CAC/V,EAAcA,EAAY,GAAG,CAChC,EAAE,QAAQ,CAAC,UAAU,MAAM,QAAQ,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,EAAc,EAAY,QAAQ,IAAI,EAAE,IAAI,GAAE,EAAY,QAAQ,IAAI,EAAE,IAAI,CAAC,EAAU,EAAM,SAAS,EAAM,UAAU,GAAI,CAAC,EAAM,SAAS,EAAM,UAAU,EAAU,CAAC,CAAO,EAAYA,EAAY,GAAG,CAAC,EAAY,QAAQ,OAAO,EAAE,IAAI,EAAG,EAAE,CAAC,CAAO,EAAYA,EAAY,GAAG,CACjV,EAAE,WAAW,CAAC,CAAC,QAAQ,WAAW,CAAC,SAAS,EAAE,OAAO,QAAQ,EAAE,EAAU,EAAM,WAAW,EAAM,YAAY,EAAI,CAAC,EAAM,WAAW,EAAM,YAAY,EAAU,CAAC,CAOlK,OANA,MAAc,CAAI,EAAM,YAAW,EAAa,EAAM,WAAW,CAAI,EAAM,UAAS,EAAa,EAAM,SAAS,EAAG,CAAC,EAAM,WAAW,EAAM,SAAS,EAAa,CAAC,CAClK,MAAc,CAAC,IAAM,EAAa,CAAC,QAAQ,GAAK,CAAyL,OAAxL,SAAS,iBAAiB,UAAU,EAAc,EAAa,CAAC,SAAS,iBAAiB,QAAQ,EAAY,EAAa,CAAC,SAAS,iBAAiB,QAAQ,EAAY,EAAa,KAAW,CAAC,SAAS,oBAAoB,UAAU,EAAc,CAAC,SAAS,oBAAoB,QAAQ,EAAY,CAAC,SAAS,oBAAoB,QAAQ,EAAY,GAAK,CAAC,EAAc,EAAY,EAAY,CAAC,CAC1b,UAAyB,CAAC,EAAmB,QAAQ,GACrD,EAAY,QAAQ,OAAO,CAC3B,EAAW,QAAQ,QAAQ,GAAO,CAAC,GAAG,CAAC,EAAM,OAAO,CAAC,EAAM,IAAI,GAAG,EAAM,MAAM,MAAc,IACzF,CAAC,EAAW,QAAQ,OAAO,EAAK,EAAE,CAAC,CAClB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,gBAAgB,UAAU,OAAO,oBAAoB,aAAa,EAAE,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,SAAS,GAAG,MAAM,UAAU,WAAW,OAAO,WAAW,OAAO,CAAC,SAAS,WAAW,CAAC,kBAhBpO,IAAoD,IAAgD,CAgBkI,EAAoB,EAAe,CAAC,WAAW,CAAC,KAAK,EAAY,KAAK,MAAM,oBAAoB,YAAY,wCAAwC,iBAAiB,CAAC,MAAM,MAAM,MAAM,MAAM,CAAC,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,YAAY,8CAA8C,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,aAAa,GAAG,CAAC,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,iBAAiB,YAAY,uCAAuC,iBAAiB,CAAC,MAAM,MAAM,MAAM,MAAM,CAAC,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,YAAY,2CAA2C,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,KAAK,IAAI,aAAa,GAAG,CAAC,CAAC,ICNp6B,SAAwB,EAAY,EAAM,CAAC,GAAK,CAAC,YAAU,EAAiB,aAAW,UAAU,YAAU,UAAU,iBAAe,UAAU,cAAY,OAAO,cAAY,qBAAqB,UAAQ,EAAE,UAAQ,GAAG,aAAW,GAAG,OAAK,YAAU,IAAI,cAAY,EAAE,cAAY,EAAE,eAAa,EAAE,eAAa,EAAE,cAAY,EAAE,SAAO,EAAW,CAAC,EAAQ,GAAYC,EAAS,GAAM,CAAM,CAAC,EAAI,GAAQA,EAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAM,CAAC,EAAQ,GAAYA,EAAS,GAAG,CAAO,EAAQC,EAAO,KAAK,CAAO,EAAS,GAAqB,CAAC,MAAc,CAAC,GAAG,EAAS,OAAO,SAAS,EAAkB,EAAE,CAAC,EAAE,gBAAgB,CACzlB,IAAI,EAAE,EAAE,QAAY,EAAE,EAAE,QAAc,EAAc,EAAU,EAAY,EAAQ,EAAW,EAAY,GAAG,GAAM,UAAU,IAAI,EAAQ,EAAW,EAAU,OAAO,EAAW,EAAY,EAAkB,GAAU,IAAS,OAAY,CAAC,IAAM,EAAG,EAAO,WAAiB,EAAG,EAAO,YACrR,EAAE,EAAc,EAAG,IAAS,EAAE,KAAK,IAAI,EAAQ,EAAE,EAAc,EAC/D,EAAE,IAAS,EAAE,GACb,EAAE,EAAW,EAAG,IAAS,EAAE,KAAK,IAAI,EAAQ,EAAE,EAAW,EACzD,EAAE,IAAS,EAAE,GAAU,MAAoB,CAAC,EAAW,GAAK,CAAC,EAAO,CAAC,IAAE,IAAE,CAAC,EAAG,CAAE,SAAS,GAAa,CAAC,MAAoB,EAAW,GAAM,CAAC,CAAE,SAAS,GAAc,CAAC,MAAoB,EAAW,GAAM,CAAC,CAAE,GAAU,IAAS,OAAuK,OAA1J,EAAO,iBAAiB,cAAc,EAAkB,CAAC,EAAO,iBAAiB,QAAQ,EAAY,CAAC,EAAO,iBAAiB,SAAS,EAAa,GAAK,KAAW,CAAC,EAAO,oBAAoB,cAAc,EAAkB,CAAC,EAAO,oBAAoB,QAAQ,EAAY,CAAC,EAAO,oBAAoB,SAAS,EAAa,GAAK,GAAM,CAAC,EAAS,EAAU,OAAO,EAAU,EAAY,EAAY,EAAY,GAAM,SAAS,CAAC,CAAC,MAAc,CAAC,GAAG,CAAC,EAAQ,OAAO,SAAS,EAAU,EAAE,CAAI,EAAE,MAAM,UAAS,MAAoB,EAAW,GAAM,CAAC,CAA+C,OAA7C,EAAO,iBAAiB,UAAU,EAAU,KAAW,EAAO,oBAAoB,UAAU,EAAU,EAAG,CAAC,EAAQ,CAAC,CAAC,SAAS,EAAa,EAAO,CAAI,GAAO,IAAS,OAAmB,QAAO,EAAP,CAAe,IAAI,OAAO,EAAO,QAAQ,MAAM,CAAC,MAAM,IAAI,SAAS,EAAO,SAAS,QAAQ,CAAC,MAAM,IAAI,OAAO,GAAG,EAAO,aAAa,CAAC,IAAM,EAAK,EAAO,cAAc,EAAE,UAAU,EAAE,SAAS,MAAM,EAAU,UAAU,UAAU,EAAK,CAAE,MAAM,IAAI,QAAQ,MAAM,2DAA2D,CAAC,MAAM,IAAI,UAAU,MAAM,yCAAyC,CAAC,MAAM,QAAQ,MAAO,MAAoB,EAAW,GAAM,CAAC,EAAshB,OAAjhB,GAAU,EAAa,SAAS,GAAG,EAAa,UAA8B,EAAK,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,GAAO,OAAO,OAAO,IAAI,OAAO,GAAO,OAAO,QAAQ,GAAc,aAAwB,eAAa,OAAO,aAAa,IAAc,UAAU,GAAG,EAAQ,KAAK,EAAQ,KAAK,EAAW,KAAK,IAAc,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,MAAM,EAAU,SAAS,GAAM,UAAU,GAAG,WAAW,GAAM,WAAW,CAAC,SAAsB,EAAK,OAAO,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,CAAqB,EAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAM,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,OAAO,OAAO,SAAS,WAAW,CAAC,SAAS,CAAC,GAAsB,EAAK,MAAM,CAAC,IAAI,EAAQ,MAAM,CAAC,SAAS,QAAQ,IAAI,EAAI,EAAE,KAAK,EAAI,EAAE,SAAS,EAAU,aAAwB,eAAa,UAAU,GAAG,EAAQ,KAAK,EAAQ,KAAK,EAAW,KAAK,EAAY,sCAAsC,OAAO,aAAa,IAAc,QAAQ,GAAG,EAAY,MAAM,OAAO,KAAK,eAAe,YAAY,WAAW,GAAM,WAAW,UAAU,wDAAwD,CAAC,SAAS,GAAG,KAAK,OAAO,aAAa,eAAe,SAAS,EAAU,KAAK,EAAK,IACr2E,EAAM,MAAM,CAAC,SAAS,EAApM,EAAE,GAAG,EAAK,SAAS,QAAQ,EAAU,EAAE,GAAG,SAAS,SAAS,EAAE,GAAG,EAAK,SAAS,WAAW,EAAU,EAAE,GAAG,SAAS,QAAQ,EAAU,EAAE,GAAG,SAAS,UAAgF,EAAK,MAAM,CAAC,MAAM,CAAC,UAAU,aAAa,IAAc,OAAO,GAAG,EAAY,KAAK,EAAY,EAAE,IAAI,CAAC,CAAC,CAAc,EAAM,SAAS,CAAC,MAAM,CAAC,MAAM,eAAe,EAAY,EAAE,KAAK,WAAW,IAAU,EAAE,EAAe,cAAc,MAAM,IAAU,EAAE,UAAU,EAAU,OAAO,OAAO,QAAQ,OAAO,UAAU,OAAO,QAAQ,GAAG,EAAY,KAAK,EAAY,EAAE,IAAI,SAAS,GAAM,UAAU,GAAG,WAAW,IAAI,OAAO,UAAU,WAAW,iBAAiB,QAAQ,OAAO,eAAe,gBAAgB,WAAW,SAAS,OAAO,KAAK,EAAY,IAAI,aAAa,EAAa,WAAW,GAAM,WAAW,CAAC,iBAAiB,EAAW,EAAE,CAAC,iBAAiB,EAAW,GAAG,CAAC,YAAY,EAAa,EAAK,OAAO,CAAC,KAAK,WAAW,SAAS,CAAc,EAAK,OAAO,CAAC,SAAS,EAAK,MAAM,CAAC,CAAC,EAAK,UAAuB,EAAK,OAAO,CAAC,MAAM,CAAC,UAAU,GAAM,UAAU,IAAI,EAAE,WAAW,GAAG,MAAM,IAAU,EAAE,UAAU,UAAU,WAAW,YAAY,CAAC,SAAS,EAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAK,MAAM,GAAG,IAAI,CAAG,CAAC,CAAC,CAAc,EAAK,QAAQ,CAAC,SAAS;;;;;;;;;;;cAWxuC,CAAC,CAAC,CAAC,CAAC,wBAzBuC,IAA6D,IAAqF,CAAM,EAAiB,CAAC,CAAC,MAAM,OAAO,OAAO,OAAO,CAAC,CAAC,MAAM,SAAS,OAAO,SAAS,SAAS,SAAS,CAAC,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,SAAS,CAAC,CAAC,MAAM,QAAQ,OAAO,QAAQ,SAAS,SAAS,CAAC,CAAC,MAAM,kBAAkB,OAAO,UAAU,SAAS,MAAM,CAAC,CAyBzb,EAAoB,EAAY,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,QAAQ,CAAC,KAAK,EAAY,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,aAAa,OAAO,CAAC,OAAO,CAAC,KAAK,EAAY,KAAK,QAAQ,CAAC,OAAO,SAAS,OAAO,QAAQ,UAAU,CAAC,aAAa,CAAC,OAAO,SAAS,OAAO,QAAQ,kBAAkB,CAAC,aAAa,OAAO,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,aAAa,GAAG,SAAS,GAAK,CAAC,CAAC,CAAC,aAAa,EAAiB,SAAS,EAAE,CAAC,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,UAAU,CAAC,eAAe,CAAC,KAAK,EAAY,MAAM,MAAM,YAAY,aAAa,UAAU,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,eAAe,aAAa,OAAO,CAAC,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,eAAe,aAAa,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,EAAE,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,aAAa,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,gBAAgB,aAAa,aAAa,CAAC,SAAS,GAAG,WAAW,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,GAAG,eAAe,GAAK,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,eAAe,GAAK,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,eAAe,GAAK,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,eAAe,GAAK,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,eAAe,GAAK,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,eAAe,GAAK,CAAC,CAAC"}