{"version":3,"file":"LogoOrbit.Bk-d6V-R.mjs","names":["useRef","useState","useMemo"],"sources":["https:/framerusercontent.com/modules/Onaw1uub2FWqkUiBXi7d/ilyDLnTjKF1o3ZyhRN8F/LogoOrbit.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useMemo,useState,useEffect}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useAnimationFrame}from\"framer-motion\";/**\n * LOGO ORBIT\n * A ring of customizable logo cards that rotate around a circular path.\n * Inspired by Justuno's \"Connect your whole stack\" hero, enhanced.\n *\n * - Continuous, seamless orbit around a centered circle\n * - Optional visible circle path with its own border / dashed style\n * - Speed + direction controls, hover-to-pause\n * - Fully customizable cards (size, radius, bg, border, shadow, tilt)\n * - Per-logo width / height / background overrides\n * - Per-logo SVG recoloring (monochrome) for uploaded SVG files\n * - Bottom fade mask so the lower arc dissolves away\n *\n * Panel is organized into groups: Items, Orbit, Card, Animations,\n * with a Background color picker on top.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 760\n * @framerIntrinsicHeight 360\n */export default function LogoOrbit(props){const items=props.items&&props.items.items||props.items||[];const background=props.background;// Grouped controls (defensive fallbacks in case of older instances)\nconst orbit=props.orbit||{};const card=props.card||{};const animation=props.animation||{};const{radius=260,layout=\"topArc\",ringX=50,topOffset=24,ringY=50,path={},fade={}}=orbit;const{speed=6,direction=\"clockwise\",pauseOnHover=true,tiltMode=\"random\",tiltAmount=14,keepUpright=true}=animation;const containerRef=useRef(null);const cardRefs=useRef([]);const angleRef=useRef(0);const hoverRef=useRef(false);// Measure the ACTUAL rendered size rather than trusting props.width/height,\n// which Framer does not pass reliably when the layer is set to Fill (1fr).\nconst sizeRef=useRef({w:props.width!=null?props.width:760,h:props.height!=null?props.height:360});const[,forceRender]=useState(0);useEffect(()=>{const el=containerRef.current;if(!el)return;const measure=()=>{const w=el.clientWidth;const h=el.clientHeight;if(w&&h&&(w!==sizeRef.current.w||h!==sizeRef.current.h)){sizeRef.current={w,h};forceRender(n=>n+1);}};measure();const ro=new ResizeObserver(measure);ro.observe(el);return()=>ro.disconnect();},[]);const W=sizeRef.current.w;const H=sizeRef.current.h;const cx=W*ringX/100;const cy=layout===\"topArc\"?radius+topOffset:H*ringY/100;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const count=Math.max(items?.length||0,1);// Per-card seeded tilt so it stays stable across frames\nconst tilts=useMemo(()=>{return Array.from({length:count},(_,i)=>{const seed=Math.sin((i+1)*12.9898)*43758.5453;const r=seed-Math.floor(seed)// 0..1\n;return(r*2-1)*tiltAmount;});},[count,tiltAmount]);const position=globalAngle=>{const step=360/count;const dir=direction===\"clockwise\"?1:-1;const liveW=sizeRef.current.w;const liveH=sizeRef.current.h;const ccx=liveW*ringX/100;const ccy=layout===\"topArc\"?radius+topOffset:liveH*ringY/100;for(let i=0;i<count;i++){const el=cardRefs.current[i];if(!el)continue;const a=(step*i+globalAngle*dir)%360;const rad=a*Math.PI/180;const x=ccx+radius*Math.sin(rad);const y=ccy-radius*Math.cos(rad);let rot=0;if(tiltMode===\"tangent\")rot=keepUpright?0:a;else if(tiltMode===\"random\")rot=tilts[i];el.style.transform=`translate(-50%, -50%) rotate(${rot}deg)`;el.style.left=`${x}px`;el.style.top=`${y}px`;}};useAnimationFrame((_t,delta)=>{const paused=pauseOnHover&&hoverRef.current;if(!paused&&!isCanvas){angleRef.current+=speed*delta/1e3;}position(angleRef.current);});if(isCanvas)position(angleRef.current);// Fade is anchored to the circle's centerline so the bottom half\n// always dissolves, no matter how tall the frame is.\nconst clamp=v=>Math.max(0,Math.min(100,v));const fadeMid=cy+(fade.offset||0);const softness=fade.softness||0;const startPct=clamp((fadeMid-softness/2)/H*100);const endPct=clamp((fadeMid+softness/2)/H*100);const maskCss=fade.enabled?`linear-gradient(to bottom, rgba(0,0,0,1) ${startPct}%, rgba(0,0,0,0) ${Math.max(endPct,startPct+.5)}%)`:\"none\";const getSrc=image=>typeof image===\"string\"?image:image?.src;const isSvg=src=>!!src&&/\\.svg(\\?|#|$)/i.test(src);return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,onMouseEnter:()=>hoverRef.current=true,onMouseLeave:()=>hoverRef.current=false,style:{position:\"relative\",width:\"100%\",height:\"100%\",overflow:\"hidden\",background:background,WebkitMaskImage:maskCss,maskImage:maskCss},children:[path.show&&/*#__PURE__*/_jsx(\"svg\",{width:W,height:H,viewBox:`0 0 ${W} ${H}`,style:{position:\"absolute\",inset:0,pointerEvents:\"none\"},children:/*#__PURE__*/_jsx(\"circle\",{cx:cx,cy:cy,r:radius,fill:path.fill||\"transparent\",stroke:path.color,strokeWidth:path.width,strokeDasharray:path.style===\"dashed\"?`${path.dash} ${path.gap}`:undefined})}),items.map((it,i)=>{const src=getSrc(it.image);const recolor=src&&it.svgColor&&isSvg(src);const iconFixed=card.iconSize===\"fixed\";return /*#__PURE__*/_jsx(\"div\",{ref:el=>cardRefs.current[i]=el,style:{position:\"absolute\",width:card.width,height:card.height,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",boxSizing:\"border-box\",padding:card.padding,borderRadius:card.radius,background:it.bg||card.bg,border:card.borderWidth>0?`${card.borderWidth}px solid ${card.borderColor}`:\"none\",boxShadow:card.shadow?`0 ${card.shadowY}px ${card.shadowBlur}px rgba(0,0,0,${card.shadowOpacity})`:\"none\",willChange:\"transform, left, top\"},children:src?recolor?// Recolor an uploaded SVG to a solid color\n// using a CSS mask (monochrome).\n/*#__PURE__*/_jsx(\"div\",{style:{width:iconFixed?card.iconWidth:\"100%\",height:\"100%\",maxWidth:\"100%\",backgroundColor:it.svgColor,WebkitMaskImage:`url(\"${src}\")`,maskImage:`url(\"${src}\")`,WebkitMaskRepeat:\"no-repeat\",maskRepeat:\"no-repeat\",WebkitMaskPosition:\"center\",maskPosition:\"center\",WebkitMaskSize:card.fit,maskSize:card.fit,pointerEvents:\"none\"}}):/*#__PURE__*/_jsx(\"img\",{src:src,alt:it.label||\"\",style:{width:iconFixed?card.iconWidth:undefined,height:iconFixed?\"auto\":undefined,maxWidth:\"100%\",maxHeight:\"100%\",objectFit:card.fit,pointerEvents:\"none\",userSelect:\"none\"},draggable:false}):it.label?/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,fontWeight:500,color:\"rgba(0,0,0,0.55)\",textAlign:\"center\",lineHeight:1.2,overflow:\"hidden\"},children:it.label}):/*#__PURE__*/_jsx(\"div\",{style:{width:\"60%\",height:\"14%\",borderRadius:4,background:\"rgba(0,0,0,0.12)\"}})},i);})]});}LogoOrbit.defaultProps={width:760,height:360};addPropertyControls(LogoOrbit,{// ── Background (top of all) ────────────────────────────────\nbackground:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},// ── Items ──────────────────────────────────────────────────\nitems:{type:ControlType.Object,title:\"Items\",controls:{items:{type:ControlType.Array,title:\"Logos\",control:{type:ControlType.Object,title:\"Logo\",controls:{label:{type:ControlType.String,title:\"Alt Text\",description:\"Name / alt text to identify this item\",placeholder:\"e.g. Klaviyo\"},image:{type:ControlType.ResponsiveImage,title:\"Image\"},svgColor:{type:ControlType.Color,title:\"SVG Color\",description:\"Recolors an uploaded SVG logo (monochrome). Only applies to .svg files.\",optional:true},bg:{type:ControlType.Color,title:\"Background\",description:\"Overrides the default card background\",optional:true}}},defaultValue:[{},{},{},{},{},{},{},{}]}}},// ── Orbit ──────────────────────────────────────────────────\norbit:{type:ControlType.Object,title:\"Orbit\",controls:{radius:{type:ControlType.Number,title:\"Radius\",min:60,max:1600,defaultValue:260,unit:\"px\"},layout:{type:ControlType.Enum,title:\"Layout\",options:[\"topArc\",\"centered\"],optionTitles:[\"Top Arc\",\"Centered\"],defaultValue:\"topArc\",displaySegmentedControl:true},ringX:{type:ControlType.Number,title:\"Center X\",description:\"Horizontal center of the circle (% of width)\",min:-50,max:150,defaultValue:50,unit:\"%\"},topOffset:{type:ControlType.Number,title:\"Top Gap\",description:\"Distance from the top edge to the apex of the arc\",min:-200,max:400,defaultValue:24,unit:\"px\",hidden:p=>p.layout!==\"topArc\"},ringY:{type:ControlType.Number,title:\"Center Y\",description:\"Vertical center of the circle (% of height)\",min:-50,max:150,defaultValue:50,unit:\"%\",hidden:p=>p.layout!==\"centered\"},path:{type:ControlType.Object,title:\"Circle Path\",controls:{show:{type:ControlType.Boolean,title:\"Show\",defaultValue:true},color:{type:ControlType.Color,title:\"Border\",defaultValue:\"rgba(0,0,0,0.12)\",hidden:p=>!p.show},width:{type:ControlType.Number,title:\"Width\",min:0,max:20,step:.5,defaultValue:1.5,unit:\"px\",hidden:p=>!p.show},style:{type:ControlType.Enum,title:\"Style\",options:[\"solid\",\"dashed\"],optionTitles:[\"Solid\",\"Dashed\"],defaultValue:\"solid\",displaySegmentedControl:true,hidden:p=>!p.show},dash:{type:ControlType.Number,title:\"Dash\",min:1,max:40,defaultValue:6,hidden:p=>!p.show||p.style!==\"dashed\"},gap:{type:ControlType.Number,title:\"Gap\",min:1,max:40,defaultValue:8,hidden:p=>!p.show||p.style!==\"dashed\"},fill:{type:ControlType.Color,title:\"Fill\",defaultValue:\"rgba(0,0,0,0)\",hidden:p=>!p.show}}},fade:{type:ControlType.Object,title:\"Bottom Fade\",controls:{enabled:{type:ControlType.Boolean,title:\"Enabled\",defaultValue:true},offset:{type:ControlType.Number,title:\"Line\",description:\"Where the fade sits relative to the circle's centerline (px). 0 = exact half.\",min:-300,max:300,defaultValue:10,unit:\"px\",hidden:p=>!p.enabled},softness:{type:ControlType.Number,title:\"Softness\",description:\"Feather distance of the fade (px)\",min:0,max:400,defaultValue:90,unit:\"px\",hidden:p=>!p.enabled}}}}},// ── Card ───────────────────────────────────────────────────\ncard:{type:ControlType.Object,title:\"Card\",controls:{width:{type:ControlType.Number,title:\"Width\",min:40,max:360,defaultValue:150,unit:\"px\"},height:{type:ControlType.Number,title:\"Height\",min:30,max:280,defaultValue:84,unit:\"px\"},radius:{type:ControlType.Number,title:\"Radius\",min:0,max:80,defaultValue:18,unit:\"px\"},padding:{type:ControlType.Number,title:\"Padding\",min:0,max:60,defaultValue:22,unit:\"px\"},bg:{type:ControlType.Color,title:\"Default BG\",defaultValue:\"#ffffff\"},fit:{type:ControlType.Enum,title:\"Image Fit\",options:[\"contain\",\"cover\"],optionTitles:[\"Contain\",\"Cover\"],defaultValue:\"contain\"},iconSize:{type:ControlType.Enum,title:\"Icon Size\",description:\"Auto: icon fills the card (governed by padding). Fixed: icon uses the width below.\",options:[\"auto\",\"fixed\"],optionTitles:[\"Auto\",\"Fixed\"],defaultValue:\"auto\",displaySegmentedControl:true},iconWidth:{type:ControlType.Number,title:\"Icon Width\",min:8,max:360,defaultValue:100,unit:\"px\",hidden:p=>p.iconSize!==\"fixed\"},borderWidth:{type:ControlType.Number,title:\"Stroke\",min:0,max:8,defaultValue:1,unit:\"px\"},borderColor:{type:ControlType.Color,title:\"Border\",defaultValue:\"rgba(0,0,0,0.06)\"},shadow:{type:ControlType.Boolean,title:\"Shadow\",defaultValue:true},shadowY:{type:ControlType.Number,title:\"Shadow Y\",min:0,max:40,defaultValue:10,hidden:p=>!p.shadow},shadowBlur:{type:ControlType.Number,title:\"Shadow Blur\",min:0,max:80,defaultValue:30,hidden:p=>!p.shadow},shadowOpacity:{type:ControlType.Number,title:\"Shadow Op\",min:0,max:1,step:.01,defaultValue:.12,hidden:p=>!p.shadow}}},// ── Animations ─────────────────────────────────────────────\nanimation:{type:ControlType.Object,title:\"Animations\",controls:{speed:{type:ControlType.Number,title:\"Speed\",description:\"Degrees per second\",min:0,max:60,step:.5,defaultValue:6},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"clockwise\",\"counter\"],optionTitles:[\"CW\",\"CCW\"],defaultValue:\"clockwise\",displaySegmentedControl:true},pauseOnHover:{type:ControlType.Boolean,title:\"Pause Hover\",defaultValue:true},tiltMode:{type:ControlType.Enum,title:\"Tilt\",options:[\"none\",\"random\",\"tangent\"],optionTitles:[\"None\",\"Random\",\"Follow Path\"],defaultValue:\"random\"},tiltAmount:{type:ControlType.Number,title:\"Tilt \\xb0\",min:0,max:45,defaultValue:14,hidden:p=>p.tiltMode!==\"random\"},keepUpright:{type:ControlType.Boolean,title:\"Upright\",description:\"Keep logos readable when following path\",defaultValue:true,hidden:p=>p.tiltMode!==\"tangent\"}}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LogoOrbit\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicHeight\":\"360\",\"framerIntrinsicWidth\":\"760\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LogoOrbit.map"],"mappings":"8PAoBG,SAAwB,EAAU,EAAM,CAAC,IAAM,EAAM,EAAM,OAAO,EAAM,MAAM,OAAO,EAAM,OAAO,CAAC,EAAQ,EAAW,EAAM,WACzH,EAAM,EAAM,OAAO,CAAC,EAAQ,EAAK,EAAM,MAAM,CAAC,EAAQ,EAAU,EAAM,WAAW,CAAC,EAAO,CAAC,SAAO,IAAI,SAAO,SAAS,QAAM,GAAG,YAAU,GAAG,QAAM,GAAG,OAAK,CAAC,EAAE,OAAK,CAAC,GAAG,EAAW,CAAC,QAAM,EAAE,YAAU,YAAY,eAAa,GAAK,WAAS,SAAS,aAAW,GAAG,cAAY,IAAM,EAAgB,EAAaA,EAAO,IAAI,EAAQ,EAASA,EAAO,CAAC,CAAC,EAAQ,EAASA,EAAO,CAAC,EAAQ,EAASA,EAAO,EAAK,EAE3Y,EAAQA,EAAO,CAAC,EAAE,EAAM,OAAO,KAAiB,IAAZ,EAAM,MAAU,EAAE,EAAM,QAAQ,KAAkB,IAAb,EAAM,MAAU,CAAC,EAAO,EAAE,GAAaC,EAAS,CAAC,EAAE,MAAc,CAAC,IAAM,EAAG,EAAa,QAAQ,GAAG,CAAC,EAAG,OAAO,IAAM,MAAY,CAAC,IAAM,EAAE,EAAG,YAAkB,EAAE,EAAG,aAAgB,GAAG,IAAI,IAAI,EAAQ,QAAQ,GAAG,IAAI,EAAQ,QAAQ,KAAI,EAAQ,QAAQ,CAAC,IAAE,GAAC,EAAE,EAAY,GAAG,EAAE,CAAC,EAAG,EAAE,EAAQ,EAAE,IAAM,EAAG,IAAI,eAAe,CAAO,EAAiB,OAAf,EAAG,QAAQ,CAAE,MAAY,EAAG,WAAW,CAAE,EAAE,CAAC,CAAC,EAAE,IAAM,EAAE,EAAQ,QAAQ,EAAQ,EAAE,EAAQ,QAAQ,EAAQ,EAAG,EAAE,EAAM,IAAU,EAAG,IAAS,SAAS,EAAO,EAAU,EAAE,EAAM,IAAU,EAAS,EAAa,QAAQ,IAAI,EAAa,OAAa,EAAM,KAAK,IAAI,GAAO,QAAQ,EAAE,CAAC,EACjqB,EAAMC,MAAoB,MAAM,KAAK,CAAC,OAAO,CAAK,GAAG,EAAE,IAAI,CAAC,IAAM,EAAK,KAAK,KAAK,EAAE,GAAG,OAAO,EAAE,WACpG,QADuH,EAAK,KAAK,MAAM,CAAI,GAClI,EAAE,GAAG,CAAW,CAAC,EAAI,CAAC,EAAM,CAAU,CAAC,EAAQ,EAAS,GAAa,CAAC,IAAM,EAAK,IAAI,EAAY,EAAI,IAAY,YAAY,EAAE,GAAS,EAAM,EAAQ,QAAQ,EAAQ,EAAM,EAAQ,QAAQ,EAAQ,EAAI,EAAM,EAAM,IAAU,EAAI,IAAS,SAAS,EAAO,EAAU,EAAM,EAAM,IAAI,IAAI,IAAI,EAAE,EAAE,EAAE,EAAM,IAAI,CAAC,IAAM,EAAG,EAAS,QAAQ,GAAG,GAAG,CAAC,EAAG,SAAS,IAAM,GAAG,EAAK,EAAE,EAAY,GAAK,IAAU,EAAI,EAAE,KAAK,GAAG,IAAU,EAAE,EAAI,EAAO,KAAK,IAAI,CAAG,EAAQ,EAAE,EAAI,EAAO,KAAK,IAAI,CAAG,EAAM,EAAI,EAAK,IAAW,UAAU,EAAI,EAAY,EAAE,EAAU,IAAW,WAAS,EAAI,EAAM,IAAG,EAAG,MAAM,UAAU,gCAAgC,EAAI,MAAM,EAAG,MAAM,KAAK,GAAG,EAAE,IAAI,EAAG,MAAM,IAAI,GAAG,EAAE,GAAI,CAAC,EAAE,GAAmB,EAAG,IAAQ,CAAgD,EAAlC,GAAc,EAAS,UAAoB,CAAC,IAAU,EAAS,SAAS,EAAM,EAAM,KAAK,EAAS,EAAS,OAAO,CAAE,CAAC,EAAK,GAAS,EAAS,EAAS,OAAO,EAEx3B,IAAM,EAAM,GAAG,KAAK,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC,EAAQ,EAAQ,GAAI,EAAK,QAAQ,GAAS,EAAS,EAAK,UAAU,EAAQ,EAAS,GAAO,EAAQ,EAAS,GAAG,EAAE,GAAG,EAAQ,EAAO,GAAO,EAAQ,EAAS,GAAG,EAAE,GAAG,EAAQ,EAAQ,EAAK,QAAQ,4CAA4C,EAAS,mBAAmB,KAAK,IAAI,EAAO,EAAS,EAAE,EAAE,IAAI,OAAa,EAAO,GAAO,OAAO,GAAQ,SAAS,EAAM,GAAO,IAAU,EAAM,GAAK,CAAC,CAAC,GAAK,iBAAiB,KAAK,CAAG,EAAE,OAAoB,EAAM,MAAM,CAAC,IAAI,EAAa,iBAAiB,EAAS,QAAQ,GAAK,iBAAiB,EAAS,QAAQ,GAAM,MAAM,CAAC,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,SAAS,SAAoB,aAAW,gBAAgB,EAAQ,UAAU,CAAO,EAAE,SAAS,CAAC,EAAK,MAAmB,EAAK,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,OAAO,EAAE,GAAG,IAAI,MAAM,CAAC,SAAS,WAAW,MAAM,EAAE,cAAc,MAAM,EAAE,SAAsB,EAAK,SAAS,CAAI,KAAM,KAAG,EAAE,EAAO,KAAK,EAAK,MAAM,cAAc,OAAO,EAAK,MAAM,YAAY,EAAK,MAAM,gBAAgB,EAAK,QAAQ,SAAS,GAAG,EAAK,KAAK,GAAG,EAAK,MAAM,IAAA,EAAS,CAAC,CAAC,CAAC,EAAE,EAAM,KAAK,EAAG,IAAI,CAAC,IAAM,EAAI,EAAO,EAAG,KAAK,EAAQ,EAAQ,GAAK,EAAG,UAAU,EAAM,CAAG,EAAQ,EAAU,EAAK,WAAW,QAAQ,OAAoB,EAAK,MAAM,CAAC,IAAI,GAAI,EAAS,QAAQ,GAAG,EAAG,MAAM,CAAC,SAAS,WAAW,MAAM,EAAK,MAAM,OAAO,EAAK,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,UAAU,aAAa,QAAQ,EAAK,QAAQ,aAAa,EAAK,OAAO,WAAW,EAAG,IAAI,EAAK,GAAG,OAAO,EAAK,YAAY,EAAE,GAAG,EAAK,YAAY,WAAW,EAAK,cAAc,OAAO,UAAU,EAAK,OAAO,KAAK,EAAK,QAAQ,KAAK,EAAK,WAAW,gBAAgB,EAAK,cAAc,GAAG,OAAO,WAAW,sBAAsB,EAAE,SAAS,EAAI,EAE3qD,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,EAAU,EAAK,UAAU,OAAO,OAAO,OAAO,SAAS,OAAO,gBAAgB,EAAG,SAAS,gBAAgB,QAAQ,EAAI,IAAI,UAAU,QAAQ,EAAI,IAAI,iBAAiB,YAAY,WAAW,YAAY,mBAAmB,SAAS,aAAa,SAAS,eAAe,EAAK,IAAI,SAAS,EAAK,IAAI,cAAc,MAAM,CAAC,CAAC,EAAe,EAAK,MAAM,CAAK,MAAI,IAAI,EAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAU,EAAK,UAAU,IAAA,GAAU,OAAO,EAAU,OAAO,IAAA,GAAU,SAAS,OAAO,UAAU,OAAO,UAAU,EAAK,IAAI,cAAc,OAAO,WAAW,MAAM,EAAE,UAAU,EAAK,CAAC,EAAE,EAAG,MAAmB,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,IAAI,MAAM,mBAAmB,UAAU,SAAS,WAAW,IAAI,SAAS,QAAQ,EAAE,SAAS,EAAG,KAAK,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,MAAM,OAAO,MAAM,aAAa,EAAE,WAAW,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAE,iBA7BtzB,IAAqD,IAAiE,IAA6C,EA6BopB,EAAU,aAAa,CAAC,MAAM,IAAI,OAAO,GAAG,EAAE,EAAoB,EAAU,CAC37B,WAAW,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,eAAe,EAClF,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,QAAQ,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,YAAY,wCAAwC,YAAY,cAAc,EAAE,MAAM,CAAC,KAAK,EAAY,gBAAgB,MAAM,OAAO,EAAE,SAAS,CAAC,KAAK,EAAY,MAAM,MAAM,YAAY,YAAY,0EAA0E,SAAS,EAAI,EAAE,GAAG,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,YAAY,wCAAwC,SAAS,EAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EACroB,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,SAAS,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,IAAI,GAAG,IAAI,KAAK,aAAa,IAAI,KAAK,IAAI,EAAE,OAAO,CAAC,KAAK,EAAY,KAAK,MAAM,SAAS,QAAQ,CAAC,SAAS,UAAU,EAAE,aAAa,CAAC,UAAU,UAAU,EAAE,aAAa,SAAS,wBAAwB,EAAI,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,YAAY,+CAA+C,IAAI,IAAI,IAAI,IAAI,aAAa,GAAG,KAAK,GAAG,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,YAAY,oDAAoD,IAAI,KAAK,IAAI,IAAI,aAAa,GAAG,KAAK,KAAK,OAAO,GAAG,EAAE,SAAS,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,YAAY,8CAA8C,IAAI,IAAI,IAAI,IAAI,aAAa,GAAG,KAAK,IAAI,OAAO,GAAG,EAAE,SAAS,UAAU,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,SAAS,CAAC,KAAK,CAAC,KAAK,EAAY,QAAQ,MAAM,OAAO,aAAa,EAAI,EAAE,MAAM,CAAC,KAAK,EAAY,MAAM,MAAM,SAAS,aAAa,mBAAmB,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,aAAa,IAAI,KAAK,KAAK,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAY,KAAK,MAAM,QAAQ,QAAQ,CAAC,QAAQ,QAAQ,EAAE,aAAa,CAAC,QAAQ,QAAQ,EAAE,aAAa,QAAQ,wBAAwB,GAAK,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,IAAI,EAAE,IAAI,GAAG,aAAa,EAAE,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,IAAI,EAAE,IAAI,GAAG,aAAa,EAAE,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAY,MAAM,MAAM,OAAO,aAAa,gBAAgB,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,aAAa,EAAI,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,YAAY,gFAAgF,IAAI,KAAK,IAAI,IAAI,aAAa,GAAG,KAAK,KAAK,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,YAAY,oCAAoC,IAAI,EAAE,IAAI,IAAI,aAAa,GAAG,KAAK,KAAK,OAAO,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EACrlE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,IAAI,GAAG,IAAI,IAAI,aAAa,IAAI,KAAK,IAAI,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,IAAI,GAAG,IAAI,IAAI,aAAa,GAAG,KAAK,IAAI,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,KAAK,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,KAAK,IAAI,EAAE,GAAG,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,IAAI,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,UAAU,OAAO,EAAE,aAAa,CAAC,UAAU,OAAO,EAAE,aAAa,SAAS,EAAE,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,YAAY,qFAAqF,QAAQ,CAAC,OAAO,OAAO,EAAE,aAAa,CAAC,OAAO,OAAO,EAAE,aAAa,OAAO,wBAAwB,EAAI,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,IAAI,EAAE,IAAI,IAAI,aAAa,IAAI,KAAK,KAAK,OAAO,GAAG,EAAE,WAAW,OAAO,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,SAAS,aAAa,kBAAkB,EAAE,OAAO,CAAC,KAAK,EAAY,QAAQ,MAAM,SAAS,aAAa,EAAI,EAAE,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,WAAW,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,OAAO,GAAG,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,IAAI,OAAO,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,EAC5gD,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,SAAS,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,YAAY,qBAAqB,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,aAAa,CAAC,EAAE,UAAU,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,YAAY,SAAS,EAAE,aAAa,CAAC,KAAK,KAAK,EAAE,aAAa,YAAY,wBAAwB,EAAI,EAAE,aAAa,CAAC,KAAK,EAAY,QAAQ,MAAM,cAAc,aAAa,EAAI,EAAE,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,OAAO,QAAQ,CAAC,OAAO,SAAS,SAAS,EAAE,aAAa,CAAC,OAAO,SAAS,aAAa,EAAE,aAAa,QAAQ,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,SAAY,IAAI,EAAE,IAAI,GAAG,aAAa,GAAG,OAAO,GAAG,EAAE,WAAW,QAAQ,EAAE,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,UAAU,YAAY,0CAA0C,aAAa,GAAK,OAAO,GAAG,EAAE,WAAW,SAAS,CAAC,CAAC,CAAC,CAAC"}